Як пройти SafetyNet на Android після рутування або встановлення спеціального ПЗУ

Можна пройти SafetyNet, навіть після значних модифікацій, як-от рутування або встановлення спеціального ПЗУ. Перевірте, як це зробити тут!

Швидкі посилання

  • Що таке SafetyNet?
  • Відключення SafetyNet та його наслідки
  • Як пройти атестацію SafetyNet на пристроях Android
  • Перевірка

Обхід SafetyNet довгий час був грою в кішки-мишки між Google і спільнотою модифікаторів вторинного ринку Android. Майстри люблять змінювати програмне забезпечення на своєму телефоні – процес, який зазвичай передбачає розблокування завантажувача як перший крок. Але це, у свою чергу, спрацьовує SafetyNet, що може спричинити зупинку кількох популярних і важливих програм працюючи по телефону, деякі з них цілком зрозуміло, тому що вони покладаються на середовище, захищене від несанкціонованого доступу виконання.

Якщо бути точним, це SafetyNet призначений для розробників програм, але вони можуть вибрати, використовувати його чи ні. Однак для звичайного кінцевого користувача ви можете або відмовитися від модифікаційного потенціалу Android і пройти тести на сумісність SafetyNet, або залишатися остракізмом з боку видавців програми. Якщо вам цікаво, як пройти SafetyNet навіть після рутування або

встановлення спеціального ПЗУ на вашому пристрої, цей посібник має допомогти вам у цьому.

Що таке SafetyNet?

Android розроблено для роботи без надання кінцевому користувачеві будь-якого привілейованого контролю над базовими підсистемами. Якщо особа, яка керує пристроєм Android, може отримати аналогічний доступ до адміністратора (AKA дозволи "суперкористувача"), як і в Linux, вони можуть істотно змінити або замінити основні системні програми та налаштування. З точки зору розробника програми, це означає, що пристрій, на якому працює програма, потенційно може бути скомпрометовано. Повинна бути якась система виявлення зловживань, щоб перевірити програмне та апаратне середовище пристрою та запевнити розробників програми, що все в порядку. Тут на допомогу приходить SafetyNet.

Хоча модифікація є невід’ємною частиною екосистеми Android, інколи потрібен високий ступінь суворості в ОС, щоб задовольнити обмеження політики безпеки. SafetyNet – це такий набір API для виявлення зловживань, наявний у службах Google Play. Зателефонувавши до API атестації SafetyNet, програми сторонніх розробників можуть перевірити, чи програмне середовище пристрою було будь-яким чином підроблено. API перевіряє різні речі, як-от стан розблокування завантажувача, ознаки двійкових файлів суперкористувача тощо, щоб порівняти поточний стан цільового пристрою Android і перевірити цілісність середовища за відомим «безпечним» значенням на стороні сервера.

Протокол SafetyNet Attestation API

Примітно, що Google вже оголосила про свої плани поступово відмовитися від SafetyNet. Його замінить на Play Integrity API до 2024 року. Як би там не було, SafetyNet досі використовується багатьма розробниками додатків для виявлення втручання, що означає, що це справді важка перешкода для ентузіастів моддингу.

Відключення SafetyNet та його наслідки

Кілька подій, які відхиляються від стандартної конфігурації пристрою Android, зрештою призводять до відключення SafetyNet. Навіть якщо ви просто розблокуєте завантажувач свого телефону та залишите встановлену на заводі ОС недоторканою, ви все одно можете отримати «невідповідність профілю CTS» (де CTS означає Cсумісність Тоцінка Сuite) помилка, яка спричиняє помилку перевірки SafetyNet. Якщо ви рутуйте свій пристрій Android або замініть стандартну мікропрограму на a призначений для користувача ПЗУ, ви отримаєте статус SafetyNet не вдалося. Як наслідок, ви не можете використовувати програми та ігри, які використовують перевірку SafetyNet на пристрої. Це особливо вірно для банківських та інших фінансових програм, таких як Google Pay, оскільки вони суворо покладаються на результати атестації SafetyNet і не дозволять користувачам працювати з програмою в, здавалося б, зміненому середовищі з міркувань безпеки.

Що стосується ігор, розробники використовують SafetyNet для оцінки цілісності пристрою, щоб вони могли запобігти нечесним гравцям шахраювати або змінювати змінні в грі для отримання несправедливих переваг. І останнє, але не менш важливе: ви також можете зустріти приклади, коли видавці просто зловживання механізмом виявлення втручання Google без будь-яких практичних причин, тому досвідчені користувачі хочуть уникнути процедур виявлення.

Коротше кажучи, спільноті модифікаторів доведеться вибирати між доступом до root/власних ПЗУ/ядер тощо. або улюблені програми та ігри. Це може звучати як кінець розробки вторинного ринку на Android, але надія є.

