ICOファイルの隠れたデータを削除
12 単一の写真ではなく、複数の画像を同時に格納するために設計された形式
ICOはWindowsがアプリアイコンに、ブラウザがファビコンに使用する形式です——本サイトの他のどの形式とも異な
り、単一の.icoファイルは実際には小さなコンテナであり、同じ画像の異なるサイズと色深度のバー
ジョン(16×16、32×32、256×256など)を複数格納でき、オペレーティングシステムが文脈に最も適したものを選
べるようになっています。JPEGにおけるEXIFのようなメタデータ標準は、ここにはほぼ存在しません——GPSも、カ
メラ情報も、そうしたものがICOに入ることは決してありません。ここでの実際のリスクは、本サイトがカメラ写
真に対して扱っているプライバシーのカテゴリよりも、「バイト自体を信用しない」という構造的なカテゴリに近
いものです。
詳しく見る:ICOがほぼ完全に似ているのに、意図的に別扱いされているもの
ICOファイルの署名は4バイトです:00 00 01 00。この1バイトだけを——00 00 02 00
に——変えると、代わりにCURファイルになります。これはWindowsのアニメーションカーソル用の形式で、
ICOのコンテナ構造をほぼそのまま流用しつつ、「タイプ」フィールドが異なり、画像ごとにホットスポット座
標が1つ追加されています。本ツールは意図的にICOの署名だけを認識し、「基本的には同じものだ」と決めつ
けるのではなく、CURファイルを認識不能なものとして扱います——これは本サイトの他の場所で、ファイル拡
張子を信用することを拒否しているのと同じ原則です。有効なICOファイル内に埋め込まれた複数のアイコンサ
イズは、すべてデコードされ考慮に入れられますが、無害化パイプラインに実際に持ち込まれるのは、最初の
最も大きく適切な画像だけです。そのため、入力側で複数サイズを持つICOは、出力側では常に単一のフラット
な画像として返されます。
ICOの本当のリスクが通常どこにあるか
ICOが最もよく現れるのは、あるウェブサイトに静かに存在するファビコンや、ダウンロードしたソフトウェアに 埋め込まれたアイコンとしてであるため、より現実的な脅威モデルは、カメラ由来のメタデータ漏洩というより、 比較ページが扱っている一般的な構造的攻撃と同じものです——不 注意なパーサーを騙す、破損した、あるいは意図的に細工されたコンテナです。完全に生のピクセルへとデコード し、ゼロから再構築する——本ツールがどの形式にも適用しているのと同じ保証——ことで、ICOファイルの内部構 造がそれ自体について何を主張していようとも、このカテゴリのリスクは取り除かれます。