跳过内容

MASTG-TEST-0228: 未启用位置无关代码 (PIC)

概述

PIE (位置无关可执行文件)旨在通过允许可执行文件加载到随机内存地址来增强安全性,从而缓解某些类型的攻击。

在 iOS 应用程序的 Mach-O 文件格式的上下文中

  • PIE 适用于 MH_EXECUTE 文件类型的可执行文件,这实际上意味着主应用程序二进制文件(例如,YourApp.app/YourApp)。
  • 具有 MH_DYLIB 文件类型的共享库(dylib 和框架)本质上是位置无关的,并且不使用 MH_PIE 标志。

此测试用例检查主可执行文件是否使用 PIE 编译。

步骤

  1. 提取应用程序并识别主二进制文件( 获取和提取应用)。
  2. 在主二进制文件上运行 获取编译器提供的安全特性,并 grep "pic" 或所选工具使用的相应关键字。

观察

输出应列出是否启用或禁用 PIC。

评估

如果禁用 PIC,则测试用例失败。