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. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 86 reacties

Twee onderzoekers van de universiteit van Californië in San Diego hebben de effectiviteit van wismethodes voor solid state drives onderzocht. Zij concluderen dat individuele bestanden wissen met de huidige technieken data intact laat.

De Californische onderzoekers van de informatica-afdeling van de Ucsd presenteerden hun onderzoek tijdens de Fast-conferentie die eerder deze maand plaatsvond. Zij onderzochten hoe data op een veilige en betrouwbare manier van solid state drives gewist kan worden: daarbij werd de effectiviteit van ata-commando's om hele schijven te wissen, softwaretechnieken om schijven te wissen en softwaretechnieken om individuele bestanden te wissen onderzocht. Alleen de eerste methode bleek, mits juist geïmplementeerd, data daadwerkelijk van ssd's te kunnen wissen. Softwaretechnieken bleken slechts deels succesvol.

Hoewel ata-commando's om de drives volledig te wissen weliswaar op ssd's evengoed werken als op conventionele harde schijven, implementeert niet iedere fabrikant deze mogelijkheid. Het inzetten van software om de gehele inhoud van schijven te wissen bleek niet universeel inzetbaar en vergde op sommige drives enkele dagen. Ook het softwarematig wissen van individuele bestanden bleek ontoereikend: in bijna geen enkel geval was alle data gewist. Afhankelijk van de gebruikte methode bleek data bijna volledig herstelbaar.

Voor de volledigheid probeerden de onderzoekers een 'degausser', een apparaat dat een zeer sterk magneetveld aanlegt. Zelfs op individuele flashchips bleek deze methode data niet te wissen. De oorzaak van de moeilijkheden bij het wissen van bestanden zochten de onderzoekers in de manier waarop flashchips met data omgaan: dankzij een andere adressering van het geheugen is dit fundamenteel anders dan bij harde schijven. Door echter low level-toegang tot de flashchips te zoeken en de flash translation layer of ftl te omzeilen, wisten ze individuele bestanden wel op een betrouwbare manier te wissen. De onderzoekers willen nu bestaande ftl's vervangen door versies die het snel en veilig wissen van data mogelijk maken.

Moderatie-faq Wijzig weergave

Reacties (86)

De oorzaak van 't probleem is (o.a.) Wear Levelling wat inhoudt dat een SSD alle geheugenblokken even veel te gebruiken (= slijtage verlagen doordat niet steeds eenzelfde block hergebruikt wordt). Daar zijn veel mensen hierboven zich niet van bewust lijkt me.

Bij een HD schrijf je naar "block X" en daar komt je data dan ook echt terecht (m.u.v. van bad block mappings en nog wat randverschijnselen); bij een SSD schrijf je naar "block X" maar deze zal door de controller "gevirtualiseerd" worden naar een (fysiek) block Y (of Z of A of...). Een bestand "overschrijven" is dan ook verdomd moeilijk tenzij de firmware van de SSD een aantal commando's expliciet voor dat gebruik kent (en ook daadwerkelijk implementeert: "Hoewel ata-commando's om de drives volledig te wissen weliswaar op ssd's evengoed werken als op conventionele harde schijven, implementeert niet iedere fabrikant deze mogelijkheid.").

Wat ik niet snap: ik als "leek" (want ik ben echt geen SSD / HD / IO kenner) had dit op voorhand van 't onderzoek al een heel eind kunnen "voorspellen"; ik neem aan dat er meer/dieper onderzocht is dan hier beschreven staat want anders is 't zonde van 't geld dat dat onderzoek gekost heeft.

[Reactie gewijzigd door RobIII op 21 februari 2011 14:49]

Lijkt me een duidelijke oplossing voor: geef SSD's een stukje firmware mee (al dan niet ingebakken, al dan niet flashable) wat er voor zorgt dat de schijf daadwerkelijk alles netjes wist. Een soort (write-protect) schakelaartje wat mij betreft zoals b.v. op USB sticks waarmee je het schrijven naar de stick voorkomt. Dus op de ssd een switch voor 'normal operation' (is wear levelling aan) en 'destroy data operation'. Zet je de pc aan en staat de SSD in 'destroy data operation' gaat 'ie rustig een paar uur bezig. Zo zie ik het voor me iig.
Dat geeft het stuk dus al aan dat deze zogenoemde "ATA sanitize commands" de enigste werkende methode lijkt te zijn, maar dat het dus klaarblijkelijk niet goed werkt op alle SSD's.

Ik dacht dat het zelfs een voorwaarde was van SSD's schijven om dit te moeten kunnen. Het is teleurstellend om te zien dat de fabrikanten hun producten verder niet eens goed testen op juiste werking.

De hardware sites kunnen nu leuk aan de slag om alle merken en modellen te testen op de werking van de interne wis functionaliteit, ik ben benieuw wie de rotte appels zullen blijken te zijn.

