Ingrediënten
Een simkaart hacken en overnemen door er een sms'je naar te sturen. Het klinkt als iets uit een Hollywood-film, als iets dat eigenlijk niet mogelijk zou moeten zijn. Dat het wel degelijk kan, ontdekte de Duitse beveiligingsonderzoeker Karsten Nohl. Dat Nohl daar in slaagde, werd vorige week al bekend, maar de precieze details bracht de Duitse beveiligingsonderzoeker pas woensdag naar buiten, tijdens de Black Hat-beveiligingsconferentie in Las Vegas. Voorafgaand aan zijn presentatie sprak Tweakers met hem.
Binair sms'en
Voor het hacken van een simkaart heb je verrassend weinig nodig: een computer, en een manier om binaire sms-berichten te verzenden. "En een computer hebben de meeste mensen toch al", tekent Nohl aan. Om binaire sms-berichten te kunnen verzenden, kan een oude telefoon met alternatieve baseband-firmware worden gebruikt, zoals Osmocon. "Je kunt bijvoorbeeld oude Motorola's gebruiken, maar dat hoeft niet. Er zijn ook diensten op internet waarmee je voor iets meer dan honderd euro tienduizend sms'jes kunt versturen."
Natuurlijk ben je er nog niet met het sturen van een binaire sms: vervolgens moet de simkaart van de ontvanger om de tuin worden geleid om zijn geheimen prijs te geven. De sms-hacker-in-spé moet een sms-bericht versturen van het soort dat normaliter enkel door een telecomprovider wordt verstuurd, om instellingen op de simkaart te wijzigen. Dat soort sms-berichten, 'over the air programming' genoemd, blijft ongezien voor de gebruiker.
Een simkaart accepteert niet zomaar instructies van elke afzender: een commando moet zijn voorzien van een cryptografische handtekening. Precies die handtekening kan in een deel van de gevallen worden ontfutseld, mits de simkaart aan twee voorwaarden voldoet. Een deel van de simkaarten geeft op een ongeldig 'commando-bericht' een antwoord terug, waarin een zogenoemde checksum staat.

In een deel van de gevallen zijn die checksum en de bijbehorende handtekening niet krachtig genoeg, zo maakte Nohl eerder al bekend: er wordt dan gebruikgemaakt van het sterk verouderde des-encryptie-algoritme, dat een sleutel van slechts 56bits gebruikt. Tijdens Black Hat onthulde Nohl echter dat ook simkaarten met het nieuwe, veiligere 3des-algoritme kwetsbaar kunnen zijn. Hoewel het algoritme an sich veilig is, kunnen sommige simkaarten toch worden gekraakt door de simkaart ertoe te verleiden over te stappen op het onveilige des-algoritme. "Dat mag eigenlijk niet van de 3des-standaard", aldus Nohl - maar sommige kaarten doen het toch.
Rainbow tables
Met de checksum in handen is aan de eerste van de twee voorwaarden voldaan omdat daarmee de inhoud van het sms-bericht dat is verzonden, kan worden geverifieerd. Wat dan nog ontbreekt is de tweede voorwaarde: de handtekening die wordt gebruikt door de telecomprovider om commando's aan de telefoon te ondertekenen.

