Twitterの1枚の小さな画像にシェイクスピアの全作品を詰め込んでアップするという試み
「Twitterの投稿にどれくらいのローデータを詰め込むことができるのだろうか?」という実験をしていたコンピューターサイエンス専攻の学生が、1枚の小さな画像にシェイクスピアの全作品のデータをまとめることに成功しました。「1枚の小さな絵に見た目以上の情報が含まれている」という暗号のような状態ですが、悪用すればマルウェアの拡散に使われる可能性もあるとのこと。
This Tiny Picture on Twitter Contains the Complete Works of Shakespeare - Motherboard
https://motherboard.vice.com/en_us/article/bj4wxm/tiny-picture-twitter-complete-works-of-shakespeare-steganography
You can unzip this tiny image on Twitter to reveal the complete works of Shakespeare - The Verge
https://www.theverge.com/2018/11/1/18051514/twitter-image-steganography-shakespeare-unzip-me
David Buchananさんが2018年10月28日に投稿したのがこのツイート。「UNZIP ME」と書かれた小さな画像にシェイクスピアの全作品が含まれているとのこと。
Assuming this all works out, the image in this tweet is also a valid ZIP archive, containing a multipart RAR archive, containing the complete works of Shakespeare.
— Dаvіd Вucһаnаn (@David3141593) 2018年10月29日
This technique also survives twitter's thumbnailer :P pic.twitter.com/P0Owq9abRC
Buchananさんは「https://pbs.twimg.com/media/DqteCf6WsAAhqwV.jpg」をダウンロードし、ZIPファイルを解凍、その後RARファイルを解凍すれば作品が見られると説明していたので……
curl 'https://t.co/okjL8IFtAL' > https://t.co/ulP8nPkbY8 && unzip https://t.co/ulP8nPkbY8 && unrar x shakespeare.part001.rar
— Dаvіd Вucһаnаn (@David3141593) 2018年10月29日
ということで実際にやってみました。まず「https://pbs.twimg.com/media/DqteCf6WsAAhqwV.jpg」を開いて右クリックでダウンロード。
「Explzh」を使って解凍を試みます。画像を右クリックして「Explzhから開く」を選択すると……
確かに1枚の画像に大量のRARファイルが含まれていました。
ただし、そのままRARファイルを解凍しようとするとエラーが表示されてしまいました。
「ツール」から「ZIP、RAR、ACE書庫を修復」を選択し……
再度、右クリックで「開く」
HTMLファイルが現れたのでクリックしてみると……
「The Complete Works of William Shakespeare」というページが現れました。ここからシェイクスピアの全作品を読むことが可能です。
Buchananさんによると、TwitterはSNS上に画像をアップする際、数多くのメタデータを抜き取りますが、ICCプロファイルに関してはそのままにされるとのこと。そこで、BuchananさんはZIPやRARのアーカイブファイルをICCプロファイルに保存しました。「私がやったのは、JPGファイルを解析しICCメタデータを挿入するスクリプトを書くことです」「必要なZIPのヘッダーを正しい場所に置く必要があるため、このメタデータは慎重に作られました」とBuchananさんは述べています。
もともと、Buchananさんは「どのくらいのローデータをツイートに詰め込むことができるのか?」ということを実験しており、その流れで「ZIPファイルを画像に埋め込む」という考えにいたったそうです。スクリプトの作成には数カ月を要したとのこと。
ただし、この技術は悪用すればマルウェアの拡散に使われる危険性があります。Buchananさんはこの技術をTwitterに報告していますが、Twitterはこれをバグとは見なしていないそうです。
I tried reporting this techinque to twitter's bug bounty program, but it's #notabug. Fair enough, but that just means we can have some fun with it
— Dаvіd Вucһаnаn (@David3141593) 2018年10月29日
・関連記事
世界を悩ませているインターネットのミステリー、謎の暗号「Cicada 3301」 - GIGAZINE
メッセージを暗号化して「音」の一つ一つに置き換える遊びが大作曲家たちによって行われていた - GIGAZINE
「偽のバグを大量に埋め込む」ことでソフトウェアのセキュリティがアップすると研究者が指摘 - GIGAZINE
肉眼で確認できないレベルで文書内に秘密のメッセージを隠すことができる「FontCode」 - GIGAZINE
いまだ解読されていない歴史的な10種の暗号 - GIGAZINE
・関連コンテンツ