Дослідник кібербезпеки Девід Шютц випадково знайшов спосіб обійти блокування екрана на своїх повністю пропатчених смартфонах Google Pixel 6 та Pixel 5, що дозволяє будь-кому, хто має фізичний доступ до пристрою, розблокувати його. Експлуатація вразливості для обходу екрана блокування на телефонах Android – це простий п’яти етапний процес, який триватиме не більше кількох хвилин.
Google виправила проблему безпеки в останньому оновленні Android, випущеному минулого тижня, але вона залишалася доступною для експлуатації протягом як мінімум шести місяців.
Випадкова знахідка
Шютц каже, що виявив уразливість випадково після того, як у його Pixel 6 розрядився акумулятор, він тричі неправильно ввів свій PIN-код і відновив заблоковану SIM-картку, використовуючи код PUK (персональний ключ розблокування). На подив, після розблокування SIM-картки та вибору нового PIN-коду пристрій не запитував пароль для блокування екрана, а запитував лише сканування відбитка пальця.
Пристрої Android завжди запитують пароль або шаблон блокування екрана при перезавантаженні з міркувань безпеки, тому перехід одразу до розблокування відбитком пальця не був нормальним. Дослідник продовжив експерименти, і коли він спробував відтворити помилку, не перезавантажуючи пристрій і починаючи з розблокованого стану, він зрозумів, що можна обійти запит відбитка пальця, перейшовши прямо на головний екран.
Вплив цієї вразливості системи безпеки досить широка: вона торкається всіх пристроїв під керуванням Android версій 10, 11, 12 і 13, які не були оновлені до рівня виправлень від листопада 2022 року. Фізичний доступ до пристрою є обов’язковою умовою. Тим не менш, вразливість, як і раніше, має серйозні наслідки для людей, чиї подружжя жорстоко поводяться з ними, тих, хто перебуває під наслідком правоохоронних органів, власників вкрадених пристроїв і т.д.
Зловмисник може просто використовувати свою SIM-карту на цільовому пристрої, відключити біометричну автентифікацію (якщо вона заблокована), ввести три рази неправильний PIN-код, надати номер PUK та отримати доступ до пристрою жертви без обмежень.
Виправлення Google
Проблема викликана неправомірним відхиленням захисту клавіатури після розблокування PUK-коду SIM-картки через конфлікт у викликах відхилення, що впливають на стек екранів безпеки, які запускаються у діалоговому вікні. Коли Шютц ввів правильний номер PUK, функцію «відхилити» було викликано двічі: один раз фоновим компонентом, який відстежує стан SIM-карти, і один раз компонентом PUK.
Це призвело до того, що не тільки екран безпеки PUK був відхилений, але й наступний екран безпеки в стеку, який є блокуванням клавіатури, за яким слідує будь-який екран, який був наступним у черзі в стеку. Якщо немає іншого екрана безпеки, користувач безпосередньо звертатиметься до головного екрана. Шютц повідомив про вразливість у Google у червні 2022 року, і хоча технічний гігант визнав отримання і привласнив CVE-ідентифікатор CVE-2022-20465, вони не випускали виправлення до 7 листопада 2022 року.
Рішення Google полягає в тому, щоб увімкнути новий параметр для методу безпеки, який використовується в кожному виклику «відхилити», щоб виклики відхиляли певні типи екранів безпеки, а не лише наступний у стеку. Зрештою, хоча звіт Шютца був дублікатом, Google зробив виняток і нагородив дослідника 70 000 доларів за його відкриття. Користувачі Android 10, 11, 12 та 13 можуть виправити цю вразливість, встановивши оновлення безпеки від 7 листопада 2022 року.