Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 83 reacties, 50.685 views •

Beveiligingsonderzoekers hebben een methode gevonden om de beveiliging van Android te omzeilen door een toestel in een vrieskast te leggen. Na een 'cold boot' konden de onderzoekers informatie uitlezen ondanks dat het toestel hier tegen beveiligd moet zijn.

De methode is ontwikkeld door de Erlangen University in Duitsland en wordt toepasselijk Frost genoemd. De wetenschappers demonstreerden de methode op een Galaxy Nexus, die van de laatste software was voorzien. Ondanks een gelockte bootloader slaagden de onderzoekers erin om via de Frost-tool allerlei informatie te onttrekken aan de Galaxy Nexus, waaronder encryptiesleutels maar ook persoonlijke informatie uit berichten en emails. Ook kunnen pincodes worden gekraakt.

De benodigde tools zijn door de onderzoekers als download beschikbaar gesteld en de broncode is openbaar gemaakt. Ook is er een handleiding beschikbaar. Allereerst moet een toestel ongeveer een uur lang worden bewaard bij een temperatuur van ongeveer -15 graden Celsius. Daarna moeten de Frost-tools worden geflasht via de fastboot-optie die Android biedt.

De methode maakt gebruik van het feit dat data nog een kort ogenblik aanwezig blijft in geheugen als de energietoevoer wordt stopgezet, gecombineerd met de eigenschap dat informatie langer intact blijft naarmate de temperatuur daalt. Bij mobieltjes werd deze methode nog niet eerder ingezet. "Als het 30 graden Celsius is, gaat de informatie binnen een of twee seconden verloren. Maar als je de telefoon koelt, duurt het vijf tot zes seconden voor de content verloren gaat", zegt een van de onderzoekers tegen Forbes, "Dat geeft ons genoeg tijd om het toestel te rebooten en het geheugen te benaderen."

Volgens de makers is het beveiligen van datapartities, iets dat Google vanaf Android 4.0 heeft doorgevoerd, lastig voor politie en opsporingsdiensten. Er zou namelijk vooralsnog geen andere methode zijn om de data van een Android-telefoon te verkrijgen zonder bruteforce toe te passen. Doordat Frost echter vrijelijk beschikbaar is gesteld en veel mensen beschikken over een vriezer, is het ook mogelijk dat er misbruik van de toolset wordt gemaakt.

Frost hack

Reacties (83)

Reactiefilter:-183080+156+27+30
Moderatie-faq Wijzig weergave
Vooral bij autoradio's met een anti-diefstalcode schijnt dit ook al jaren een oplossing te zijn om de radio aan te krijgen zonder te moeten zeuren om een code.
Ik vermoed dat hij een referentie maakt naar de naam van Android 4.0, te weten 'Ice Cream Sandwich' :P

In ieder geval, het is mij niet helemaal duidelijk welke broncode er openbaar is gemaakt, die van de Nexus, of van de programmas die de universiteit ontwikkeld heeft?
Uit het artikel:
Doordat Frost echter vrijelijk beschikbaar is gesteld en veel mensen beschikken over een vriezer, is het ook mogelijk dat er misbruik van de toolset wordt gemaakt.
De software van de Galaxy Nexus is overigens ook open source, maar dat is geen nieuws :)
Dit staat gewoon in de tekst!
Allereerst moet een toestel ongeveer een uur lang worden bewaard bij een temperatuur van ongeveer -15 graden Celsius. Daarna moeten de Frost-tools worden geflasht via de fastboot-optie die Android biedt.
"Als het 30 graden Celsius is, gaat de informatie binnen een of twee seconden verloren. Maar als je de telefoon koelt, duurt het vijf tot zes seconden voor de content verloren gaat"
"Dat geeft ons genoeg tijd om het toestel te rebooten en het geheugen te benaderen."
dus kortom de data word gewoon stroperiger?
Nee, maar het geheugen wel.
inderdaad, het geheugen gebruikt stroom om een bepaalde staat vast te houden, eens het geen stroom meer krijgt zal de data degenereren tot een random soepje. Het degeneren vertraagd onder invloed van koude (minder beweging op atomair niveau), waardoor de data nog intact was
Ja echt waar. Als je het artikel leest zie je dat er op dat moment na een cold boot nog sleutels uit het geheugen te halen zijn. Normaliter heb je daar een seconde of twee de tijd voor. Dat is te weinig om de sleutel op te halen. Echter in de vriezer is het vluchtige geheugen minder vluchtig en daardoor heb je een paar seconden extra de tijd. Dan lekt er waarschijnlijk minder stroom en blijven de bits langer staan.

Je verkrijgt de sleutel en je kan de beveiligde partities benaderen.
Ik vind het allemaal nogal onwaarschijnlijk klinken maar het zal wel zo zijn. Cold booten betekent volgens mij al meer dan 20 jaar een machine opstarten die uit stond.

