エンタープライズ:ニュース 2003/10/31 01:37:00 更新


Security Solutionを振り返る:Webアプリの欠陥調査ツール「Vulnagura」がいよいよ製品化

産業技術総合研究所グリッド研究センターの高木浩光氏が「Network Security Forum 2003」に登場。既存のツールでは発見が困難なWebアプリケーションの問題点を発見する手順について説明した。

 オンラインショッピングで、会員制のサービスで、あるいはちょっとしたアンケートでと、さまざまな場面で利用されているWebアプリケーション。しかし、安易な設計のWebアプリケーションは、盗聴などによってユーザーの個人情報を流出させたり、悪意あるユーザーによるなりすまし(セッションハイジャック)を許したりと、セキュリティ上重大な問題を招きかねない。

 こうしたWebアプリケーションのセキュリティ上の欠陥について長年指摘、研究を行ってきた産業技術総合研究所グリッド研究センターの高木浩光氏がSecurity Solution 2003の併催イベントである「Network Security Forum 2003」に登場。既存のツールでは発見が困難なWebアプリケーションの問題点を発見する手順について説明した。

 高木氏は昨年のInternet Weekで行われたJNSAのセミナーでも、Webアプリケーションの欠陥について解説。その資料をWebサイトで公開している。今回の講演は、そのセミナーで披露した31個の「鉄則」を、設計者というよりは監査・検査を行う側の立場から検証する手段について説明した。

 ただし、「AppScan」といった既存のツールでチェックが可能なクロスサイトスクリプティングは除外。またエスケープ処理(サニタイジング)や入力値のチェックによって避けられるCommand InjectionやSQL Injectionもここでは対象外となっている。

地道な手順を通じて明らかになる欠陥

 高木氏が説明した欠陥検査の方法だが、非常にベーシックなやり方だ。19ステップの検査手順は、自らユーザーとして登録を行い、目を使ってWebブラウザの表示を確かめ、どういった画面が存在するかを記録し、トライ&エラー方式で適切なセッション管理が行われているかどうかを確認していくというものである。

 一連の手順の中を通じて検出が可能なのは、次のような欠陥だ。

- SSLによる暗号化の範囲が適切でない

 「SSLを利用しているため安全です」と謳うサイトは数多くあるが、高木氏によると中には、ユーザーが入力した情報の送信先URLが平文のままというケースが見受けられるという。目視で確認できる

- セッション追跡がPOST方式ではなくGET方式になっている

 リロードを行い、警告が表示されればおそらくPOST方式であると推定できる

- 不適切なセッション管理が行われている

 安全を期すならば、hidden Inputタグの中に予測が困難なセッションIDを格納し、それをPOSTすることによって次の画面へと移行するのが望ましい。そうした手順が取られているかどうかを確認するため、高木氏はこの部分に多くのステップを割いている。まずセッション管理に利用されるパラメータはhiddenなInputタグなのかcookieなのか(それらのハイブリッド方式もある。ちなみにURLによるセッション管理は論外)、往々にして複数存在するhiddenなInputタグやcookieのうち果たしてどれがセッション追跡に用いられているのか、こういった事柄をひとつひとつチェックし、見分けなければならない。さらに、そのパラメータの中身は予測が困難なものになっているか、パスワードなしでも重要な情報にアクセスできてしまわないかを調べていく

- アクセス制御に漏れがある

 ユーザー情報についてはアクセス制御を行っていても、画像ファイルやPDFファイルなどは制御対象外というケースが見受けられるという。そこでこれらのファイルも含め、誰でもアクセスできる状態になっていないかどうかを確認する。同時にアクセス許可対象者の制御についても調べる

- 重要な情報を保護するはずの二重のパスワード認証が「はりぼて」

 最悪、セッションハイジャックされたとしても重要な情報が閲覧されないよう、二重の認証をかけるサイトもあるが、実はそれがはりぼてに過ぎず、何らパラメータに追加がなされないケースもある。そうしたサイトをチェックする

- セッション追跡用のcookieがSecureモードで発行されていない

 Secureモードではない場合、盗聴によってcookieの内容が盗まれるおそれがある。「“すべては盗聴されている”と仮定した上で」(高木氏)チェックが必要という。

手作業での検査を半自動化する「WebProbe」

 対象サイトに欠陥があることは、もし「セッション追跡に問題があるサイトならば、せいぜい10分程度で確認できる」と高木氏は言う。ただし、「“サイト全体で問題がなさそうだ”と確認するには、すべてのステップをこつこつチェックする必要があり、非常に時間がかかる」(同氏)。

 そこで同氏はソフテックと共同で、一連の手順を半自動化し、監査に要する時間の短縮を支援するツールの開発を進めてきた。ソフテックはこのツールの商用版「WebProbe」(コードネームはVulnaguraもしくはMoroyowa)を、11月4日にリリースする計画だ。

 WebProbeは、監査対象サイトとWebブラウザの間のプロキシとして動作するツールだ。Webサイトの挙動を記録・分析し、どういった欠陥が存在するかをレポートとして出力する。極力不正アクセス行為を伴わずに検査を行えること、稼動中のサイトにも負荷を与えることなくチェックを行えることが特徴だ。

moroyowa

まもなく正式にリリース予定と言う「WebProbe」の画面

 ソフテックでは、システムインテグレータや開発者を対象にWebProbe本体を提供するほか、これを用いての検査サービスも展開する計画だ。料金は、WebPrbeの「回数」ライセンスが30回分で50万円から、「期間」ライセンスは1カ月で70万円から。また検査サービスは1サイト当たり25万円を予定しているという。

関連記事
▼Webアプリの「利便性」は誰のため? 産総研高木氏が指摘するセッション追跡の問題

関連リンク
▼高木氏のWebページ
▼ソフテック

[高橋睦美,ITmedia]