Dram lekt encryptiesleutels harde schijf

Onderzoekers van de Princeton-universiteit hebben een manier gevonden om de encryptie van harde schijven te omzeilen. Ze maakten hiervoor gebruik van het gegeven dat de data in dram op voorspelbare wijze 'vervaagt'.

De meeste encryptiesystemen voor het versleutelen van gegevens op harde schijven kunnen als onveilig worden getypeerd, nu onderzoekers van de universiteit van Princeton een manier hebben gevonden om de encryptiesleutel uit de dram-chips te lezen, zelfs nadat de geheugenbank van het moederbord is verwijderd. Doordat de hackprocedure zeer weinig tijd in beslag neemt, kunnen ongemerkt documenten en bestanden van een computer worden gelezen. De hack is ook mogelijk bij computers die gelockt zijn of die in slapende toestand verkeren.

dram encryptiehackDe encryptiesleutel van de meeste beveiligingssystemen voor harde schijven zoals Microsofts Bitlocker en Apple's Filevault wordt bij een opgestarte computer meestal niet-versleuteld in het geheugen opgeslagen. Als de stroom wordt uitgezet blijft de data enkele seconden bewaard, zelfs als het dram wordt verwijderd van het moederbord. De data 'vervaagt' wel, maar deze ontlading verloopt geleidelijk en voorspelbaar. Door nu de dram-module in een andere notebook of desktop te steken of een externe harde schijf via usb aan de machine te koppelen, kan via speciale software de inhoud van de dram worden gekopieerd, waarna een encryptiesleutel achterhaald kan worden.

Door de ramchips met een omgekeerde bus perslucht - standaard voorhanden in het arsenaal van elke Tweaker - tot -50 graden Celcius te koelen, is de data zelfs enkele minuten houdbaar. Met vloeibare stikstof is de inhoud van dram zelfs minimaal een uur houdbaar.

Volgens de onderzoekers kunnen een aantal methoden de 'coldboot'-hack voorkomen. Zo moet software sleutels overschrijven als ze niet meer nodig zijn, moeten systeembeheerders voorkomen dat computers kunnen booten vanaf een netwerk, een externe harde schijf of een geheugenstick, of moet de sleutel gecodeerd worden opgeslagen. Geheugen dat met epoxy gefixeerd is of op het moederbord gesoldeerd is, is moeilijker om te verwijderen, terwijl ook nog nieuwe modules ontworpen kunnen worden, waarin de data sneller gewist wordt. De veiligste manier is echter om simpelweg pc of notebook uit te zetten als deze niet gebruikt wordt.

dram encryptiehack 2

Door Pieter Molenaar

22-02-2008 • 14:39

49

Reacties (49)

49
48
18
10
0
0
Wijzig sortering
Misschien een interesante discussie hierover voor de mensen die truecrypt gebruiken (waaronder ikzelf) op de truecrypt forums:

http://forums.truecrypt.org/viewtopic.php?t=9391
Ik gebruik het ook sinds vandaag, maar is het daardoor onzinnig geworden?

Als je het paswoord invoert dan zou hij uren later nog uit het geheugen te lezen moeten zijn. Hoe lang duurt die periode dan?

Het zou sowieso alleen kunnen als je de containers of disks gemount hebt terwijl er een inval is.

Het idee dat als je de stroom eruit trekt als er een inval is en veronderstelt dat je gegevens veilig zijn met truecrypt gaat dus niet meer in alle gevallen op.

[Reactie gewijzigd door REDFISH op 25 juli 2024 02:56]

Nee het is nog steeds extreem zinnig. Je vergeet namelijk dat zodra je een encrypted container unmount via truecrypt zij het handmatig zij het door gewoon windows af te sluiten de sleutel automatisch wordt verwijderd uit het geheugen door truecrypt zelf. Het is dus alleen een probleem wanneer je computer nog aanstaat de politie binnen valt en je geen tijd hebt te dismounten of de computer nortmaal uit te zetten. Of je zit bijvoorbeeld met een laptop op standby in je tas en die wordt gestolen ook dan hebben ze deze mogelijkheid.

Overigens denk ik dat een minuut of 3 voldoende tijd is om het onwerkbaar te maken om gegevens wat er in het geheugen stond nog uit te lezen mocht je je computer direct zonder netjes uitschakelen uit zetten.

