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 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 == |
||