securityPosture
— это оценка безопасности устройства, определяемая текущим статусом устройства. Текущее состояние устройства определяется такими факторами, как рутирование устройства, использование специального ПЗУ и т. д.
securityPosture
в ответе разбивается на devicePosture
и дополнительный список postureDetails
, который содержит поле securityRisk
.
Поле securityRisk
дает представление о том, почему устройство не считается находящимся в наиболее безопасном состоянии, а список advice
может помочь выполнить действия по улучшению состояния безопасности устройства. Например:
{ "devicePosture": "POTENTIALLY_COMPROMISED", "postureDetails": [ { "securityRisk": "UNKNOWN_OS", "advice": [ { "defaultMessage": "The user should lock their device's bootloader." } ] }, { "securityRisk": "HARDWARE_BACKED_EVALUATION_FAILED" } ] }
Оценка состояния безопасности
По умолчанию securityPosture
оценивается с использованием аттестации ключей, в частности, аппаратной аттестации ключей (HBKA), если применимо, предоставляя достоверный вердикт безопасности, поскольку он генерирует и подписывает аттестацию на защищенном оборудовании.
Иногда может случиться так, что HBKA не может быть использован для этой оценки. Чтобы отразить это, securityRisk
вернет «HARDWARE_BACKED_EVALUATION_FAILED». Это означает, что securityPosture
может быть оценена, но не с помощью HBKA, а это означает, что состояние целостности загрузки устройства может быть скомпрометировано (например, устройство может быть внедрено) и остаться незамеченным программным обнаружением.
Понимание вердиктов по состоянию безопасности
Различные комбинации devicePosture
и securityRisk
можно интерпретировать для понимания общей безопасности устройства. Обратите внимание, что приведенный ниже список не является исчерпывающим:
- Если
devicePosture
возвращает «SECURE», аsecurityRisk
возвращает «HARDWARE_BACKED_EVALUATION_FAILED», целостность устройства защищена, но HBKA не может подтвердить это. - Если
devicePosture
возвращает «POTENTIALLY_COMPROMISED» и не возвращается результатsecurityRisk
, то в оценке используется HBKA, и устройство считается скомпрометированным. - Если
devicePosture
возвращает «POTENTIALLY_COMPROMISED», аsecurityRisk
возвращает «HARDWARE_BACKED_EVALUATION_FAILED», тогда можно выполнять только программные проверки, однако сигналы угрозы целостности достаточно сильны, чтобы считать устройство скомпрометированным. - Если
devicePosture
возвращает «POSTURE_UNSPECIFIED», значит, оценку безопасности невозможно завершить. Мы рекомендуем дождаться повторного выпуска HBKA, который происходит при возвращении нового вердикта, чтобы проверить, сможет ли он вернуть определенное значение. Однако ожидается, что «POSTURE_UNSPECIFIED» появится при первоначальной установке в течение короткого периода времени.
API управления Android для сопоставлений Play Integrity API
В следующей таблице представлена эквивалентность сопоставления между вердиктом API AM и ответом вердикта Play Integrity API.
AM API DevicePosture | AM API Posture.Detail.SecurityRisk | Эквивалент вердикта Play Integrity API |
---|---|---|
SECURE | SECURITY_RISK_UNSPECIFIED | MEETS_STRONG_INTEGRITY |
SECURE | содержит: HARDWARE_BACKED_EVALUATION_FAILED | MEETS_DEVICE_INTEGRITY |
POTENTIALLY_COMPROMISED | содержит: UNKNOWN_OS | MEETS_BASIC_INTEGRITY |
POTENTIALLY_COMPROMISED | содержит: COMPROMISED_OS | <unset> |
POSTURE_UNSPECIFIED | <any> | <unset> |