Het is alleen nu dus aan te raden je computer gewoon uit te zetten of de encrypted disks of filescontainers te unmounten als je denkt dat er iemand fysieke toegang heeft tot je computer en dusdanig computerhandig is om dit soort praktijken uit te voeren. Op zich is dat altijd al het devies geweest want in principe is dit niet veel nieuws behalve dan het langer duurt voordat gegevens uit geheugen verdwijnt dan men altijd had aangenomen.

[Reactie gewijzigd door Kaasje123 op 25 juli 2024 02:56]

Ach... Het is wel vrij theoretisch. Ten eerste zou het invallende team moeten *weten* dat je zoiets gebruikt, en onmiddelijk actie moeten ondernemen om de data te redden (je computer open maken, geheugen sterk koelen, in een speciaal geprepareerd systeem prikken en uitlezen.
Ik denk dat dat in de praktijk nogal mee zal vallen. Meestal gaat in beslag genomen apparatuur toch mee naar een lab voor forensische analyse. Tegen de tijd dat ze dan het ding weer aan zetten is er niets meer terug te vinden.
Ach en dan nog kunnen ze er van alles af halen. Zelfs geëncrypot is het redelijk éénvoudig met de juiste software en rekencapaciteit de boel te ontsleutelen. Data op disk of in geheugen heeft altijd bepaalde eigenschappen die na versleuteling het zelfde blijft. Bijvoorbeeld bestandssize en/of locatie op disk. Hierdoor kan men zoeken in regio's op disk naar bijvoorbeeld 2 tot 3 bestanden van een bepaalde size. Deze zijn versleuteld. Het origineel is bekend omdat dit een OS bestand is waardoor je twee bekenden reeds gevonden hebt. Met twee bekende waarden is het uitrekenen van de derde onbekende (de sleutel) een niet zo een groot probleem als ook de encryptiemethode bekend is. Daarom is er altijd de vraag of encryptie zin heeft of niet.

Beste regel voor encryptie: OS en software niet versleutelen, data wel versleutelen. Specifieke data is namelijk nooit terug te halen doordat er twee onbekenden zijn. Van drie factoren twee onbekenden hebben maakt terugrekenen een stuk complexer.
Hangt van de manier van encrypten af. Vooral dat de size gelijk blijft gaat niet altijd op. Het verhaal m.b.t. location is wel waar, maar hier wil men zo veel mogelijk van af stappen, net zoals het in geheugen op vaste plekken dingen vastleggen, vooral om bovengenoemde reden.
Bij Truecrypt wordt de hele gereserveerde data gevuld. Je kunt dus niet zien of er files op staan of dat het random data is, wat het geval is als er lege ruimte is. Er is dus niks af te leiden aan filesizes.

Tegenwoordig laten ze bij een computerinval standaard de pc aan staan om te kijken wat allemaal draait etc. Op het truecrypt forum stond het advies, stroom uittrekken en rondjes rennen zodat ze je niet te pakken krijgen om te voorkomen dat ze gaan koelen. Maar ja als het een heel team is en ze zijn er echt op uit dan gaan de nerds natuurlijk niet achter je aan rennen.

En wat te denken van servers? Die moeten 24/7 beschikbaar zijn. Een inval zou het daar dus altijd mogelijk maken om de data uit te lezen met deze methode. Oftewel je kunt net zo goed niet encrypten. Lijkt me ook niet de bedoeling.

Met het brute force hacken valt het wel mee. Stel dat een pc 1 biljoen mogelijkheden kan testen per seconde, dan nog krijg je bij een paswoord van 21 karakters een kraaktijd van 1 tot de 20 jaren oid. Ik weet alleen niet wat op dit moment haalbaar is. Maar aangezien hedendaagse pc's al niet eens 1 Thz aan instructies per seconde kunnen verwerken lijkt me dat je wel veilig zit met zo'n paswoord.

[Reactie gewijzigd door REDFISH op 25 juli 2024 02:56]

Ik denk niet dat het zo extreem theoretisch is: iemand zijn laptop die in standby staat (uiteraard, want je wilt niet op een presentatie aankomen en dan wachten tot windows geboot is) aanzetten, daar niets mee doen omdat die (ook uiteraard) gelocked is, het geheugen afkoelen, in een testmachine steken en uitlezen lijkt me niet bepaald een onmogelijke opdracht.
Het is niet omdat het nu nog niet gedaan wordt dat het niet makkelijk doenbaar is...
Zoals ik het in dat filmpje zie, gaat dit alleen op als degene fysieke toegang tot de computer heeft.

In het stuk dat de pc vanaf de externe schijf boot, zal dit eerst in de bios aangegeven worden. Heb je een bios wachtwoord kom je nog niet verder. (Weet niet of het wachtwoord van je bios weg is als je hem reset, bv door jumper om te zetten)


Al met al, een wijze les om je pc nooit alleen achter te laten in een niet vertrouwde omgeving

[Reactie gewijzigd door Anoniem: 251533 op 25 juli 2024 02:56]

Zoals ik het in dat filmpje zie, gaat dit alleen op als degene fysieke toegang tot de computer heeft.

In het stuk dat de pc vanaf de externe schijf boot, zal dit eerst in de bios aangegeven worden. Heb je een bios wachtwoord kom je nog niet verder. (Weet niet of het wachtwoord van je bios weg is als je hem reset, bv door jumper om te zetten)


Al met al, een wijze les om je pc nooit alleen achter te laten in een niet vertrouwde omgeving
Probleem is dat die encryptie juist bedoeld is om je data te beschermen als iemand je PC meeneemt. Dus juist dat je met fysieke toegang aan de data kan komen is hier het probleem.
Wachtwoord is gewoon weg naar een bios reset dus dat is niet zo'n probleem voor de hackers. ;)
Dat was vroeger zo ja, maar op een moderne notebook heb je toch echt een probleem als je het bios wachtwoord bent vergeten en je hebt het zo ingesteld dat het ding enkel van hdd mag booten.
Dan wordt het wachtwoord namelijk in een ander ic opgeslagen.
Een BIOS flash helpt dan ook niet meer.
Klopt helemaal, hier heb ik zelf problemen mee gehad.
Kon bij een tweedehands laptop niet in de BIOS komen.
Uiteindelijk was het gelukt met een gelekt programma van de technische afdeling van het bedrijf.
De tijd die dat kost kan echter voldoende zijn om het geheugen voldoende te laten degraderen tot het onbruikbaar is.
Anoniem: 231832 @ATS25 februari 2008 09:14
In een desktop kun je en gekraakte bios plaatsen (terwijl de machine draait), om vervolgens een reset signaal aan de CPU te geven (met een koperdraadje). Gegarandeerd dat de degradatie dan miniem is.
Volgens mij heb je niet goed geluisterd ofzo.. Het is de bedoeling dat je het geheugen/hdd uit een draaiend of net uitgeschakeld systeem haalt, en in een ander systeem plaatst.
Dat andere systeem kun je natuurlijk zelf kiezen

[Reactie gewijzigd door MaZeS op 25 juli 2024 02:56]

Anoniem: 231832 24 februari 2008 13:42
DRAM Geheugen ontlaadt volgens een (voor iedere cel enigzins afwijkende) RC- karakteristiek.

Als je daar een wiskundig model op loslaat zul je zelfs zien dat het geheugen nooit helemaal weglekt, en dus in theorie altijd terug te halen is. In praktijk zal de dimm zelf niet meer in staat zijn om de data nog goed te geven na een te lange tijd. Maar je kunt met een trucje toch een aanname doen over de discrete waarde van een cel zoals die geweest zou moeten zijn.

Een bruikbare methode zou kunnen zijn:
(stel dat de DRAM module 15 min. zonder stroom is.)
Meet hoeveel energie het kost om cel Y op te laden tot een logische '1' . Vervolgens ontlaad je de cel tot een logische '0'. Daarna laad je de cel Y opnieuw tot een '1' terwijl je voor de tweede maal de energie meet die daarvoor vereist is.
Is er vervolgens een significant verschil tussen de twee metingen dan kun je stellen dat de waarde in de cel waarschijnlijk een logische '1' is geweest.
Het voordeel van deze methode is dat je het interpreteren van de hoeveelheid rest-energie in de cel niet over laat aan de logische schakeling.
Uiteraard is voor deze methode een zeer nauwkeurige coulomb meter nodig. (hoe nauwkeuriger, des te langer kan de dimm zonder stroom geweest zijn.)
Voor deze methode zul je ook moeten zorgen dat de refresh cycle niet plaatsvindt.
Een variant op deze methode is om een tweede energie meting uit te voeren, maar pas nadat:
-de module volgeschreven is met logische '1' -en, waarna je de module nogmaals 15 minuten zonder stroom laat, om vervolgens nog een keer alle cellen op te laden (hetgeen je dus gaat meten).
Nu kun je dus weer de 1e en de 2e meting te vergelijken. Nu is het tijd- effect geelimineerd, daarom zal deze methode misschien betere resultaten opleveren wanneer de timing nauwkeurig is. Eventueel kun je deze stap herhalen (met inbegrip van de 15 minuten) om de karakteristiek van de module eerst te bepalen aan de hand van gemiddelde waarden, om een beter referentiepunt te krijgen waarmee de waarden van meting 1 vergeleken worden.
Verder is het van belang dat er geen EMC storingen aanwezig zijn. Het beste wordt er gewerkt onder een constante atmosfeer (druk, vocht, temperatuur). En neem dus een stopwatch mee als je de dimm uit iemand ze laptop gaat trekken om zijn kazaa bestanden te pakken te krijgen.


De hier genoemde methode is echter niet zo eenvoudig als het experiment van de universiteit. Een praktisch bezwaar wordt gevormd door het feit dat je met 1 adres altijd meerdere bits aanspreekt. Deze oplossing werkt dus alleen als de chips slechts 1 bit breed zijn, en onafhankelijk op 'write enable' te schakelen zijn.

Zelfs al zou de methode van de Amerikaanse universiteit niet werken, dan is daar ook nog een variant op (werkt het beste bij een desktop). Het is namelijk mogelijk om met een koperdraadje de CPU een reset signaal te geven, waarna deze opnieuw gaat booten. De refresh cycle gaat in dat geval gewoon door (dit is een beetje te vergelijken met een "warm boot" ) en gaat er geen informatie verloren (behalve in de cache en registers van de CPU). Het enige bezwaar is dat je bij de soldeerverbindingen van de CPU socket moet kunnen. (dat kan bij een laptop moeilijk worden). Verder heb je de datasheet van de cpu nodig voor dit trucje. (bij bepaalde chipsets kunnen er complicaties op treden en zul je op een andere manier moeten resetten). Ik ben niet aansprakelijk voor schade aan apparatuur. :) Alles op eigen risico (gebruik een oude pc).

