Waarom gewiste bestanden niet helemaal weg zijn

© PXimport

Waarom gewiste bestanden niet helemaal weg zijn

Geplaatst: 27 juli 2022 - 05:30

Aangepast: 17 november 2022 - 08:55

Toon van Daele

Het heeft iets magisch: je verwijdert bestanden van een schijf of usb-stick, maar via datahersteltools en -technieken zijn de gewiste bestanden toch weer boven water te halen. Hoe kan dat, wat maakt het lastig en wanneer kan het niet meer?

Databestanden zijn niet zomaar weg wanneer je die in je besturingssysteem op de normale manier wist, zelfs niet wanneer je de prullenbak leeghaalt of het opslagmedium opnieuw formatteert. Dat kan een meevaller zijn als je belangrijke gegevens wilt terughalen, maar het kan ook ongewild zijn. Bijvoorbeeld wanneer je een systeem aan iemand doorgeeft in de veronderstelling dat alle persoonlijke data, zoals financiële documenten, wachtwoorden, foto’s en video’s definitief verwijderd waren.

Bestandssysteem

Het bestandssysteem bepaalt deels in welke mate gewiste bestanden nog terug te halen zijn. We beperken ons hier tot FAT/FAT32 (zoals vaak gebruikt bij usb-sticks) en NTFS (het meestgebruikte bestandssysteem onder Windows).

Wis je een bestand op een FAT-systeem, dan wordt de eerste letter van de bestandsnaam vervangen door een standaardsymbool. Tegelijk worden alle clusternummers van dat bestand in de bestandstoewijzingstabel verwijderd, dat zorg ervoor dat deze clusters worden vrijgegeven voor de opslag van nieuwe data. Alleen het nummer van de begincluster in de bestandsmap blijft nog intact. Als dat bestand gefragmenteerd (lees: in niet-aansluitende clusters) was opgeslagen, wordt het wel lastiger de dataclusters van dat bestand op te sporen.

Je kunt hier zelf leuk mee experimenteren. Bewaar een groot tekstbestand op een usb-stick die je vers met FAT32 hebt geformatteerd, zodat het in een aan elkaar grenzende clusterreeks wordt opgeslagen. Verwijder het bestand vervolgens en check het resultaat met een fysieke schijfeditor of een datahersteltool als Recuva (zie ook workshop 2). Herhaal deze procedure nadat je dit bestand eerst met Passmark Fragger hebt gefragmenteerd en vergelijk het resultaat tot dataherstel.

Bestandsherstel bij NTFS blijkt doorgaans iets makkelijker. Windows geeft ook hier de dataclusters van het gewiste bestand vrij, maar behoudt in eerste instantie bestandsinformatie zoals de complete lijst van alle gebruikte bestandsclusters (de zogenoemde run list). Je vindt een gedetailleerder beschrijving via https://kwikr.nl/ntfsdel.

Leuk als experiment: met Fragger kun je bestanden gecontroleerd fragmenteren.

© PXimport

Formatteren

Je kunt data natuurlijk ook laten verdwijnen door een volume te formatteren. Dat kan bijvoorbeeld vanuit Verkenner of via de module Schijfbeheer (diskmgmt.msc). In beide gevallen klik je met rechts op het volume en kies je Formatteren. Wat er met de gegevens in de dataclusters gebeurt, hangt ervan af of je het vinkje bij de optie Snelformatteren wel of niet laat staan. Haal je dit weg, dan wordt elke schijfsector (inclusief alle dataclusters) met een patroon als 00h overschreven, wat dataherstel nagenoeg onmogelijk maakt (zie het kader ‘Shredden’). Laat je het vinkje staan, dan worden de structuren van de bestandshuishouding leeggemaakt, zoals de bestandstoewijzingstabel en de rootmap, maar blijven de dataclusters intact – en dus ook de inhoud van de submappen aangezien die zich in het datagebied bevinden.

Bij NTFS worden alleen de eerste zestien records van de MFT (Master File Table) overschreven, maar die bevatten alleen maar metadata over de partitie. De overige records lijken weliswaar verdwenen, omdat de lengte-indicator van de MFT opnieuw is ingesteld, maar de records blijven wel intact en vallen daarom met slimme datahersteltools te herstellen.

Ssd

Niet alleen het bestandssysteem en de wijze van (her)formatteren, maar ook het opslagmedium bepaalt hoe moeilijk dataherstel kan worden. Zo blijken ssd’s lastige klanten, vooral met ingeschakelde TRIM-functie. Terwijl bij klassieke harde schijven verwijderde data meteen kunnen worden overschreven door nieuwe data, moeten die bij een ssd eerst uit het geheugen worden gewist. Het TRIM-commando zorgt ervoor dat ongebruikte geheugenblokken al vooraf worden gewist, wanneer de schijf daar de tijd voor heeft. Dit vermijdt een wisoperatie op het moment dat er nieuwe data worden opgeslagen, maar zorgt er wel voor dat per ongeluk verwijderde data zomaar kunnen worden overschreven.

Voor de TRIM-status van een ssd open je als administrator de Opdrachtprompt en voer je dit commando uit:

fsutil behavior query disabledeletenotify

Krijg je als reactie (NTFS) DisableDeleteNotify = 0 terug, dan is TRIM ingeschakeld. Met dit commando schakel je de functie uit, met het risico weliswaar dat je ssd nu iets minder goed zal presteren:

fsutil behavior set disabledeletenotify 1

Er is trouwens nog een reden waarom (professioneel) dataherstel op een ssd lastig kan zijn, met name bij een defecte ssd-controller. Sommige ssd-fabrikanten versleutelen namelijk alle data op de geheugenchips en de encryptiesleutel zit (of zat) in die controller ingebakken.

De TRIM-functie zorgt voor iets betere ssd-prestaties, maar verkleint de kans op succesvol dataherstel.

© PXimport

Shredden!

De dataclusters blijven dus na het (snel)formatteren en een wisoperatie nog een tijd intact. Is het juist je bedoeling dat verdwenen data daadwerkelijk niet meer te herstellen zijn, dan zit er weinig anders op dan die clusters te ‘shredden’ oftewel met pseudo-toevallige data te overschrijven. Overigens is een alternatief om op het opslagmedium grondig fysiek te beschadigen en zelfs dat is niet altijd succesvol. Tenzij je analyses door super uitgeruste laboratoria vreest (zoals bij sommige regeringsinstanties), is één overschrijving op moderne schijven normaliter voldoende om een succesvol dataherstel tegen te gaan.

Dat kan bijvoorbeeld met de gratis tools SDelete. Voer dit commando uit:

sdelete <bestands- of mapnaam>

Of je gaat met de tool Eraser aan de slag. Hiermee kun je trouwens ook een complete schijf(partitie) shredden. Interessant is hier de optie Unused disk space bij Target Type, waarbij je op hetzelfde tabblad ook de optie Erase cluster tips kunt aanvinken. Deze optie zorgt ervoor dat ook data tussen het bestandseinde en het clustereinde worden overschreven, aangezien zich hier eveneens privacygevoelige informatie kan bevinden.

Deel dit artikel
Voeg toe aan favorieten