MASTG-TEST-0228: 未启用位置无关代码 (PIC)
概述¶
PIE (位置无关可执行文件)旨在通过允许可执行文件加载到随机内存地址来增强安全性,从而缓解某些类型的攻击。
在 iOS 应用程序的 Mach-O 文件格式的上下文中
- PIE 适用于
MH_EXECUTE
文件类型的可执行文件,这实际上意味着主应用程序二进制文件(例如,YourApp.app/YourApp
)。 - 具有
MH_DYLIB
文件类型的共享库(dylib 和框架)本质上是位置无关的,并且不使用MH_PIE
标志。
此测试用例检查主可执行文件是否使用 PIE 编译。
步骤¶
- 提取应用程序并识别主二进制文件( 获取和提取应用)。
- 在主二进制文件上运行 获取编译器提供的安全特性,并 grep "pic" 或所选工具使用的相应关键字。
观察¶
输出应列出是否启用或禁用 PIC。
评估¶
如果禁用 PIC,则测试用例失败。