[Reactie gewijzigd door Anoniem: 231832 op 25 juli 2024 02:56]

Op nujij.nl schreef iemand dat dit helemaal niet mogelijk is en dat het geheugen wel degelijk direct leeg is. Kan iemand dit toelichten? Of als hij/zij het verkeerd heeft dat hier uitleggen?
====================
De meeste mensen gaan er van uit dat de inhoud van dat werkgeheugen wordt gewist op het moment dat de stroom van de computer wordt uitgeschakeld. Dat blijkt echter niet helemaal het geval te zijn: in werkelijkheid duurt het enkele seconden tot zelfs enkele minuten voor de data volledig zijn verdwenen.
====================

Computers gebruiken dynamisch ram geheugen als werkgeheugen. Dit type ram moet enkele duizenden keren per seconden een "refresh-cycle" doorlopen om de data vast te houden.

Schakel je de spanning af, dan vindt er geen refresh meer plaats en is de inhoud van het geheugen in een fractie van een seconde weggelekt.

Maar met het oog op de gecoordineerde actie van de media om het domme volk de grootst mogelijke onzin op de mouw te spelden is dit geen vreemd bericht.

Past precies in het plaatje, zullen we maar zeggen.
Hij/zij is verkeerd aan het uitleggen. Hij/zij gaat er vanuit dat data zonder refresh meteen weglekt en dat is niet geval (al tijden niet meer zo). Is al langer bekend en kon je ook gewoon vinden op de TrueCrypt site en op diverse forums. Wat wel min of meer nieuw is, is dat het koelen van het geheugen zulke grote effecten had.

