Windows 11

Windows Snipping Tool に影響を与える「acropalypse」という重大なプライバシー上の欠陥も発見されており、画像から編集されたコンテンツを部分的に復元することができます。

先週、セキュリティ研究者の David Buchanan と Simon Aarons は、Google Pixel の Markup Tool のバグにより、元の画像データが編集またはトリミングされても保持されることを発見しました。

この欠陥は、プライバシーに関する重大な懸念を引き起こします。たとえば、番号が編集されたクレジット カードや、顔が削除された写真が公開されているなどの写真をユーザーが共有すると、元の写真を部分的に復元できる可能性があるからです。

このバグを説明するために、研究者は Google Pixel で作成された編集済みの画像を復元しようとするオンラインのアクロパリプス スクリーンショット復元ユーティリティを立ち上げました。

Windows 11 Snipping tool も影響を受ける

今日、ソフトウェア エンジニアの Chris Blume は、「アクロパリプス」のプライバシーの欠陥が Windows 11 Snipping Tool にも影響を与えることを確認しました。

クリスのツイート

Windows 11 Snipping Tool でファイルを開いて既存のファイルを上書きすると、未使用のデータが切り捨てられるのではなく、未使用のデータが残されるため、部分的に復元できます。

脆弱性の専門家である Will Dormann も Windows 11 Snipping Tool の欠陥を確認し、Dormann の助けを借りて問題も確認しました。

これをテストするために、Windows 11 Snipping Tool で既存の PNG ファイルを開き、トリミング (編集またはマークアップも可能) してから、変更を元のファイルに保存しました。元の画像とトリミングされた画像を以下に示します。

元の画像は左です。右のトリミングされた画像
ソース:

トリミングされた画像に含まれるデータは元の画像よりもはるかに少なくなりましたが、以下に示すように、元の画像ファイル (office-screenshot-original.png) とトリミングされた画像ファイル (office-screenshot.png) のファイル サイズは同じです。

元の画像とトリミングされた画像のファイル サイズは同じです
元の画像とトリミングされた画像のファイル サイズは同じです
ソース:

PNG ファイルの仕様では、 PNG 画像ファイルは常に「IEND」データ チャンクで終了する必要があり、その後に追加されたデータは画像編集者や閲覧者によって無視されます。

たとえば、以下はマイクロソフトのサイトから私が撮った元のスクリーンショットです。ご覧のとおり、ファイルは IEND で終わり、その後にデータは含まれていません。

元の PNG イメージの末尾にある IEND チャンク
元の PNG イメージの末尾にある IEND チャンク
ソース:

ただし、Windows 11 Snipping Tool を使用してトリミングされたバージョンで元の画像を上書きすると、プログラムは未使用のデータを正しく切り捨てず、IEND データ チャンクの後に残ります。

IEND データ チャンクの後の切り捨てられていないデータ
IEND データ チャンクの後の切り捨てられていないデータ
ソース:

画像ビューアーでファイルを開くと、トリミングされた画像が表示されるだけで、最初の IEND 以降は無視されます。

ただし、この切り捨てられていないデータを使用して元の画像を部分的に再作成することができ、機密部分が明らかになる可能性があります。

研究者のオンラインAcropalypse スクリーンショット回復アプリは現在 Windows ファイルでは機能しませんが、Buchanan は Windows ファイルの回復に使用できる Python スクリプトを共有しました。

以下に示すように、このスクリプトを使用して、イメージの一部を正常に復元しました。

部分的に復元された画像
部分的に復元された画像
ソース:

これは元の画像の完全な回復ではなく、なぜこれがプライバシーのリスクになるのか疑問に思われるかもしれません.

機密性の高いスプレッドシート、機密文書、さらにはヌード写真のスクリーンショットを撮り、機密情報や画像の一部を切り抜いたとします。

元のイメージを完全に復元できなくても、公開したくない機密情報を誰かが復元する可能性があります。

また、最適化された PNG など、すべての PNG ファイルがこの問題の影響を受けるわけではないことにも注意してください。

「元の PNG は単一の zlib ブロック (「最適化された」PNG に共通) で保存されましたが、実際のスクリーンショットは複数の zlib ブロックで保存されています (これには私のエクスプロイトが必要です)」とブキャナンは説明しました。

また、切り捨てられていない PNG ファイルを Photoshop などの画像エディタで開いて別のファイルに保存すると、末尾の未使用のデータが取り除かれ、復元できなくなることもわかりました。

最後に、Windows 11 Snipping Tool も JPG ファイルで同じ動作を実行し、上書きされた場合にデータを切り捨てません。ただし、ブキャナン氏は、彼のエクスプロイトは現在 JPG では機能しないが、可能である可能性があると語った.

この欠陥と修正されるかどうかについて Microsoft に問い合わせましたが、すぐには返信がありませんでした。