Voor alle bedrijven is dit dus wel een vervelend bericht aangezien het nogal een groot veiligheidsrisico is.
Wat ik niet snap: ik als "leek" had dit op voorhand van 't onderzoek al een heel eind kunnen "voorspellen"; ik neem aan dat er meer/dieper onderzocht is dan hier beschreven staat want anders is 't zonde van 't geld dat dat onderzoek gekost heeft.
Wat geschreven/beschreven staat door fabrikanten moet onderzocht worden, om te zien wat nu werkelijk gebeurt. Je kan er niet op vertrouwen dat de marketing afdeling van genoemde fabrikant niet een bloemig verhaal uit de duim heeft gezogen.

Bovendien wil men 1 standaard oplossen voor alle SSD's op dit vlak. Niet voor een OCZ methode A, en voor een Intel methode B, enzovoorts.
Inderdaad, al in het begin viel me op dat een SSD het fysieke gebeuren wel heel flexibel 'opvat'. Met een HDD een groot bestand verplaatsen van de ene naar de andere partitie kost een boel tijd; bij een SSD gaat dat ogenblikkelijk. Oftewel, er wordt fysiek niets verplaatst. Slechts de verwijzing naar het bestand wordt aangepast, vergelijkbaar met bestandsoperaties en de file allocation table van bestandssystemen. Apart idee dat partities fysiek dus compleet door elkaar lopen.

Dat werkt in de praktijk wel erg fijn maar nu blijkt dat datzelfde fenomeen het fysiek wissen van data danig in de weg staat. En tja, als zelfs een zeer sterk magnetisch veld geen enkel effect heeft dan is, zoals ik eerder al schreef, de brandstapel op dit moment nog de enige uitweg!

*edit*
In een andere situatie kan dit hele euvel misschien juist een groot voordeel zijn. Want betekent dit niet dat voor de recovery van gewiste bestanden de kans veel groter is dat dit daadwerkelijk lukt? Juist vanwege de wear-leveling zullen laatst gebruikte cellen immers niet aangesproken worden en dus blijven recent gewiste bestanden nog relatief lang op het medium staan.

Dan snap ik echter weer niet dat TRIM de data blijkbaar niet écht wist. Want was dat niet juist de bedoeling: het echt legen van geheugencellen zodat het opnieuw beschrijven zonder vertraging gebeurt?? Verwarrende materie.

[Reactie gewijzigd door 2fish op 21 februari 2011 15:22]

voor de recovery van gewiste bestanden de kans veel groter is dat dit daadwerkelijk lukt
Een interessante stelling, ik denk dat het klopt. Vrij naar de grote filosoof: elk nadeel heb z'n voordeel.
TRIM vertelt de SSD alleen dat de data bits weggegooid mogen worden. Maar er is geen reden dat ook met lege bits te beschrijven...
ik heb nooit eerder iets gelezen over dat wissen op een SSD een probleem was!?! is dit een bekend probleem?
Elke keer als men een schrijf actie uitvoert op dezelfde 'sector' word een ander geheugencel gebruikt. Dit is noodzakelijk omdat het aantal schrijfacties per cel gelimiteerd zijn (tussen 1000 & 10000x voor de goedkope MLC variant.) Door al die schrijfacties te verdelen heeft de SSD een redelijke levensduur.
Als men dit niet zou doen dan zou een gemiddelde PC na een kleine week al over de nek gaan.
Dit geld OOK voor je USB flashdrives.
Overigens is het algorithme hierachter een stuk complexer dan ik zojuist geschetst heb, de snelheid van SSDs zit hem dan ook voornamelijk in de controller.

Nadeel is natuurlijk dat je 'data' niet kan overschrijven.
Zelfs de hele SSD volschrijven is niet voldoende, omdat elke SSD extra ruimte heeft waar een gedeelte van je data alsnog zou kunnen staan.

Ik verwacht dat dit voor de geïnteresseerde tweaker bekende koek is, maar het is niet algemeen bekend.
Realiseer wel dat de gemiddelde computergebruiker denkt dat de 'recycle bin' het laatste redmiddel is en al helemaal niet weet dat één keer overschrijven van het bestand met random data' niet veilig genoeg is tegen (kostbaar) forensisch onderzoek. (Dat laatste in geval van een gewone HDD)

De controller van de SSD zou de geheugencel die 'vrijgegeven' is onmiddellijk moeten wissen en ook als Windows een 'TRIM' commando stuurt.
Dan zou de gewiste data voor de zware crimineel alleen toegankelijk zijn als de data erg waardevol is.
Misschien hebben de controllers van enterprise producten al zoiets.
Bij HDD's is één keer overschrijven met random data wél veilig genoeg. Het is een oude theorie dat je door kop uitlijningstoleratie nog halve bits zou kunnen zien. Dat was 20 jaar geleden wellicht mogelijk, maar bij de bit groottes van de moderne harddisks is dat simpelweg onmogelijk. Het is ook nog nooit gedemonstreerd dat het mogelijk is... Puur theoretisch.

Maar inderdaad, bij SSD's heb je het probleem dat hij steeds op een andere plek schrijft, zonder dat het filesysteem dat weet. Je zult daar dus low-level access moeten hebben tot de controller, om zeker te weten dat je de correctie bits overschrijft.
Anders moet je de complete SSD minstens eenmaal helemaal vol schrijven om één bestand te 'wissen'... Niet praktisch..