Voor een correcte werking van de computer is het vele refreshen (ken niet de precieze specs, maar geloof in de orde van 10 microseconde bij Vmax) overigens wel nodig, omdat 1 verkeerde bit al desastreuze gevolgen kan hebben en je computer niet de luxe heeft om realtime en 100% succesvol allerlei error-correction algoritme's toe te passen, wat de onderzoekers in het artikel wel konden doen.

[Reactie gewijzigd door Klaus_1250 op 25 juli 2024 02:56]

Met andere woorden, het zal met ECC geheugen beter gaan...
Normaal moet DRAM geheugen (zoals het werkgeheugen van een PC) zo ongeveer elke 10 ms worden ge-refreshd. Wordt dit niet gedaan, dan zullen de bits 'leeglopen'. Dit gebeurt echter normaal gesproken erg langzaam. Als je het niet elke 10 ms maar bijvoorbeeld elke 20 ms zou verversen, dan zal het in de meeste gevallen nog wel goed gaan. Maar de fabrikant 'garandeert' alleen behoud van data als je het geheugen binnen de vereiste tijd refresht. Daarbij gaat de fabrikant dan wel uit van worst-case condities: het geheugen heeft de maximale temparatuur, de laagste voedingsspanning en de geheugenchips kwamen van een maandagochtend-batch aan de rand van de wafer. Onder ideale omstandigheden, zoals lage temperaturen, gaat het veel beter. En bovendien: als er een paar bitjes in het geheugen omvallen, dan nog zal de encryptiesleutel vaak nog intact zijn.
Ik vind het nieuwsbericht wel een beetje raar idd. In het nieuwsbericht wordt gesuggereerd dat een geheugenmodule bestaat uit héél veel condensatoren die (dus) langzaam hun lading verliezen

