SecurityNet Explained: Почему Android Pay и другие приложения не работают с укорененными устройствами

Оглавление:

SecurityNet Explained: Почему Android Pay и другие приложения не работают с укорененными устройствами
SecurityNet Explained: Почему Android Pay и другие приложения не работают с укорененными устройствами

Видео: SecurityNet Explained: Почему Android Pay и другие приложения не работают с укорененными устройствами

Видео: SecurityNet Explained: Почему Android Pay и другие приложения не работают с укорененными устройствами
Видео: Советы покупателю электромобиля в 2020 году! Что нужно знать перед покупкой электромобиля ! - YouTube 2024, Май
Anonim
Корни вашего устройства Android дают вам доступ к более широкому кругу приложений и более глубокому доступу к системе Android. Но некоторые приложения, такие как Android от Google Pay-won't, работают на корсовом устройстве.
Корни вашего устройства Android дают вам доступ к более широкому кругу приложений и более глубокому доступу к системе Android. Но некоторые приложения, такие как Android от Google Pay-won't, работают на корсовом устройстве.

Google использует что-то, называемое SafetyNet, чтобы определить, коренится ли ваше устройство или нет, и блокирует доступ к этим функциям. Google не единственный, либо множество сторонних приложений также не будут работать на корневых устройствах Android, хотя они могут проверить наличие корня другими способами.

SafetyNet: как Google знает, что вы укрепили свой Android-телефон

Android-устройства предлагают «SafetyNet API», который является частью уровня сервисов Google Play, установленных на Android-устройствах, одобренных Google. По словам Google, этот API предоставляет доступ к сервисам Google, которые помогают оценить здоровье и безопасность Android-устройства. Если вы разработчик Android, вы можете вызвать этот API в своем приложении, чтобы проверить, было ли изменено ваше устройство.

Этот API SafetyNet предназначен для проверки того, было ли у него вмешательство в какое-либо устройство, было ли оно укоренено пользователем, работает ли пользовательский ПЗУ или, например, заражено вредоносным ПО низкого уровня.

Устройства, которые поставляются с Google Play Store и другими установленными приложениями, должны пройти Android «Совместимость». Коррекция устройства или установка пользовательского ПЗУ не позволяет устройству быть совместимым с CTS. Это то, как API SafetyNet может определить, если вы укоренились - он просто проверяет совместимость CTS. Точно так же, если вы получаете Android-устройство, которое никогда не приходило с приложениями Google - например, одна из этих таблеток стоимостью 20 долларов, отправленных прямо с завода в Китае, - это не будет считаться «совместимым с CTS» вообще, даже если вы его не укоренили,

Чтобы получить эту информацию, Google Play Services загружает программу с именем «snet» и запускает ее в фоновом режиме на вашем устройстве. Программа собирает данные с вашего устройства и регулярно отправляет их в Google. Google использует эту информацию для различных целей: от получения изображения более широкой экосистемы Android до определения того, было ли изменено программное обеспечение вашего устройства. Google не объясняет точно, что ищет snet, но, скорее всего, snet проверяет, был ли изменен ваш системный раздел из заводского состояния.

Вы можете проверить статус SafetyNet своего устройства, загрузив приложение, например, образец SecurityNet Helper Sample или SafetyNet. Приложение сообщит службе безопасности SafetyNet о состоянии вашего устройства и сообщит вам ответ, полученный от сервера Google.

Более подробную информацию см. В этом блоге, написанном Джоном Козыракисом, техническим стратегом Cigital, компанией по обеспечению безопасности программного обеспечения. Он ворвался в SafetyNet и объяснил, как это работает.

Image
Image

Это до приложения

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

Большинство приложений не будут проверять API SafetyNet вообще. Даже приложение, которое проверяет API SafetyNet, как и тестовые приложения выше, не перестает работать, если они получают плохой ответ. Разработчик приложения должен проверить API SafetyNet и заставить приложение отказаться работать, если он узнает, что программное обеспечение вашего устройства было изменено. Собственный Android-приложение Google для Google - хороший пример этого в действии.

Плата Android не будет работать на укорененных устройствах

Мобильное платежное решение Android Pay для Android не работает вообще на корневых устройствах Android. Попробуйте запустить его, и вы увидите сообщение «Android Pay не может быть использован. Google не может проверить, что ваше устройство или программное обеспечение, работающее на нем, совместимо с Android ».