Wel een beetje dubieus dat ze ook een 'degausser' hebben ingezet op een SSD. Daar weet je bij voorbaat dat het niet werkt... En dat zet dan wel vraagtekens bij de kwaliteit van de rest van het onderzoek.
Wel een beetje dubieus dat ze ook een 'degausser' hebben ingezet op een SSD. Daar weet je bij voorbaat dat het niet werkt... En dat zet dan wel vraagtekens bij de kwaliteit van de rest van het onderzoek.
Mijn eerste gedachte. Aan de andere kant, bedrijven die een procedure in werking hebben voor het "onschadelijk" maken van afgedankte opslag, zouden er uit gewoonte gebruik van kunnen maken en de procedure niet aanpassen aan nieuwe techniek.

Het lijkt me sterk dat een bedrijf dergelijk stringente policies heeft, maar geen professionele IT-afdeling maar je weet nooit.

Door het in het onderzoek mee te nemen, krijgen ze er in ieder geval geen (domme) vragen over.

Even later ... Ze hadden niet verwacht dat de chips stukgingen door het magnetisch veld, maar misschien dat door inductiestromen in metalen delen van de electronica, er dermate hoge piekbelasting ontstond waardoor de chips alsnog onbruikbaar raakten.

Wat betreft 2e handsverkoop: ze stellen dat de degausser bij een traditionele schijf niet alleen z'n bitjes beschadigd, maar ook een headcrash en defecte motoren veroorzaakt.

Op de MTD-site is trouwens over flash in het algemeen veel interessants te lezen.
Ja 1x overschrijven is genoeg, ware het het niet dat moderne harde schijven dezelfde technieken als SSD gebruiken, zoals geheugen reserveren voor badblocks. Het effect is niet zo sterk als bij een SSD, maar treed wel degelijk op als het over secure data hebt.

Secure erase (sata commando) is hier ook een oplossing.
Beetje laat, maar ik wou toch ff reageren.

Ik heb ff wat lopen zoeken over het onderwerp. Het kunnen terughalen van werkelijk overschreven data is beschreven als theorie in een thesis paper en is gebaseerd op de eerste harddisks (die van 128mb). Forensische experts zeggen dat het niet mogelijk is, al helemaal niet met de moderne harddisks.
Wel heeft de NSA een richtlijn voor het veilig verwijderen van data, waarbij de data een aantal keer overschreven moet worden, maar dat is als voorzorgsmaatregel.

M'n uitspraak was hoofdzakelijk gebaseerd op de verhalen die ik vroeger over 'veilig' verwijderen tegen ben gekomen, waaronder ook die NSA richtlijn. Beetje naïef om vervolgens aan te nemen dat zulke technologie gelijk ook bestaat.

Dus bedankt voor het wijzen op m'n fout, I stand corrected.

@humbug erboven: Is het niet zo dat nieuwe data die uiteindelijk op die 'oude' cel geschreven moet worden eerst een wis-cyclus vereist? (Behalve in heel specifieke gevallen.) Dan zou het niet uitmaken of de controller dat gelijk doet. Het is maar een redenatie. Misschien dat technische limitaties van het flash-geheugen dit niet mogelijk maakt.
SSDs proberen juist het wissen zo lang mogelijk uit te stellen om zo schrijfcycli te besparen. Het is natuurlijk mogelijk om via een apart commando een echte wis actie te laten uitvoeren maar het zou niet slim zijn om standaard de cellen te wissen.
Bestanden wissen voor jouw desktop en OS is geen probleem doordat je OS (heel) simpel gezegd een bitje omzet om aan te geven dat deze leeg is. Dat in werkelijkheid alle data er nog gewoon in staat, doet er verder niet toe.

Dit wordt echter boeiend als je een SSD hebt in een gevoelige situatie zoals een overheidssysteem dat na afschrijving verkocht wordt. Dan wil je zeker weten dat er niets meer op de de SSD staat en dat blijkt dus moeilijker dan verwacht.
dus als ik het goed begrijp is de lees en schijfsnelheid van een SSD nutteloos als het gaat om het formatteren van een SSD schijf? dat klinkt namelijk nogal tegenstrijdig :?
Formatteren/deleten is eigenlijk niet meer dat het schrijven van een lege index. Dat is voor normaal gebruik voldoende en kost vrijwel geen tijd.

Omdat de schijf volgens de index leeg is, worden de daadwerkelijke oude bestanden pas overschreven als er nieuwe data geschreven wordt op de plek. Tot die tijd staat de oude data er nog.

Zie het als een Bibliotheek die zijn magazijn 'leeg' maakt door de catalogus te wissen, maar de oude boeken nog gewoon in de rekken laat staan totdat de schappen nodig zijn voor nieuwe boeken.
Volgende de index is het leeg, maar als je 'zomaar' in een rek gaat kijken, kun je nog oude boeken aantreffen.

