IPad en iOS security J. van den Heuvel Departement Informatica
1. Introductie Apple, een bedrijf dat tegenwoordig verwikkeld is in diverse rechtszaken met o.a. Android, heeft sinds haar ontstaan verschillende technologische hoogstandjes afgeleverd die tot de dag van vandaag nog steeds gebruikt worden. Met een vruchtbaar verleden is Apple met haar besturingssysteem iOS om verschillende redenen regelmatig in het nieuws, hetzij positief hetzij negatief. Door de iPad en iOS nader te bekijken, zal wellicht een overzicht gecreëerd kunnen worden die tot mogelijke openbaringen c.q. verrassingen leidt. Om het onderzoeksveld niet te breed te laten worden, zal in dit paper de focus gelegd worden op de security van de iPad met in het bijzonder iOS. Hierbij zullen allerlei voorbeelden aan het licht gesteld worden om zo te controleren of men met een gerust hart kan kijken of de iPad en iOS veilig te gebruiken zijn. Sinds het bestaan van iOS vanaf juni 2010 (hiervoor heette het iPhone OS) zijn er enkele gebeurtenissen geweest als het gaat om het gebied security, zoals een cyberaanval op de iCloud waar hackers privé- en naaktfoto’s van bekende celebrities buit maakten (ook wel de Fappening genoemd) en onlangs in september 2015 dat een malafide compiler malware XcodeGhost gebruikt was door verschillende apps en het review proces van Apple wist te omzeilen. Dit lek heeft plaats kunnen vinden doordat de servers Apple in China vrij langzaam werken, waardoor XCode met de downloaddienst Baidu werd binnengehaald. Een valse versie van XCode leidde ertoe dat er allerlei malware werd geïntegreerd in apps die door Apple niet gecontroleerd zijn (Paloalto, 2015b). Dat zoiets dergelijks op zo’n grote schaal is toegepast, is in-
teressant omdat het besturingssysteem al ongeveer een decennium bestaat en dit nog niet eerder op een dergelijke (grote) schaal gebeurd is. Dit soort incidenten, security falen te noemen, kan een gevoel van onzekerheid en angst doen ontstaan. Moet ik mijn data wel opslaan op mijn iPad? Moet ik het wel toestaan om mijn data in de Cloud te zetten? Wat nou als de NSA mijn gegevens jat? Onrust en onbegrip zijn te begrijpen met dit soort gevallen (Vergelijk het maar met de angst van mensen om met Malaysia Airlines te vliegen na de ongelukken van MH17 en MH370). In een psychologisch, cognitief aspect, is de mens een gebied betreden waar gevaar is, en, waar gevaar is, heerst angst. Deze angst wordt over het algemeen weggenomen door geruststelling die een tekstuele vorm aangeboden wordt in wetten. De privacy wetgeving geeft aan hoe er met gegevens omgegaan moet worden, maar of dat zo gedaan wordt, is nog maar de vraag. In grote lijnen zal dit paper uit ruwweg vijf delen bestaan. In het eerste deel zal de hardware security besproken worden, gevolgd door de security van de software in deel twee. In deel drie zal iets over de de security van netwerkcommunicatie verteld worden. In deel vier wordt besproken hoe privacywetgeving de schijn geeft aan consumenten dat zij zich beschermd voelen voor kwaadwillenden en tenslotte in deel vijf, hoe vertrouwen bij consumenten opgewekt kan worden bij iPads en andere devices. Door deze onderwerpen te combineren, kan een weloverwogen conclusie gegeneerd worden die tot een interessante conclusie kan leiden.
2
J. VAN DEN HEUVEL
2. Hardware security Dit hoofdstuk zal de hardware security van iOS apparatuur bespreken. Denk hierbij aan de processor, de kernel (kern van het besturingssysteem), de crypto engine, de device key, de group key, en het apple root certificate. In figuur 1 is te zien hoe dit opgedeeld is en hoe dit interactie heeft met de hardware. Elk fysiek onderdeel zal apart aan bod komen.
2.1. De kernel Om te begrijpen wat de Secure Enslave in de kernel doet, dient het begrip keychain uitgelegd te worden. Een keychain is een grote database die veilig wachtwoorden, sleutels, en certificaten opslaat. Zo heeft elke applicatie een eigen keychain en kan een applicatie geen keychains verkrijgen van andere applicaties. Het is realiseerbaar dat een externe partij een applicatie maakt om zo accountgegevens van geregistreerden te verkrijgen. Apple heeft hier al iets opgevonden, waardoor externen dus niet aan jouw wachtwoord andere andere persoonlijke data kunnen komen. In elk iOS toestel zit een processorchip (bv. Apple A7) die met een applicatie communiceert middels een API. In deze API zitten de keychains, waarvan de specifieke het encrypted item in de keychain wordt gestuurd naar een applicatie, waarna een request volgt van de applicatie terug naar de API. Vervolgens stuurt de API de boodschap terug naar de processor chip waarin deze decrypted wordt. In deze processor zit de Secure Enslave, waar dit werkje van decrypten wordt gedaan, aangezien de keychain dit zelf niet kan. (Xamarin, n.d.) 2.1.1. Vingerafdrukken
Figuur 1. Security architecture iOS (Apple, 2015a)
Met deze Secure Enslave worden niet alleen de wachtwoorden opgeslagen die eruit zien als strings. Vingerafdrukken worden bijvoorbeeld ook opgeslagen in deze plek. Zo is het best te realiseren dat deze vingerafdrukken als afbeeldingen opgeslagen worden in de Secure Enslave en dat hier een encryptie op toegepast wordt, maar niets is minder waar. Er wordt gebruik gemaakt van een wiskundige representatie van de vingerafdruk. Hierbij kunnen bedenkingen gemaakt worden als: "Wat nou als ik deze wiskunde representatie in handen krijg en deze met reverse engineering reconstrueer tot de feitelijke vingerafdruk?". Dit is, met de Secure Enslave encryptie, onmogelijk gemaakt (Apple, n.d.). Zo wordt er weer het AES-256 algoritme op toegepast wat onkraakbaar is beschouwd voor de komende decennia. Dit
IPAD EN IOS SECURITY
komt omdat een AES-256 algoritme uit 256 bits sleutels bestaat. Een bit bestaat uit 0 of 1, waardoor er 2256 mogelijke sleutels bestaan. Met een processorkracht van 33.86 petaflops per operations per seconde (Top500, 2013), doet de Tianhe-2 (de snelste computer tot nu toe) er 1.08 x 1053 jaar over om dit te kraken. Aangezien het heelal nog niet eens zo lang bestaat, is de AES-256 voor nu dus onkraakbaar.
2.1.2. Secure Element Ten slotte is er ook nog een Secure Element. Dit slaat kaartgegevens op en doet vervolgens aan cryptografische verwerking (encryptie / decryptie). Deze kan gebruikt worden voor financiële transacties, zoals met Apple pay tot stand gebracht wordt. Deze chip waar de Secure Element in zit, communiceert met een Near Field Controller (NFC) die communiceert met een NFC-Reader (Marwaha, 2014).
2.1.3. Jailbreaken Door een Apple product te jailbreaken, wordt het voor de gebruiker mogelijk om softwaretoepassingen te laden die door Apple niet erkend worden. Hierdoor kan er weliswaar meer functionaliteiten op de producten gezet worden, maar is het ook mogelijk om applicaties te downloaden die bijvoorbeeld gemaakt zijn met slechte bedoelingen (ook wel applicaties die niet door het review proces van Apple komen). Zo werd er al in 2010 misbruik hiervan gemaakt, waarbij een foto van Rick Astley als achtergrondplaatje werd gezet en de Secure Shell (SSH) service werd uitgeschakeld (iCulture, 2010). Deze SSH service zorgt ervoor dat dat er versleuteld ingelogd wordt om een andere computer, waardoor deze transmissie van data vatbaar wordt voor derden. Naast dit levert jailbreaken ook positieve aspecten op, zoals het kunnen modificeren van het besturingssysteem.
3
2.2. Device Key, Group Key, Apple Root Certificate In dit gedeelte van de hardware wordt bestaat de device- en group key beiden uit een uniek ID, waarbij beiden verschillen in hoe ze gedetermineerd zijn. Deze twee woorden zijn zelf een sleutel, die in de crypto engine zelf opgevraagd worden. In de Apple Root Certificate staan allerlei certificaten die op te delen zijn in groepen certificaten. Er bestaan vertrouwde rootcertificaten, zoals het maken van een beveiligde verbinding met een webserver. De tweede groep zijn Vraag-altijd cerficaten, waarbij de gebruiker altijd gevraagd wordt of deze verbinding te vertrouwen is volgens de gebruiker. De laatste groep bestaat uit geblokkeerde certificaten die als een gevaar beschouwd worden. Voor de ondertekening van deze certificaten wordt voor de meerderheid SHA-1 ondertekening toegepast met in kleinere getalen SHA-256, SHA-384 en MD5. Deze verbinding wordt versleuteld met een RSA encryptie, die volgens critici bekend staat als veilig en ook nooit bedenkingen tegen zich gehad heeft. Wel worden voor enkele certificaten het algoritme ECDSA gebruikt, wat staat voor Elliptic Curve Digital Signature Algorithm, wat een veiligere variant is van DSA (Apple, 2015b). 2.3. Crypto Engine De crypto engine wordt gebruikt om versleutelingen sneller te laten verlopen en werkt als wisselwerker tussen de device key, de group key, de Apple Root Certificate en de kernel. Net ook al aan bod dat in de Secure Enslave en Secure Element allerlei encrypties en decrypties plaatsvinden, waarbij dus deze crypto engine uitkomst biedt. Elk iOS apparaat (vanaf iOS 9) is uitgerust met het symmetrische cryptosysteem AES-256. Deze is gebouwd in de Direct Memory Access (DMA) tussen de flash drive en RAM, zodat data efficiënt beveiligd kan worden met dit algoritme. Hetgeen wat hierin encrypted wordt een uniek ID van het toestel zelf (UID), dat gecombineerd is met
4
J. VAN DEN HEUVEL
een device group ID (GID). Deze UID en GID worden ook als sleutels gebruikt om toegang tot de bestanden te krijgen (Apple, 2015a). Hiernaast heeft Apple een technische feature toegevoegd om data verkrijging nog complexer te maken. Voor elk UID en GID geldt dat deze alleen door de AES engine gebruikt kunnen worden die bij de Secure Enclave hoort. 2.4. Conclusie hardware Door alle hardware en firmware componenten rustig te doorlopen, zijn er geen rariteiten te vinden die tot grote verrassingen leiden bij de security van de iPad. Er worden allerlei cryptografische algoritmen toegepast, zoals RSA en AES, die bekend staan om haar goede beveiliging van de bijbehorende documenten. In het kader van de beveiliging gaat het bij Apple in de producten allemaal veilig. In het volgende hoofdstuk zal gekeken worden of de security van software wel mogelijke rariteiten bevat. 3. Software security Hoewel er bij de iPad en andere iOS apparaten allemaal vernuftige technieken worden gebruikt, is er voor de gemiddelde consument niks aan als er ook geen software aanwezig is. Er was al opgemerkt dat er niks mis is met de hardware security van Apple, maar of dit bij de software ook is, valt zwaar te betwijfelen. De applicaties worden weliswaar getest door Apple zelf, maar slechte beveiligingen kunnen wel ten prooi vallen aan buitenstaanders, zoals de NSA die aan het jagen is op ’leaky’ applicaties. Angry birds is hier een voorbeeld van doordat er privé informatie van de spelers worden onderschept door de NSA en GCHQ (Guardian, 2014). Hoe dit kan, zal besproken worden in dit hoofdstuk. 3.1. File System Elke applicatie die connectie maakt met de kernel, dient gecontroleerd te worden met een certificaat. Dit certificaat is weer te vinden in
de Apple Root Certificate, alsmede besproken in hoofdstuk 2.2. Elk certificaat dient ondertekend te worden wat App Code Signing genoemd wordt. Dit certificaat tussen Apple en developer wordt dus ook alleen afgegeven na een screening van de persoon of bedrijf zelf. Zo wordt er voorkomen dat er kwaadwillenden met hun applicatie rariteiten uitvoeren. Als deze complete check is goedgekeurd, worden alle applicaties gesandboxt. Dit houdt in dat een applicatie geen connectie kan maken met data die verkregen is via andere applicaties. Het is wel mogelijk om andere data dan nodig op te vragen, maar dan moet dit wel een service zijn die alleen door iOS aangeboden wordt en niks anders. Zo kan een applicatie bijvoorbeeld gebruik maken van de iCloud, maar dient wel toestemming gevraagd te worden die Declared Entitlements genoemd worden. Dit wordt allemaal onder begeleiding van het operating system iOS gedaan, die in OS Partition aangegeven staan. Deze is zelf alleen read-only, maar wel aanpasbaar door de gebruiker zelf. Doordat het interessanter is om te kijken hoe de beveiliging van applicaties is, zal de focus gelegd worden op de User Partition (Apple, 2015a). 3.1.1. User Partition (encrypted) Zoals al in de inleiding aangegeven werd, wordt elke applicatie gesandboxt zodat deze geen connectie met andere applicaties kan maken. Al deze data transmissies moeten wel beveiligd worden, waarbij Apple zelfs een handje meehelpt door Data Protection aan te bieden. Hoewel deze Data Protection als muziek in de oren klinkt, ligt de verantwoordelijkheid van de beveiliging toch bij de developers van de applicatie. Bij het uploaden van data, is er meta data beschikbaar, ook wel EXIFdata genoemd, die beschikbaar is en die gestolen kan worden door derden, zoals de NSA en GCHQ (zoals in de inleiding al genoemd was) (Guardian, 2014). Applicaties die door XCodeGhost besmet waren, leidde ertoe dat er informatie doorgespeeld kon worden aan kwaadwillende partijen. Zo worden er nog steeds technieken gebruikt dat men
5
IPAD EN IOS SECURITY
bijvoorbeeld een berichtje binnen krijgt om op een url te klikken, waarna malafide software geïnstalleerd wordt waarmee men data steelt (Cnbc, 2015). Bovendien ligt de verantwoordelijkheid vaak bij de applicaties en zo deels ook bij Apple. Bij de Fappening is zo destijds een grote fout gemaakt bij een van de applicaties, gemaakt door Apple, genaamd Find My Iphone. Bij deze applicatie was er geen limiet in hoe vaak een wachtwoord geprobeerd kon worden binnen een bepaalde tijd, waardoor met een Brute Force Attack alle mogelijke wachtwoorden van celebrities geraden konden worden tot er toegang verkregen was. Hierna kon de hacker ongestoord de content downloaden die op de iCloud staat van de gebruiker. Helaas is dit niet het enige incident waarbij data grootschalig verkregen is. Er zijn meer incidenten gemeld waar dit gebeurd is, maar wat wel opvallend is dat dit voornamelijk in de ongecontroleerde sectie plaatsvindt. Hierdoor raken iOS gebruikers die afgekeurde applicaties door jailbreak wel kunnen bereiken, in gevaar. IOs malware genaamd KeyRaider heeft 225.000 Apple accounts, GIDS, UIDs en wachtwoorden buitgemaakt via een afgekeurde applicatie, die wel toegankelijk is via de gejailbreakte iOS (Paloalto, 2015a). 4. Netwerk security Om te communiceren naar anderen, dient er gebruik gemaakt worden van bepaald netwerk om connectie tussen betrokken partijen te maken. Als Alice en Bob twee personen zijn die met elkaar communiceren, dan willen zij niet dat Oscar hun berichten kan onderscheppen of dat hij hun berichten ziet. Hiervoor heeft Apple een mooie oplossing gevonden: het toepassen van een Transport Layer Security (TLS) met als eis dat er minimaal SHA-256 en een 2048 bits RSA-key of 256bit elliptic curve key aanwezig is. Daarnaast wordt simpelweg elke applicatie die hieraan niet voldoet, door Apple geweigerd om toe te treden op de Apple Store (Apple, 2015a). Bovendien zijn er nog andere mechanismen als
een Wi-Fi netwerk die anders handelt dan een TLS. Bij een Wi-Fi netwerk wordt een WPA2 protocol gebruikt die AES-128 encrypted is. Ook dit is vooralsnog volgens critici veilig voor de komende 10 jaar als er rekening wordt gehouden met de Wet van Moore waarbij de verdubbeling in acht genomen wordt. 4.1. Conclusie netwerk security Wederom geldt bij de netwerken dat er gebruik gemaakt wordt van goed beveiligde netwerken, die ertoe leiden dat iOS apparaten goed beveiligd zijn tegen buitenstaanders en malware die eventueel binnen zou kunnen treden. Dat een Wi-Fi netwerk met AES-128 beveiligd is, baart enigszins zorgen als het iOS apparaat niet geüpdatet zou worden en over 10 jaar nog steeds door die ene persoon gebruikt wordt. Doordat de kans vrij klein is dat dat gebeurt en Apple na enkele jaren (grote kans) over zal stappen op een veiligere AES-variant, is er voor nu geen moment dat men zich zorgen moet maken over de beveiliging van netwerken van iOS apparaten. 5. Privacy vs. security Ook in het wetboek zijn er allerlei artikelen opgenomen, zodat de gemiddelde consument volgens het Nederlands Recht gerustgesteld kan worden. Zo is computervredebreuk weliswaar strafbaar volgens artikel 138ab Wetboek van Strafrecht, maar is bijvoorbeeld een iPad een computer? Als bepaald was dat dit niet zo was, dan zou de wet niet opgaan voor de iPad, waardoor het opzettelijk binnentreden van een iPad (probeer dat maar eens!) wettelijk gezien toegestaan. Zo is pas september 2015 bepaald dat de iPad een computer is, aldus de Hoge Raad (Volkskrant, 2015). Betekent dit dan dat het dus hiervoor niet wettelijk bepaald was dat de iPad vervolgd kan worden voor computervredebreuk? Nee, want als er malafide activiteiten plaatsvinden op de iPad, zoals het stelen/wijzigen van data bijvoorbeeld, dan is er volgens artikel 350a in het Wetboek van Strafrecht nog steeds kans
6
J. VAN DEN HEUVEL
op vervolging op basis van deze wetten. Het mooiste voorbeeld dat in de wet terug te vinden is, is artikel 126m Wetboek van Strafvordering, waarbij de politie iemand mag afluisteren, mits er verdenkingen zijn m.b.t. zware delicten, een ernstige inbreuk is op rechtsorde. Hoewel deze voorwaarden weliswaar zijn opgesteld, worden er veel mensen afgeluisterd. 6. Vertrouwen onder consumenten Om vertrouwen te creëren onder consumenten, zijn enkele factoren die een rol spelen om dit te verkrijgen. Zo leidt een verhoogde kennis in virussen ertoe dat men meer vertrouwen ontstaat in het information security management en confidentiality (niemand ziet de data), integrity(niemand wijzigt de data) en availability (de data is beschikbaar) ook wel CIA genoemd (Jang, Chang, & Tsai, 2014). De kanttekening hierbij wel is dat dit onderzoek op een telefoon is getest en niet op een tablet. Doordat een iPad en iPhone nagenoeg dezelfde eigenschappen bevatten, is dit artikel genoemd om aan te geven hoe mensen hun vertrouwen krijgen als het gaat om het gebied van security. Tevens zijn devices vaak door de mens gemaakt, maar niet door de gebruiker zelf. Hierdoor weet de gebruiker niet wat deze maker heeft ingeprogrammeerd, wat onzekerheid geeft. Voorlichtingen over mogelijke virussen zou ertoe kunnen leiden dat er meer vertrouwen komt waar minder vertrouwen heerst. 7. Eindconclusie Kortom kan er beweerd worden dat iOS apparaten een goede taak verricht hebben als het gaat om het goed omgaan met data van gebruikers. Er worden allerlei beveiligingsmechanismen gebruikt om de data van de gebruikers goed waar te borgen. Mechanismen als AES en RSA worden gebruikt en zijn voor de komende tijd nog goed en veilig. Zoals in de hardware en firmware al besproken werd, worden er voor de communicatie tussen applicaties verschillende vernuftige toepassingen gebruikt. Zo zijn applicaties gesand-
boxt, waardoor deze alleen bij de benodigde data kan komen. Het enige waar een mogelijk potentieel gevaar schuilt, is de beveiliging van een applicatie zelf. Apple geeft weliswaar richtlijnen hoe de beveiliging van een applicatie moet zijn, maar toch zijn deze richtlijnen niet voldoende. Data kan nog steeds door externen verkregen worden, wat voornamelijk gebeurt in de ongecontroleerde markt waar gejailbreakte iOS apparaten ten prooi vallen. Daarnaast geeft de wetgever hier weliswaar enige bescherming aan de consument, maar in de praktijk blijkt toch dat geïnteresseerde partijen bij de data kunnen komen. Over het algemeen kan dus gezegd worden dat iOS apparaten veilig zijn, hoewel er wel wat haken en ogen zijn. Er is belang bij de data retrieval van software applicaties en zo is het verboden het gehele netwerk te dichten voor de overheid, omdat er dan niet afgeluisterd kan worden. Enige onzorgvuldigheden kunnen daadwerkelijk problemen opleveren zoals bij de voorbeelden in dit paper al ter sprake kwamen, maar dit leidt niet tot grote problemen. De iPad en iOS zijn dus, over het algemeen, veilig te gebruiken. References Apple. (n.d.). About touch id security on iphone and ipad. https://goo.gl/LT6RWQ. (Verkregen op 21 Oktober 2015) Apple. (2015a). ios security. https://goo.gl/79whgE. (Verkregen op 20 Oktober 2015) Apple. (2015b). Lijst met beschikbare, vertrouwde rootcertificaten in ios 9. https://goo.gl/6pSSCs. (Verkregen op 22 Oktober 2015) Cnbc. (2015). Hackers stealing data on ios via major security flaw. http://goo.gl/21vOxu. (Verkregen op 22 Oktober 2015) Guardian, T. (2014). Angry birds and ’leaky’ phone apps targeted by nsa and gchq for user data. http://goo.gl/ksNHfH. (Verkregen op 22 Oktober 2015) iCulture. (2010). iworm misbruikt standaard wachtwoord via ssh (jailbreak). http://goo.gl/l6jFlV. (Verkregen op 14 Oktober 2015)
IPAD EN IOS SECURITY
Jang, Y.-T., Chang, S., & Tsai, Y.-J. (2014). Smartphone security: understanding smartphone users’ trust in information security management. Security and Communication Networks, 7(9), 1313–1321. doi: 10.1002/sec.787 Marwaha, G. (2014). Apple pay vs google wallet : The secure element. http://goo.gl/wGzqOc. (Verkregen op 21 Oktober 2015) Paloalto. (2015a). Keyraider: ios malware steals over 225,000 apple accounts to create free app utopia. http://goo.gl/hHIBds. (Verkregen op 22 Oktober 2015) Paloalto. (2015b). Novel malware xcodeghost modifies xcode, infects apple ios apps and hits app store.
7
http://goo.gl/FN4ZkK. (Verkregen op 11 Oktober 2015) Top500. (2013). http://goo.gl/j4Ivbz. Oktober 2015)
Top 1 systems. (Verkregen op 12
Volkskrant. (2015). Hoge raad velt definitief oordeel: ipad is een computer, geen telefoon. http://goo.gl/RMYAb7. (Verkregen op 23 Oktober 2015) Xamarin. (n.d.). Introduction to touch id - using the local authentication framework in your app. https://goo.gl/PcJmHB. (Verkregen op 15 Oktober 2015)