バッファオーバフローについて | ScanNetSecurity
2024.04.24(水)

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

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

特集 特集
 コンピュータウイルスやワーム、不正侵入手口などについて調べていくと、バッファオーバフローという脆弱性が目立つと感じるはずだ。実際に、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 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×