Webアプリケーションに潜む脆弱性
Webアプリケーションの脆弱性、という言葉を聞いたことはありますか?
ECサイトやインターネットバンキングをはじめとして、Webブラウザを介して様々な処理や表示を実行する仕組みがWebアプリケーションです。広い意味では、Webブラウザ上に会員IDやパスワードをはじめとする入力フィールドのあるものを、すべてWebアプリケーションとよぶこともできます。あえてWebアプリケーションなどという言葉を意識しなければ、日常的に誰もが使っている仕組みであるといってもいいと思います。
こうしたWebアプリケーションはIDやパスワード等を入力するフィールドがあり、そこが外部との開かれた窓になっています。窓が開かれているため、悪意ある侵入の入り口となってしまう危険にさらされています。言うまでもなく、不正侵入されて個人情報等が流出してしまうような事態になると、企業にとっては深刻なダメージとなります。ファイヤーウォールやIPS/IDS(侵入検知/侵入防御)といった防御策を施したとしても、すべてをブロックすることはできません。Webアプリケーションを保護する最も確実な方法は、アプリケーションそのものから脆弱性をなくすことです。多くの主要な脆弱性はテストツールによって発見でき、コーディングにより修復することができるのです。
いろいろな侵入の手口がありますが、代表的な方法としてSQLインジェクションやクロスサイトスクリプティング(XSS)というものがあります。入力フィールドにある文字列やコードを入力することによって、すべての会員情報を不正に入手したり、システムを乗っ取ってしまったりするような不正な侵入です。
システムを構築のテストで開発者の目だけに頼るとどうしてもミスが出る可能性があります。また、問題のなかったWebアプリケーションでも、プログラム改修の際に思ってもみないポイントで脆弱性が生じ、それを見逃すということもあります。小規模な改修でリリースを急ぐ場合、セキュリティチェックがおろそかになってしまうケースがあるのです。
こうした課題に対応するためには、Webアプリケーションの脆弱性に特化したテストツールを導入することが効果的です。
セキュリティテストには様々な種類がありますが、代表的なものとしてブラックボックス・テスト(動的解析)があります。実際のユーザーがWebアプリケーションを利用する際に考えられる行動パターンに沿って、どの部分に脆弱性があるかをチェック(スキャン)するものです。
ブラックボックス・テストの一般的なツールでは、開発者が想定しない切り口からの侵入ポイントをツールが示してくれます。リスクの重大性をわけてポイントが表示されるため対策の優先順位付けに役立てることもでき、脆弱なポイントについての対応策も提示されます。また、テスト結果のレポートも自動生成されます。
ツール選定で重要なことですが、セキュリティ侵入手口は日々変わりますので、テストツールも常に最新の侵入手口にも対応できるようアップデートされることが必要です。無償ツールではこの点に対応していなことが多いので要注意です。
IBMでは、このようなツールを「IBM Security AppScan」としてご提供しています。
7月22日にこの製品についてのWebセミナーが開催されます。セキュリティテストにご関心のある方はお気軽にご参加ください。