JPEGファイルによる情報漏洩の可能性について

情報漏洩、というと大げさかもしれないが、Windows XP SP2にてペイントを使ってJPEGデータを保存すると、一定の条件でJPEGファイル内のEXIFデータとして保存されているサムネイル情報が更新されないようだ。
この状態でJPEGファイルのサムネイルを表示すると、実際の画像とサムネイルの内容が一致しない。


例えば、JPEG画像の秘密文書を他人に公開したい時に一部を墨消しする場合があるだろう。
このときにペイントを使って墨塗りして保存してしまうと、画像自体は墨塗りが施された状態で保存されるが、サムネイル画像として墨塗り前の画像が残ってしまうことになる。
サムネイル画像は小さいから墨塗りした文字が読み取られてしまう可能性は低いかもしれないが、あまり良い気はしない。


JPEGファイルのサムネイル画像は、エクスプローラの縮小表示で表示される。
私の場合は、Picasaを使っている時に見つけた。PicasaJPEG画像をインポートする時に、サムネイル情報が入っている場合にそれを最初にサムネイルデータとして使うようだ。ペイントで塗りつぶしたはずの情報が消えていないので一瞬びっくりしたが、Picasaの場合はサムネイル画像の上にマウスを持っていくとPicasaが管理するサムネイルは最新画像に更新されるようだ。(元のJPEGファイルのサムネイルが更新されるわけではない)


この問題は「ペイントで編集した JPEG ファイルを [縮小版] で表示すると、変更箇所が反映されていない」(最終更新日:2006年4月10日)で公開されている。
発生条件は、

  • Windows XP SP2のペイントを使用していること
  • ペイント編集前のJPEG画像にEXIFサムネイル情報が存在しないこと*1


回避方法としては、ペイントで編集後に一旦JPEG以外の(規格上EXIF情報を内包できない)画像フォーマット形式で保存し、改めてJPEGで保存しなおすことだ。中間形式としては画像劣化のないBMPPNGあたりがよいだろう。
あるいはサポート技術情報に記載の方法で、ペイント終了後にエクスプローラ上でサムネイルを更新する方法がある。


そもそもEXIF情報には、サムネイル以外にも他人に知られたくない情報が含まれる可能性があるので、いっそWebに貼ったり人に渡す時はJPG CleanerのようなツールでEXIF情報はばっさり切った方が良いのかもしれない。


PDFの墨塗り問題はニュースになったこともあり結構有名になったが、こちらの問題はあまり知られていないような気がする。ググってもそれらしいのがヒットしない。条件が限定されているし、深刻な問題ではない(サムネイル画像は小さい)からかもしれない。
参考:高木浩光@自宅の日記 - 公務員研修で体験させておくべき演習 「蛍光ペンで墨塗り」の巻, 追記(8月6日)「折り返し」機能を無効に?


マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。」としながら、1年半も修正されず放置されているのはバグ報告されたから情報公開はするけど、直す気はないということか?*2
SP3では直すんですよね?マイクロソフトさん。

*1:JPG CleanerEXIF情報を削除してからやってみたが再現しないので、サポート技術情報に記載の条件より更に限定的な条件があると思われる。なお記載のあったMy Picturesに最初からある画像では再現できた。

*2:高い金払ってプレミアサポート契約しても同じ手口を使うからね。彼らは。況や無償サポートのコンシューマー向けOSなんて…ということか。