Мені було дуже смішно бачити, як один горе-депутат намагався розбити свій смартфон, коли до нього прийшли з обшуком.
Це не просто дивна спроба знищення доказів на очах у правоохоронців, але й демонструє трохи «печерні» уявлення про цифрову безпеку. Буцімто, якщо розбити екран чи пошкодити корпус смартфона, це якось убезпечить дані, які там зберігаються, від стороннього доступу.
Сподіваюся, слідство зробить всі необхідні висновки.
Але припустимо, що ви не горе-депутат, а, наприклад, журналіст/ка-розслідувач/ка, лікар/ка, військовослужбовець/ця чи просто свідома людина, і ви не хотіли б, щоб у разі втрати вашого пристрою хтось отримав доступ до чутливих даних на ньому.
Для цього вам буде корисно мати реалістичне уявлення цифрову безпеку вашого пристрою.
Отож, чи можливо отримати дані з зашифрованого смартфона, якщо код розблокування невідомий (і це не щось очевидне на зразок вашого року народження чи року народження дитини)?
«Голими руками» — ні.
Але якщо у ваших ворогів є в розпорядженні просунуті спеціалізовані інструменти — тут все стає цікавіше.
Приклад Cellebrite
Недавно набула певного розголосу інформація про те, злам яких смартфонів та версій ОС доступний у продуктах ізраїльської фірми Cellebrite (а саме Cellebrite Premium, ціна якого не розголошується і який орієнтований на використання правоохоронними органами¹). З наявної документації можна зробити певні висновки, хоча багато технічних деталей залишаються в тумані. В значній мірі я покладаюся на інтерпретацію розробників GrapheneOS, в розпорядженні яких опинилися ці матеріали, а також на інформацію, доступну на сайті самих Cellebrite.
Я розглядаю Cellebrite як ілюстрацію того, що в принципі технічно можливо, хоча далеко не всім доступно. Це дає уявлення про те, як себе показує безпека смартфонів, коли їй протиставляються дуже просунуті засоби атаки в умовах фізичного доступу до пристрою.
Тут і далі йтиметься саме про отримання даних безпосередньо з заблокованого пристрою, а не злам онлайн-акаунтів чи прослуховування.
Ваш пристрій «холодний» чи «теплий»?
Коли смартфон тільки увімкнувся, але ще не ні разу не був розблокований, він перебуває в так званому «холодному» стані, який також називається BFU (before first unlock). На цьому етапі сам смартфон ще не може прочитати жодні зашифровані дані, тому що на пристрої немає ключа дешифрування. Коли ви вводите код уперше, на основі цього коду генерується ключ, який (якщо код був правильним) вже дає можливість самому пристрою читати й записувати в шифровану пам'ять.
Натомість подальше блокування екрану після першого розблокування не повертає смартфон в початковий «сліпий» стан (це б майже повністю заблокувало його роботу), а просто створює програмний бар'єр для роботи з пристроєм. Тобто пристрій не дозволяє робити певні дії, але при тому тримає в спеціальній зоні пам'яті ключі шифрування даних, бо вони потрібні йому для роботи.
Стан, коли пристрій був розблокований хоча б один раз після увімкнення (і потім заблокований), називається «теплим» або AFU (after first unlock).
Отож, перше, що варто пам'ятати: якщо ваш смартфон пробуватимуть «ламати», він буде більш захищеним, якщо його отримали вимкнутим або «холодним».
Злам «холодного» пристрою
Оскільки на «холодному» пристрої фізично ще немає ключа дешифрування, єдиний спосіб отримати доступ до приватних користувацьких даних — дізнатися або підібрати код блокування.
Виробники смартфонів встановлюють різноманітні обмеження на кількість спроб розблокування і їх частоту, які мали б унеможливити сліпий підбір навіть короткого числового коду (окрім найочевидніших).
Але Cellebrite, судячи з усього, знайшли способи обходити ці обмеження. Серед доступного функціоналу — автоматизований підбір коду блокування (BF, brute force). На думку розробників GrapheneOS, під цим мається на увазі можливість успішного підбору випадкових 6-значних числових кодів.
Станом на липень 2024 р. такий функціонал у Cellebrite Premium реалізовано для версій iPhone з 6S по 11, Google Pixel 3 по 5 (за винятком GrapheneOS після версії 2022 року) і для більшості інших смартфонів на Android. Але слід розуміти, що з часом вони можуть розробити способи здійснювати підбір коду і на новіших пристроях (наприклад, ще у квітні цього ж року функція підбору не була доступна для пристроїв на iOS 17.4, хоча у липні ця можливість вже є).
Щоб захистити себе від такого підбору, ви можете встановити буквоцифровий код блокування. Наскільки довгим він повинен бути? Не маючи конкретних даних про швидкість можливого підбору (кількість спроб на секунду), на це складно відповісти однозначно.
Але, наприклад, щоб перебрати всі можливі комбінації з восьми символів a-z, A-Z та 0-9, треба 62⁸ спроб, тобто понад 218 трильйонів. Це набагато більше за 1 млн можливих 6-значних числових комбінацій. (Хоча в реальності будуть використовувати для підбору словники і поширені пермутації літер + цифр. Тому для багатьох буквоцифрових паролів кількість необхідних спроб буде суттєво меншою).
Якщо спиратися на припущення, що підбір і генерація криптографічного ключа у випадку Cellebrite відбувається на самому пристрої (а не на зовнішньому кластері відеокарт, наприклад), то цього мало б бути більш ніж достатньо².
(Кінець кінцем, навіть якщо ви встановите замість 6-значного числового коду 6-значний буквоцифровий, ви збільшуєте складність підбору у 56 тисяч разів. Це вже саме по собі суттєво поліпшує вашу безпеку).
Що з «теплими» пристроями?
Якщо ваші опоненти отримали ваш смартфон «теплим», і в них є Cellebrite Premium або щось настільки ж просунуте, дуже імовірно, телефон розблокують. Як це працює? Вони використовують невідомі (або раніше невідомі) вразливості операційної системи / програмного забезпечення / апаратного забезпечення (так зв. zero-days), щоб перехопити контроль над операційною системою і отримати дані, поки ключі шифрування є в пам'яті пристрою. Це називається експлойтом.
Це не кінець світу і це не означає, що вам залишається тільки махнути на все рукою і «забити» на власну цифрову безпеку. По-перше, якщо ви регулярно інсталюєте оновлення безпеки операційної системи, існує шанс, що на момент спроби зламу ваша ОС ще не буде скомпрометована Cellebrite (Apple та Google регулярно усувають вразливості безпеки, про які вони дізнаються). У випадку Apple складається враження, що Cellebrite зі своїми експлойтами відстають на кілька тижнів-місяць від оновлень iOS³.
По-друге, цілком імовірно, що у ваших опонентів будуть засоби Cellebrite без цих premium-можливостей. У пересічних кібершахраїв таких засобів скоріше за все не буде.
Які пристрої найбільш захищені?
Це тема для окремої статті / дослідження, тому я не беруся тут рекомендувати щось конкретне.
Але якщо глянути на пристрої, які згадуються в документації Cellebrite, то підбір коду блокування не працює на «холодних» (отриманих вимкнутими) iPhone 12+ і Google Pixel 6+, поки що. Окремо вони класифікують Pixel з операційною системою GrapheneOS, яку вони не можуть розблокувати навіть в «теплому» стані (знов-таки, поки що). Це варіант для тих, хто готовий встановлювати на свій пристрій альтернативну операційну систему (і має Pixel)⁴.
Загалом, коли ви будете обирати наступний смартфон, варто принаймні звернути увагу на те, скільки років безпекової підтримки гарантує виробник, і чи взагалі в них є чітка політика щодо цього. Це включає регулярний випуск безпекових оновлень операційної системи для вашого пристрою протягом чітко визначеного терміну після його випуску.
Також я б утримався від придбання пристроїв китайських брендів (у них там авторитарний режим, як не як).
Здоровий глузд і цифрова гігієна
Мені хотілося проаналізувати можливості «елітних» інструментів для обходу безпеки смартфонів, щоб мати краще уявлення про рівень захищеності наших пристроїв.
Але я сподіваюся, що вам ніколи не доведеться бути в ситуації, коли хтось проти вашої волі намагатиметься розблокувати ваш смартфон. Тим не менш, тепер ви знаєте, які потенційні кроки ви можете зробити, щоб мінімізувати ризики навіть проти інструментів, які не є доступні широкому загалу.
Якщо ж розглядати вашу цифрову безпеку загалом, фізичне отримання даних з заблокованого смартфона — це не найбільш типова небезпека. Більше людей щодня стає жертвами фішингу, шкідливого ПЗ чи зламу акаунтів з допомогою старих витеклих паролів, наприклад.
Тому встановлюйте двофакторку на месенджери, не інсталюйте усілякого «лівого» софту, використовуйте унікальні незламні паролі (менеджери паролів вам у цьому допоможуть).
Тримайте ваші пристрої оновленими до останньої версії ОС і програм.
І використовуйте здоровий скептицизм, щоб бути невразливими до фішингу і соціальної інженерії.
Тоді ви будете, ну, майже кіберніндзя 😉
Ваш,
🐨
--
Фото: Dushan Hanuska (на flickr), ліцензія cc by-sa 2.0, стилізація моя.
--
¹ Зокрема, Cellebrite допомогла FBI розблокувати смартфон стрільця, який вчинив замах на Трампа.
² Найгірший сценарій, який можна припустити — це «офлайн»-підбір на кластерах з відеокарт чи іншому спеціалізованому обладнанні, після зберігання «знімку» зашифрованих даних з телефона. Повністю виключити це неможливо, але, цитуючи GrapheneOS, це буде «непросто» і як мінімум вимагатиме передати смартфон в лабораторію самих Cellebrite. І навіть в цьому випадку надійна довга фраза-пароль зможе протистояти кластеру серверів з відеокартами.
³ Але треба врахувати, що якщо ваші опоненти достатньо розумні і вмотивовані, вони можуть тримати ваш телефон увімкнутим не один місяць і чекати, поки необхідний експлойт з'явиться.
⁴ Якщо ви використовуєте LineageOS, там є налаштування, яке вимикає USB, коли екран пристрою заблоковано. Про це ніде не згадується у документації Cellebrite, і не можна обґрунтовано стверджувати, що це їх зупинить. Але активувати цю опцію не зашкодить, про всяк випадок.
#Android #iOS #Кібербезпека #Приватність #КіберКоала #GrapheneOS #LineageOS