APP检查基线及方法
1. IOS检测
1.1. 应用完整性校验(中危)
1 | 测试目标 | 检测IPA是否对自身应用完整性进行校验 |
2 | 测试方式 | 通过修改图片文件,检测应用是否能够正常运行。 |
3 | 测试结果 | 客户端程序可被任意修改,修改后客户客户端仍可以正常运行。 |
4 | 风险描述 | 当设备越狱后,恶意攻击者就可以通过修改客户端文件,在客户端中插入恶意脚本,窃取用户信息。 |
5 | 修改建议 | 建议对自身资源完整性进行校验或,对设备进行越狱检测,给予用户风险提示 |
6 | 风险等级 | 中危 |
7 | 修复检测 | |
8 | 修复结果 | |
1.2. 设备越狱检测(低危)
1 | 测试目标 | 检测应用程序是否够能够运行在越狱后的设备上 |
2 | 测试方式 | 安装到已经越狱的设备上,观察应用是够能够正常运行 |
3 | 测试结果 | 应用能够在已经越狱的设备中正常运行。 |
4 | 风险描述 | 通常已经越狱的设备会提供给恶意应用查看或修改自身配置文件、缓存文件等的相关权限,已经对应用进行非法操作;而恶意攻击者也常使用已经越狱的设备对应用发起攻击。 |
5 | 修改建议 | 建议使用检测当前程序运行的环境变量的方法对设备进行越狱检测。char *env = getenv("DYLD_INSERT_LIBRARIES"); 未越狱设备返回结果是 null。 |
6 | 风险等级 | 低危 |
7 | 修复检测 | |
8 | 修复结果 | |
1.3. 调试检测
1 | 测试目标 | 检测是否能够利用GDB、IDA等调试器对应用程序进行动态调试。 |
2 | 测试方式 | 使用GDB、IDA等调试器跟踪运行程序,并且查看、修改内存中的代码和数据等行为。 |
3 | 测试结果 | |
4 | 风险描述 | |
5 | 修改建议 | |
6 | 风险等级 | |
7 | 修复检测 | |
8 | 修复结果 | |
1.4. PIE方式编译可执行文件(安全)
1 | 测试目标 | 应用可执行文件使用PIE方式编译。 |
2 | 测试方式 | 安全 |
3 | 测试结果 | 安全 |
4 | 风险描述 | 安全 |
5 | 修改建议 | |
6 | 风险等级 | |
7 | 修复检测 | |
8 | 修复结果 | |
1.5. 编译时使用ARC标记(安全)
1 | 测试目标 | 检测应用编译时是否使用自动化引用计数器(Automatic Reference Counting)标签。 |
2 | 测试方式 | otool工具或者自动化扫描工具测试(otool工具MAC自带) |
3 | 测试结果 | 应用编译时使用自动化引用计数器。 |
4 | 风险描述 | 安全 |
5 | 修改建议 | 安全 |
6 | 风险等级 | 安全 |
7 | 修复检测 | app接口测试工具 |
8 | 修复结果 | |
1.6. 编译时使用堆栈保护器(安全)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论