De Belgische beveiligingsonderzoeker Ilja van Sprundel zal vandaag tijdens Hack in the Box Amsterdam verschillende nieuwe lekken in Apple's IOKit demonstreren, waarmee volledige controle over Mac OS X systemen is te krijgen. IOKit is de voornaamste interface voor het schrijven van drivers in Mac OS X. Van Sprundel ontdekte dat de werking van IOKit grotendeels ongedocumenteerd is, zo laat hij in een interview met Security.nl weten.
Tijdens zijn "reis" door de IOKit liep hij tegen verschillende kwetsbaarheden aan, waarvan sommige zeer ernstig. Matt Oh van beveiligingsbedrijf Websense noemde het werk van de Belg al de mogelijk volgende goudmijn voor hackers.
Naïef
Niet alleen is de documentatie gebrekkig, Van Sprundel heeft ook het idee dat de code nauwelijks bekeken is. Iets dat hem erg verbaasde. "De code zit heel erg naïef in elkaar", zo merkt hij op. Vooralsnog is zijn werk alleen lokaal te gebruiken, bijvoorbeeld als een aanvaller zijn rechten wil verhogen. De IOKit werkt als een soort toegang tot systeem drivers, die vervolgens te misbruiken zijn. Daarbij maakt de Belg onderscheid tussen de drivers van Apple en derden. Die laatste zouden slechter in elkaar zitten en daardoor meer gelegenheid tot misbruik bieden.
Het feit dat de IOKit opensource is maakte het leven van de hacker een stuk eenvoudiger. "Ik ben geen held in binary analysis", zo laat hij weten. Toch wil dat niet zeggen dat opensource software eenvoudiger te hacken is. "Je moet de code ook kunnen interpreteren en over de juiste skill set beschikken."
Driver
Microsoft introduceerde met Windows Vista een verbeterd driver model. In het geval van kernel-mode drivers voor 64-bit versies, worden alleen getekende drivers geaccepteerd. Zelfs met administratorrechten is het niet mogelijk om ongetekende kernel-mode drivers te installeren. Van Sprundel is niet helemaal overtuigd van het signed driver model. "Het probleem hier is dat je een nieuwe trust-boundary introduceert, waar een administrator niet meer het recht heeft om eender welke driver te laden."
Volgens de Belg is dit model heel erg moeilijk te onderhouden, omdat de veronderstelling was (en eigenlijk nog altijd is) dat een administrator alles kan en mag doen met zijn eigen systeem, en dat drivers meestal heel erg flexibel zijn in wat ze doen en toelaten als je een administrator bent, ook diegene die getekend zijn. "Het is over het algemeen dan ook heel erg triviaal om als administrator willekeurige code in de kernel uit te voeren. Alles wat je in principe moet doen is eender welke signed driver vinden die je toelaat een driver te laden, of met een heel erg simpele security bug in die je alsnog toelaat code uit te voeren in de kernel."
De onderzoeker merkt op dat de administrator- kernel trust-boundary iets heel nieuw is, en heel veel ontwikkelaars weten er niet van of geloven er niet echt in. "Dit gezegd zijnde is het geen slecht idee, maar in praktijk werkt het niet. Of Apple dat al dan niet moet doen, daar ben ikneutraal over. Ik denk dat ze er ongeveer even ver met komen als Microsoft, en dat is mijns inzien niet erg ver."
Apple
Van Sprundel heeft inmiddels contact met Apple over het lek gehad. Contact dat volgen hem prima verliep en nog altijd verloopt. In het verleden kreeg Apple regelmatig het verwijt dat het slecht zou communiceren met beveiligingsonderzoekers, maar daar heeft de Belg geen last van.
Voor zijn onderzoek schreef hij zijn eigen framework. Uitgebreide details over hoe de lekken in elkaar zitten zal hij niet prijsgeven totdat Apple ze gepatcht heeft. Wel verschijnt er vandaag een IOKit fuzzer, waarmee iedereen zelf aan de slag kan gaan. Apple vroeg de onderzoeker om verantwoordelijk met zijn ontdekking om te gaan.
Hij begrijpt de discussie rond full-disclosure, maar de meeste leveranciers hebben inmiddels een security team en willen lekken ook wel verhelpen. In januari rapporteerde hij ook al een lek aan Apple, dat begin juni werd gepatcht. Toch vindt Van Sprundel een periode van zes maanden niet te lang. "Lekken zijn vaak eenvoudig te fixen, maar er komt veel testing bij kijken."
Windows
De bekende Mac-hacker Charlie Miller liet in het verleden meerdere keren weten dat de beveiliging van Windows 7 beter is dan die van Mac OS X. Ook Van Sprundel is het daarmee eens. Hij spreekt van een inhaalmanoeuvre waar Apple mee bezig is, maar vooralsnog loopt "Cupertino" achter op Redmond. "Dat kun je niet in één dag goed maken, dat kost de nodige investeringen en tijd." Toch zijn er wel verbeteringen in de code zichtbaar. "Maar in vergelijking met Windows lopen ze tien jaar achter denk ik, maar er komt verbetering in."
Deze posting is gelocked. Reageren is niet meer mogelijk.