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" } ] }
Avaliação da 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 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
devicePostureretornar "SECURE" esecurityRiskretornar "HARDWARE_BACKED_EVALUATION_FAILED", a integridade do dispositivo está segura, mas isso não pode ser confirmado pelo HBKA. - Se
devicePostureretornar "POTENTIALLY_COMPROMISED" e nenhum resultadosecurityRiskfor retornado, o HBKA será usado na avaliação e o dispositivo será considerado comprometido. - Se
devicePostureretornar "POTENTIALLY_COMPROMISED" esecurityRiskretornar "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
devicePostureretornar "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 |
AT_RISK |
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> |