被害範囲の拡大
今回は最終回ということで,Webのセキュリティがどのように変化しているのか,また今後どのように変化していくのかということを考えてみます。
Web2.0という言葉が生まれてから,いろいろなものがWebを用いて提供されるようになってきました。従来のように,ブラウザを起動しアドレスを打ち込み,Webサーバにアクセスするという形態だけではなくなっています。さまざまな場面でWebが使われるようになっており,中にはユーザが気づかない所で使われていることもあります。ここでは,見落とされがちな部分を中心にいくつか例を挙げて説明していきます。
デスクトップとの連携
Googleデスクトップ(図1)は,ユーザのPC内のファイルやネットワーク共有されているファイルを検索できるソフトウェアです。これによりGoogleが持つ強力な検索機能をユーザPC内のファイルに対しても適用することができるようになりました。
この結果,脆弱性が発生した場合の被害もデスクトップに及ぶようになります。
万一,Googleデスクトップにクロスサイトスクリプティングの脆弱性が存在していた場合には,ローカルのファイルが盗まれることになります。さらに,リンクをクリックすることでプログラムを実行するという機能も用意されているため,脆弱性が存在した場合には不正にプログラムを実行される可能性があります。
また,ポート4664番を使用しローカルでWebサーバが起動されます。ローカルでWebサーバを起動する場合,Webサーバ自身にクロスサイトスクリプティングの脆弱性が発見されることがあります。これは,ローカル用に開発されるのが簡易的なWebサーバで,エラーページ等(404 Not Foundのページや403 Forbiddenのページ)にクロスサイトスクリプティングの脆弱性が残っていることが多いためです。現在,クロスサイトスクリプティングという言葉が多く知られるようになって,熱心に対策を行っているWebアプリケーション開発者も増えています。Webサーバの脆弱性でそのような努力を台無しにしないように,Webサーバを開発する際には注意してほしいものです。
●過去の事例
- sHTTPd におけるクロスサイトスクリプティングの脆弱性
- http://jvn.jp/jp/JVN%2374063879/index.html
- 雷電 HTTPD におけるクロスサイトスクリプティングの脆弱性
- http://jvn.jp/jp/JVN%2390438169/index.html
- Interstage Application Server におけるクロスサイトスクリプティングの脆弱性
- http://jvn.jp/jp/JVN%2383832818/index.html
管理画面での脆弱性
Webサーバの管理画面,アプリケーションサーバの管理画面,Webアプリケーションの管理画面等,管理画面には脆弱性が多く残されています。理由としては,一般公開されていないから,アカウントを持つ人が限られているから,認証によって守られているから,といったものではないでしょうか。しかしこういった考えは危険です。そのようなページのほうがより重要な情報を取り扱っている場合が多いためです。今後,フレームワークの普及やアプリケーションサーバの多様化により,同様の脆弱性が増加することが考えられます。
●過去の事例
- Apache Tomcat におけるクロスサイトスクリプティングの脆弱性
- http://jvn.jp/jp/JVN%2307100457/index.html
- Lotus Domino におけるクロスサイトスクリプティングの脆弱性
- http://jvn.jp/jp/JVN%2384565055/index.html
- Adobe JRun におけるクロスサイトスクリプティングの脆弱性
- http://jvn.jp/jp/JVN%2314243645/index.html
- ColdFusion におけるクロスサイトスクリプティングの脆弱性
- http://jvn.jp/jp/JVN%2328356427/index.html
HTML形式のログを利用した脆弱性
例としてNessusというセキュリティ検査ツールに存在していた脆弱性を紹介します。脆弱性を検査するツールに脆弱性が存在していた,というのはミイラ取りがミイラになるような話ですが,案外よくある話です。
Nessusは対象となるサーバの脆弱性を検査し,その結果をHTML形式で表示します。ここで,Webサーバのバージョンが古い場合には脆弱性として報告されるのですが,検査レポートにサーバのバナー情報が記載されます。攻撃者はバナー情報の中にスクリプトを入れておくことで,検査を行っていた人がレポートを表示した際にスクリプトが実行され,攻撃が成立するという仕組みです。
検査レポートは一度ローカルにHTML形式で保存され,そのファイルがブラウザで開かれるという動作をします。そのため,検査レポートの中に悪意のあるスクリプトが含まれていた場合には,マイコンピュータのドメインでスクリプトが実行され,ローカルのファイルが盗まれる等の攻撃を受ける可能性があります。
また,メッセンジャーにもHTML形式のログが使用されているものがあります。YahooメッセンジャーやAOLインスタントメッセンジャーで脆弱性が見つかっています。
●過去の事例
- Nessus のレポート出力機能において任意のスクリプトが実行される脆弱性
- http://jvn.jp/jp/JVN%2334058672/index.html
- Cross-site Scripting with Local Privilege Vulnerability in Yahoo Messenger
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0768
- Remote command execution, HTML and JavaScript injection vulnerabilities in AOL's Instant Messaging software
- http://www.coresecurity.com/index.php5?module=ContentMod&action=item&id=1924

