MASTG-TEST-0048: 测试逆向工程工具检测
此测试即将更新
此测试目前可使用,但将作为新的 OWASP MASTG v2 指南 的一部分进行全面修订。
通过提交 PR 来帮助我们:MASTG v1->v2 MASTG-TEST-0048: 测试逆向工程工具检测 (android)
有效性评估¶
在你的测试设备上安装各种逆向工程工具和框架,然后启动应用。 至少包括以下工具: Frida, Xposed。
应用应该以某种方式对这些工具的存在做出反应。 例如,通过
- 提醒用户并要求接受责任。
- 通过优雅地终止来防止执行。
- 安全地擦除设备上存储的任何敏感数据。
- 报告给后端服务器,例如,用于欺诈检测。
接下来,努力绕过对逆向工程工具的检测,并回答以下问题
- 这些机制可以很容易地被绕过吗(例如,通过hook单个 API 函数)?
- 通过静态和动态分析来识别反逆向工程代码有多困难?
- 您是否需要编写自定义代码来禁用防御措施? 您需要多少时间?
- 您如何评估绕过这些机制的难度?
绕过逆向工程工具检测时,应遵循以下步骤
- 修补反逆向工程功能。 通过简单地使用 NOP 指令覆盖相关的字节码或原生代码来禁用不需要的行为。
- 使用 Frida 或 Xposed 来 hook Java 和原生层上的文件系统 API。 返回对原始文件的句柄,而不是修改后的文件。
- 使用内核模块来拦截与文件相关的系统调用。 当进程尝试打开修改后的文件时,返回一个指向文件未修改版本的文件描述符。