Тайное становится явным: обрезанные и замазанные картинки можно восстановить

Редактируете изображения в Windows 11 или на Google Pixel? Из-за ошибки разработчиков скрытую информацию на обрезанных или замазанных картинках можно восстановить.

Как восстановить информацию на отредактированном скриншоте

Может показаться, что скрыть личную информацию на картинке — плевое дело. Берешь и замазываешь свои тайны черным маркером в приложении для обработки изображений. Или еще лучше: просто обрезаешь ту часть фотографии или скриншота, в которой содержатся секретные данные. Что тут может пойти не так?

Как ни странно, очень многое. Мы уже писали о том, как не надо скрывать информацию на изображениях и о том, как не следует ретушировать картинки, встроенные в документы. Но недавнее исследование показывает, что иногда можно сесть в лужу, даже приняв практически все мыслимые меры предосторожности, из-за бага в механизме работы приложения для обработки картинок. Рассказываем подробнее про то, как стандартные инструменты для редактирования изображений Google Pixel и Windows 11 могут выдать спрятанную на картинках информацию.

Как можно восстановить скрытую информацию на скриншотах, отредактированных в Google Pixel

Началось все с того, что исследователи безопасности Саймон Аронс и Дэвид Бьюканен обнаружили уязвимость, названную ими Acropalypse: штатный редактор изображений смартфонов Google Pixel сохраняет отредактированные PNG-файлы таким образом, что из них можно полностью или частично восстановить исходную картинку.

При работе с картинками в формате PNG приложение Markup — встроенный в Google Pixel редактор изображений — вместо сохранения полностью нового PNG-файла весьма своеобразно переписывает старый. Если вы обрежете картинку, то ее размер в байтах по сравнению с оригиналом, разумеется, уменьшится. То же самое произойдет, если вы замажете часть изображения одним цветом — за счет алгоритмов компрессии, очень хорошо сжимающих закрашенные сплошным цветом области, байтовый размер уменьшится. А сохраненный после редактирования из Markup файл имеет тот же размер, что и оригинал, — приложение просто перезаписывает новые данные поверх старых, оставляя в файле «хвост» данных исходной картинки. И с помощью созданного исследователями инструмента, который они уже, кстати, разместили онлайн, оригинал можно частично восстановить.

Вот как сами исследователи иллюстрируют происходящее:

Иллюстрация основной идеи уязвимости Acropalypse

Результат работы инструмента для восстановления картинки, отредактированной на Google Pixel. Источник

Тут, впрочем, стоит внимательно присмотреться к скриншоту: как видите, он одновременно и замазан, и обрезан. Таким образом обеспечивается важное условие: результирующее изображение по размеру существенно меньше оригинала. После сохранения отредактированной версии поверх исходной в конце файла остается много не перезаписанной информации, которую удается восстановить. А вовсе не восстановленная или восстановленная с ошибками область — верхняя треть результирующей картинки — пришлась как раз на ту часть скриншота, в которой нет ничего важного.

Так что приведенную исследователями демонстрацию следует воспринимать как идеальный случай: в реальной жизни успешность работы инструмента почти наверняка будет ниже, а результат будет сильно зависеть от обстоятельств. Впрочем, преуменьшать значительность проблемы тоже не стоит — уязвимость очень неприятная.

Эта проблема касается следующих смартфонов Google (выделены модели, которые уже не поддерживаются и, вероятно, не получат обновления):

  • Google Pixel 3, 3 XL, 3a, 3a XL
  • Google Pixel 4, 4 XL, 4a, 4a(5G)
  • Google Pixel 5, 5a
  • Google Pixel 6, 6 Pro, 6a
  • Google Pixel 7, 7 Pro

Помимо имени собственного — Acropalypse — уязвимость получила обозначение CVE-2023-21036. Она уже устранена в мартовском обновлении Android для линейки Pixel. Увы, обновление никак не поможет исправить старые отредактированные скриншоты, которые уже где-либо опубликованы или кому-либо отправлены.

Как можно восстановить скрытую информацию на скриншотах, отредактированных в Windows 11

После публикации результатов изысканий Аронса и Бьюканена в «Твиттере» за дело взялись другие исследователи. Логично предположив, что тот же неправильный механизм перезаписи PNG-файлов может использоваться и другими инструментами для редактирования изображений, они принялись искать новые уязвимые приложения. И, разумеется, нашли: похожий баг был обнаружен в Snipping Tool — инструменте для обработки скриншотов в Windows 11.

Проблема у Windows 11 Snipping Tool ровно та же: из-за неправильной работы с PNG-файлами приложение перезаписывает отредактированную версию поверх оригинала, и когда новый файл меньше, часть информации из оригинала остается в конце файла — а по ней можно частично воссоздать исходное изображение.

Вот пример восстановления обрезанного файла, приведенный в блоге Bleepingcomputer:

Уязвимость acropalypse в Windows 11 Snipping Tool

Результат восстановления картинки, отредактированной Windows 11 Snipping Tool. Источник

В данном случае удалось восстановить меньшую часть исходного изображения, но результат все равно впечатляющий. Следует уточнить, что проблема, судя по всему, затрагивает только инструмент Snipping Tool и только в версии, которая поставляется с Windows 11. Так что она не касается тех, кто пользуется более ранними версиями Windows, предпочитает редактировать скриншоты в Paint или пользуется одним из полноценных графических редакторов вроде Photoshop.

Уязвимость в Windows 11 Snipping Tool еще не закрыта. Но даже когда обновление появится, оно не поможет решить проблему с «излишне откровенными» скриншотами, которые уже были где-либо опубликованы.

Что же делать?

Если вы активно пользуетесь Windows 11 Snipping Tool или у вас одна из моделей Google Pixel с третьего по седьмое поколение и вы куда-нибудь выкладывали обрезанные или замазанные скриншоты с паролями, можете считать эти пароли скомпрометированными — их следует поменять. Разумеется, вспомнить все случаи, когда вы могли оступиться, будет не так-то просто — но тут уж практически ничего не поделаешь: для поиска и «лечения» подобных PNG-изображений существуют Python-скрипты и правила Yara, но они подойдут лишь тем, кто знает, что это такое.

Напоследок дадим несколько советов, как безопасно ретушировать секретные данные на картинках, предназначенных для публикации в Интернете или отправки тому, кому вы не очень-то доверяете.

  • Если вы предпочитаете скрывать секреты штриховкой или заливкой, убедитесь, что используете стопроцентно непрозрачную заливку.
  • Если ваш выбор — пикселизация или размытие, имейте в виду, что эта операция может быть обратима.
  • Если вы за обрезание, сохраняйте картинку в новый файл — желательно с помощью инструмента Save for web Photoshop или его аналогов: такой инструмент точно уберет лишнюю часть файла ради оптимизации.

Ну и перед тем как опубликовать картинку, которая может что-то «разболтать», задумайтесь: это действительно необходимо?

Советы

Как отключить слежку в iOS?

У вас есть iPhone, iPad или iPod? Потратьте несколько минут на настройку служб геолокации, чтобы сэкономить заряд батареи и сохранить конфиденциальность перемещений.