PR

Web 2.0という言葉で総称される新たなインターネット時代。Webサイトやエンドユーザーに仕掛けられる攻撃もまた,2.0と呼ぶべき進化を遂げようとしている。攻撃者はWeb 2.0の中核技術であるJavaScriptを悪用してブラウザを狙う。従来の脅威対策は全く通用しない。最終回となる今回は,Webアプリケーション開発者が取るべき道を示す。

 一方,Webサーバー側の理想の対策はセキュアなプログラミングに尽きる。XSSのぜい弱性がないWebアプリケーションなら,危険はかなり小さくなる。ただ,セキュアなプログラミングは,言葉ほど簡単ではない。既に稼働しているWebアプリケーションに潜んでいるぜい弱性を網羅的に検出し,修正するには相当なスキルを求められる。

 ぜい弱性を探し出すだけなら,検出ツールを利用すれば,完全とは言えないものの,かなりの部分は対処できる(表1)。問題はWebアプリケーションの修正である。抜本的な対策はアプリケーションの作り直しだが,それには時間がかかる。再開発の間,ぜい弱性を抱えたままサービスを提供し続けるのは不安である。だからといって,修正のために長期間サイトを閉鎖できない場合もある。そもそも開発したスタッフが既に社内を去って,対処が難しいケースもあるだろう。

表1●国内で購入できるWebサーバーのぜい弱性対策ツールやサービス,アプリケーション・ファイアウオール製品
表1●国内で購入できるWebサーバーのぜい弱性対策ツールやサービス,アプリケーション・ファイアウオール製品
[画像のクリックで拡大表示]

 こうした場合に有効なのがWebアプリケーション・ファイアウオール(WAF)だ。WAFはWebサーバーのフロントエンドに設置するアプリケーション・レベルのファイアウオールである。従来型のファイアウオールやIPS,ウイルス対策では防げない,ポート80番を通って侵入してくるXSSやSQLインジェクションなどの攻撃を検知し,排除する仕組みを持つ。

 決して万能な策ではない。大幅に攻撃リスクを軽減できるとはいえ,完全に防げるとは限らない。ゴールはあくまでもアプリケーションの修正である。ただ,アプリケーションを修正する間,無防備なままでいるよりWAFがある方がずっといい。「保険」と位置付ければ,導入するメリットはある。「早ければ2~3日で納入できる」(住商情報システムのIT基盤ソリューション事業部セキュリティソリューション部の今井貴セキュリティソリューション第2課長)というスピード感も魅力だ。

 新規にアプリケーションを開発する場合は,フレームワークや,プログラミングの技術に関係なく均一なぜい弱性対策を可能にするライブラリーの利用が有効である。フレームワークは,アプリケーションの開発に必要なライブラリーを組み合わせたもの。例えばNTTデータが提供しているライブラリー「SecureBlocker」をフレームワークに組み込んで利用すれば,セキュアな環境を実現できる。

 「現状のフレームワークは,どちらかというと開発生産性に重きが置かれているものが多い」(京セラコミュニケーションシステム セキュリティ事業部の徳丸浩副事業部長),「ぜい弱性がある開発フレームワークを利用していた場合,全滅する恐れがある」(セキュアスカイの福森CTO)といった指摘があり,過信は禁物だが,最初から手作業で開発するよりもセキュアなWebアプリケーションを開発できる。