やじうまの杜

プライバシー加工したのに元の写真を復元できてしまうヤバいバグ、Windowsでは修正へ

「Pixel」シリーズのスクリーンショット機能で発見、Windowsの「Snipping Tool」にも波及

 「やじうまの杜」では、ニュース・レビューにこだわらない幅広い話題をお伝えします。

「Pixel」のスクリーンショット機能で発見されたプライバシー脆弱性を実証する「acropalypse」

 先日、Google製のAndroidデバイス「Pixel」のスクリーンショット機能に深刻なプライバシー侵害を引き起こしかねない脆弱性が発見されました。「Pixel」では撮影したスクリーンショットをトリミングしたり、ペンツールで書き込みを入れるといった編集が可能なのですが、この編集ツールの保存機能に問題があり、オリジナルの画像データを部分的に復元することができます。つまり、プライバシーに配慮してトリミングやぼかしを入れて写真を共有しても無意味だというわけ。この脆弱性は実証ツール「acropalypse」で比較的簡単に再現できます。

 しかし、話はここで終わりません。なんと、Windowsに標準搭載されている「Snipping Tool」にも同様の不具合があることがわかりました。

 そこで、編集部でも簡単なテストを実施してみました。まず製品版の「Windows 11」でスクリーンショットを撮ってPNG形式で保存します(「Snipping Tool」は保存の際に初期設定でPNG形式を選択するので、これは自然な操作です)。これをコピーして保存しておき、「Snipping Tool」で画像を小さくトリミングして保存します。

 両者を比べると後者のファイルのほうが小さなサイズになるはずですが、実際はサイズに違いはありません。詳細な説明は省きますが、ファイルの末尾にオリジナルのデータが残ってしまっており、復元できる状態になってしまっているのです。

画像を小さく切り抜き(クロップ)しても、ファイルサイズが変わらない

 この問題は、Canary版「Windows 11」で配信されている「Snipping Tool」v11.2302.20.0で修正されているようです。

 編集部で先ほどと同じ実験をしたところ、ちゃんとファイルサイズが変わることを確認できました。

Canary版「Windows 11」で配信されている「Snipping Tool」v11.2302.20.0
ちゃんとファイルサイズが変わる

 ただし、これで穴がすべて塞がったかといえばまだ確証は得られないところ。画像フォーマットの仕様はなかなか複雑で、たとえばオリジナルの画像データのほかに縮小した「サムネイル」画像をデータに含んでいることがあります。これは画像を一覧するときのことを考えた仕様なのですが、このことを忘れると「オリジナルデータは加工して保存したが、サムネイルデータはそのままだった」なんていうミスが起こったりもします。セキュリティリサーチャーは今この問題に夢中で、他にも何かないかとハックしています。もしかしたら別の脆弱性が発見されるかもしれません。

 どちらにしろ、何か問題があれば開発元(Microsoft)がすぐに直してくれるはず。エンドユーザーとしては、「アプリは常に新しいバージョンを使うように心がける」という基本を押さえておきたいところです。