SLIDES

If you are interested in the techniques used to add ASLR to your iPhone here are the slides of my talk at POC 2010. [PDF]

If you want to see the ASLR in action have a look at the GDB output for MobileSafari without ASLR and with ASLR.

In the meanwhile part of my Antid0te research has been applied to the dynamic linker of Mac OS X Snow Leopard. By rebasing the dynamic linker dyld you can make your Mac OS X Snow Leopard installation more resilient against attacks. Read the full article here.

If your question is not answered by the FAQ below don't hesitate to contact me at stefan.esser@sektioneins.de


FAQ

When will it be released?

The release of antid0te was delayed the moment it was obvious that iOS 4.3 will have ASLR built into the OS itself. However that does not mark the end of the antid0te project, because the ASLR in iOS 4.3 is quite weak. Once iOS 4.3 has a untethered jailbreak it will be reevaluated how to best apply the antid0te library shuffle process to the ASLR in iOS 4.3 to make it much more random.

Is this a new jailbreak?

Media wrongly reported that antid0te is a new jailbreak. However this is wrong. Antid0te will be a tool that you can use together with the pwnagetool, redsn0w and maybe greenpois0n jailbreaks.

Will you burn another exploit?

No! Antid0te will be a tool used with already jailbroken iPhones. So there is no additional exploit used.

What devices and firmware is antid0te compatible to?

For now all devices are supported at iOS 4.2.1. iPad 3.x will never be supported. Support for iPhone 4 at iOS 4.1 and iPod 4G at iOS 4.1 should be released, too. There most probably will be no support for iPhone 3G and iPod 2G at anything lower than 4.2.1 because their jailbreak is already untethered.

Will antid0te make my iPhone unhackable?

There is no such thing as unhackability. Antid0te will add ASLR to your iPhone. ASLR basicly means that the program libraries, the dynamic linker, the program stack and for some selected binaries also the main binary are loaded at different (random) addresses in memory. This makes the process of exploitation a lot harder. In the general case this means that instead of one security hole the attacker needs atleast another security hole that allows him to determine/leak the memory addresses on your iPhone. Therefore antid0te increases the cost (time, money, resources) for an attacker to write a successfull exploit.

Isn't ASLR broken?

If you have read somewhere (like in the theregister.com article comments) that ASLR is broken and can be easily bypassed, you must know that these comments are written by people that maybe have heard/read some things about exploitation but never attempted to actually write a real world exploit. Among real security researchers these comments usually cause a lot of amusement. It is well known that DEP/NX without ASLR and ASLR without DEP/NX are not optimal protections but in combination they are the best exploit mitigation available at the moment. And the iPhone already has DEP/NX in place, so adding ASLR is about time.

Will Antid0te destroy the possibility of future jailbreaks?

Well first of all antid0te by itself will be installed AFTER you jailbreak your device, so that it does not affect the jailbreaking process at all. However in the long run the existence of antid0te might trigger Apple to finally add ASLR to factory iPhones. However Apple's current iOS 3/4 design decisions make adding ASLR a not so simple task. Therefore it will take them some time to achieve that. I strongly suspect 2011 to become the year of wide spread mobile phone malware/worms. So Apple will have to add it at some point. However only time will tell. So yes, if antid0te causes a faster ASLR release for factory iPhones it will make jailbreaking harder in the future. However I strongly believe that a more secure factory iPhone is more important than a somewhat easier jailbreaking process.