Вкорінення пристрою Android дає вам доступ до більш широкого спектру програм і більш глибокий доступ до системи Android. Але деякі програми - як Android Pay від Google – Взагалі не працюватиме на корінному пристрої.
Google використовує щось, що називається SafetyNet, щоб визначити, чи пристрій укорінено чи ні, і блокує доступ до цих функцій. Також не єдиний Google - більшість сторонніх додатків також не працюватимуть корінні пристрої Android , хоча вони можуть перевірити наявність кореня іншими способами.
Безпечна мережа: Як Google знає, що ви вкорінили свій телефон Android
ПОВ'ЯЗАНІ: Набридло вкрасти вашу кредитну картку? Використовуйте Apple Pay або Android Pay
Пристрої Android пропонують API SafetyNet , ”Який є частиною Служби Google Play шар, встановлений на затверджених Google пристроях Android. Цей API "надає доступ до сервісів Google, які допомагають оцінити стан здоров'я та безпеку пристрою Android", повідомляє Google. Якщо ви розробник Android, ви можете зателефонувати за допомогою цього API у своєму додатку, щоб перевірити, чи не було підроблено пристрій, на якому ви працюєте.
Цей API SafetyNet призначений для перевірки, чи не було підроблено пристрій - чи він був укорінений користувачем, чи не працює користувацький ПЗУ, чи заражений він шкідливим програмним забезпеченням низького рівня.
Пристрої, що постачаються із встановленим Google Play Store та іншими встановленими додатками, повинні пройти Google “Compatibility Test Suite” для Android. Укорінення пристрою або встановлення користувацького ПЗУ перешкоджає тому, щоб пристрій був “сумісним із CTS”. Це те, як API SafetyNet може визначити, чи у вас корінь - він просто перевіряє сумісність CTS. Подібним чином, якщо ви отримаєте пристрій Android, який ніколи не постачався з програмами Google - як, наприклад, один із тих планшетів на 20 доларів, що поставляються безпосередньо з фабрики в Китаї, - він взагалі не буде вважатися „сумісним з CTS“, навіть якщо ви ще не вкорінили його .
Щоб отримати цю інформацію, Служби Google Play завантажують програму під назвою “snet” і запускають її у фоновому режимі на вашому пристрої. Програма збирає дані з вашого пристрою та регулярно надсилає їх у Google. Google використовує цю інформацію для різноманітних цілей, починаючи від отримання картини ширшої екосистеми Android і закінчуючи тим, чи не було втручено програмне забезпечення вашого пристрою. Google не пояснює, що саме шукає snet, але, ймовірно, snet перевіряє, чи змінено ваш системний розділ із заводського стану.
Ви можете перевірити статус SafetyNet свого пристрою, завантаживши подібну програму Зразок помічника SafetyNet або Дитячий майданчик SafetyNet . Додаток запитає службу SafetyNet Google про стан вашого пристрою та повідомить вам відповідь, яку він отримує від сервера Google.
Детальніше про технічні подробиці читайте цей допис у блозі написав Джон Козиракіс, технічний стратег компанії Cigital, що займається програмним забезпеченням. Він заглибився в SafetyNet і розповів більше про те, як це працює.
Це залежить від програми
SafetyNet не є обов’язковим для розробників додатків, і розробники програм можуть вибрати, використовувати його чи ні. SafetyNet заважає програмі працювати, лише якщо розробник програми не хоче, щоб вона працювала на корінних пристроях.
Більшість програм взагалі не перевіряють API SafetyNet. Навіть програма, яка перевіряє API SafetyNet - як і тестові додатки вище - не перестане працювати, якщо отримає погану відповідь. Розробник програми повинен перевірити API SafetyNet і змусити програму відмовитись працювати, якщо дізнається, що програмне забезпечення вашого пристрою було змінено. Власний додаток Google Pay Android є хорошим прикладом цього в дії.
Android Pay не працюватиме на корінних пристроях
Рішення для мобільних платежів Android Pay від Google взагалі не працює на корінних пристроях Android. Спробуйте запустити його, і ви просто побачите повідомлення про те, що «Android Pay не можна використовувати. Google не може підтвердити, що ваш пристрій або програмне забезпечення, що працює на ньому, сумісний з Android. "
Звичайно, мова йде не лише про вкорінення запуск користувацького ПЗУ також поставить вас порушити цю вимогу. API SafetyNet стверджуватиме, що він не є «сумісним з Android», якщо ви використовуєте спеціальний ПЗУ, до якого пристрій не входив.
ПОВ'ЯЗАНІ: Справа проти кореня: чому пристрої Android не кореняться
Пам’ятайте, це не просто виявляє вкорінення. Якби ваш пристрій був заражений якимось шкідливим програмним забезпеченням системного рівня з можливістю шпигувати за 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 більше не працює разом із безсистемним коренем.
ПОВ'ЯЗАНІ: Забудьте про миготливі ПЗУ: використовуйте Xposed Framework, щоб налаштувати свій Android
Залежно від того, як програма перевіряє кореневий доступ, можливо, ви зможете його обдурити. Наприклад, як повідомляється, існують методи викорінення деяких пристроїв Samsung, не спрацьовуючи захист KNOX, що дозволить вам продовжувати користуватися Samsung Pay.
У випадку програм, які просто перевіряють наявність кореневих програм у вашій системі, є Xposed Framework модуль з іменем RootCloak що, як повідомляється, дозволяє обдурити їх у будь-якому випадку. Це працює з такими програмами, як DirecTV GenieGo, Best Buy CinemaNow та Movies by Flixster, які зазвичай не працюють на корінних пристроях. Однак, якби ці програми було оновлено для використання Google SafetyNet, їх було б не так просто обдурити таким чином.
Більшість програм продовжуватимуть працювати в звичайному режимі після вкорінення пристрою. Додатки для мобільних платежів - великий виняток, як і деякі інші банківські та фінансові програми. Платні послуги потокового відео іноді намагаються заборонити вам також переглядати їх відео.
Якщо потрібна програма не функціонує на вашому корінному пристрої, ви завжди можете видалити її, щоб використовувати її. Додаток повинен працювати після того, як ви повернете пристрій у захищений заводський стан.
Кредит зображення: Денні Чу на Flickr