Black Hat Japan 2008 GIF+JAR=GIFARファイルでドメインベースの信頼は破壊される ネイサン・マクフィーター氏 | ScanNetSecurity
2024.04.19(金)

Black Hat Japan 2008 GIF+JAR=GIFARファイルでドメインベースの信頼は破壊される ネイサン・マクフィーター氏

 2008年10月10日に開催されたBlack Hat Japan 2008で、「インターネットは壊れている:Document.Cookieのむこう側」というテーマでネイサン・マクフィーター氏が発表した。マクフィーター氏はGIFファイルに手を加えることで、GIF画像ファイルだがJARファイルとしても認識

特集 特集
 2008年10月10日に開催されたBlack Hat Japan 2008で、「インターネットは壊れている:Document.Cookieのむこう側」というテーマでネイサン・マクフィーター氏が発表した。マクフィーター氏はGIFファイルに手を加えることで、GIF画像ファイルだがJARファイルとしても認識するGIFARファイルを紹介した。

 このGIFARファイルを活用することで、イントラネットやデスクトップなどのクライアントサイドの情報が盗むことができる可能性があると発表した。

●GIFファイルとしてアップロードし、JARとして動作するGIFARファイル

 GIFARファイルは、画像ファイルであるGIF形式のファイルの外見をしていながら、Javaアプレットを含んだJARファイルとしても認識するという特徴を備えている。このGIFARファイルの拡張子は「.gif」となっていて、通常は画像として認識するようになっている。もちろん、GIFARファイルはGIFファイルとして画像を表示することができる。

 GIFARファイルをヘックスエディタなどで開くとその構造がわかる。ファイルの先頭から読むと「GIF89a」から始まっていて、このファイルがGIFファイルであることを示している。ファイルの最後の方を読むと「jarpwn.class」といった記述が見える。これはGIFファイルの後にJARファイルが付いているということを示している。

 これはGIFファイルとJARファイルを処理する際、GIFファイルは先頭から処理され画像以外のデータは処理されない。そして、JARファイルは末尾から処理されていくという読み込み方の違いを利用している。そのため2者が同時に存在することが可能になる。これによって、GIFファイルとしてもJARファイルとしても認識するGIFARファイルを作ることができる。

 このGIFARファイルの拡張子は「.gif」となっていて画像としても正しく表示することができる。世の中にある多くのアプリケーションやWebサービスでは、Java Appletをアップロードすることができるサービスは稀だが、GIFファイルをアップロードできるものは無数にあるとマクフィーター氏は述べる。

●ローカルファイルシステムやイントラネットへの攻撃が可能に

 ドメインベースの信頼はセキュリティにとって重要なものとなっている。たとえば、JavaScriptなどがその生成元ホスト(プロトコルとポートも同一)のネットワークアクセスしかできないことを「Same Origin Policy(同一生成元ポリシー)」と呼んでいて、セキュリティの基本になっている。しかし、このGIFARファイルを使った例を見てもらうと、ドメインベースの信頼だけでは十分でないことがわかるはずだ。

 もし、このGIFARファイルを攻撃対象のコンピュータのローカルファイルシステムに送り込むことができ、そのファイルが格納されたパスをあらかじめ知ることができるならば、Webページなどを通じて被害者のコンピュータ内にあるGIFARファイルをJARファイルとして起動することができる。

 攻撃対象のコンピュータ上でJava Appletが動作するならば多くのことが可能になる。たとえば、1025番以上のポートをlistenすることもできるし、ネットワークの設定が得られるのでVMwareやVPNが動作しているかを検出したりすることもできる。さらに「file:// 」という記述が使えるので、ローカルホストからファイルを読み取ることもできるというわけだ。

 また、Java Appletを使ってWebサーバーを起動することで、NTLM認証に必要なトークンを盗み出すことも可能になる。

 今ではかなり多くのコンピュータ上でJava SEが動作している。そのため被害者のコンピュータ上でJava Appletが動作する確率は高いだろう。もちろん、被害者のコンピュータ内にあるJARファイルなので、Same Origin Policyも問題にはならない。

 問題はどうやって、相手のコンピュータのローカルファイルシステムにGIFARファイルを送り込み、そのファイルが格納されているパスを知るかである。それが重要なキーになる。

 その方法の1つとしてはキャッシュ機能を活用することだ…

【執筆:株式会社トライコーダ 上野 宣 ( http://www.tricorder.jp/ )】

【関連記事】
Black Hat Japan 2008 特別インタビュー
ダン・カミンスキーに聞く、DNS脆弱性が示唆するもの これから来るもの(1)
https://www.netsecurity.ne.jp/3_12304.html
Black Hat Japan 2008 特別インタビュー
ダン・カミンスキーに聞く、DNS脆弱性が示唆するもの これから来るもの(2)
https://www.netsecurity.ne.jp/3_12341.html
──
※ この記事は Scan購読会員向け記事をダイジェスト掲載しました
購読会員登録案内 http://www.ns-research.jp/cgi-bin/ct/p.cgi?w02_ssw
《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×