Як пройти атестацію SafetyNet на пристроях Android

Оскільки Google періодично оновлює основу SafetyNet Attestation API, справжнього універсального методу обійти перевірки не існує. Оскільки обмеження залежать від ряду факторів, ви можете передати SafetyNet у модифікованому середовищі підробка найважливіших параметрів на застарілих пристроях, але той самий трюк може взагалі не працювати на новіших пристроях телефони. Спільнота розробників післяпродажного обслуговування розробила низку методів проходження перевірок SafetyNet, але майте на увазі, що загальна реалізація неможлива через постійні зміни природи API проти зловживань. Це гра Dot and Ditto — одного дня ви будете попереду, а іншого дня вас не буде.

З поступовим просуванням до атестація обладнання Google покладається на безпеку довіреного середовища виконання (TEE) телефону або спеціального апаратного модуля безпеки (HSM) для виявлення втручання. Виявлення критичної вразливості безпеки в ізольованому захищеному середовищі пристрою та використання її для підробки Відповідь SafetyNet на стороні клієнта не може бути здійсненним підходом, але це XDA, що означає, що не бракує інноваційні способи подолати перешкоду.

Ось деякі з відомих методів проходження SafetyNet:

1. Відновлення оригінальної мікропрограми та повторне блокування завантажувача

Це, мабуть, найпростіший спосіб пройти SafetyNet, але він має свої переваги та недоліки. Все, що вам потрібно зробити, це знайти правильну мікропрограму для вашого пристрою Android, прошити її та, нарешті, повторно заблокувати завантажувач. Звичайно, ви втратите більшість наворотів модної сцени, але насправді це має сенс, коли ви потрібно використовувати свій пристрій у керованому середовищі із суворими правилами безпеки, або ви намагаєтеся продати свій пристрій.

Якщо ви не знаєте кроків для повернення телефону на склад, рекомендуємо вам відвідати форуми XDA, знайдіть свій пристрій, а потім знайдіть посібник із встановлення офіційного програмного забезпечення та блокування завантажувач. Хоча ми пропонуємо підручники для миготливий Samsung Galaxy і Google Pixel пристроїв, для цього немає універсального методу, оскільки він відрізняється від телефону до телефону. Відновивши стандартну конфігурацію, ви зможете пройти SafetyNet без будь-яких проблем.

2. Використання Magisk

Якщо у вас застарілий смартфон Android, Magisk це ваш найкращий вибір, щоб пройти SafetyNet без особливих проблем. Незважаючи на те, що поточна стабільна збірка Magisk більше не підтримує MagiskHide (з моменту випуску v24), ви все одно можете дотримуватися версії v23.x і використовувати MagiskHide, щоб приховати кореневий статус від програм. Крім того, ви можете встановити Модулі Magisk люблю MagiskHide Props Config щоб змінити/підробити відбиток пальця пристрою, щоб пройти SafetyNet. Щоб дізнатися більше, перегляньте тему підтримки модулів і дотримуйтесь інструкцій, наданих розробником(ами).

Говорячи про припинення підтримки MagiskHide, DenyList Особливістю Magisk є цікава розробка, яка дозволяє користувачам призначати список процесів, у яких Magisk забороняє подальші модифікації та скасовує всі зроблені зміни. За відповідної конфігурації його також можна використовувати для передачі SafetyNet у деяких сценаріях.

Нижче ви можете знайти кілька загальних кроків для використання DenyList для проходження SafetyNet:

  1. Відкрийте програму Magisk і натисніть значок шестірні, щоб отримати доступ до розділу налаштувань.
  2. Прокрутіть вниз і ввімкніть Зигіск і Примусово застосувати DenyList.
  3. Тепер виберіть Налаштуйте DenyList торкніться трьох крапок угорі та виберіть Показати системні програми.
  4. Налаштуйте DenyList для Google Play Store і Google Play Services.
    • Якщо вам потрібно приховати кореневий статус від певних програм, ви також повинні вибрати їх на цьому етапі.
  5. Перейдіть до Налаштування > програми і очистіть дані всіх програм, які ви налаштували в DenyList.
  6. Перезавантажте пристрій. Після завантаження підключіться до Інтернету, залиште телефон деякий час бездіяльним, а потім перевірте стан SafetyNet.

Форуми Magisk XDA

3. Використання Universal SafetyNet Fix

Обійти апаратну техніку атестації SafetyNet від Google трохи складно, але це не зовсім неможливо. The Універсальне виправлення SafetyNet проект старшого члена XDA kdrag0n спритно виконує цей подвиг, накладаючи базову атестацію на апаратні перевірки. Простіше кажучи, він впроваджує деякі коди в процес Play Services і реєструє підробленого постачальника сховища ключів, який замінює справжнього.

