Понимание состояния безопасности, Понимание состояния безопасности

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>