Получение root-прав на Android-устройстве дает вам доступ к большему количеству приложений и более глубокий доступ к системе Android. Но некоторые приложения, например Android Pay от Google –Не будет работать на устройстве с root-доступом.
Google использует то, что называется SafetyNet, чтобы определить, имеет ли ваше устройство root-права, и блокирует доступ к этим функциям. И Google не единственный - многие сторонние приложения тоже не работают рутированные устройства Android , хотя они могут проверить наличие рута другими способами.
SafetyNet: как Google узнает, что ваш телефон Android рутирован
СВЯЗАННЫЕ С: Устали от кражи кредитной карты? Используйте Apple Pay или Android Pay
Устройства Android предлагают « SafetyNet API , »Который является частью Сервисы Google Play слой установлен на одобренных Google устройствах Android. Согласно Google, этот API «предоставляет доступ к сервисам Google, которые помогают вам оценить здоровье и безопасность устройства Android». Если вы разработчик Android, вы можете вызвать этот API в своем приложении, чтобы проверить, не было ли взломано устройство, на котором вы работаете.
Этот API-интерфейс SafetyNet предназначен для проверки того, не было ли устройство взломано - например, было ли оно рутировано пользователем, работает ли пользовательское ПЗУ или было заражено низкоуровневым вредоносным ПО.
Устройства, которые поставляются с Google Play Store и другими установленными приложениями, должны пройти тест на совместимость с Android от Google. Получение root-прав на устройстве или установка пользовательского ПЗУ не позволяет устройству быть «CTS-совместимым». Вот как SafetyNet API может определить, есть ли у вас root-права - он просто проверяет совместимость с CTS. Точно так же, если вы получаете устройство Android, которое никогда не поставлялось с приложениями Google - например, один из тех планшетов за 20 долларов, отправленных прямо с завода в Китае - оно вообще не будет считаться «совместимым с CTS», даже если вы не внедрили его. .
Чтобы получить эту информацию, службы Google Play загружают программу с именем «snet» и запускают ее в фоновом режиме на вашем устройстве. Программа собирает данные с вашего устройства и регулярно отправляет их в Google. Google использует эту информацию для различных целей, от получения представления об экосистеме Android в целом до определения того, было ли взломано программное обеспечение вашего устройства. Google не объясняет, что именно ищет snet, но скорее всего, snet проверяет, был ли ваш системный раздел изменен по сравнению с заводским состоянием.
Вы можете проверить статус SafetyNet вашего устройства, загрузив такое приложение, как Пример помощника SafetyNet или Детская площадка SafetyNet . Приложение запросит у службы SafetyNet Google статус вашего устройства и сообщит вам ответ, полученный от сервера Google.
Для получения дополнительных технических подробностей прочтите это сообщение в блоге написано Джоном Козыракисом, техническим стратегом компании Cigital, занимающейся безопасностью программного обеспечения. Он покопался в SafetyNet и подробнее объяснил, как это работает.
Все зависит от приложения
SafetyNet является необязательной для разработчиков приложений, и разработчики приложений могут выбирать, использовать ее или нет. SafetyNet предотвращает работу приложения только в том случае, если разработчик приложения не хочет, чтобы оно работало на устройствах с root-доступом.
Большинство приложений вообще не проверяют SafetyNet API. Даже приложение, которое проверяет SafetyNet API, например тестовые приложения, указанные выше, не перестанет работать, если получит плохой ответ. Разработчик приложения должен проверить SafetyNet API и заставить приложение отказываться от работы, если оно узнает, что программное обеспечение вашего устройства было изменено. Собственное приложение Google Android Pay - хороший тому пример.
Android Pay не работает на устройствах с root-доступом
Решение Google для мобильных платежей Android Pay вообще не работает на устройствах Android с root-доступом. Попробуйте запустить его, и вы увидите сообщение «Android Pay нельзя использовать. Google не может проверить, совместимо ли ваше устройство или работающее на нем программное обеспечение с Android ».
Конечно, дело не только в укоренении - запуск пользовательского ПЗУ также нарушит это требование. API SafetyNet заявит, что он несовместим с Android, если вы используете пользовательское ПЗУ, которого не было на устройстве.
СВЯЗАННЫЕ С: Дело против рутирования: почему устройства Android не рутируются
Помните, что это не просто определение укоренения. Если ваше устройство было заражено каким-либо вредоносным ПО системного уровня, способным шпионить за Android Pay и другими приложениями, SafetyNet API также помешает работе Android Pay, что хорошо.
Получение root-прав нарушает стандартную модель безопасности Android. Android Pay обычно защищает ваши платежные данные с помощью функций песочницы Android, но приложения могут выйти из песочницы на рутированном устройстве . У Google нет способа узнать, насколько безопасным будет Android Pay на конкретном устройстве, если оно имеет root-доступ или работает с неизвестным пользовательским ПЗУ, поэтому они блокируют его. Инженер Android Pay объяснил проблему на форуме разработчиков XDA если вам интересно узнать больше.
Другие способы, которыми приложения могут определять рут
SafetyNet - это лишь один из способов, с помощью которого приложение может проверить, работает ли оно на корневом устройстве. Например, устройства Samsung включают систему безопасности KNOX. Если вы рутируете свое устройство, срабатывает безопасность KNOX. Samsung Pay, собственное приложение Samsung для мобильных платежей, откажется работать на устройствах с root-доступом. Samsung использует для этого KNOX, но с таким же успехом может использовать SafetyNet.
Точно так же многие сторонние приложения будут блокировать их использование, и не все из них используют SafetyNet. Они могут просто проверить наличие известных корневых приложений и процессов на устройстве.
Трудно найти актуальный список приложений, которые не работают, когда устройство имеет root-доступ. Однако RootCloak предоставляет несколько списки . Эти списки могут быть устаревшими, но это лучшие из тех, что мы можем найти. Многие из них - это банковские и другие приложения для мобильных кошельков, которые блокируют доступ на рутированных телефонах в попытке защитить вашу банковскую информацию от захвата другими приложениями. Приложения для сервисов потокового видео также могут отказываться работать на корневом устройстве в качестве меры DRM, пытаясь помешать вам записывать защищенный видеопоток.
Некоторые приложения можно обмануть
Google играет с SafetyNet в кошки-мышки, постоянно обновляя ее, пытаясь опередить людей, которые ее обходят. Например, разработчик Android Chainfire создал новый метод рутирования устройств Android без изменения системного раздела, известный как «бессистемный корень». Первоначально SafetyNet не обнаруживала взлома таких устройств, и Android Pay работал, но в конечном итоге SafetyNet была обновлена для обнаружения этого нового метода рутирования. Это означает, что Android Pay больше не работает вместе с бессистемным корнем.
СВЯЗАННЫЕ С: Забудьте о перепрошивке ПЗУ: используйте Xposed Framework для настройки вашего Android
В зависимости от того, как приложение проверяет наличие root-доступа, вы можете обмануть его. Например, как сообщается, существуют методы для рутирования некоторых устройств Samsung без отключения безопасности KNOX, что позволит вам продолжать использовать Samsung Pay.
В случае приложений, которые просто проверяют наличие корневых приложений в вашей системе, есть Xposed Framework модуль назван RootCloak что, как сообщается, позволяет вам в любом случае заставить их работать. Это работает с такими приложениями, как DirecTV GenieGo, Best Buy CinemaNow и Movies by Flixster, которые обычно не работают на устройствах с root-доступом. Однако, если бы эти приложения были обновлены для использования Google SafetyNet, их было бы не так легко обмануть таким способом.
Большинство приложений продолжат работать в обычном режиме после рутирования устройства. Приложения для мобильных платежей являются большим исключением, как и некоторые другие банковские и финансовые приложения. Платные сервисы потокового видео иногда также пытаются заблокировать вам просмотр своих видео.
Если нужное вам приложение не работает на рутированном устройстве, вы всегда можете отключить его, чтобы использовать его. Приложение должно работать после того, как вы вернете устройство в заводское безопасное состояние.
Кредит изображения: Дэнни Чу на Flickr