Sve je više ljudi upoznato s činjenicom da brisanje datoteke ne znači njeno trajno brisanje s računala. Postoje programski alati kao i sklopovlje kojim se ti podaci mogu rekonstruirati.
Osim datoteka koje korisnici sami kreiraju, operacijski sustavi ponekad kreiraju skrivene datoteke koje služe za brže izvođenje procesa ili za privremenu pohranu podataka. Ti podaci jednako tako ostaju pohranjeni na disku kao i datoteke od korisnika.
Bilo da je riječ o datotekama koje se žele trajno izbrisati ili o disku kojeg se planira pokloniti, baciti ili nešto slično, preporučljivo je koristiti neki od alata opisanih u ovom dokumentu. Ukoliko je riječ o izuzetno osjetljivim podacima, vrijedi razmisliti i o licenciranim komercijalnim alatima kako bi se disk očistio ili sanirao. Ovaj dokument pruža pregled popularnih metoda za čišćenje i saniranje diskova kao i besplatnih alata koji koriste te metode u svrhu trajnog uklanjanja podataka.
Različiti operacijski sustavi imaju različite načine pohrane detalja o podacima na disku (FAT i MFT tablice za Windows, HFS tablica za Mac OS, Superblok za Linux). No iako se radi o različitim metodama pohrane, svi oni koriste jednaku proceduru brisanja datoteka. Lokacija na kojoj se nalazi datoteka se u alokacijskoj tablici označava kao slobodna, dok sami podaci i dalje ostaju pohranjeni na mediju. Sve dok se neki drugi podatak ne prepiše preko „izbrisanih“ podataka, oni se mogu rekonstruirati. Upravo na tom principu se temelje metode sigurnog uklanjanja datoteka.
Osim datoteka koje je korisnik svojevoljno kreirao, operacijski sustavi ponekad pohranjuju skrivene datoteke kojima je svrha ubrzati rad računala ili osigurati pohranjivanje podataka u slučaju neočekivanih pogrešaka. U slučaju Windows operacijskog sustava to su Swap i Page datoteke (koje se stvaraju kad nema dovoljno radne memorije), privremene (eng. temporary) datoteke, red čekanja datoteka za ispis na pisačima (eng. printer spool) te metapodaci.
Svim operacijskim sustavima je zajedničko da imaju podatke u neiskorištenom i nealociranom prostoru. Neiskorišteni prostor nastaje prilikom pohranjivanja podataka koji nisu jednako veliki kao jedan ili nekoliko klastera nego se dio podatka „preljeva“ u idući klaster. Nealocirani prostor je slobodan za pohranjivanje novih podataka, ali nije prazan već sadrži prethodno „izbrisane“ podatke.
Metode sigurnog uklanjanja datoteka se baziraju na određenom broju prepisivanja svih ili određenih lokacija na disku s jedinicama, nulama ili nasumičnim brojevima (nasumičan niz jedinica i nula). Popularne metode su Single Pass – jedan prijepis s nulama, jedinicama ili nasumičnim brojevima, DoD (eng. Department of Defense) – jedan prijepis s nulama, jedan s jedinicama te jedan s nasumičnim podacima, NAVSO P9239-26 (metoda američke mornarice) – isto kao DoD, ali je svejedno da li se prvo zapisuju nule ili jedinice, PRNG (eng. Pseudo-random Number Generator) – metoda generiranja nasumičnih brojeva te Guttmanova metoda – definira 35 načina prepisivanja.
Alati koji su prikazani u ovom dokumentu su besplatni i dostupni preko Interneta. To su: cipher.exe koji zapisuje nule, potom jedinice, potom nasumične brojeve preko nealociranih lokacija na disku; Windows Sysinternals Sdelete koji služi za čišćenje nealociranih lokacija kao i za sigurno brisanje datoteka i mapa; Eraser koji koristi metodu po izboru korisnika (Guttman, DoD, ...) za brisanje datoteka, neiskorištenog kao i nealociranog prostora; Freeraser koji služi za sigurno brisanje datoteka koristeći Single Pass, DoD ili Guttmanovu metodu; DBAN koji se pokreće s diska prilikom pokretanja računala te briše sav sadržaj diska. Osim navedenih, Linux ima nekoliko alata koji se pokreću iz komandne linije: dd – zapisuje određene znakove na zadane diskove ili particije; disk scrub – zapisuje ponavljajuće uzorke podataka na diskove, datoteke i druge uređaje; shred – prepisuje preko lokacija na disku i do 25 puta (ili koliko korisnik specificira).
Nakon korištenja alata bitno je potvrditi da je alat napravio ono što je trebao. Većina alata ima funkciju provjere nakon brisanja, ali zna se dogoditi da greška u programskom kodu uzrokuje da se dio diska preskoči ili ne može pročitati, pa se ne može ni verificirati uspjeh u tom dijelu diska. Kao provjera se može koristiti i bilo koji heksadecimalni uređivač (eng. hex editor) s kojim korisnik ima direktan pogled u memoriju.
Posljednje sigurnosne preporuke