Проверка целостности: System Key и System Key Verifier на Android

Android System Key — это встроенный криптографический ключ для подписи системных разделов, а System Key Verifier — компонент, который проверяет подписи при загрузке; если ro.boot.verifiedbootstate = green, устройство считается целостным и безопасным. Ниже — как проверить статус и что делать при проблемах.

Что такое System Key и зачем он нужен

System Key — ключ производителя, используемый для подписи образов boot/system/vendor. Verifier сравнивает подписи с эталоном в процессе Verified Boot (AVB/dm-verity). Результат проверки влияет на доступ к OTA, банковским приложениям и на режим загрузки:

  • green — полная проверка пройдена;
  • orange — есть изменения (например, разблокированный бутлоадер или модификации userdata);
  • red — системные разделы не соответствуют подписи.

Несовпадение ключей часто появляется при руте, установке кастомного recovery или прошивке кастомного ROM — это не всегда вредоносно, но снижает гарантию безопасности.

Как быстро проверить статус на вашем устройстве

  1. Включите «Отладку по USB» в настройках разработчика и подключите телефон к ПК.
  2. Установите ADB и выполните в терминале:
    • Проверить состояние Verified Boot:
      • adb shell getprop ro.boot.verifiedbootstate
      • возможные ответы: green, orange, red
    • На Android 10+ с AVB можно запросить подробности:
      • adb shell avbctl get_verification
  3. Альтернатива без командной строки: используйте приложения для диагностики загрузчика (из официального магазина), но результаты могут отличаться по точности.

Примеры:

  • green — устройство загружается с оригинальными подписями, OTA и банковские сервисы скорее всего работают.
  • orange — бутлоадер может быть разблокирован; некоторые защитные механизмы ограничены.
  • red — системные разделы изменены: возможны проблемы с OTA и безопасностью.

Если команда avbctl недоступна, попробуйте adb shell getprop ro.boot.vbmeta.state или adb shell getprop ro.boot.verifiedbootkey.

Как восстановить безопасность (практические шаги)

  • Если нужно вернуть устройство в исходное состояние:
    1. Сделайте резервную копию важных данных.
    2. Выполните сброс к заводским настройкам (Settings → System → Reset) — не всегда восстанавливает подписи системного раздела.
    3. Перепройдите официальную стоковую прошивку через заводскую утилиту (fastboot/производительский инструмент). Это вернёт оригинальные ключи и статус green.
  • Если устройство в orange и вы хотите сохранить рут: используйте инструменты маскировки, но это снижает общую безопасность и совместимость с банковскими сервисами.
  • При red — перепрошивка официальным образом обычно необходима; без неё доступны ограниченные действия.

Частые ошибки

  • Попытка «починить» статус перезаписью userdata — это не исправит подписи системного раздела.
  • Использование сторонних модов без понимания, что изменяет vbmeta/boot — ведёт к red.
  • Ожидание, что сброс настроек всегда вернёт green — не всегда так: важны именно подписи в системных разделах.

FAQ

  • Какой статус критичен?
    red — критичен; orange — повышенное внимание; green — нормально.
  • Нужен ли root для проверки?
    Нет — базовую информацию можно получить через ADB без root.
  • Что мешает OTA при orange/red?
    Модифицированные подписи или повреждение vbmeta/boot блокируют установку официальных обновлений.
  • Можно ли доверять приложениям из магазина для проверки?
    Они дают быстрый индикатор, но для точной диагностики используйте ADB.

Если нужно — могу прислать пошаговую командную инструкцию для вашего устройства (указывать модель не обязательно).