Примітно, що Universal SafetyNet Fix залежить від Magisk, коли справа доходить до проходження базової частини атестації. Розробник підтримує Zygisk виключно для останньої версії, а це означає, що для його використання потрібна Magisk 24 або новіша. Тим не менш, ви також можете знайти Ріру-сумісні застарілі збірки в сховищі, посилання на яке наведено нижче.

Універсальне виправлення SafetyNet: Репо GitHub ||| Тема обговорення XDA

Процес установки досить простий:

  1. Переконайтеся, що на цільовому пристрої встановлено робочу програму Magisk.
  2. Видаліть модуль MagiskHidePropsConfig, якщо встановлено.
  3. Встановіть модуль Universal SafetyNet Fix і перезавантажте пристрій.
    • Після перезавантаження вам може знадобитися стерти дані GMS.
  4. Прибуток!

Зокрема, старший член XDA Дисплакс придумав форк Universal SafetyNet Fix, який може обійти Play Integrity API. Це особливо корисно для користувачів Google Pixel поточного покоління. Щоб дізнатися більше, перегляньте посилання нижче.

Універсальна вилка SafetyNet Fix від Displax: Репо GitHub ||| Тема обговорення XDA

4. Шаміко

Також є Shamiko — незавершений модуль, написаний поверх Zygisk (Magisk у процесі zygote). Він читає список програм, які потрібно приховати зі списку заборони Magisk, щоб приховати корінь Magisk, сам Zygisk і модулі Zygisk, щоб обійти SafetyNet. Однак Shamiko може працювати лише після вимкнення функції DenyList.

Ви можете завантажити попередні версії Shamiko зі сховища GitHub LSPosed.

Завантажити Шамілько

Оскільки Shamiko по суті є модулем Magisk, його дуже легко застосувати:

  1. Переконайтеся, що підтримку Zygisk увімкнено в Magisk.
  2. Встановіть Shamiko як звичайний модуль Magisk і перезавантажтеся.
  3. Налаштуйте DenyList, щоб додати процеси для приховування відповідно до ваших вимог. Однак не вмикайте Примусово застосувати DenyList варіант.
  4. Щоб налаштувати режим білого списку, просто створіть порожній файл наступним чином: /data/adb/shamiko/whitelist
  5. Це воно!

5. ih8sn

Якщо ви не хочете покладатися на Magisk для проходження атестації SafetyNet, ви можете спробувати експериментальний додаток під назвою ih8sn. Після застосування він може підробити безліч значень пропів, щоб обійти перевірки SafetyNet, як-от модуль налаштування MagiskHide Props Config, але в першу чергу немає ніякої залежності від Magisk.

Інструмент ih8sn є підтримується кількома розробниками LineageOS, але проект LineageOS ще офіційно не підтримує його. Крім того, це не готове до прошивки рішення, тому вам потрібно налаштувати його самостійно перед прошивкою. Щоб дізнатися більше, подивіться на його кодову базу, перейшовши за посиланням нижче.

ih8sn GitHub репо

Нижче наведено кроки, які необхідно виконати для успішного встановлення ih8sn:

  1. Завантажте останню версію ih8sn з тут.
    • Для сучасних пристроїв Android виберіть варіант aarch64.
  2. Відкрийте ZIP-файл за допомогою відповідного архіватора, перейдіть до /system/etc/ih8sn.conf, відредагуйте файл за допомогою текстового редактора, щоб змінити BUILD_FINGERPRINT і НАЗВА ПРОДУКТУ змінні.
    • Перегляньте підфорум свого пристрою, щоб отримати найбільш відповідні значення для дуету змінних.
  3. Збережіть зміни та встановіть змінений файл ZIP за допомогою спеціального відновлення, наприклад TWRP.

Перевірка

Після застосування одного з вищезгаданих методів проходження SafetyNet ви можете перевірити результат. Додаток Magisk має можливість ініціювати процедуру перевірки SafetyNet прямо з головного меню, що дуже зручно. Ви також можете вибрати програму з відкритим кодом під назвою ЯСНАК (скорочення від Юet Аінше СafetyNet Аатестація Checker), щоб перевірити статус і (необов’язково) перевірити відповідь JSON.

YASNAC - перевірка SafetyNetРозробник: Xingchen & Rikka

Ціна: безкоштовно.

4.9.

Завантажити

Ось як ви можете передати SafetyNet на своєму телефоні. Витративши трохи часу та терпіння, можна відновити справжній потенціал модифікації Android, не турбуючись про помилки атестації SafetyNet. Ми оновлюватимемо цей посібник із додаванням інших методів проходження SafetyNet, тому перевіряйте знову в майбутньому!