В это месяце разработчики Google устранили серьезную проблему, которая затрагивала все смартфоны Pixel и могла использоваться для быстрой разблокировки чужих устройств. Независимый исследователь, обнаруживший этот баг, получил вознаграждение в размере 70 000 долларов, и теперь, после выхода патча, рассказал об уязвимости подобно.

Проблема получила идентификатор  CVE-2022-20465 и была найдена еще в июне 2022 года ИБ-специалистом Дэвидом Шютцем (David Schütz). В своем блоге специалист рассказывает, что баг позволял злоумышленнику, имеющему физический доступ к устройству, обойти защиту экрана блокировки (отпечаток пальца, PIN-код и так далее) и получить полный доступ к устройству пользователя.

Шютц пишет, что нашел проблему случайно, вернувшись домой после путешествия, с практически разряженным Pixel 6 в руках. Так как смартфон разрядился в середине переписки, исследователь поспешил подключить его к зарядке. Когда устройство включилось снова, она запросило PIN-код, однако Шютц забыл его и трижды ввел неправильно, после чего  Pixel закономерно потребовал PUK-код. Найдя оригинальную упаковку SIM-карты и PUK-код, Шютц наконец вернул себе доступ к смартфону, но заметил, что произошло нечто странное — защита на экране блокировки не работала.

Как выяснилось после долгой серии экспериментов, корень проблемы заключался в том, что защита экрана блокировки полностью отказывала при выполнении определенной последовательности действий:

  • три раза ввести неправильный отпечаток пальца, чтобы отключить биометрическую аутентификацию на заблокированном устройстве;
  • осуществить «горячую» замену SIM-карты, заменив ее на карту, контролируемую злоумышленником, с заранее настроенным PIN-кодом;
  • ввести неверный PIN-код трижды, заблокировав SIM-карту;
  • устройство предложит ввести Personal Unlocking Key (PUK), то есть уникальный 8-значный номер для разблокировки SIM-карт;.
  • задать новый PIN-код для SIM-карты, контролируемой злоумышленником;
  • устройство разблокируется автоматически.

Фактически это означало, что для разблокировки чужого устройства злоумышленнику нужно было только принести собственную SIM-карту с PIN-кодом, а также знать PUK-код для нее. PoC такой атаки Шютц продемонстрировал на видео.

Анализ коммитов, сделанных разработчиками Google для исправления бага, показывает, что уязвимость была связана с «некорректным состоянием системы», возникавшим в результате неправильной интерпретации события замены SIM-карты, что приводило к полному отключению защиты.

«Я даже не ожидал, что эта ошибка повлечет за собой такое большое изменение кода в Android», — признался Шютц после изучения коммитов.

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии