Security and privacy of iOS

Security and privacy of iOS

Hardened memory allocation: Corrected for usage.

← Previous revision Revision as of 05:06, 22 April 2026
Line 77: Line 77:


== Hardened memory allocation ==
== Hardened memory allocation ==
iOS features a hardened [[Memory management|memory allocator]] known as kalloc_type that was introduced in [[iOS 15]]. Since the [[XNU]] kernel is primarily written in [[Memory safety|memory unsafe]] languages such as [[C (programming language)|C]] and [[C++]],{{cite web |title=XNU |url=https://github.com/apple-oss-distributions/xnu |website=GitHub |publisher=Apple OSS Distributions |access-date=17 November 2022 |archive-date=November 17, 2022 |archive-url=https://web.archive.org/web/20221117141937/https://github.com/apple-oss-distributions/xnu |url-status=live }} kalloc_type is designed to mitigate the large amount of [[Memory safety#Impact|vulnerabilities]] that result from the use of these languages in the kernel. In order to achieve this, kalloc_type implements mitigations such as type isolation in order to prevent [[Arbitrary code execution#Vulnerability types|type confusion]] and [[buffer overflow]] vulnerabilities. Ultimately, the prevention of [[privilege escalation]] is intended.{{cite web |title=Towards the next generation of XNU memory safety: kalloc_type |url=https://security.apple.com/blog/towards-the-next-generation-of-xnu-memory-safety/ |website=Apple Security Blog |date=October 27, 2022 |access-date=17 November 2022 |archive-date=November 16, 2022 |archive-url=https://web.archive.org/web/20221116131351/https://security.apple.com/blog/towards-the-next-generation-of-xnu-memory-safety/ |url-status=live }}
iOS features a hardened [[Memory management|memory allocator]] known as kalloc_type that was introduced in [[iOS 15]]. Since the [[XNU]] kernel is primarily written in [[Memory safety|memory unsafe]] languages such as [[C (programming language)|C]] and [[C++]],{{cite web |title=XNU |url=https://github.com/apple-oss-distributions/xnu |website=GitHub |publisher=Apple OSS Distributions |access-date=17 November 2022 |archive-date=November 17, 2022 |archive-url=https://web.archive.org/web/20221117141937/https://github.com/apple-oss-distributions/xnu |url-status=live }} kalloc_type is designed to mitigate the large number of [[Memory safety#Impact|vulnerabilities]] that result from the use of these languages in the kernel. In order to achieve this, kalloc_type implements mitigations such as type isolation in order to prevent [[Arbitrary code execution#Vulnerability types|type confusion]] and [[buffer overflow]] vulnerabilities. Ultimately, the prevention of [[privilege escalation]] is intended.{{cite web |title=Towards the next generation of XNU memory safety: kalloc_type |url=https://security.apple.com/blog/towards-the-next-generation-of-xnu-memory-safety/ |website=Apple Security Blog |date=October 27, 2022 |access-date=17 November 2022 |archive-date=November 16, 2022 |archive-url=https://web.archive.org/web/20221116131351/https://security.apple.com/blog/towards-the-next-generation-of-xnu-memory-safety/ |url-status=live }}


== References ==
== References ==