情報セキュリティ講座(96) バッファオーバーフロー

ここからは、サイバー攻撃について書きます。以前サイバーセキュリティについて書きましたので、内容が被ると思いますが、大切な内容ですので、改めて書きます。

バッファオーバーフローは、サーバのメモリ領域に意図的な書き込みをすることで、サーバに対して攻撃者の意図する操作を行うものです。

メモリというのは、メモリのアドレスと記憶領域があります。一度確保されたメモリ記憶領域は、解放されるまで他のプログラムでは使えないことになっています。

ところが、C言語などでは、直接メモリ空間を操作することができるため、悪意ある攻撃者が、プログラマが予定していないメモリ領域に、書き込みをすることができます。例えば、システム用に準備されているメモリ領域に、正常値ではない戻り値を書き込み、コンピュータに想定しない動作をさせるという方法です。

このような攻撃を防ぐためには、メモリの取得・メモリの解法が、機能として確立しているプログラミング言語を使うか、C言語などでもメモリ管理ができる関数を使うことが有効です。

CやC++などで作られたプログラムがあれば、このバッファオーバーフローの脆弱性が疑われるので、安全なプログラミングが行われているか、確認することが有用です。

投稿者プロフィール

小笠原 裕
小笠原 裕中小企業診断士 行政書士
バラの咲く街、八千代市緑が丘で、コンサルティング事務所を運営しています。