Webアプリケーションのセキュリティ対策を協議・普及する団体であるWAS(Web Application Security)フォーラムが,脆弱性を生みやすいプラットフォームがあるか否かを確認するため,Webアプリケーション・ソフトをサンプル抽出してテストしたことが分かった。「セキュリティ侵害事件が多発する中で,マイクロソフトは危険,Javaは安全--といった根拠のない“神話”が広まっている。本当のところを実証する必要性を感じた」(代表である奈良先端科学技術大学院大学 助教授 門林雄基氏)。

 テスト対象は,Active Server Pages,PHP,Java,ASP.NETといった,異なるプラットフォームで動作するオープンソースの電子商取引パッケージ7製品。テスト内容は三つ。(1)まず,推奨される構成でパッケージをインストールして脆弱性テスト・ツールで検査した。これにより,プラットフォームごとの脆弱性の傾向を判定する。(2)次に,Webアプリケーションの脆弱性保護機能を提供する専用装置(Webアプリケーション・ファイアウォール)3製品を導入して再検査した。これにより,Webアプリケーション・ファイアウォールがどのプラットフォームにどのくらい有効かを見極める。(3)最後に,侵入検知システム(IDS)2製品を導入して検査した。Webアプリケーション・レベルの攻撃をIDSでどれだけ検知できるかを確認する。

 (1)の結果,すべてのソフトで数件から数百件の脆弱性が見つかった。「脆弱性対策の機能を持った信頼できるフレームワークで作ったものほど脆弱性の数は少ないことが確認された。“非マイクロソフト”でも,開発者が脆弱性を意識せずに実装している場合は,クロスサイト・スクリプティングやバッファ・オーバーフロー,強制ブラウズなど,致命的な問題が見つかった」(テストを担当したテクマトリックス技術本部シニア・エンジニアの酒井喜彦氏)。

 (2)により,Webアプリケーション・ファイアウォールを導入すると,どのプラットフォームでも,検出される脆弱性が数件から十数件程度に激減した。これにより,「プラットフォームを問わず,脆弱性を隠す手法としてWebアプリケーション・ファイアウォールが有効であることが実証された」(門林氏)。

 (3)では,製品によってはアプリケーション・レベルの攻撃を検出できたが,「Webアプリケーション・ファイアウォールに比べると抜けが多く,チューニングするとしても限界を感じる印象」(酒井氏)という。

 こうした検証結果の詳細は,2月24日に東京で開催する同団体のカンファレンスで発表するという。今後,テスト対象となったオープンソース・ソフトを開発したコミュニティにも,テスト結果を還元する計画だ。