ここが危ない!Web2.0のセキュリティ

第5回番外編:Black Hat USAレポート

世界最大のコンピュータセキュリティカンファレンス Black Hat

今回は少し脱線して、Black Hatというカンファレンスからおもしろいトピックをいくつか紹介したいと思います。

Black Hatはコンピュータセキュリティに関するカンファレンスとしては、世界最大クラスのカンファレンスです。2007年は8月1、2日にラスベガスで開催され、世界中から5,000人以上が参加したそうです。コンピュータセキュリティについて幅広く発表が行われ、その内容はカーネル、ネットワーク、フォレンジック、プライバシー等多岐に渡ります。

そうは言ってもこの連載でWebと関係のない話をするわけではなく、Webのセキュリティに焦点を当てて紹介していきます。2004年ごろからWebアプリケーションの話題が多くなっており、今年もApplication Securityという分野で一部屋が取られていました(今年は全部で9部屋、昨年は7部屋、一昨年は5部屋でした⁠⁠。Appication Securityとは言っても中身はほとんどがWebアプリケーションでしたので、世界的にも攻撃の対象は従来のバッファオーバーフローによるものからWebアプリケーションに移ってきていることがわかります。

会場となったホテル Caesars Palace
会場となったホテル Caesars Palace

Same-Originポリシーを破る

David Byrneの「Intranet Invasion With Anti-DNS Pinning」とDan Kaminskyの「Black Ops 2007: Design Reviewing The Web」では、Anti-DNS Pinningという攻撃手法を用いてSame-Originポリシーを破る方法が紹介されました。これら2つのセッションは同じ時間に行われました。2つの部屋で同じトピックが話されていることから、Anti-DNS Pinningに対する注目の高さが伺えます。運良く筆者はDan Kaminskyには個別に話をしてもらうことができたので、両方のセッションの内容を聞くことができました。

Same-Originポリシーの重要性についてはこの連載でも紹介してきたとおりですが、そのSame-Originポリシーを破る方法のひとつとしてAnti-DNS Pinningという方法があります。ブラウザが保持しているDNS情報を攻撃のターゲットとし、Same-Originポリシーを破る攻撃です。例として、被害者がイントラネット内のWebサイトにアクセスさせられ、そのWebサイトに掲載されている情報が盗まれるというシナリオが考えられます。社内イントラに重要な情報を掲載している企業の方は要注意です。セッションでは実際にデモが行われ、イントラネット内のマシンにExploitコードが打ち込まれました。

それでは簡単にAnti-DNS Pinningについて紹介します。

ブラウザは、DNS情報の寿命が短く設定されていたとしても独自にDNS情報を保持し続けます。この動作はDNS Pinningと呼ばれます。しかし、Webサーバへのアクセスに失敗するとDNS情報を破棄し、新たにDNS情報を取得しに行きます。このとき攻撃者は自身のDNSサーバの情報を変更し、DNSサーバがイントラネットにあるIPアドレスを返すようにしておけば、ブラウザはイントラネット内にあるサーバもSame-Originだと思い込んでしまい、そのサーバにアクセスさせることができます。

Anti-DNS Pinningの動作
Anti-DNS Pinningの動作

以前は、攻撃を成功させるためにはWebサーバを再起動させるか、ファイアウォールで通信を止める必要があると思われていました。しかし、オープンしていないポートにアクセスさせることで攻撃が成功し、Webサーバを再起動させる必要はないことがわかったため、攻撃の実現度が一気に上がりました。オープンしていないポートにアクセスさせるという手法は日本人である金床氏によって発見され、デモも作成されたこともあり、日本国内でも注目を集めています。

なお、この攻撃はDNSのデザイン上の問題を巧みに利用しているため、本質的な対策がないというのがやっかいなところです。DNSもHTTPもセキュリティが重要視されていなかった時代に作られたプロトコルです。今時代は変わり、セキュリティの重要性は誰もが知るところです。根本的にプロトコルを見直す時期に来たのかもしれません。

もはや「ブラウジング」ではない

Jeremiah Grossmanと'RSnake'ことRobert Hansenの「Hacking Intranet Websites from the Outside (Take 2)-"Fun With and Without JavaScript Malware"」では、クロスサイトスクリプティングを用いた攻撃の話が行われました。この2人は現在のWebアプリケーションセキュリティを引っ張るトップ2であり、要注目です。

クロスサイトスクリプティングによってどのような攻撃が考えられるでしょうか。認証情報の盗難と画面の改ざんだけではありません。ブラウザのアクセス履歴の盗難、プライベートIPアドレスの取得、キーロガー、ポートスキャン等、さまざまな攻撃が考えられます。Webページを閲覧することはブラウジング(ざっと見る)と呼ばれますが、多くのリスクが存在するため、もはやブラウジングというほど軽い気持ちでは閲覧できない状況になっています。

またクロスサイトスクリプティングに対するユーザ側の防御策として、JavaScriptを無効にするという手段があります。しかしJavaScriptを無効にしているブラウザに対してどれだけ攻撃できるかという研究も進んでいます。たとえば、ブラウザのアクセス履歴を盗む攻撃はJavaScriptを用いて行われていましたが、スタイルシートを利用することで、JavaScriptを無効にしていても盗まれてしまうことがわかりました。

そんな危険なWebの世界でユーザが自衛する手段として、以下の方法が紹介されました。

2種類のブラウザを使う
ブラウザ自体の脆弱性によってセキュリティが脅かされることが多くあります。そのようなブラウザは使わないようにするのが一番よい対策です。
Patch、Disable
セキュリティパッチが出るとすぐにパッチを適用し、使わない機能は無効にします。
アドオン
ブラウザのエクステンションやアドオンにはセキュリティ向上に役立つものがあります。
ログアウト、Cookieクリア
こまめにログアウトし、Cookieを削除することでブラウザが保持している情報をなるべく少なくします。

Ajaxによる攻撃

Billy Hoffmanの「The Little Hybrid Web Worm that Could」ではいかに優秀なWebワームを作るかについて講演が行われました。Billy HoffmanはJiktoというWebアプリケーション脆弱性検査ツールを作成し、漏えいさせて話題になった人物です。

Ajaxは動的でインタラクティブなサイトを作る際に非常に便利ですが、攻撃者から見ても非常に便利な仕組みです。そのためAjax、とくにJavaScriptで作成されたワームが出現しています。2005年にMySpaceに感染したSamyワームはその代表例です。ウイルスベンダやIDSも対応しはじめているのですが、その多くは単純なパターンマッチによって検出するものです。一方でワームも進化し続けており、いかにウイルス対策ソフトやIDSに検知されないかという研究が行われています。

現在はハイブリッドワームというものが考えられています。サーバとクライアントの両方を利用して感染活動を行うため、ハイブリッドと呼ばれています。サーバ側で発生するコマンドインジェクションの脆弱性と、クライアントのブラウザで発生するクロスサイトスクリプティングを利用して伝播していきます。

また、感染ターゲットを見つける方法として、セキュリティ情報を提供しているSecuniaというWebサイトから、クロスサイトスクリプティングが存在するファイル名、パラメータ名を取得し、攻撃のターゲットとする例が紹介されました。このようにすれば、既知のクロスサイトスクリプティングの脆弱性が修正されたとしても、日々新たなクロスサイトスクリプティングの脆弱性が見つかっていますので、感染活動を続けることができます。

このように攻撃手法の話題に多くの時間が割かれ、防御の話題は少ないのもBlack Hatの特徴です。

Web2.0は世界的にも大流行

昨年、一昨年はWebアプリケーションのセキュリティの中でもとくにSQLインジェクションのトピックが多かったのですが、今年はWeb2.0とくにAjaxやJavaScriptに関するトピックが多数ありました。この理由として、SQLインジェクションについては一通り議論され対策も進んでいるのに対し、Web2.0は新しいサービスが次々に登場していることもあり、セキュリティについてあまり議論が進んでいないためだと思います。そのため、今後も新しい攻撃手法が発表されていくことになるでしょう。

Webの世界も日進月歩であり、今まで安全だと思われていたことが急に危険であることがわかる場合もあります。Webに限った話ではありませんが、サービスを開発、提供する場合には、一度できあがってもそれで終わりではなく、新しい脆弱性が見つかっていないかをウォッチし続ける必要があると再認識させられるカンファレンスでした。

会場内の様子
会場内の様子

おすすめ記事

記事・ニュース一覧