Zover ik weet (maar ik ben dus ook geen expert) bestaat een geheugenmodule uit een heleboel 'schakelaars' die een 1 of 0 representeren. Als de spanning wegvalt vervalt de zekerheid in welke toestand elke schakelaar zich bevond en kan (lijkt mij) de precieze inhoud van het geheugen dus niet meer vastgesteld worden.
Een DRAM geheugen bestaat uit een hele boel condensators waar de informatie inzit. Er zitten schakelaars bij om die condensators te kunnen adresseren, maar het geheugenelement is een condensator.

Normaal wordt DRAM ontworpen voor een wordt-case retentietijd van 64ms (bij de maximumtemperatuur van het geheugen) dacht ik, MAAR veel lekstromen zijn exponentieel afhankelijk van de temperatuur zodat het wel goed mogelijk is dat veel langere dataretentie gehaald kan worden...
Vroeger kon je inderdaad hier ook nog invloed op uitoefenen. Ik weet nog bij mijn eerste PC computer een 8086 was de refresh van de DRAM de grote bottleneck, koste je een aantal wait-states bij geheugen acties. Door geheugen te koelen door er bijvoorbeeld een groot koelblok met ventilator op te monteren (toen zat het geheugen nog op het moederboard gesoldeerd) kon je de temperatuur vrij laag houden terwijl de spanning werd verhoogd en de bus frequentie te verhogen en de refresh rate te halveren.

Ik weet niet of dat tegenwoordig nog zo is.
Schakelaars in het werkgeheugen staan niet continu onder spanning. Zou teveel warmte en snelheidsverlies opleveren. Ze worden eens in de zoveel tijd onder spanning gezet om hun waarde te behouden.
Ik heb zelfs een paper over Data Remenance in geheugen geschreven. Het is wel mogelijk en banken zijn sindsdien erg voorzichtig met afgedankte ATM's waar masterkeys nog in het geheugen zijn te vinden omdat ze er zolang in stonden en ingebrand zijn.

http://home.student.utwente.nl/g.r.kok/DataRemanence.pdf
ik geloof dat er wel even stroom door blijft lopen, daarom zou het denk ik mogelijk kunnen zijn.
Op een of andere manier geloof ik princeton's claim dat het wel even bewaard blijft, meer dan iemand op nujij die zegt dat het onzin is.
Het geheugen zou het moeten doen, maar doet het dus niet. Wordt er niets geschreven dan houdt de chip deze stand dus wel vast. Daarnaast geld hoe (k)ouder het geheugen, hoe langer dit duurt. Lees het pdf-je maar.
wat is hier eigenlijk het doel van?
Het doel hiervan is om gaten in de beveiliging van soft- en hardware te ontdekken om deze vervolgens te dichten. Het is goed om te weten hoe veilig je systeem is. Voor de meeste gegevens is veiligheid niet zo belangrijk, maar voor andere gegevens zoals bankgegevens, sofi-nummer en bedrijfsinformatie kan veiligheid heel belangrijk zijn.

