
毎日のように報告される、ソフトウエアやWebサイトの「脆弱性」。脆弱性がセキュリティ上の問題であることはよく知られている。だが、「脆弱性があると、どのような危険性があるのか」「脆弱性はどのようにして悪用されるのか」など、疑問は尽きない。ITインフラ技術者にとって、脆弱性に関する正しい知識は不可欠。多くの人が抱いている疑問に答えよう。
毎日のように報告される、ソフトウエアやWebサイトの「脆弱性」。脆弱性がセキュリティ上の問題であることはよく知られている。だが、「脆弱性があると、どのような危険性があるのか」「脆弱性はどのようにして悪用されるのか」など、疑問は尽きない。ITインフラ技術者にとって、脆弱性に関する正しい知識は不可欠。多くの人が抱いている疑問に答えよう。
ここまで紹介した脆弱性の多くは、入力データのチェックミスといった、設計や実装の不具合が原因である。だが、中にはプロトコルや仕様が原因で脆弱性が生じ、悪用されるケースもある。その1つが、DNSサーバーが影響を受ける「DNSキャッシュポイズニング」攻撃である。
Webサーバーの脆弱性としては、「SQLインジェクション」脆弱性も代表的だ。Webサーバー上で動作するWebアプリケーションの脆弱性である。
Part1で解説したように、ソフトウエアに脆弱性があると、重要な情報を盗まれる恐れがある。例えば、Webサーバーで稼働するソフトウエアに脆弱性があると、ユーザーの個人情報を盗まれる場合がある。
ウイルスを実行させられる深刻な脆弱性の1つが、「バッファーオーバーフローと呼ばれる脆弱性だ。パソコンにインストールしたソフトウエア(プログラム)にこの脆弱性があると、細工されたWebページやファイルを読み込むだけでウイルスに感染する。
ソフトウエアのセキュリティ脆弱性とは、「セキュリティの問題を引き起こす、ソフトウエアの設計・実装上の欠陥」である。脆弱性の種類や脆弱性があるソフトウエアの種類によって、被害の種類や被害に遭うシナリオは異なる。