Обход аттестации SafetyNet на устройствах с разблокированным загрузчиком

    За последние пару лет проблема обхода аттестации SafetyNet превратилась из простой игры в кошки-мышки между Google и сообществом разработчиков модов до бурной битвы, полной непонятных препятствий. Благодаря появлению аппаратных методов аттестации, очень сложно обойти процедуру проверки целостности загрузочного образа и скрыть корневой доступ. Одной установки Magisk будет недостаточно, чтобы обойти последнее обновление SafetyNet, особенно на новых устройствах. Именно здесь на помощь приходит модуль Magisk Universal SafetyNet Fix.

    Владельцы устаревших устройств, а также пользователи пользовательских ПЗУ часто используют такие модули, как Конфигурация MagiskHide Props чтобы подделать профиль CTS для прохождения базовой аттестации, пока рассматриваемый метод полагается на допустимую комбинацию названий устройств и моделей, отпечатков пальцев сборки и уровней исправлений безопасности, нет гарантии, что трюк сокрытия корня останется полезным в будущем . Это связано с тем, что службы Google Play во многих случаях начинают использовать аппаратную аттестацию для проверки профиля CTS, даже когда выбрана базовая аттестация.

    Говоря более техническим языком, даже если ответ API аттестации SafetyNet от GMS будет сообщать, что использовалась базовая аттестация, всегда используется аттестация оборудования, независимо от сообщенного состояния, для обеспечения целостности. Как следствие, наличие разблокированного состояния загрузчика в отчете об аттестации ключей приводит к тому, что аттестация SafetyNet не проходит.

    Если у вас есть устройство Android с разблокированным загрузчиком (или заблокированным с помощью проверенных пользователем ключей загрузки) и, следовательно, не прошедшее аттестацию оборудования, то модуль Magisk Universal SafetyNet Fix может это исправить. Создано Дэнни Лином AKA XDA Senior Member kdrag0n, модуль работает, используя гибкую природу процедуры аттестации оборудования. Цитата разработчика:

    … Она (аттестация оборудования) возвращается к базовой аттестации, если аттестация ключей не выполняется, и предотвращает использование GMS аттестации ключей на уровне инфраструктуры. Это заставляет его плавно вернуться к базовой аттестации и пройти SafetyNet с разблокированным загрузчиком.

    Код ошибки «не реализован» от Keymaster используется для моделирования наиболее реалистичного условия отказа, чтобы избежать обнаружения, то есть старого устройства, которое не поддерживает аттестацию ключей.

    Обходной путь уже доступен, предварительно интегрированный в ПЗУ ProtonAOSP от того же разработчика, что позволяет передавать SafetyNet без Magisk на довольно современных устройствах, таких как Google Pixel 5. Если вы являетесь специалистом по обслуживанию ПЗУ и хотите интегрировать этот метод с свою сборку, вы можете сделать это, выбрав необходимые патчи репозитория. С другой стороны, можно найти последнюю версию готового к прошивке варианта Magisk Module. Обратите внимание, что MagiskHide по-прежнему требуется, если целевое устройство рутировано.

    Предыдущая статья6 советов по измерению эффективности кампании в LinkedIn [Infographic]
    Следующая статьяDark Souls: Расположение всех душ хранительниц огня
    Александр Владимирович
    Главный редактор издания ITBusiness. Эксперт по SDN, Cloud Computing, авиабезопасности и BigData