ドキュメントやプログラムなどの任意のデータを、PNG画像などの画像ファイルの形式で保存することは可能ですか?私の懸念は、誰かがマルウェアが使用するデータを画像にエンコードし、Flickrのようなサイトにアップロードできることです。
:-P
ドキュメントやプログラムなどの任意のデータを、PNG画像などの画像ファイルの形式で保存することは可能ですか?私の懸念は、誰かがマルウェアが使用するデータを画像にエンコードし、Flickrのようなサイトにアップロードできることです。
:-P
回答:
ほとんどのファイル形式では、はい。たとえば、PNGファイルは型指定されたチャンクで構成されているため、名前付きaAAA
またはlOLZ
任意のデータを持つチャンクを追加できます。JPEGには「アプリケーション固有の」セグメントがあります。JPEGのExifタグは、実際にはそのようなタグ内の完全なTIFF構造です。GIFなどの他の形式は拡張できませんが、多くの場合、テキストコメント用のフィールドがあります。これはすでに悪用されています。APPn
ただし、これに対して保護する方法があります。たとえば、ImgurなどのWebサイトでは、すべてのアップロードpngcrush
または類似のツールが自動的に処理され、絶対に必要ではないものはすべてドロップされます。
しかし、最終的には、データ交換を防ぐことはできません。前述のイメージステガノグラフィの他に、Twitterとそのクローン、数十個のペーストビン(理解できない投稿はかなり普通と見なされます)、古いブログ投稿のコメント形式(これが提案された本をまだ覚えているところです)、 ...より現実的には、ほとんどのマルウェアは単に「自分の」サーバーに接続します。
悪意のあるデータなどはありません。データは実行されるまで悪意はありませんが、実行されるとデータではなくなります。この種の問題は画像ではなく、データの実行を引き起こすバグを含むソフトウェア(Windows、Photoshopなど)です。これは明らかに、主要なソフトウェアベンダーの重要な懸念事項であり、これらのバグが発見されてすぐに修正されることを確信できます。
ただし、他の回答で述べられているように、イメージ自体の一部ではないデータをファイルに追加することは可能です。ただし、これは多くの場合、便利であり、標準的な方法です。インターネットで見つけたランダムな画像よりも、実行可能ファイルに注意することがはるかに重要だと思います。ここでのリスクはそれほど大きくありません。
PNGを含む画像ファイルには特定の形式があります。ファイルのヘッダー部分には画像が記述されており、その後のデータは画像データとして解釈されます(ヘッダーに基づいて)。
ただし、PNGの最後に任意のデータを追加して、画像データを過ぎてから、後で読み取ることができます。これはかなり簡単に検出できます-画像データの終わりを超えてデータが存在してはいけません。
または、ステガノグラフィを使用して、任意のデータを画像自体にエンコードできます。これにより、探しているものを正確に把握していない限り、イメージ自体が微妙に変更されます(エンコード方法の事前知識が必要になることがよくあります)。