Maar aangezien alles open schijnt te zijn lijkt het me logisch dat dat ook voor die partitiebeveiliging geldt. Hoe kan het dan onmogelijk zijn die sleutels gewoon tijdens runtime te verkrijgen?
Volgens mij moet het ook mogelijk zijn om het ding te rooten, de nodige beveiliging mbt het geheugen uit te schakelen en de keys op te halen van de locatie die waarschijnlijk is te herleiden uit de source van het OS icm bepaalde toestanden van systeemprocessen of unieke constanten die statisch in de hardware zitten. Tenminste, als dat rooten niet fake is kan je er toch vanuit gaan dat je root bent en ook alles mag zien?
Anyway, ik begrijp niet helemaal in wat voor scenario deze omzeil-truuk bruikbaar kan zijn.
Om te rooten moet volgens mij je bootloader unlocked zijn, en tijdens unlocken van je bootloader worden volgens mij al je gegevens gewist, precies om die reden. Althans, dit is wat ik begrepen heb. En al mijn gegevens werden ook gewist toen ik de bootloader van mijn Galaxy Nexus unlockte.
Dat wordt ook gesteld in het artikel: in dit experiment de telefoon moet geunlocked zijn voor het experiment. En vervolgens Flashen ze een speciale kernel erin die het geheugen analyseerd.

Maar voor politiie is het uiteraard mogelijk naar de fabrikant te stappen en te eisen dat een versie van de speciale kernel voor de politie gesigned wordt, en vervolgens deze ook op een gelocked apparaat gedraaid wordt.
En dan nog heeft de politie er niets aan, Althans, als ik het artikel goed heb begrepen, gaat het hier om een theoretische toepassing waar je in de praktijk niets aan hebt.

Of politie moet tegen crimineel X zeggen:

"Bewaar je mobiel in de vriezer. Doe vervolgens iets met je mobiel. Dan gaan wij binnen paar seconden nadat jij iets gedaan hebt met je mobiel proberen te achterhalen wat je gedaan hebt. "
Natuurlijk niet. De politie kan de telefoon gewoon aan zetten, dat is genoeg om de benodigde sleutels in het geheugen te laden (ookal weet je de unlock code niet, die controle vindt pas plaats n de bootprocedure, en om te controleren of de code klopt zal de code eerst in het geheugen geladen moeten worden).
Ik had het (denk) verkeerd begrepen. Ik dacht dat (zoals het op Tweakers beschreven staat) het om gebruikersdata ging wat NA gebruik nog enkele seconden in het geheugen bleef staan.

Maar na lezen van het oorspronkelijk artikel op https://www1.informatik.uni-erlangen.de/frost (staat overigens ook mooie handleiding met screenshots) begrijp ik dat het om encryptie sleutels gaat die bij het aanzetten altijd even in het geheugen komen te staan. Althans, als ik het nu wel goed begrepen heb :)
Nou, ik ben al vanaf mijn kindertijd bezig met computers en elektronica, maar ik wist niet dat data in het geheugen van een smartphone, volgens mij DRAM, veel langer kon blijven bestaan dan de refresh-rate die de hardware voorschrijft. Volgens mij is een fysieke geheugencel waar je de voedingsstroom af haalt praktisch direct leeg. Het lijkt me sterk dat die bij een 30 graden lagere temperatuur ineens seconden langer een bit kan vasthouden, laat staan dat er "oude" bits actief kunnen zijn wanneer je een systeem snel opnieuw opstart en dus initialiseert vanaf de bootstrap.
Wat me wel eens opviel is dat de framebufferinhoud van een (legacy) videokaart lang kan blijven bestaan, ook na een reset. Misschien moet de power er compleet af als je dat ook wil kwijtraken, dus een hardware-reboot.
Maar bij mobiel gaat het meestal om ARM/RISC-systemen. Misschien dat dat anders met RAM-geheugen omgaat.

I.i.g. gaat het niet om elektrische signalen. Het licht van mijn auto gaat altijd meteen aan, ook als het vriest. En mijn telefoon heeft ook geen delay van een aantal seconden als het -10 is.
En bij die stelling dat encryptiesleutels altijd in het geheugen zouden staan ontgaat me de logica. Die sleutels moeten eerst ergens vandaan komen: rechtsstreeks van de gebruiker of uit de permanente storage. RAM is altijd een latere vorm en simpelweg nodig om alle software te laten werken.

[Reactie gewijzigd door blorf op 16 februari 2013 17:36]

Het lijkt me sterk dat die bij een 30 graden lagere temperatuur ineens seconden langer een bit kan vasthouden, laat staan dat er "oude" bits actief kunnen zijn wanneer je een systeem snel opnieuw opstart en dus initialiseert vanaf de bootstrap.
Dus omdat jij "vanaf je kindertijd bezig bent met electronica" doe je dit hele artikel in feite af als onzin? Dat soort reacties lees je hier wel vaker op tweakers; een heel onderzoek wordt in twijfel getrokken door de naeve gedachte dat de reageerder in kwestie het wel beter zal weten dan de onderzoekers, die er op hun beurt al jaren aan studie aan besteed hebben. Denk je echt niet dat het wat realistischer is dat zij er een tikkeltje meer verstand van zouden hebben dan jijzelf?