Bij SSD's is er de extra toevoeging dat data zo min mogelijk wordt overschreven om slijtage te verminderen en er extra ruimte gereserveerd is om defecte stukken te vervangen. Je overschrijft oude data dus pas op het allerlaatste moment en zelfs als je je hele schijf vol schrijft (althans zo lijkt het), blijft er een stuk geheugen over waar nog oude data in kan staan.

De eerst worden de lege rekken gevuld en pas als alles vol is, worden oude boeken verwijderd om plaats te maken voor nieuwe. En er staan ook nog reserve-rekken tussen voor het geval een stellage het begeeft.

En verschillende fabrikanten kunnen dit ook nog eens anders implementeren.
Dus als ik bijvoorbeeld een Word of Excel bestand zou maken waar ik via bijvoorbeeld een VBA opdracht gegevens laat in schrijven van énen en nullen en dit ter grootte van mijn SSD kaartje en ik zou die data dan op een geformatteerd kaartje zetten dan zijn alle gegevens toch verdwenen. Want gij zegt toch dat de inhoud pas verdwijnt als die overschreven wordt.
Wel dan is alles toch overschreven. Voordat ik het opnieuw volgeschreven kaartje ga gebruiken formatteer ik het namelijk opnieuw. Volgens mij moet dit toch logischerwijze te doen zijn of niet dan.

Als dit kan begrijp ik niet zo goed wat dan het probleem is.
Het probleem is dat ssd's intern de blokken nogmaals verwijst.
Schrijven is een relatief traag proces (lezen, blok wissen, schrijven) en zal alle cellen gelijkmatig willen herschrijven ivm slijtage. Daarom heeft een SSD extra blokken, die niet aan het OS getoond worden. Een 80GB ssd is bijvoorbeeld intern stiekum een 96 GB ssd. En dan kan de ssd controller leuk blokken verwisselen (door te verwijzen, niet echt verwisselen).
Als jij nu een schrijfopdracht geeft naar een bepaald blok (je overschrijft bijvoorbeeld een bestand), dan kan de ssd beslissen deze gegevens naar een ander/al leeg blok schrijven (en houdt dit bij in de administratie). Het oorspronkelijke blok wordt intern gemarkeerd als vrijgegeven.
Een tijdlang kan de ssd dus nog oude data bevatten, zelfs als dat voor het OS volledig overschreven is.
Formatteren is tegenwoordig eigenlijk niets meer dan het wegschrijven van partitiegegevens en een bestandssysteem. 'Volledig' formatteren wordt tegenwoordig zo goed als niet meer gedaan, met 'snelformatteren' heb je immers ook een partitie, het kost alleen minder tijd en slijtage.
Volgens mij is het verschil tussen een 'full format' en een 'snelle format' niet meer dan een integriteitscheck tijdens het formateren. Het formatteren gaat volgens hetzelfde proces, alleen wordt dus bij een full format ook een uitgebreidde chkdsk uitgevoerd. Ofwel, heb je een hdd met wat bad sectors, dan zullen deze met de snelle methode er doorheen (kunnen) glippen. BIj een volledige format komen deze gebreken altijd naar boven... het volledig formatteren is dus nog steeds iets wat je niet mag vergeten, zeker niet als het een nieuwe schijf betreft, of juist een schijf welke al wat cycles mee gaat.
Het is iig een misconceptie dat je gegevens écht verwijderd worden als je een volledige formattering doet.
Bij Mac OSX kun je bij het installeren kiezen om de SSD te formatteren met enen en nullen. Dit kan van 1 tot 32 X.

Ik neem aan dat hierbij alle data word verwijderd? Aangezien data uit enen en nullen bestaat...
Nee, zelfs dan niet 100%. De schijf reserveert namelijk een gedeelte om uitval van NAND cellen op te vangen. Dat raak je bij 1x de schijfcapaciteit schrijven dus niet.
*Alle* SSD's hebben wear leveling algoritmes, die aan de basis van dit probleem staan. Je kunt simpelweg niet voorspellen welke cellen leeggemaakt worden op een flashdrive. Hierdoor kun je ook geen volledige format doen, het kan namelijk altijd zo zijn dat er een stukje onaangetast blijft.

Het zou natuurlijk eenvoudig op te lossen zijn door de fabrikant als die een commando + tool beschikbaar zouden maken die de schijf (zonder naar de wear leveling te kijken) compleet zou legen. Blijkbaar implementeren sommige SSD's dit wel middels het standaard ATA commando hiervoor.
de SNELHEID is inderdaad nutteloos.

Het gaat er om dat je het helemaal NIET kunt formatteren.
"Formatteren" is niet "data wissen" als in de context van dit artikel...
Misschien ben ik gewoon dom, of begrijp ik het verkeerd. Maar zoals je het uitlegd, beschrijf je het als of 1 bit meerdere malen gebruikt kan worden. Immers de oude data staat er nog wel op, maar ik hetzelfde bitje ook gebruiken voor nieuwe opslag, aangezien deze behandeld word als zijnde leeg, en kan opnieuw beschreven worden.

