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

查看 66|回复 6
作者:pareto   
bypassKeyAttestation
Key Attestation 密钥认证
官方文档介绍: https://source.android.com/docs/ ... eystore/attestation,
个人理解,硬件提供加密功能,同时该硬件模块也会反映设备的软硬件的安全环境。
不想自己实现一套代码的,可以直接用开源的:
https://github.com/vvb2060/KeyAttestation
功能入口 https://github.com/vvb2060/KeyAt ... me/HomeViewModel.kt  doAttestation方法:
获取证书链


image-20231207102826652.png (123.61 KB, 下载次数: 1)
下载附件
2023-12-26 19:30 上传

解析证书链


image-20231206194902623.png (61.5 KB, 下载次数: 1)
下载附件
2023-12-26 18:39 上传

对证书链进行校验


image-20231206204618107.png (103.01 KB, 下载次数: 1)
下载附件
2023-12-26 18:39 上传

解析extension,获取设备的状态


image-20231206204803506.png (85.29 KB, 下载次数: 1)
下载附件
2023-12-26 18:39 上传

格式规范文档: https://source.android.com/docs/ ... testation-extension
简单看下解析extension的内容


image-20231206205018254.png (59.93 KB, 下载次数: 1)
下载附件
2023-12-26 18:39 上传

解析后部分数据
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)


image-20231208192355224.png (81.87 KB, 下载次数: 1)
下载附件
2023-12-26 18:40 上传

饶过手段
思路比较简单,替换到整条证书链为一个正常设备的证书链即可:
[ol]
  • 可以通过hook java层代码
  • 写一个magisk插件 https://github.com/doom-man/bypasskeyattestation
    [/ol]
    hook java层已经比较熟练了,由于后续期望强化对异常设备的检测,大多对抗检测的工具又是走magisk插件实现的,打算用magisk插件实现一遍。
    参考 https://github.com/chiteroman/PlayIntegrityFix 大佬写的插件进行学习,对大佬拙劣的模仿。
    准备证书


    image-20231206205854947.png (91.14 KB, 下载次数: 1)
    下载附件
    2023-12-26 18:42 上传

    将证书文件移动/data/local/tmp 下,并提供读权限;
    注入目标进程


    image-20231206210101742.png (64.22 KB, 下载次数: 1)
    下载附件
    2023-12-26 18:42 上传

    代码入口在cpp/main.cpp


    image-20231206210830493.png (38.53 KB, 下载次数: 1)
    下载附件
    2023-12-26 18:43 上传

    ### 替换证书链


    image-20231206210430273.png (59.47 KB, 下载次数: 1)
    下载附件
    2023-12-26 18:43 上传

    CustomKeyStoreSpi.java


    image-20231206210320245.png (117.99 KB, 下载次数: 1)
    下载附件
    2023-12-26 18:43 上传

    替换后效果


    image-20231206210517186.png (223.59 KB, 下载次数: 1)
    下载附件
    2023-12-26 18:43 上传

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

    下载次数, 下载附件

  • Jutean   

    图片没问题了,网址好像之前格式丢失了完整的,可能还要编辑一下。
    xfj1021   

    学习了  可以的
    eijop252023   

    收藏一下,学习!!
    zhangsf123   

    学习一下,6666
    vae666   

    不错,可以学习一下。
    zhangsf123   

    大佬,怎么不继续发了
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部