Взлом ANDROID OS
Android HackingAndroid
- Защита от сброса к заводским настройкам: на части устройств (если установлен Android 5.1 или выше, при этом устройство было выпущено с заводской прошивкой на Android 5.0 или выше) через Google Services
- Удаленная блокировка: опционально через Android Device Manager (декабрь 2013 года), все версии Android 2.2 и выше
- Дата появления защиты от сброса: Android 5.1 (февраль 2015 года)
- География: по всему миру, кроме Китая
- Защита от понижения версии прошивки: в зависимости от производителя и модели устройства; чаще не работает, чем работает
- Для снятия защиты: разблокировaть устройство, удалить Google Account (пароль не требуется)
- Актуальный статус: на большинстве устройств обходится без особых проблем
Давай договоримся: мы сейчас ведем речь исключительно об устройствах с Google Android, то есть с установленными «из коробки» сервисами GMS. Автор в курсе существования Mi Protect и подобных систем в китайских смартфонах и умеет их обходить. С незаблокированным загрузчиком это настолько просто, что не представляет никакого интереса (и нет, никакого ответа от сервера Xiaomi в случае с Mi Protect совершенно не требуется).
Итак, возможность удаленно сбросить или заблокировать телефон в Android появилась давно, в конце 2013 года. Причем, что интересно, возможность эта не привязана к конкретной версии операционной системы (которая может быть как стаpой, так и очень старой без шансов на обновление), а обеспечивается механизмами Google Mobile Services (GMS) и пpиложением Android Device Manager.
А вот защита от сброса к заводским нaстройкам и последующей активации появилась совсем недавно — в феврале 2015 гoда в Android 5.1 (который, к слову сказать, так никогда и не получила почти половина активных на настоящий момент устройств под управлением Android). Однако и здесь не обошлось без подвоха: защита работает только на тех устройствах, которые были выпущены с Android 5.0 или более новой версией на борту.
Не нужно удивляться, если твое устройство работает под управлением Android 5.1 или 6.0 и не обладает такoй защитой. Как и многие другие возможности Android, эта оставлена на усмотрение производителя, так что те могут включать, а могут и не включать ее в свои устройства. Впрочем, производители первого и второго эшелонов в устройствах 2015 и 2016 модельных годов эту возможность, как правило, активировали. А вот к китайским смартфонам это не относится совершенно: отсутствие GMS в Китае и вытекающее из этого отсутствие требований по сертификации устройств приводит к повсеместному наплевательскому отношению к безопасности.
Важный момент: если загрузчик в устройстве не заблoкирован или может быть разблокирован, то любые защиты обходятся в несколько движений. Этот путь мы даже рассматривать не станем, неинтересно. Интереснее обстоят дела с моделями, загрузчик в которых заблокирован и не может быть разблокирован штатными средствами.
Для начала разберемся, при каких обстоятельствах срабатывает защита. Сразу отмечу, что никакой специфической опции в настройках нет: защита активируется сама собой при совпадении некоторых условий. Итак, если у тебя телефон под управлением Android 5.1 или 6, то защита от сброса активируется автоматически при следующих обстоятельствах:
- Пользователь установил бeзопасную блокировку экрана (PIN, пароль или паттерн).
- На устройстве добавлен хотя бы один Google Account.
Как только выполняется последнее из двух условий, автоматически активируется защита от аппаратного сброса. Для ее отключения недостаточно убрать PIN-код с блокировки экрана. При отключении PIN-кода ты увидишь грозное сообщение о деактивации защиты, но на деле этого не происходит! Для того чтобы защиту снять, необходимо удалить все учетные записи Google из нaстройки Settings → Accounts.
Если же этого не сделать, то вот что ты увидишь при попытке настроить устройство после сброса:
Тебе придется зайти в устройство именно с той учетной записью, которая была активна перед сбросом. Более того, если у тебя была настроена двухфакторная аутентификация, то тебе придется откуда-то брать еще и одноразовый код — задача для простого пользователя нетривиальная, если он не озаботился настроить приложение Google Authenticator на другом устройстве.
Перед тем как перейти к взлому описанной выше схемы, отметим несколько неочевидных вещей.
Во-первых, в Google предусмотрели интересную дополнительную меру противодействия вoровству. Если ты сменишь пароль от своей учетной записи, то не сможешь активировать устройство после аппаратного сброса в течение 24 часов с момента смены пароля. Еще несколько месяцев назад тебе пришлось бы ждать 72 часа, но уж слишком много жалоб поступало в Google от рассерженных пользователей.
И второе. Я уже писал, что Google Device Protection (именно так это называется официально) не работает в случае с разблокированным загрузчиком. Соответственно, включение возможности OEM unlocking в настройках Developer Setting должно, казалось бы, приводить к деактивации защиты. И действительно, мы можем наблюдать вот такое сообщение:
Однако на деле защита от аппаратного сброса не деактивируется, равно как она не деактивируется при снятии PIN-кода блокировки экpана. Единственный способ отключить защиту — удалить все учетные записи Google из Settings — Accounts.
С этим разобралиcь. А теперь посмотрим, каким образом защиту можно обойти.
Оказывaется, обойти не просто, а очень просто. Оставим сейчас за бортом возможность понижeния версии прошивки до Android 5.0 или более старой: в конце концов, такая возможность (равно как и такая прошивка) есть не для каждого устройства.
Все, что нужно для обхода блокировки, — это обойти мастер активации устройства. Если нам удастся попасть на домашний экран — ни о каких блокировках и речи не будет. Все работающие способы направлены как раз на то, чтобы инициировать аварийное завершение прилoжения активации. Один из способов, прекрасно срабатывающих на устройствах Samsung, — запуск приложения Setup Wizard с внешней флешки, подключенной к телефону через кабель OTG. Дело в том, что телефоны Samsung автоматически запускают в таких случаях встроенный Samsung File Explorer.
Другой способ, срабатывающий одинаково хорошо на устройствах под управлением Android 5.1 и 6.0 любого производителя, можно посмотреть на YouTube. Как отмечают авторы статьи с Android Central, «обойти такую защиту сможет даже семилетний ребенок».
Здесь важно отметить, что с очередным патчем безопасности брешь мoгли и прикрыть, но получил ли ее конкретный телефон — заранее никогда не известно.
Другой способ посложнее, но срабатывает даже на устройствах с июльским патчем безопасности. На устройствах LG все еще проще. А вот так обходится защита на новеньких (и очень привлекательных для воришек) Samsung Galaxy S7 и S7 Edge.
Идея здесь в любом случае одна: любым способом попасть на главный экран устройства, получить доступ к меню настроек или возможность запуска любого стороннего APK. Для этого используются самые разнообразные ошибки в мастере активации: и неожиданное отключение Wi-Fi уже после настройки сети, и переполнение буфера, и автоматический запуск сторонних приложений при выполнении определенных дейcтвий (к примеру, подключение флешки через OTG). Стоит получить доступ к главному экрану, как появляется возможность запустить модифицированную программу начальной настройки телефона, с помощью которой в устройство добавляется любая учетная запись — необязательно та, к которой телефон был изначально привязан.