現代ハッカーの基本テクニック - JARを利用した攻撃手法「GIFAR」【後編】 | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2017.08.22(火)

現代ハッカーの基本テクニック - 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》

Scan PREMIUM 会員限定

もっと見る

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

Scan BASIC 会員限定記事

もっと見る

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

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ (シーズン 1~6 第1話)

もっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ (シーズン 1~6 第1話)特集をもっと見る

カテゴリ別新着記事

特集 カテゴリの人気記事 MONTHLY ランキング

  1. [セキュリティ ホットトピック] 起動領域を破壊し PC を完全にロックするランサムウェア「Petya亜種」

    [セキュリティ ホットトピック] 起動領域を破壊し PC を完全にロックするランサムウェア「Petya亜種」

  2. [セキュリティホットトピック] サイバー攻撃に対して備えるべき機能・組織・文書など、総務省が「防御モデル」として策定

    [セキュリティホットトピック] サイバー攻撃に対して備えるべき機能・組織・文書など、総務省が「防御モデル」として策定

  3. ISMS認証とは何か■第1回■

    ISMS認証とは何か■第1回■

  4. ここが変だよ日本のセキュリティ 第29回「大事な人。忘れちゃダメな人。忘れたくなかった人。誰、誰……君の名前は……セキュリティ人材!」

  5. 工藤伸治のセキュリティ事件簿 シーズン6 「誤算」 第1回「プロローグ:七月十日 夕方 犯人」

  6. クラウドセキュリティ認証「ISO 27017」「ISO 27018」の違いとは? ~クラウドのよさを活かす認証コンサル LRM 社 幸松 哲也 社長に聞く

  7. スマホが標的のフィッシング詐欺「スミッシング」とは、現状と対策(アンラボ)

  8. Heart of Darknet - インターネット闇の奥 第1回「プロローグ」

  9. 工藤伸治のセキュリティ事件簿シーズン6 誤算 第4回「不在証明」

  10. シンクライアントを本当にわかっていますか 〜意外に知られていないシンクライアントの真価

全カテゴリランキング

★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★
<b>★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★</b>

経営課題としてサイバーセキュリティに取り組む情報システム部門や、研究・開発・経営企画に携わる方へ向けた、創刊19年のセキュリティ情報サービス Scan PREMIUM を、貴社の事業リスク低減のためにご活用ください。

×