Может показаться, что скрыть личную информацию на картинке — плевое дело. Берешь и замазываешь свои тайны черным маркером в приложении для обработки изображений. Или еще лучше: просто обрезаешь ту часть фотографии или скриншота, в которой содержатся секретные данные. Что тут может пойти не так?
Как ни странно, очень многое. Мы уже писали о том, как не надо скрывать информацию на изображениях и о том, как не следует ретушировать картинки, встроенные в документы. Но недавнее исследование показывает, что иногда можно сесть в лужу, даже приняв практически все мыслимые меры предосторожности, из-за бага в механизме работы приложения для обработки картинок. Рассказываем подробнее про то, как стандартные инструменты для редактирования изображений Google Pixel и Windows 11 могут выдать спрятанную на картинках информацию.
Как можно восстановить скрытую информацию на скриншотах, отредактированных в Google Pixel
Началось все с того, что исследователи безопасности Саймон Аронс и Дэвид Бьюканен обнаружили уязвимость, названную ими Acropalypse: штатный редактор изображений смартфонов Google Pixel сохраняет отредактированные PNG-файлы таким образом, что из них можно полностью или частично восстановить исходную картинку.
При работе с картинками в формате PNG приложение Markup — встроенный в Google Pixel редактор изображений — вместо сохранения полностью нового PNG-файла весьма своеобразно переписывает старый. Если вы обрежете картинку, то ее размер в байтах по сравнению с оригиналом, разумеется, уменьшится. То же самое произойдет, если вы замажете часть изображения одним цветом — за счет алгоритмов компрессии, очень хорошо сжимающих закрашенные сплошным цветом области, байтовый размер уменьшится. А сохраненный после редактирования из Markup файл имеет тот же размер, что и оригинал, — приложение просто перезаписывает новые данные поверх старых, оставляя в файле «хвост» данных исходной картинки. И с помощью созданного исследователями инструмента, который они уже, кстати, разместили онлайн, оригинал можно частично восстановить.
Вот как сами исследователи иллюстрируют происходящее:
Тут, впрочем, стоит внимательно присмотреться к скриншоту: как видите, он одновременно и замазан, и обрезан. Таким образом обеспечивается важное условие: результирующее изображение по размеру существенно меньше оригинала. После сохранения отредактированной версии поверх исходной в конце файла остается много не перезаписанной информации, которую удается восстановить. А вовсе не восстановленная или восстановленная с ошибками область — верхняя треть результирующей картинки — пришлась как раз на ту часть скриншота, в которой нет ничего важного.
Так что приведенную исследователями демонстрацию следует воспринимать как идеальный случай: в реальной жизни успешность работы инструмента почти наверняка будет ниже, а результат будет сильно зависеть от обстоятельств. Впрочем, преуменьшать значительность проблемы тоже не стоит — уязвимость очень неприятная.
Эта проблема касается следующих смартфонов 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:
В данном случае удалось восстановить меньшую часть исходного изображения, но результат все равно впечатляющий. Следует уточнить, что проблема, судя по всему, затрагивает только инструмент Snipping Tool и только в версии, которая поставляется с Windows 11. Так что она не касается тех, кто пользуется более ранними версиями Windows, предпочитает редактировать скриншоты в Paint или пользуется одним из полноценных графических редакторов вроде Photoshop.
Уязвимость в Windows 11 Snipping Tool еще не закрыта. Но даже когда обновление появится, оно не поможет решить проблему с «излишне откровенными» скриншотами, которые уже были где-либо опубликованы.
Что же делать?
Если вы активно пользуетесь Windows 11 Snipping Tool или у вас одна из моделей Google Pixel с третьего по седьмое поколение и вы куда-нибудь выкладывали обрезанные или замазанные скриншоты с паролями, можете считать эти пароли скомпрометированными — их следует поменять. Разумеется, вспомнить все случаи, когда вы могли оступиться, будет не так-то просто — но тут уж практически ничего не поделаешь: для поиска и «лечения» подобных PNG-изображений существуют Python-скрипты и правила Yara, но они подойдут лишь тем, кто знает, что это такое.
Напоследок дадим несколько советов, как безопасно ретушировать секретные данные на картинках, предназначенных для публикации в Интернете или отправки тому, кому вы не очень-то доверяете.
- Если вы предпочитаете скрывать секреты штриховкой или заливкой, убедитесь, что используете стопроцентно непрозрачную заливку.
- Если ваш выбор — пикселизация или размытие, имейте в виду, что эта операция может быть обратима.
- Если вы за обрезание, сохраняйте картинку в новый файл — желательно с помощью инструмента Save for web Photoshop или его аналогов: такой инструмент точно уберет лишнюю часть файла ради оптимизации.
Ну и перед тем как опубликовать картинку, которая может что-то «разболтать», задумайтесь: это действительно необходимо?