Разумеется, дело не только в том, чтобы укорениться, и выполнение пользовательского ПЗУ также поставило бы вас в противоречие с этим требованием. API SafetyNet заявит, что это не «Android-совместимый», если вы используете пользовательский ROM, с которым устройство не поставлялось.

Помните, что это не просто обнаруживает укоренение. Если ваше устройство было заражено каким-то системным вредоносным ПО с возможностью шпионажа на Android Pay и других приложениях, API SafetyNet также предотвратит работу Android Pay, что очень хорошо.
Помните, что это не просто обнаруживает укоренение. Если ваше устройство было заражено каким-то системным вредоносным ПО с возможностью шпионажа на Android Pay и других приложениях, API SafetyNet также предотвратит работу Android Pay, что очень хорошо.

Коррекция устройства нарушает обычную модель безопасности Android. Android Pay обычно защищает ваши платежные данные с помощью функций песочницы Android, но приложения могут вырваться из песочницы на корневом устройстве. Google не имеет никакого способа узнать, как безопасный Android Pay будет находиться на определенном устройстве, если он внедрен или запущен неизвестный пользовательский ПЗУ, поэтому они блокируют его. Инженер Android Pay объяснил проблему на форуме разработчиков XDA, если вам интересно узнать больше.

Другие приложения могут обнаружить корень

SafetyNet - это всего лишь один способ, которым приложение может проверить, работает ли оно на корневом устройстве. Например, устройства Samsung включают систему безопасности с именем KNOX. Если вы запустили свое устройство, сработала защита KNOX. Samsung Pay, собственное приложение мобильных платежей Samsung, откажется работать на корневых устройствах. Samsung использует KNOX для этого, но он также может использовать SafetyNet.

Аналогично, многие сторонние приложения блокируют вас от их использования, и не все из них используют SafetyNet.Они могут просто проверить наличие известных корневых приложений и процессов на устройстве.

Трудно найти обновленный список приложений, которые не работают, когда устройство коренится. Однако RootCloak предоставляет несколько списков. Эти списки могут быть устаревшими, но они самые лучшие, которые мы можем найти. Многие из них - это банковские и другие приложения для мобильного кошелька, которые блокируют доступ на корневых телефонах, пытаясь защитить вашу банковскую информацию от захвата другими приложениями. Приложения для служб потоковой передачи видео могут также отказаться от использования на корневом устройстве как своего рода меры DRM, пытаясь помешать вам записать защищенный видеопоток.

Некоторые приложения могут быть обмануты

Google играет в кошки-мышку с SafetyNet, постоянно обновляя ее, пытаясь опередить людей вокруг. Например, разработчик Android Chainfire создал новый метод укоренения Android-устройств без изменения системного раздела, известного как «бессистемный корень». SafetyNet изначально не обнаруживала таких устройств, которые были подделаны, и Android Pay работал, но SafetyNet, в конечном счете, была обновлена, чтобы обнаружить этот новый метод укоренения. Это означает, что Android Pay больше не работает вместе с бессистемным корнем.

В зависимости от того, как приложение проверяет доступ root, вы можете обмануть его. Например, есть, как сообщается, методы для запуска некоторых устройств Samsung без отключения защиты KNOX, что позволит вам продолжать использовать Samsung Pay.

В случае приложений, которые просто проверяют для корневых приложений в вашей системе, есть модуль Xposed Framework с именем RootCloak, который, как сообщается, позволяет вам обмануть их в работу в любом случае. Это работает с такими приложениями, как DirecTV GenieGo, Best Buy CinemaNow и фильмы от Flixster, которые обычно не работают на корневых устройствах. Однако, если эти приложения были обновлены для использования SafetyNet Google, они не будут так легко обмануть таким образом.

Image
Image

Большинство приложений будут работать нормально, как только вы укорените свое устройство. Мобильные платежные приложения являются большим исключением, как и некоторые другие банковские и финансовые приложения. Платные услуги видеопотока иногда пытаются заблокировать вас от просмотра их видео.

Если требуемое приложение не работает на вашем корневом устройстве, вы всегда можете отключить его, чтобы использовать его. Приложение должно работать после того, как вы вернете свое устройство в безопасное состояние фабрики.

Рекомендуемые: