iOS Kernel Heap Armageddon - Hakim

iOS Kernel Heap Armageddon - Hakim iOS Kernel Heap Armageddon - Hakim

28.11.2014 Views

iOS Kernel Zone Allocator 101 • in case of a buffer overflow the freelist pointer is overwritten • next allocation will make attacker controlled pointer the head of freelist • and the allocation following after will return the injected pointer adjacent memory blocks head of freelist allocated block overflowing into free one attacker data head of freelist Stefan Esser • iOS Kernel Heap Armageddon REVISITED • July 2012 • 14

Exploiting the freelist in iOS 6 • Apple has changed the freelist handling in iOS 6 • memory is now tagged with a fixed value • doesn‘t stop freelist exploitation • but stops exploitation method used in all public iOS heap exploits Stefan Esser • iOS Kernel Heap Armageddon REVISITED • July 2012 • 15

<strong>iOS</strong> <strong>Kernel</strong> Zone Allocator 101<br />

• in case of a buffer overflow the freelist pointer is overwritten<br />

• next allocation will make attacker controlled pointer the head of freelist<br />

• and the allocation following after will return the injected pointer<br />

adjacent memory blocks<br />

head of freelist<br />

allocated block overflowing into free one<br />

attacker<br />

data<br />

head of freelist<br />

Stefan Esser • <strong>iOS</strong> <strong>Kernel</strong> <strong>Heap</strong> <strong>Armageddon</strong> REVISITED • July 2012 •<br />

14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!