Memory safe iBoot implementation

On devices with iOS 14 and iPadOS 14 or later, Apple modified the C compiler toolchain used to build the iBoot bootloader to improve its security. The modified toolchain implements code designed to prevent memory- and type-safety issues that are typically encountered in C programs. For example, it helps prevent most vulnerabilities in the following classes:

  • Buffer overflows, by ensuring that all pointers carry bounds information that’s verified when accessing memory

  • Heap exploitation, by separating heap data from its metadata and accurately detecting error conditions such as double free errors

  • Type confusion, by ensuring that all pointers carry runtime type information that’s verified during pointer cast operations

  • Type confusion caused by use after free errors, by segregating all dynamic memory allocations by static type

This technology is available on iPhone with the A13 Bionic chip or later, and on iPad with the A14 Bionic chip or later.

Published Date: February 18, 2021
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
Užitečné?
Limit počtu znaků: 250
Limit maximálního počtu znaků je 250.
Děkujeme za zpětnou vazbu.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.