iOS 6 uitgelicht: Kernel Address Space Layout Randomization en gevolgen voor jailbreaks
Niet alle functionaliteit in iOS 6 krijgt evenveel aandacht. Een onderbelichte toevoeging aan iOS 6 is Kernel Address Space Layout Randomization (KASLR), die de beveiliging van het platform naar een nieuwe hoogte tilt. ASLR werd op iOS voor het eerst in versie 4.3 geintroduceerd, maar vindt nu dus ook zijn weg naar de kernel. De toevoeging van Kernel ASLR zal ervoor zorgen dat het platform nog beter beschermd zal zijn tegen mobiele malware, maar zorgt er ook voor dat jailbreaken op iOS 6 nog moeilijker wordt.
Kernel Address Space Layout Randomization op iOS
Toestellen die gebruik maken van iOS mogen in principe alleen code uitvoeren die gesigneerd is door Apple. Een veelgebruikte methode om deze beperking te omzeilen is het gebruik van Return Oriented Programming (ROP), waarbij stukjes code hergebruikt worden op een niet voorziene wijze. Voor ROP is het nodig dat een aanvaller of jailbreaker weet waar de code die ze willen hergebruiken te vinden is in het geheugen. ASLR zorgt ervoor dat de locatie van objecten in het geheugen niet meer op een vaste plaats terug te vinden zijn en bemoeilijkt daardoor het gebruik van ROP. Over het algemeen betekent dit dat een aanvaller of jailbreaker twee userland kwetsbaarheden nodig heeft, namelijk één voor het injecteren van code en één om een geheugenadres te achterhalen waarmee ROP kan worden toegepast.
Kernel Address Space Layout Randomization en jailbreaks
Het team dat onder andere verantwoordelijk was voor meest recente Absinthe jailbreak van iOS 5.1.1 lijkt (nog) niet uit het veld geslagen door de invoering van KASLR op iOS. Naast de invoering van KASLR blijkt overigens ook de administratieve controle tool racoonctl, die een belangrijke rol speelde in de jailbreaks van iOS 5.0.1 en 5.1.1, in iOS 6 te zijn verwijderd. De hackers beschikken daarnaast nog over een niet uitgebrachte kwetsbaarheid in de kernel van iOS, die normaliter gebruik kan worden om de beveiliging die op kernel-niveau wordt afgedwongen uit te schakelen door middel van kernel-patches. Het is de vraag of de kwetsbaarheid ook nog na de introductie van KASLR voor dit doel gebruikt zal kunnen worden. De hacker pod2g, die grotendeels verantwoordelijk was voor de iOS 5.1.1 jailbreak, is in ieder geval ook één van de eerste iOS 6-gebruikers.
Taalfout gezien of andere suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!
Reacties: 9 reacties