Key Attestation 密钥认证流程和绕过思路

admin 2024年1月3日21:48:11评论175 views字数 1345阅读4分29秒阅读模式
Key Attestation 密钥认证

官方文档介绍:https://source.android.com/docs/security/features/keystore/attestation

个人理解,硬件提供加密功能,同时该硬件模块也会反映设备的软硬件的安全环境。

不想自己实现一套代码的,可以直接用开源的:
https://github.com/vvb2060/KeyAttestation

功能入口https://github.com/vvb2060/KeyAttestation/blob/master/app/src/main/java/io/github/vvb2060/keyattestation/home/HomeViewModel.kt
doAttestation方法:

获取证书链


Key Attestation 密钥认证流程和绕过思路


解析证书链


Key Attestation 密钥认证流程和绕过思路


对证书链进行校验


Key Attestation 密钥认证流程和绕过思路


解析extension,获取设备的状态


Key Attestation 密钥认证流程和绕过思路

格式规范文档:https://source.android.com/docs/security/features/keystore/attestation#attestation-extension

简单看下解析extension的内容。

Key Attestation 密钥认证流程和绕过思路

解析后部分数据。

Attest version: Keymaster version 4.1
Attest security: StrongBox
Verified boot Key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= (base64)
Device locked: false
Verified boot state: Unverified

//Hash for boot
//Hashtree metadata for system
//Hashtree metadata for vendor
Verified boot hash: nDqAWissOCsw+aWEm7cEcAkCvQngEE+ypQ75UWakxt4= (base64)


绕过手段


思路比较简单,替换到整条证书链为一个正常设备的证书链即可:

1.可以通过hook java层代码

2.写一个magisk插件https://github.com/doom-man/bypasskeyattestation


hook java层已经比较熟练了,由于后续期望强化对异常设备的检测,大多对抗检测的工具又是走magisk插件实现的,打算用magisk插件实现一遍。

参考https://github.com/chiteroman/PlayIntegrityFix大佬写的插件进行学习,对大佬拙劣的模仿。

准备证书


将证书文件移动/data/local/tmp 下,并提供读权限:

Key Attestation 密钥认证流程和绕过思路


注入目标进程


代码入口在cpp/main.cpp。

Key Attestation 密钥认证流程和绕过思路
Key Attestation 密钥认证流程和绕过思路


替换证书链


Key Attestation 密钥认证流程和绕过思路

CustomKeyStoreSpi.java

Key Attestation 密钥认证流程和绕过思路

替换后效果。

结语


我认为设备异常判定,即使各大厂商去自研解决方案,也应该去学习了解系统层面提供的安全检测手段 和 官方在用的判定方案。



Key Attestation 密钥认证流程和绕过思路


看雪ID:pareto

https://bbs.kanxue.com/user-home-790193.htm

*本文为看雪论坛优秀文章,由 pareto 原创,转载请注明来自看雪社区

Key Attestation 密钥认证流程和绕过思路

# 

原文始发于微信公众号(看雪学苑):Key Attestation 密钥认证流程和绕过思路

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月3日21:48:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Key Attestation 密钥认证流程和绕过思路http://cn-sec.com/archives/2360759.html

发表评论

匿名网友 填写信息