Zo lijkt het, voor mij enigzins logischerwijs, alsof de absolute opslagcapaciteit veel hoger ligt, of lager ligt per gemiddelde. Immers je houd rekening mee dat data toch bewaard blijft, en de bruikbare capaciteit hierdoor minder word. (hoop dat ik het zo duidelijk uitleg).

Kan iemand dit misschien toelichten?
Als je iets verwijderd wordt er alleen een bitje omgezet zodat het bestand niet langer zichtbaar is. Programma's als undelete kunnen het bestand daardoor gewoon weer terug halen.

Bij een normale harddisk kan je dit overschrijven door deze bijvoorbeeld enkel malen volledige te overschrijven met random data. Er zijn verschillende applicaties welke dit kunnen en dit wordt bij een normale harddisk goed.

Een SDD van bijvoorbeeld 128GB groot is in de praktijk slecht 115GB groot, de rest van de data is om technische redenen niet beschikbaar gemaakt. Een hiervan is om de snaleheid van de SSD op langere termijn te garanderen. In het kort komt het er op neer dat een SSD alleen snel is al deze gegevens weg schrijft naar een locatie welke leeg is. Met een tegenoemd TRIM commando zorgt het OS ervoor dat de SSD weet welke gegevens niet meer gebruikt worden en dat deze locatie opgeschoond kunnen worden.

Als je een bestand dus overschrijft blijft het oude bestand staan, wordt het nieuwe bestand op een lege plek gezet en wordt de bestand index aangepast zodat deze naar de oude locatie wijst.

Met andere woorden, de oude gegevens blijven op de SSD staan.
De bit wordt overschreven, ofterwijl de oude waarde wordt eruit gegooid en een nieuwe waarde ingezet. Een bit bevat dan niet langer de oude informatie.
Zal er wel mee te maken hebben als je je pc met ssd wil dumpen en er voor moet zorgen dat er geen info meer opstaat.

Vraag me af wat een ssd doet als je er 220 volt opzet, zouden de chips dan ook doorbranden.
Het is handiger om de schijf vol te zetten met onzin-data, bv mappen met plaatjes. Dat kun je desnoods een paar keer herhalen.
Handiger als je hem wilt doorverkopen - als je de data die eropstaat wilt vernietigen zul je toch iets extremer moeten zijn, :+. Handmatig volzetten met onzindata is overigens geen garantie dat alle oude gegevens overschreven zijn, je kunt beter met een softwaretool systematisch alle bits in gaan stellen zodat je 100% van de inhoud van de schijf gewijzigd hebt.
Wist je dat niet dan? SSD's zijn eigenlijk practisch read-only..

:+

[Reactie gewijzigd door maratropa op 21 februari 2011 14:32]

Slimme opmerking, hoe komen de bestanden er dan op ? ;)

Vaak zegt een SSD dat een plekje weer vrij is wanneer iets wordt verwijderd, het OS schrijft er daarna gewoon overheen omdat wordt aangegeven dat het vrij is. Daarom lijkt mij dat 0/1 schrijven wel zou moeten werken? (Als is dit natuurlijk niet echt wissen, maar duidelijk overschrijven? - Maar dat maakt het nog niet onmogelijk om data onbereikbaar te maken)
Daarom lijkt mij dat 0/1 schrijven wel zou moeten werken?
Nee, dat werkt niet, omdat je niet zelf kunt bepalen wáár je die nullen en enen schrijft. De controller van de SSD kiest zelf een plekje uit dat 'vrij' is en houdt daarnaast ook nog rekening met het aantal keren dat individuele cellen reeds beschreven zijn.
Waarom is het niet voldoende om de hele SSD vol te zetten met 4KB bestanden met random data?

Ik heb even de paper doorgenomen: Het probleem is dat SSDs stiekem veel meer geheugen hebben en bestanden tot 16 (gedeeltelijke) kopieën omdat er steeds op een schoon stukje geheugen wordt geschreven.

De meeste firmwares hebben geen functionaliteit om alles weg te halen waardoor je met custom firmware toch nog restant-data kan uitlezen.

[Reactie gewijzigd door bredend op 21 februari 2011 15:11]

Krijg je dan niet ook gedeeltelijk gewiste blokken? of kan dat niet? In dat geval kleinere files?
Het probleem is dat dat je zelfs al heb je een blok gewist je nog steeds kan meten wat er voor heen op stond.

Zo iets als de elektronische versie van potlood en door druk op de volgende pagina van een kladblok.

Bij, HDD is dit probleem zich ook voor hoewel op een andere manier, maar daar kan men ook door verschillen te meten in de magnetische veld op de hardschijf.
En pas na 7x de schijf te vullen met random data kan men er zeker van zijn dat originele data niet meer is te reconstrueren.

@Jace
Zeg ik niet het zelfde met: "En pas na 7x de schijf te vullen met random data"

En als je het artikel goed leest, zie je dat gewone methode niet werkt bij SSDs, en als de data belangrijk genoeg is, men er de tijd in kan investeren om de data terug te halen.

Stel me zo voor dat als, Rusland, China of zelfs Nederland, een gebruikte SSD in handen krijgt waar alle CIA spionnen op staan, dat men hard aan het werk gaat ene tracht deze data te achterhalen, en de kans zelfs aanzienlijk is dat men de data zelfs terug kan halen.

