現代ハッカーの基本テクニック - JARを利用した攻撃手法「GIFAR」【後編】
新たにClient-Sideを狙った厄介な攻撃手法が報告され注目を集めていることをご存知だろうか。この攻撃手法は「どこにでもある画像ファイルやOfficeファイル」に悪意あるJavaアプレットを埋込む「GIFAR」と呼ばれる技術だ。見た目もGIFファイルそのものであるため見抜く
特集
特集
●GIFARは何が困るの?
この攻撃手法の影響度は様々だ。
(1)見分けがつきづらい
このGIFARファイルの拡張子は「gif」であるうえに、ヘッダ情報もGIF情報そのものである。そのため、拡張子やヘッダチェックだけではこの悪意あるイメージファイルに気付くことはできない。そのため、アップロード機能を持つWebアプリケーションはGIFARがアップロードされないような新たな対策を打つ必要がある。
(2)セキュリティ対策回避
一見、この攻撃は他の方法に比べると影響度は低いように思われるかもしれない。しかし、Javaアプレットは実行中に複数回のリクエストを送信することができる。加えて、他の攻撃手法との組み合わせにより従来よりもより巧妙な攻撃が可能となる。その結果、従来のWebアプリケーションに関するセキュリティ対策が回避されてしまう可能性がある。
(3)作成が簡単
そして何よりも問題なのが、あっという間に作成できてしまう点だ。
●GIFARの3分クッキング
GIFARの作り方は非常に簡単だ。
(1)用意する材料
・GIFファイル(お好みの量)
・jarファイル(お好みのコード、適量)
(2)GIF+JAVA
これは非常に簡単。catコマンドなどにより、それぞれのファイルを一つにまとめれば出来上がりだ。ご存知の読者もいるかと思うが、jarファイルはzip形式のアーカイブファイルだ。
例えば、次のようにする。
$ cat example.gif example.jar > gifar.gif
$ file gifar.gif
gifar.gif: GIF image data, version 89a, 332 x 373
fileコマンドでgifar.gifのファイルフォーマットを確認すれば、GIFファイルであることが分かる。また、画像閲覧ソフトウェアなどで確認すれば、画像も破損していないことが分かるはずだ。これはどういうことかというと、セキュリティ対策を実施している画像アップロードサイトへも、容易に悪意あるJavaアプレットを含んだ画像ファイルをアップロードできるということだ。このファイルの基本的な使い方は、Javaアプレットと同様にHTMLファイルなどにアプレットタグを用い、
<applet code="evil.class" archive="gifar.gif" ・・・>
などと呼び出せば良い。最もこれだけでは影響度の大きな攻撃は難しいので工夫は必要だ。
●画像ファイル以外への応用
GIFARは何も画像ファイルだけが対象ではない。GIFARの特徴の一つは画像に埋め込むJARファイルにある。このファイルはZIP形式を利用することで、複数のファイルをパッケージ化している。つまり、JRE(Java Runtime Environment)がJARファイル読み込むことで、勝手に解凍してclassファイルを読み込んでくれているのだ。
この技術は他のファイルへの転用が容易に想像できる。その一例としてMicrosoft Office 2007/2008(Mac版)で作成されたドキュメントやOpenOfficeがある。Microsoft Office は2007(拡張子が.docx、.xlsx、.pptxのファイル)からファイルフォーマットの仕様を変更している。これらのファイルの特徴を利用し、ドキュメントファイル版のGIFARを作成することが可能となる。作成方法は単純で、JARファイルの中身(classファイルなど)をドキュメントファイルの中にコピーすれば良い。
こちらは新しいデータ隠蔽としても悪用される可能性もある。従来はステガノグラフィのように画像データへ隠蔽する技術が一般的であった。しかし、今回の方法を利用することでドキュメントファイルへデータを隠蔽するも可能となる。なお、ウイルスなどを埋込んだ場合、ウイルス対策ソフトウェアには発見されてしまう。
●対策は一先ずJavaアップデート
GIFARに関しては、2008年12月にJavaの開発元であるSun Microsystemsの指示通りにパッチを適用することで一時的な回避できる。
#244988: Multiple Security Vulnerabilities in Java Web Start and Java Plug-in May Allow Privilege Escalation
http://sunsolve.sun.com/search/document.do?assetkey=1-26-244988-1
しかし、これは根本的解決には至らないとされる。それは、まだ他のファイルへ応用される恐れがあるためだ。またウイルス対策ソフトウェアだが、埋め込んだJavaアプレットが既知の悪性コードやプログラムであれば駆除することができるだろう。しかし、中々難しいのが現状であるため、ひとまずJREのアップデートを推奨する。
また、GIFARに限らず近年主流のClient-Sideへの攻撃は…
【執筆:二根太】
【関連記事】
現代ハッカーの基本テクニック - JARを利用した攻撃手法「GIFAR」【前編】
https://www.netsecurity.ne.jp/3_13228.html
Black Hat Japan 2008 GIF+JAR=GIFARファイルでドメインベースの信頼は破壊される ネイサン・マクフィーター氏
https://www.netsecurity.ne.jp/3_12364.html
──
※ この記事は Scan購読会員向け記事をダイジェスト掲載しました
購読会員登録案内 http://www.ns-research.jp/cgi-bin/ct/p.cgi?w02_ssw
《ScanNetSecurity》