Omdat de gemiddelde leek geen enkel idee heeft hoe gemakkelijk het is om bepaalde beveiligings producten te kraken is het goed dat er mensen zijn die dit wereldkundig maken zodat er iets aan gedaan wordt om dit te verhelpen voordat crminelen er gebruik van gaan maken.

Wat je hier zelf aan hebt is dat je misschien voortaan niet meer je notebook op standby zet of je werkstation vergrendeld achterlaat in de veronderstelling dat dit 'onkraakbaar is'. Ook kun je de accu uit de laptop verwijderen wanneer je met adapter werkt. Op die manier word het een klein beetje moeilijker om een laptop te 'jatten' terwijl deze nog draait. (al kan de dief een extra accu meenemen)

Verder kunnen BIOS fabrikanten zorgen dat bij het opstarten het geheugen gewist wordt voordat er doorgestart wordt. Zodoende zal het trucje van de Amerikaanse universiteit niet meer werken, tenzij ze de BIOS van het systeem eerst vervangen, hetgeen bij laptop's zeer moeilijk zal gaan, maar bij desktop PC's des te gemakkelijker omdat dit een losse chip is die je er uit kunt halen en kunt vervangen terwijl de PC nog gewoon aan staat.

Ook is het zo dat je geen opstart wachtwoord voor je harddisk in hoeft te voeren wanneer je uit stand-by komt, dus het is ook mogelijk om op vergelijkbare manier een met wachtwoord beveiligde harddisk te kraken.

[Reactie gewijzigd door Anoniem: 231832 op 25 juli 2024 02:56]

Zelfs wanneer BIOS-fabrikanten deze extra kost zouden maken, zou het bijna niets uitmaken. Je kan dan namelijk makkelijk het RAM-geheugen uit de laptop halen en in een pc/laptop steken met een ouder bios (aangezien die van nu nog niet over deze beperking beschikken).
Duidelijke video! Echt bizar dat er mensen zijn die zich met het schrijven van zulke software bezig houden. Het zal wel handig zijn als je 007 agent bent. :Y)
Valt wel mee ;) Dat (encryptie / decryptie) keys in het geheugen staan is al veel langer bekend (en kan ook niet anders). Wat nieuw is dat ook als de pc uit staat er nog vrij lang data in het geheugen blijft staan, in iedergeval lang genoeg om de sleutel te kunnen uitlezen. Best handig dus inderdaad voor sommige doeleinden...
Dit (deze 'hack') is echt weer zoiets waarvan je altijd dacht "naja theoretisch is dat misschien mogelijk maar dat is echt niet uitvoerbaar". Tot iemand het ook echt gewoon doet. Mooi hoor. :)
idd, was dat ook niet met een virus in een plaatje?

Werkelijk mooi om te lezen dat theorie uiteindelijk ook praktijk wordt.
niet echt bizar vind ik, ik zie het meer als een soort van test om te kijken of het wel echt veilig is en dat is het dus niet. leuk filmpje legt het goed uit. maar nog steeds moet je echt achter de laptop zitten dus zul je hem echt moeten stelen, zal bij veel computers al niet kunnen, zoals bij de overheid. is vooral een hack voor laptops
Nouja, stelen, je moet toegang hebben tot de PC. En bij de overheid binnendringen is misschien moeilijk, maar het is nu hiermee wel lucratiever geworden. (En dan heb ik het nog niet eens over rondslingerende USB sticks ;) )
Anoniem: 142554 22 februari 2008 17:53
maar hoe zit het met pgp en Etokens?
zijn toch de meeste gebruikte....
breekt de flatcable van het keyboard door de kou? :D
Is Ecc of Chipkill geheugen nu gevaarlijker dan?
Anoniem: 231832 @Hazurr25 februari 2008 09:24
ecc is in dit geval zeker gevaarlijker
Anoniem: 100910 23 februari 2008 12:49
Gewoon je privacy data met GPG/PGP versleutelen. Heel oud en effectief.

Op dit item kan niet meer gereageerd worden.