バッファオーバフローについて | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2018.06.18(月)

バッファオーバフローについて

特集 特集

 コンピュータウイルスやワーム、不正侵入手口などについて調べていくと、バッファオーバフローという脆弱性が目立つと感じるはずだ。実際に、SIOS( https://vdb.sios.biz/ )で「buffer overflow」をキーワード検索すると、1,000件以上ヒットすることからも、バッファオーバフローは大問題であることがわかる。今のところ「脆弱性の約25%はバッファオーバフローに起因する問題である」と考えて良いだろう。

 今回のコラムでは、バッファオーバフロー問題について考えていく。

 バッファオーバフローとは、プログラマが用意した領域に、その領域の大きさを越えたデータが入力されて起こる。この状態になると、メモリにロードされたプログラムの一部が壊れることになるが、C/C++言語の仕様では、バッファの境界値チェックは行わないので、こういう事は起きやすい。
 全てバグ(プログラマのコーディングミス)である。


●仮想メモリ空間
 最初に、プロセスがどのようにメモリを使用するかについて確認しておく。

 プロセスが使用するメモリは、テキスト領域、データ領域、BSS領域、ヒープ領域、スタック領域と分類できる。C言語では各領域を次のように使用する(Linuxの例で説明するが、他のOSでも同じような構成)。

・テキスト領域
 プログラムの実行コードが格納される。読み取り専用。複数のプロセスで共有される。

・データ領域
 宣言時に値をセットしたスタティック変数やグローバル変数が格納される。

・BSS領域
 宣言時に値をセットしていないスタティック変数やグローバル変数が格納される。


横河電機株式会社 SIOS調査員B

(詳しくはScan本誌をご覧ください)
http://shop.vagabond.co.jp/m-ssw01.shtml
《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

人気過去記事

もっと見る

人気過去記事特集をもっと見る

カテゴリ別新着記事

★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★
<b>★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★</b>

経営課題としてサイバーセキュリティに取り組む情報システム部門や、研究・開発・経営企画に携わる方へ向けた、創刊19年のセキュリティ情報サービス Scan PREMIUM を、貴社の事業リスク低減のためにご活用ください。

×