[Reactie gewijzigd door player-x op 21 februari 2011 15:27]

Bij, HDD is dit probleem zich ook voor hoewel op een andere manier, maar daar kan men ook door verschillen te meten in de magnetische veld op de hardschijf.
En pas na 7x de schijf te vullen met random data kan men er zeker van zijn dat originele data niet meer is te reconstrueren.
Allemaal niet nodig... Eén keer volledig overschrijven is voldoende. Ik heb dat hier al honderd keer geschreven. Het is gewoon een hardnekkige mythe dat je zoveel keer eventueel met speciale patronen moet overschrijven.

In theorie bestaat er een statistische methode waarmee je theoretisch gezien een deel van de data kan terughalen. Wanneer we dit echter naar de praktijk vertalen dan blijkt dat totaal niet te lukken. 1) De betrouwbaarheid waarmee de data teruggehaald kan worden is véél te laag. Voor een eenvoudig tekstbestandje is het misschien (zelfs dat betwijfel ik) leesbaar, maar vanaf dat je naar complexe datastructuren gaat is het hopeloos. Om nog maar te zwijgen van een geencrypteerde file waarbij één omgevallen bitje fataal is. Succes! 2) Om die magneetvelden uit te lezen heb je MFM microscopen nodig, iets wat natuurlijk iedereen in zijn huiskamer heeft staan. 3) Het gaat zooooo traag dat je niet binnen een aanvaardbare tijd wat data kan uitlezen.

Dus tenzij jij met een paper komt waarin is aangetoond dat effectief data teruggehaald is geweest, is duidelijk ontkracht dat het niet gaat.
Er zijn nota bene verschillende wedstrijden op internet die prijzengeld beloven aan iemand die data kan terughalen van een schijf die éénmaal volledig overschreven is. Daar is tot nu toe nog niemand in geslaagd.
Het probleem is dat dat je zelfs al heb je een blok gewist je nog steeds kan meten wat er voor heen op stond.
Als je er random data overheen schrijft (helemaal een paar keer, voor de echte paranoia) is dat echt niet te lezen. En anders past er 256 GB op een 128 GB ssd.
Er past 256 GB op een 128GB sandforce SSD ;)

En 2TB en 2PB. De schijf volzetten met comprimeerbare data wist dus niet alle cellen. De schijf zegt gewoon "vol" ondanks dat een groot deel van de cellen op dat moment niet gebruikt wordt

[Reactie gewijzigd door humbug op 21 februari 2011 15:33]

Er past inderdaad meer op een SSD dan de capaciteit aangeeft. De SSD houdt blokken achter de hand die het gebruikt als andere blokken stuk gaan. Daarom werken de standaard overschrijf tooltjes niet, de overschrijven die verborgen reserve blokken niet.
Random data op zich is niet goed genoeg: toch is vaak met geavanceerde technieken nog data terug te halen door actief te zoeken naar bijvoorbeeld headers van bepaalde bestandstypen en de 'meest waarschijnlijke bit' te achterhalen.

Hoe het precies werkt weet ik niet, maar ik kan me voorstellen dat een bit-ruimte die heel vaak op 1 is gezet, 'meer' op 1 staat dan eentje die maar 1x op 1 is gezet; een subtiel verschil in magnetische polariteit of iets in die trant. Misschien dat iemand anders met voldoende kennis er meer over kan vertellen.
Random data op zich is niet goed genoeg: toch is vaak met geavanceerde technieken nog data terug te halen door actief te zoeken naar bijvoorbeeld headers van bepaalde bestandstypen en de 'meest waarschijnlijke bit' te achterhalen.
Dat is te doen met magnetische opslag waar er altijd wat magnetische 'residu' overblijft, maar iets dergelijks lijkt me met flash memory knap lastig. Maar wellicht dat de stroomsterkte van een geheugencel idd ook afhankelijk is van eerdere schrijf-acties.

Maar wat me met SSD een groter probleem lijkt is dat de schijf intern meer geheugencellen aan boord heeft dan direct bruikbaar is. De flash controller zal gebruikte blokken en ongebruikte blokken steeds afwisselen om de schijf zo lang mogelijk mee te laten gaan (aangezien hij maar een X aantal schrijfacties kan doen per blok). Als jij dus data overschrijft, dan wordt er gewoon een nieuw blok gebruikt voor die data, en de oude data staat dan vervolgens nog op een oud blok.
Zelfs bij magnetisch opslag is dat naar mijn weten nog nooit aangetoond. En bij moderne schijven zelfs simpelweg onmogelijk, omdat de bits te klein worden. De bits zijn tegenwoordig per definitie single-domain, en dus is er simpwelg geen residu.

