Een beveiligingsonderzoeker heeft ontdekt hoe full disk encryption op het Android-besturingssysteem is te omzeilen. Door twee gaten in de beveiliging van Qualcomms TrustZone-implementatie kunnen versleutelde bestanden op de schijf worden achterhaald.
De exploit is bedacht en gepubliceerd door Gal Beniamini, die op zijn blog uitlegde hoe hij tot zijn vondst is gekomen. Volgens de beveiligingsonderzoeker kan er gebruik gemaakt worden van twee kwetsbaarheden in TrustZone, het door ARM ontwikkelde hardwarematige beveiligingssysteem dat onder andere in Qualcomm-chips wordt gebruikt. De bugs hebben de nummers CVE-2015-6639 en CVE-2016-2431 gekregen, maar zijn inmiddels al wel gepatcht door Google in updates die in januari en mei uitkwamen. Daardoor is niet duidelijk hoeveel Android-gebruikers nog vatbaar zijn voor de bugs.
Beniamini ontdekte dat het mogelijk is om de encryptiesleutels te achterhalen, door toegang te krijgen tot de zogenaamde Qualcomm Secure Execution Environment. Binnen deze omgeving kunnen bepaalde applicaties worden gedraaid, los van het Android-besturingssysteem zelf. Een van die apps is Keymaster, waarmee onder andere sleutels voor de disk-encryptie voor Android worden beheerd. Het is mogelijk de opgeslagen sleutels te extraheren uit TrustZone, om ze vervolgens te gebruiken om de encryptie te omzeilen.
Er is echter wel fysieke toegang nodig tot het apparaat om de sleutels uit TrustZone te halen; met slechts malware lukt het kwaadwillenden niet om de beveiliging te omzeilen. Er moet namelijk een image worden geflasht om TrustZone om de tuin te leiden. De methode is daarom vooral geschikt voor overheidsinstanties die in beslag genomen smartphones van verdachten willen kraken.
Om toegang te krijgen tot het bestandssysteem moet echter nog wel met een brute force-aanval het wachtwoord of de pin van de gebruiker worden achterhaald. Normaal gesproken werkt slechts het achterhalen van het wachtwoord niet, omdat deze in combinatie met de encryptiesleutel wordt gebruikt om de beveiliging in stand te houden. Ook na het achterhalen van de encryptiesleutel is het mogelijk dat gebruikers nog goed beschermd zijn; wie een lang en complex wachtwoord kiest is minder vatbaar voor een brute force-aanval.
Qualcomm is op de hoogte van de problemen met de implementatie van TrustZone, maar een snelle oplossing voor de kwetsbaarheden lijkt er niet te komen. Er zouden namelijk mogelijk hardwarewijzigingen voor nodig zijn, zo stelt Beniamini. Google introduceerde versleuteling van het bestandssysteem bij Android 5.0. Vanaf versie 6.0 stelde Google schijfversleuteling verplicht voor een deel van de Android-apparaten.
Door de beveilingsproblemen zijn gebruikers met een versleuteld bestandssysteem alsnog vatbaar voor het stelen van gegevens. Dat geldt dan wel alleen voor apparaten die zijn gebouwd op basis van een Qualcomm-soc, en dus draaien op een Android-versie die niet beschikt over de laatste beveiligingspatches. Overigens stelt Beniamini dat mogelijk ook andere chipmakers een kwetsbare implementatie van TrustZone hebben, maar dit is nog niet onderzocht.