http://en.wikipedia.org/wiki/Data_remanence#Data_in_RAM
http://en.wikipedia.org/wiki/Cold_boot_attack

[Reactie gewijzigd door .oisyn op 17 februari 2013 11:48]

De situatie is als volgt.
Je hebt en permanent opslag versleuteld om de vergelijking met je pc te trekken je harde schijf.
Om die te ontsleutelen voer je en wachtwoord in en je kunt deze data benaderen.
Dit wachtwoord kan in je geheugen/ram blijven staan mits je geheugen niet ook versleuteld is wat dus hier het geval is.
Vervolgens koelen ze je geheugen af tot -15 en rebooten ze je telefoon.
Normaal gesproken start je dan android op, wat je geheugen weer zou overschrijven en ze dus niet bij je versleutelde data kunnen komen mits jij niet het wachtwoord af geeft.
Om te voorkomen dat je geheugen overschreven word laden ze van uit de bootloader hun eigen tool frost waarmee ze door het koelen net genoeg tijd hebben om een kopie van je geheugen inhoud te maken voordat deze data vervlogen is.
Deze kopie gaan ze analyseren op informatie zoals wachtwoorden emails enz.

Hoe kun je voorkomen dat dit soort grappen bij je worden uitgehaald.
Mocht je in aanraking komen met de politie zet gelijk je telefoon uit.
Zorg ervoor dat de bootloader van je telefoon gelocked is.
Je zou ook je geheugen kunnen versleutelen, dat zou wel een enorm performance verlies betekenen wat op een telefoon niet wenselijk is.
Ook weet ik niet of dit al mogelijk is in android.

Edit
Ze onderbreken de stroom maar een paar miliseconden. Dat icm het koelen zorgt ervoor dat het nog even uitleesbaar blijft.

Hieronder is niet correct zie post van mae-t.net voor uitleg
Ik dacht dat een bit in je geheugen een heel klein elctromagnetje is dat van polariteit verandert voor 1 of nul. Als je daar maar heel kort de stroom van onderbreekt bij lage temperatuur kan ik me voor stellen dat het magnetisch veld even blijft bestaan.
Verder lijkt het me zeer practisch dat een bit langer dan de refresh rate blijft bestaan. Oneindig zelfs zolang er spanning op staat. Ander zou het betekenen dat je om data in je geheugen te houden je deze constant moet beschrijven met deze data.
Let wel mijn kennis over de fysieke werking van geheugen is beperkt dus het kan zijn dat het bovenstaande niet correct is.
Mocht er iemand wel veel verstand hebben van de werking van geheugen werp aub uw blik hierop ik ben ook benieuwd naar de exacte werking hiervan.

[Reactie gewijzigd door kaaas op 16 februari 2013 23:01]

Een bit in een DRAM-geheugen is een heel klein condensatortje.

Het klopt inderdaad dat je het geheugen constant moet herschrijven, omdat dit condensatortje anders ontlaadt. Kou vertraagt alles, dus ook dit ontlaadproces.

Een andere techniek, die echter meer transistoren per geheugencel nodig heeft, is SRAM. S staat voor statisch en betekent dat de toestand behouden blijft zolang er voedingsspanning aanwezig is.
iedereen weet dat deeltjes trager gaan bewegen bij lage temperaturen.. jij en ook zouden dan moeten weten dat je electrische signalen dan dus ook langzamer gaan (en dus langer bijven plakken in je ram...
Leuk bedacht, maar totale onzin :). Bij lagere temperaturen trillen de atomen idd langzamer, maar dat betekent juist dat een electrische stroom efficienter door het materiaal kan lopen wegens minder weerstand. Waarom denk je dat rond het absolute nulpunt supergeleiding optreedt? Dit zorgt er tevens voor dat de bits beter in het geheugen blijven, omdat de energie niet wordt omgezet in hitte door diezelfde weerstand.

[Reactie gewijzigd door .oisyn op 17 februari 2013 11:37]

Misschien hij/zij dat heeft gedaan zonder de MP3-speler ergens in te doen....
In dit experiment hebben ze de telefoon ook in een plastic zakje gedaan;
waarschijnlijk heeft het kapot gaan van je MP3 dan te maken met gecondenseerd water binnen het toestel.
Zou je niet de telefoon kunnen demonteren en het ram lokaal tot zeg -30 koelen? Blok droog ijs en een handig gemaakte mal zou al kunnen voldoen?

Op dit item kan niet meer gereageerd worden.



HTC One (M9) Samsung Galaxy S6 Grand Theft Auto V Microsoft Windows 10 Apple iPad Air 2 FIFA 15 Motorola Nexus 6 Apple iPhone 6

© 1998 - 2015 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True