Bij flash lijkt me het ook zeer twijfelachtig.... nog even daargelaten dat een normale flash controller zeer zeker geen mogelijkheid zou hebben eventuele spanningsverschillen uit te lezen. Die wil alleen 0 of 1 zien.
Zelfs bij magnetisch opslag is dat naar mijn weten nog nooit aangetoond.
Bij mijn weten (en nee, ik heb 't niet uit CSI) kun je zelfs van "gewoon RAM" nog tot een half uur nadat een PC is uitgezet relatief betrouwbaar 'residu' uit het geheugen lezen. Dat lijkt me dan bij een persistent medium als een HDD of SSD alleen maar beter mogelijk :?
nog even daargelaten dat een normale flash controller zeer zeker geen mogelijkheid zou hebben eventuele spanningsverschillen uit te lezen. Die wil alleen 0 of 1 zien.
Dat lijkt me dan ook de crux. Als je voor "CSI doeleinden" zo'n medium wil uitlezen hang je 'm niet "effe in een PC" maar laat je er state-of-the-art apparatuur op los en zal zo'n controller echt wel ge-bypassed worden door een ander/beter exemplaar. Of ze dat dan doen door (bijv. bij een HDD) de print te vervangen of ze lezen voor mijn part de fysieke schijven uit met een quantum-flux-capacitor dat doet niet terzake; het kan, AFAIK althans, wel.
Bij mijn weten (en nee, ik heb 't niet uit CSI) kun je zelfs van "gewoon RAM" nog tot een half uur nadat een PC is uitgezet relatief betrouwbaar 'residu' uit het geheugen lezen. Dat lijkt me dan bij een persistent medium als een HDD of SSD alleen maar beter mogelijk :?
Euh, dat is heel wat anders. Waar jij het over hebt is een Cold boot attack waarbij het RAM uit te lezen is nadat de stroom er af is gehaald, niet nadat het overschreven is!

Het gaat hier om het achterhalen van gegevens nadat deze overschreven zijn. En dat is voor normale harddisks niet praktisch mogelijk. Er zweven op het internet enorm veel mythes rond over dat je 3x, 7x, 35x of weetikwat moet overschrijven met ingestraalde random data om een harddisk echt te wipen, maar dat is nooit substantieel onderbouwd.

Een (wel onderbouwd) paper over dit onderwerp concludeert dat de theorie enige waarheid bevat, maar niet in praktische zin toepasbaar is omdat het residu te klein is vergeleken bij de van nature voorkomende schommelingen. De onderzoeksresultaten waren dat een individuele bit met een kans van ten hoogste 56% correct gerecovered kon worden. De kans dat een individueel 32-bit word in zijn geheel recovered kan worden is daarmee ongeveer één op 10 miljard in het beste geval.

Ik zou willen zeggen, als je je data wil kunnen wipen, gebruik dan in godsnaam encryptie (met de key op een ander opslagmedium). Als je dan de key wist is de data niet meer toegankelijk. Voer nog een simpele enkelvoudige wipe uit, en je hoeft je nergens zorgen om te maken.

En als je echt paranoide bent is er toch maar één oplossing: kill it with fire.
Waarschijnlijk omdat het veel tijdrovender is dan bij een gewone hdd. Nu maakt dat voor de gewone consument niet zoveel uit maar voor bedrijven wordt het dan aan kostbare aangelegenheid.
Het meerdere malen overschrijven van de schijf verwijdert alle gegevens, maar vanwege de Flash Translation Layer (FTL) is dit een stuk gecompliceerder en veel tijdsintensiever dan bij traditionele harde schijven. De onderzoekers stellen dan ook dat deze optie niet zo aantrekkelijk voor bedrijven is.
bron: http://www.security.nl/ar...ven_lastig_te_wissen.html

[Reactie gewijzigd door Mils op 21 februari 2011 14:44]

Volgens mij is het dan nog niet mogelijk de gehele schijf te wissen vanwege de wear-leveling in de ssd. Veel schijven hebben nog vele GB's als "reserve" bitjes afgeschermt om de slijtage van de chips een beetje te spreiden. Deze "reserve" bitjes worden dan niet beschreven met die random data. Er zijn vast tools om deze reserve bitjes dan alsnog uit te lezen.
Ik denk dat het probleem vooral is dat bij het overschrijven van byte x (bij wissen niet veel anders) stiekem het ergens anders wordt weggeschreven zodat iedere byte van het medium zo min mogelijk aantal schrijfacties heeft gehad.
Euh ja, je herhaalt precies wat satoer zegt ;)
Nee... Ook zonder reserve bits kun je aan wear leveling doen.

Die reserve bits worden trouwens óók met random data beschreven... zolang je maar genoeg data schrijft. Immers, de schijf heeft geen weet van echte en random data.
Volgens mij zal een magnetron wonderen doen bij het wissen van de data, daar die in tegenstelling van een sterk magnetisch veld van een degausser, wat uiteraard prima werkt op de magnetisch laag van een HDD plaat, de magnetron letterlijk de chips intern smelt.
Ja, maar de schijf moet nog wel te gebruiken zijn lijkt me. Anders kan je er net zo goed met een een hamer op rammen, is een stuk sneller dan een poging tot formatteren doen...
Geen enkele firma of overheid dat kritieke data beheert zal een HDD of een SSD hergebruiken.

Heb veel vrienden in de IT.

De net-amin, van een ingenieurs bureau waar ik mijn server van heb gekregen, en een goede vriend van me die me 100% vertrouwd, gaf me niet de 10x 146GB 10k rpm SCSI schijven, omdat ze contractueel verplicht zijn ze letterlijk te vernietigen.
Het zelfde geld voor een vriend die op de IT werkt in een ziekenhuis, en ook het zelfde geld voor een andere vriend die bij ING werkt
En bij mij op werk (Statoil) geld de zelfde regels geen opslagmedia gaat de deur uit, en PCs van gebruikers met verhoogde toegang hebben zelfs geen USB meer, en zijn terug gegaan naar PS2 voor muis en toetsenbord, en geld zelfs voor de directeur van de plant waar ik werk.
Hoe vaak is het al niet voorgekomen dat een overheid/zeikenhuis/whatever oude pc's verkoopt en enkele dagen later staat in de gazetten dat de drives zelfs niet geformatteerd waren, of de data toch simpel te herstellen.
Het gebeurd natuurlijk, maar veel minder als voor heen, en alleen nu voornamelijk allen bij kleine instelling die geen goed gedefinieerde IT procedures hebben.

Elke zelf respecterende bedrijf of overheidsinstelling vandaag de dag wil niet met zijn broek op zijn knieën gevonden worden.
Ik denk dat niet iedereen zich er van bewust is dat data standaard niet overschreven wordt maar op een lege plek wordt opgeslagen. Dit betekend dat bij het wissen blijkbaar dat een deel van de SSD niet zal worden overschreven omdat deze niet leeg is. Effectief zou deze data dus terug te halen zijn.

Het is als zodanig niet nieuw alleen niet eerder zo onder de aandacht geweest.

Was een reactie op: IIsnickerII

[Reactie gewijzigd door Webaccess op 21 februari 2011 14:35]

Let wel dat je juist meer geavanceerde technieken nodig hebt voor het terughalen van een SSD ten opzichte van een HDD. Een undelete tool werkt wel op een HDD, maar niet op mijn Intel SSD (met trim aan.)

Ik heb een keer een undelete uitgevoerd direct na het verwijderen. Hij haalt de bestanden (naam en afmeting) terug, maar ze zijn volledig gevuld met nullen. Het lijkt er dus op dat je sowieso om de controller heen moet voor het terughalen. Iets wat op een HDD niet per se nodig is.
En hoe zit het dan met programma's als filschredder? Dat overschrijft een bestand toch enkele keren bij het verwijderen zodat er niet van kan teruggevonden worden? Werkt dat dan niet met ssd's?
Nee... want in tegenstelling tot een HDD, weet het filesysteem bij een SSD niet waar het bestand fysiek staat. Dat is vanwege de wear-leveling, die er voor zorgt dat gemiddeld alle delen van de SSD evenredig gebruikt worden.

Waar je bij een HDD inderdaad 10x op dezelfde plek kan schrijven, zal een SSD op 10 verschillende posities in zijn geheugen schrijven, om zo te zorgen dat alles even snel slijdt...
Als het geld voor SSD dus ook voor USB-sticks. Veilig verwijderen van USB-sticks kan dus óók niet!
Een USB-stick heeft een veel eenvoudigere controller over het algemeen waar het dus wel mee zou kunnen.
Dus de enige echt betrouwbare wismethode voor de consument, als het om zeer geheime dan wel illegale data gaat, is de brandstapel. ;)

