securityPosture
é a avaliação de segurança de um dispositivo, determinada pelo status atual dele.
O status atual do dispositivo é determinado por fatores como se ele tem acesso root, se está executando uma ROM personalizada e muito mais.
securityPosture
é dividido na resposta em devicePosture
e uma lista adicional de postureDetails
, que contém o campo securityRisk
.
O campo securityRisk
dá uma ideia de por que o dispositivo não é considerado o mais seguro, enquanto a lista advice
pode ajudar a realizar ações para melhorar a postura de segurança do dispositivo.
Exemplo:
{ "devicePosture": "POTENTIALLY_COMPROMISED", "postureDetails": [ { "securityRisk": "UNKNOWN_OS", "advice": [ { "defaultMessage": "The user should lock their device's bootloader." } ] }, { "securityRisk": "HARDWARE_BACKED_EVALUATION_FAILED" } ] }
Como avaliar a postura de segurança
Por padrão, o securityPosture
é avaliado usando o atestado de chave, especificamente o atestado de chave com suporte de hardware (HBKA, na sigla em inglês), se aplicável, fornecendo um veredito de segurança confiável, já que gera e assina o atestado em hardware seguro.
Às vezes, a HBKA não pode ser usada para essa avaliação. Para refletir isso, securityRisk
vai retornar "HARDWARE_BACKED_EVALUATION_FAILED". Isso significa que securityPosture
pode ser avaliado, mas não com o HBKA, o que significa que o estado de integridade de inicialização do dispositivo pode ser comprometido (por exemplo, o dispositivo pode ser rooteado) e não ser detectado pela detecção baseada em software.
Noções básicas sobre os vereditos de postura de segurança
Diferentes combinações de devicePosture
e securityRisk
podem ser interpretadas para entender a segurança geral do dispositivo. A lista abaixo não é exaustiva:
- Se
devicePosture
retornar "SECURE" esecurityRisk
retornar "HARDWARE_BACKED_EVALUATION_FAILED", a integridade do dispositivo é segura, mas isso não pode ser confirmado pelo HBKA. - Se
devicePosture
retornar "POTENTIALLY_COMPROMISED" e nenhum resultadosecurityRisk
for retornado, o HBKA será usado na avaliação e o dispositivo será considerado comprometido. - Se
devicePosture
retornar "POTENTIALLY_COMPROMISED" esecurityRisk
retornar "HARDWARE_BACKED_EVALUATION_FAILED", apenas verificações baseadas em software poderão ser realizadas, mas os indicadores de ameaça à integridade são fortes o suficiente para considerar o dispositivo como comprometido. - Se
devicePosture
retornar "POSTURE_UNSPECIFIED", a avaliação de segurança não poderá ser concluída. Recomendamos aguardar a nova emissão do HBKA, que ocorre quando um novo veredito é retornado, para saber se ele pode retornar um valor específico. No entanto, é esperado que "POSTURE_UNSPECIFIED" ocorra na instalação inicial por um curto período.
Mapeamentos da API Android Management para a API Play Integrity
A tabela a seguir mostra a equivalência de mapeamento entre o veredito da API AM e a resposta do veredito da API Play Integrity.
API AM DevicePosture | API AM Posture.Detail.SecurityRisk | Veredito equivalente da API Play Integrity |
---|---|---|
SECURE |
SECURITY_RISK_UNSPECIFIED |
MEETS_STRONG_INTEGRITY |
SECURE |
contém: HARDWARE_BACKED_EVALUATION_FAILED |
MEETS_DEVICE_INTEGRITY |
POTENTIALLY_COMPROMISED |
contém: UNKNOWN_OS |
MEETS_BASIC_INTEGRITY |
POTENTIALLY_COMPROMISED |
contém: COMPROMISED_OS |
<unset> |
POSTURE_UNSPECIFIED |
<any> |
<unset> |