Bij de onveilige simkaarten is die handtekening echter wel uit de checksum af te leiden. Om dat te kunnen doen, is een programmeur met wat cryptografische skills vereist, stelt Nohl. Er moeten rainbow tables worden aangelegd; een soort telefoonboek waarin cryptografische hashes aan de oorspronkelijke, platte tekst worden gekoppeld. In dit geval kost het aanleggen van de rainbow table op normale, doorsnee hardware een jaar, maar daarna kan elke checksum binnen een minuut worden gekoppeld aan de bijbehorende handtekening. Op krachtigere hardware kan de rainbow table bovendien sneller worden aangelegd.
De rainbow tables zijn overigens niet in alle gevallen succesvol: niet alle checksums kunnen aan een handtekening worden gekoppeld. Een brute force-aanval, waarbij alle mogelijke combinaties worden geprobeerd tot de juiste is gevonden, werkt wel altijd, mits de getroffen simkaart over de verouderde des-encryptie beschikt. Die methode is echter echter duur of erg tijdrovend. Op een gpu van duizend euro kost het brute-forcen van de des-handtekening zes maanden; op een fpga-cluster kost het brute-forcen een dag, maar daarvoor is wel een cluster van om en nabij de 50.000 euro nodig.
Jackpot!
Beschikt de aanvaller eenmaal over de cryptografische handtekening, dan heeft deze evenveel macht over de simkaart als de provider. Om die macht op waarde te kunnen schatten, is het belangrijk om te weten dat een simkaart meer is dan enkel een chipje dat wordt gebruikt om de telefonie-abonnee op het netwerk te authenticeren: het is simpelweg een computer met een besturingssysteem.
Een van de dingen die een simkaart kan, is het corrigeren van telefoonnummers voor uitgaande gesprekken. "Een simkaart kan de telefoon instrueren om uitgaande telefoonnummers te laten zien aan de simkaart en ze eventueel te corrigeren", aldus Nohl. Dat kan in de praktijk nuttig zijn, bijvoorbeeld als gebruikers in het buitenland zijn en met een Nederlands nummer willen bellen, maar er geen '+31' voor hebben gezet. De simkaart snapt dat, en voegt die land-extensie zelf toe.
Ook voor providers is die functie handig. "Stel je voor dat je met je Nederlandse simkaart in de Verenigde Staten bent, en je belt mij in Duitsland", aldus Nohl. "Jouw provider heeft waarschijnlijk geen goede deal voor gesprekken vanuit de Verenigde Staten naar Duitsland, omdat dat zelden gebeurt. Maar ze hebben wel goede deals voor gesprekken vanuit de Verenigde Staten naar Nederland, en van Nederland naar Duitsland." Waar providers dan voor kunnen kiezen, is om telefoongesprekken eerst naar Nederland door te sluizen, en ze vanuit daar te forward-connecten naar Duitsland. Die functionaliteit kan voor kwaadwillenden die een simkaart hebben gehackt, echter ook worden gebruikt om telefoongesprekken af te luisteren, door het telefoongesprek om te leiden via een server die het gesprek opneemt.
Telefoonverkeer ontsleutelen
Dat is niet de enige manier om het gesprek af te luisteren: met de cryptografische handtekening is het eveneens mogelijk om het 2g-, 3g- en 4g-verkeer dat de telefoon verstuurt, te ontsleutelen. Daarbij gaat het zowel om data- als telefonieverkeer. Uiteraard moet daarvoor wel het telefoonverkeer worden onderschept, maar normaliter is enkel telefonieverkeer via 2g af te luisteren. Voor dat laatste was Karsten Nohl zelf verantwoordelijk. Nohl tekent aan dat deze exploit vooral nuttig is in landen waar veel gebruikers getroffen simkaarten hebben.
Kwaadwillenden kunnen simkaarten in hun macht ook instrueren om op de achtergrond gesprekken met dure 0900-nummers te voeren of sms-berichten naar prijzige sms-boxes te versturen. "Daarmee kun je hetzelfde als telefoonmalware, maar tref je ook de mensen die niet zo dom zijn om op een viruslink te kikken", zegt Nohl. Ook kan de server die wordt gebruikt om sms-berichten te versturen worden gewijzigd, waardoor het in de praktijk mogelijk wordt om sms-berichten te onderscheppen.
Sandboxing
Nohl slaagde er ook in dingen te doen die providers eigenlijk niet zouden moeten kunnen. Simkaarten kunnen Java-applicaties draaien; normaliter zijn die van elkaar gescheiden met behulp van sandboxing, een beveiligingsmaatregel om verschillende applicaties in gescheiden silo's te draaien. Daarmee moet worden voorkomen dat applicaties worden getroffen door beveiligingsproblemen in andere applicaties. Nohl en zijn team slaagden er echter in om de sandboxing-beveiliging van twee typen simkaarten te omzeilen.
/i/1375276118.jpeg?f=imagenormal)
Dat is bijvoorbeeld een gevaar voor telefoniegebruikers in landen waar simkaarten worden gebruikt om betalingen te authenticeren. "Dat gebeurt vooral in Afrika en Zuid-Amerika", aldus Nohl. Door de simkaart te hacken en de sandbox-beveiliging te kraken, zou het in die landen in theorie mogelijk zijn om betalingsverkeer te onderscheppen, maar dat is niet in de praktijk aangetoond.
Impact
Nohl heeft goed nieuws voor abonnees in Nederland en België: de gevolgen zijn hier op dit moment beperkt. "Het is niet echt een gevaar meer voor de meeste abonnees. Dat is wel een verschil met vorige week", aldus Nohl. Toen het nieuws naar buiten kwam, waren veel gebruikers nog kwetsbaar, maar inmiddels hebben veel providers al maatregelen genomen.
De beveiligingsonderzoeker wil geen namen noemen, maar zegt dat 'het helpt dat twee van de drie providers in Nederland onderdeel zijn van grotere families', daarmee doelend op Vodafone en T-Mobile. "Maar ook de overgebleven provider heeft zijn best gedaan", aldus Nohl, daarmee doelend op KPN. Hij wil niet aangeven of hij er in is geslaagd om Nederlandse simkaarten te hacken; volgens hem is dat niet relevant. "We hebben een relatief kleine hoeveelheid simkaarten gehackt, als daar Nederlandse simkaarten tussenzitten zegt dat niet zo veel", zegt Nohl. Eerder zeiden T-Mobile en Vodafone niet getroffen te zijn.
Niet alle providers waren goed bezig: volgens Nohl zagen niet alle providers in hoe belangrijk het was om de problemen snel op te lossen. Ook de fabrikanten van de simkaarten, waaronder het Nederlandse Gemalto, valt volgens hem het nodige te verwijten: ze zouden niet snel genoeg zijn overgestapt op het veiligere 3des.