Wellicht is een partitie met zeer sterke encryptie ook wel aan te raden, waarbij de encryptie natuurlijk in het OS gebeurt. Op die manier kun je een drive gewoon ongestoord 'wissen' en afschrijven. De volgende eigenaar kan er toch niks mee.
Wellicht is een partitie met zeer sterke encryptie ook wel aan te raden, waarbij de encryptie natuurlijk in het OS gebeurt. Op die manier kun je een drive gewoon ongestoord 'wissen' en afschrijven. De volgende eigenaar kan er toch niks mee.
idd, die pedofiel had zijn hd versleuteld met truecrypt en de politie kan er zefs niet in.
Ssd gebruiken die OPAL van de TCG ondersteunt en dmv secure erase wissen.
Zo'n drive gebruikt altijd encryptie en met een secure erase wordt de sleutel weggegooid waardoor de data niet meer te achterhalen is.

Het is natuurlijk altijd mogelijk dat er door de fabrikant een achterdeurtje is ingebouwd, maar dat geldt voor alle apparatuur/software die gebruikt maakt van encryptie.
Kan je niet gewoon overschrijven met nullen zoals met andere veilige formatteer methodes?
Dat gaat niet lukken vanwege de hierboven al veel genoemde wear levelling, maar daarnaast wordt (bij SandForce SSD's) de data ook nog eens gecomprimeerd. Een 120GB groot bestand met alleen maar nullen erin zal op zo'n SSD maar bar weinig cellen overschrijven (heb je wel meteen een gigantische hoeveelheid aan reserve cellen).
nee, een sandforce controller schrijft dan iets van: 0 128000000000 weg. En de rest van de cellen blijft ongewijzigd

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 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