Threatpostは3月18日(米国時間)、「Security Researcher Hides ZIP, MP3 Files Inside PNG Files on Twitter|Threatpost」において、TwitterにPNG画像を装ってZIPやPDF、MP3などの任意のファイルを投稿する新しい手法が発見されたと伝えた。この手法はセキュリティ研究者のDavid Buchanan氏によって報告されたもの。

PNG形式の画像ファイルに対して任意のファイルを埋め込んでTwitterに投稿した場合、両方のファイルがいくつかの条件を満たしていれば、第三者がPNGファイルをダウンロードして埋め込まれたファイルを取り出せることが実証されたという。

あるファイル内に別のファイルを埋め込んで隠蔽する手法は「ディジタル・ステガノグラフィー」として昔からよく知られている。埋め込み対象となるファイルの無効なビットを利用して、そこに別のファイルのバイナリデータを書き込むことで、元のファイルの情報に影響を与えずに別のファイルの情報を記録するという手法である。

TwitterをはじめとするSNSに投稿されたPNG画像の場合、一般的にはSNSプラットフォーム側で画像の最適化が行われ、元のバイナリデータが保持されないため、この手法で別ファイルを埋め込んで投稿しても後から取り出すことはできない。Buchanan氏が発見した方法は、Twitter側で画像ファイルの再エンコードを回避する条件を満たすことによって、隠蔽したデータが削除されるのを防ぐというものだ。

その条件としては、ファイルサイズを3MB以下に抑えることや、カバー画像が257以上の固有の色を含むこと、不要なメタデータ・チャンクを含まないことなどが挙げられている。また、埋め込むファイルがZIPファイルの場合、取り出し後のファイル全体が有効なZIPになるようオフセットが自動的に調整されることも付け加えられている。

Buchanan氏はこの手法の概念実証のために、自身のツイートで実際にPNG画像に偽装したZIPファイルやMP3ファイルを投稿している。

  • Buchanan氏による、PNG画像に偽装したZIPファイルの投稿

    Buchanan氏による、PNG画像に偽装したZIPファイルの投稿

一見すると他愛のない隠し技のようにも思えるが、この挙動はセキュリティ上の脅威につながる可能性があるとThreatpostの記事では警鐘を鳴らしている。この方法を使えば、サイバー犯罪者が悪意のあるファイルをソーシャルメディア内に隠し、そしてそれを拡散することが可能になるからだ。

なおBuchanan氏がこの方法についてTwitter社のバグ報奨金プログラムに報告したところ、これはバグではないという返答を得たとのことだ。