Баг Google Pixel дозволяє «розпаковувати» скріншоти за останні чотири роки
У 2018 році з випуском Android 9.0 Pie телефони Pixel отримали вбудований редактор скріншотів під назвою Markup. Інструмент з’являється щоразу, коли ви робите знімок екрана, а торкнувшись піктограми пера в додатку, ви отримаєте доступ до таких інструментів, як кадрування та кілька кольорових ручок для малювання. Це дуже зручно, якщо припустити, що інструмент Google Markup справді робить те, що він каже, але нова вразливість вказує на те, що зміни, внесені цим інструментом, насправді не були руйнівними! Скріншоти Pixel, зроблені протягом останніх чотирьох років, можна вирізати або не редагувати.
Помилка була виявлена Саймоном Ааронсом і названа «Acropalypse» або, більш формально, CVE-2023-21036. На сайті acropalypse.app є експериментальна програма , яка може скасувати редагування знімків екрана Pixel, і вона справді працює! тутє також хороша технічна стаття Девіда Бьюкенена, співробітника Арона. Основна суть проблеми полягає в тому, що редактор знімків екрана Google перезаписує вихідний файл знімка екрана новим відредагованим знімком екрана, але жодним чином не скорочує та не стискає цей файл. Якщо ваш відредагований скріншот має менший розмір файлу, ніж оригінал – це дуже легко зробити за допомогою інструмента обрізання – ви отримаєте PNG із купою сміття, прихованого в кінці. Ці непотрібні дані складаються з кінцевих бітів вашого оригінального знімка екрана, і фактично ці дані можна відновити.
Це звучить як поганий спосіб написати інструмент для кадрування знімка екрана, але на захист Google можна сказати, що версія інструменту розмітки для Android 9 працювала правильно та обрізала перезаписаний файл. Однак Android 10 внесла багато драматичних змін у роботу зберігання файлів в Android. Незрозуміло, як і чому це сталося, але, можливо, в рамках цієї величезної хвилі обробки файлів одна незадокументована зміна потрапила в аналізатор файлів Android Framework: режим «запису» фреймворка припинив скорочення перезаписаних файлів, а також була створена помилка в розмітці. Інструмент розмітки покладався на обробку файлів ОС, і спосіб його роботи змінився в пізнішій версії, яку, здавалося, ніхто не помітив.
Інструмент перевірки концепції на acropalypse.app працює чудово. Якщо у вас валяється невиправлений пристрій Pixel, ви можете обрізати знімок екрана, вставити його в інструмент, і ви отримаєте необрізані дані. Це не ідеально – зазвичай ви отримуєте сильно пошкоджений PNG із великою порожньою областю, а потім смугою химерних кольорів, але ви можете досить надійно відновити нижню частину обрізаного зображення. Помилка виправленав оновленні безпеки Pixel від березня 2023 року, де його було позначено як високу вразливість. Це торкнулося лише редактора знімків екрана Pixel, який зберігає PNG, перезаписуючи їх, а не редактора Google Photos, який зберігає JPG, створюючи нову копію. Тому зазвичай уразливими є обрізані знімки екрана, а не обрізані фотографії з камери, якщо ви не робите щось справді дивне, як-от знімок екрана камери.
Однак просте виправлення помилки для майбутніх користувачів насправді не вирішить проблему. Залишається питання щодо скріншотів Pixel за останні чотири роки, які доступні та, можливо, повні прихованих даних, якими люди не здогадувалися, що ними діляться. Якщо ви поділитеся цим знімком екрана публічно, чи є він витоком даних, залежить від того, хто його публікує. Деякі програми, як-от Twitter, повторно стиснуть будь-які завантажені файли, що видалить приховані дані зі знімка екрана. Якщо програма натомість надає доступ до оригінального файлу, третя сторона може скасувати кадрування вашого знімка екрана. Зокрема, було підтверджено, що Discord робить це, і багато інших програм обміну повідомленнями, ймовірно, також використовують вихідний файл.
Залишити відповідь