Karsten Nohl op Black Hat.
De beveiligingsonderzoeker en zijn team brachten hun onderzoek naar buiten via responsible disclosure: daarbij wordt een kwetsbaarheid pas uit de doeken gedaan als betrokken partijen de kans hebben gehad om hun beveiliging op orde te brengen. In het verleden werd er wel eens negatief gereageerd als onderzoekers problemen naar buiten wilden brengen, maar volgens Nohl valt dat inmiddels mee: volgens hem zien veel bedrijven in dat ze onderzoekers toch niet kunnen weerhouden van publicatie en zien ze het inmiddels als gratis beveiligingsonderzoek, in plaats van een bedreiging.
Innovatieve oplossingen
Nohl zegt blij te zijn dat veel providers snel hebben gehandeld, voordat kwaadwillenden de kans hebben gekregen om misbruik te maken van de aan het licht gebrachte kwetsbaarheden. Een paar maanden geleden lichtte Nohl de providers in, via de GSM Association, en Nohl zegt verrast te zijn door de soms innovatieve oplossingen voor de problemen. "Sommige oplossingen hadden we zelf niet eens kunnen bedenken", aldus Nohl.
Zo heeft een provider de kwetsbaarheden in Java op de simkaart gebruikt om over te stappen van het verouderde des-algorime naar het veilige 3des. "Er is geen commando op de simkaart waarmee dat kan", zegt Nohl, "maar met deze hack kon dat wel. Ik vind het leuk om te zien dat providers hackmethoden gebruiken om hun beveiliging te verbeteren."
Providers kunnen zich ook op andere manieren wapenen tegen de aanval, bijvoorbeeld door de sms-berichten met de kwetsbare handtekening te blokkeren. Ook kunnen getroffen simkaarten worden vervangen of kan over the air programming worden uitgeschakeld, maar dan kunnen providers helemaal geen bewerkingen uitvoeren op de betreffende telefoons.
Nohl maakt zich evenwel zorgen om providers buiten Europa. "We hebben over dit probleem vooral contact gehad met Europese providers en weinig met providers van buiten Europa. Het kan zijn dat ze hun eigen experts hebben ingeschakeld, maar als het betekent dat ze zich simpelweg niet zo druk maken over dit probleem, dan is dat reden tot zorg." Vooral in Afrika en Zuid-Amerika, waar telefoons voor betalingen worden gebruikt, kan dat een probleem zijn.
Bovendien verwacht Nohl dat aanvallers hun pijlen nu in toenemende mate op simkaarten zullen richten, nu de kwetsbaarheden aan het licht zijn gekomen. "Als je de deur naar een hack opent, gaat hij niet meer dicht", aldus de beveiligingsonderzoeker. "Neem de exploit in de Java-sandbox. We hebben één bug gevonden, maar er zijn er honderden", aldus Nohl. "En we hebben niet eens zo lang gekeken." De gevaren voor providers en telefoongebruikers zijn, kortom, nog niet helemaal verdwenen.