内存安全 iBoot 实施
在 iOS 14 和 iPadOS 14 或更高版本中,Apple 修改了用于构建 iBoot 引导载入程序的 C 编译器工具链,以提高其安全性。修改后的工具链会运行旨在阻止内存和类型安全性问题的代码,此类问题通常在 C 程序中遇到。例如,代码可帮助防止以下类中的大多数漏洞:
缓冲区溢出(通过确保所有指针都携带在访问内存时经过验证的边界信息)
堆利用(通过将堆数据和其元数据分开,以及准确检测诸如双重释放错误等错误状态)
类型混淆(通过确保所有指针都携带在指针转换操作期间经过验证的运行时类型信息)
由释放后重用错误导致的类型混淆(通过使用静态类型来分离所有动态内存分配)
此技术在搭载 A13 仿生芯片或后续型号的 iPhone 和搭载 A14 仿生芯片或后续型号的 iPad 上可用。
感谢您的反馈。