バッファオーバフローについて | ScanNetSecurity
2020.09.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 会員限定記事特集をもっと見る

カテゴリ別新着記事

★★ ( FB ログイン可) 会員限定記事、週 1 回のメルマガ、人気ニュースランキング、特集一覧をお届け…無料会員登録はアドレスのみで所要 1 分程度 ★★
★★ ( FB ログイン可) 会員限定記事、週 1 回のメルマガ、人気ニュースランキング、特集一覧をお届け…無料会員登録はアドレスのみで所要 1 分程度 ★★

登録すれば、記事一覧、人気記事ランキング、BASIC 会員限定記事をすべて閲覧できます。毎週月曜朝には一週間のまとめメルマガをお届けします(BASIC 登録後 PREMIUM にアップグレードすれば全ての限定コンテンツにフルアクセスできます)。

×