デジタル人材の育成

未踏IT人材発掘・育成事業(ユース):2008年度上期採択プロジェクト概要(小菅PJ)

1.担当プロジェクトマネージャー

  • 竹内 郁雄(東京大学大学院 情報理工学系研究科 創造情報学専攻 教授)

2.採択者氏名

  • チーフクリエータ:小菅 祐史(慶應義塾大学大学院理工学研究科 修士課程)
    コクリエータ:なし

3.未踏ユースプロジェクト管理組織

  • 株式会社ゴーガ

4.採択金額

  • 2,700,000円

5.テーマ名

  • Webアプリケーション・セキュリティの自動検証フレームワーク

6.関連Webサイト

  • なし

7.申請テーマ概要

Webアプリケーションのセキュリティに関する設定やプログラムの多くは、開発者によって手作業で記述され、さらにそれらの記述の正しさの検証も手作業で行われている。
そのため、間違いや見落としが発生しやすい。
さらに近年においては、Web2.0と呼ばれる技術の登場によって、Webアプリケーションのメカニズムは複雑化し、手作業による安全性の確保はより一層難しくなっている。
こうした現状から、セキュリティに関する処理がWebアプリケーションに正しく組み込まれ、実際に安全性が確保されているかを検証する必要がある。
本プロジェクトでは、Web2.0の技術を使用して動的にコンテンツを配信するようなWebアプリケーションに対し、セキュリティの自動検証を行うフレームワーク:Amberateの開発を行う。
AmberateはそれぞれのWebアプリケーションに適した攻撃を動的に自動生成し、攻撃テストを実行するためシステムである。
さらに、攻撃後の反応を自動検証することで、脆弱性や設定ミスなどを自動検出するための環境を提供する。
また、本プロジェクトにおいては、Amberateに組み込み可能な脆弱性検出を行うプラグインの開発も行う。
今回、開発を行うのは、SQLインジェクション攻撃、クロスサイト・スクリプティング、JavaScript Hijackingに対する脆弱性を検出するプラグインである。
それぞれの攻撃生成や脆弱性検出の手法は、既存の手法では検出できなかった脆弱性を効率よく検知することを目的とした、新規性のある検知手法を開発することを目指す。

8.採択理由

世の中に、暇で悪い奴が一杯いるというのは「人を見たら善人だと思う」ほうの竹内としてはなんとも納得がいかないし、情けないのだが、それがソフトウェア創造のタネにもなるとは皮肉なものだ。小菅君のセキュリティ脆弱性検出法は、Webアプリケーションが自動生成するSQLクエリやHTTPレスポンスを構文解析や文脈解析することによって「下手な鉄砲、数打ちゃ当たる」検出法より、はるかに効率的だ。
小菅君は卒業研究のときにSaniaという、かなり優れもののSQLインジェクション攻撃の脆弱性検出システムを開発したのだが、本提案ではそれを統合フレームワークへと抽象化し、いろいろな脆弱性検出アルゴリズムをプラグインできるようにする。これぞシステムの正常進化である。フレームワーク化と同時に、今回はまだ世の中に検出ツールのないJavascript Hijackingの脆弱性検出プラグインも開発する。まさに未踏であるが、実現性にも大きな期待がもてる。その期待を裏付けるプログラミング能力の高さは、オーディションでも実感できた。
このシステムがオープンソースとして公開されれば、Web2.0サービスを提供しようとする人にとっては福音となるに違いない。また、ほかの人々が新たなプラグインをつくってくれる。