Како безбедно избрисати датотеке на Линуку

Uništavanje starih digitalnih podataka jednako je važno kao i uništavanje starih papirnih dokumenata. U ovom članku istražićemo kako sigurno izbrisati datoteke na Linux operativnom sistemu. Fokusiraćemo se na komandu shred i paket alata secure-delete.

Zašto se izbrisane datoteke mogu vratiti?

Kada izbrišete datoteku, ona se zapravo ne uklanja fizički sa vašeg hard diska. Sistem datoteka koristi inod strukture, koje sadrže metapodatke o datotekama. Ti metapodaci uključuju ime datoteke, njenu poziciju na disku, atribute i dozvole. Direktorijumi su takođe datoteke, koje sadrže imena i inod brojeve datoteka koje se nalaze u njima.

Kada koristite komandu rm za brisanje, sistem oslobađa odgovarajući inod i ažurira direktorijsku datoteku. Time se prostor na disku koji je datoteka zauzimala označava kao slobodan, ali sadržaj datoteke i dalje ostaje na tom prostoru. Sve dok taj prostor ne bude prepisan novim podacima, postoji mogućnost da se izbrisana datoteka oporavi.

Potpuno uklanjanje datoteke zahteva više od pukog označavanja prostora kao slobodnog; neophodno je prepisati taj prostor.

Važno upozorenje: SSD uređaji

Ove tehnike su namenjene tradicionalnim elektromehaničkim hard diskovima (HDD) i ne bi ih trebalo koristiti sa SSD uređajima. Korišćenje ovih metoda na SSD-ovima može izazvati nepotrebno trošenje i neće biti efikasno. Za sigurno brisanje podataka sa SSD-a, koristite alatke koje obezbeđuje proizvođač vašeg SSD-a.

Komanda shred: Prepisivanje datoteka

Komanda shred je dizajnirana da
prepiše datoteku kako bi sprečila njeno vraćanje. Dostupna je u svim glavnim Linux distribucijama, kao što su Ubuntu, Fedora i Manjaro.

U ovom primeru, radićemo u direktorijumu ~/research, koji sadrži tekstualne datoteke i poddirektorijume. Pretpostavićemo da su ove datoteke osetljive i da ih treba potpuno ukloniti sa diska.

Strukturu direktorijuma možemo videti pomoću komande tree -d, koja prikazuje samo direktorijume, bez detaljnog prikaza datoteka.

tree -d

Brisanje jedne datoteke pomoću shred

Za uništavanje pojedinačne datoteke, koristimo sledeću komandu sa sledećim opcijama:

  • -u: Uklanja datoteku nakon prepisivanja.
  • -v: Prikazuje detaljne informacije o procesu (verbose mode).
  • -z: Završava prepisivanje nulama.
shred -uvz Preliminary_Notes.txt_01.txt

shred, po defaultu, prepiše datoteku četiri puta. Prva tri prepisivanja se vrše nasumičnim podacima, a poslednje nulama. Nakon toga, datoteka se uklanja, a neki metapodaci se prepisuju.

Podešavanje broja prepisivanja

Broj prepisivanja može se podesiti pomoću opcije -n. Navedeni broj predstavlja broj dodatnih prepisivanja, pri čemu se uvek obavlja najmanje jedno prepisivanje. Da bismo dobili ukupno tri prepisivanja, zahtevamo dva dodatna:

shred -uvz -n 2 Preliminary_Notes.txt_02.txt

Očekivano, shred je izvršio tri prepisivanja.

Manji broj prepisivanja je brži, ali postavlja se pitanje koliko je to manje sigurno? Tri prepisivanja su, prema većini stručnjaka, sasvim dovoljna.

Brisanje više datoteka

Za brisanje više datoteka odjednom, možete koristiti džoker karaktere. Zvezdica (*) predstavlja niz znakova, a znak pitanja (?) jedan znak. Ova komanda će izbrisati sve preostale datoteke koje počinju sa „Preliminary_Notes“ u trenutnom direktorijumu:

shred -uvz -n 2 Preliminary_Notes_*.*

Datoteke se uništavaju redom.

shred nema rekurzivnu opciju, tako da se ne može koristiti za brisanje celih struktura direktorijuma.

Problem sa shred i sistemima datoteka

Moderni sistemi datoteka, kao što su ext3 i ext4, koriste tehnike logovanja koje garantuju integritet podataka. Zbog logovanja, nema garancije da će se prepisivanje sa komandom shred zaista desiti na istom fizičkom prostoru na disku koji je zauzimala izbrisana datoteka.

Ako želite samo malo temeljnije brisanje nego što to radi komanda rm, onda je shred solidno rešenje. Međutim, nemojte misliti da su podaci potpuno i nepovratno nestali, jer to najverovatnije nije slučaj.

Paket secure-delete: Poboljšano sigurno brisanje

secure-delete alati nastoje da zaobiđu ograničenja logovanja sistema datoteka i uspešno prepišu datoteku. Međutim, i ovde važe ista upozorenja. Još uvek ne postoji garancija da će se prepisivanje izvršiti baš na onom delu diska koji je koristila datoteka koju želite da obrišete.

Alati secure-delete koriste sledeću seriju prepisivanja i radnji:

  1. Prepisivanje bajtovima vrednosti 0xFF.
  2. Pet prepisivanja nasumičnim podacima.
  3. 27 prepisivanja posebnim vrednostima definisanim od strane Petera Gutmana.
  4. Još pet prepisivanja nasumičnim podacima.
  5. Preimenovanje datoteke u nasumičnu vrednost.
  6. Skraćivanje datoteke.

Ovaj proces deluje preterano, što je primetio i sam Peter Gutman. On je 1996. godine objavio rad u kojem je diskutovao o ovim tehnikama. Od tada je pokušao da demistifikuje situaciju, rekavši da je „dobro prepisivanje nasumičnim podacima dovoljno dobro“.

Ipak, ovo je standardan niz tehnika koje koriste secure-delete alati. Pre korišćenja, potrebno ih je instalirati.

Instalacija secure-delete paketa

Ako koristite Ubuntu ili neku drugu distribuciju zasnovanu na Debianu, instalirajte secure-delete pomoću apt-get. Na drugim distribucijama koristite odgovarajući alat za upravljanje paketima.

sudo apt-get install secure-delete

Paket secure-delete sadrži četiri komande:

  • srm: Bezbedna zamena za rm, briše i prepiše prostor na disku.
  • sfill: Prepisuje sav slobodan prostor na disku.
  • sswap: Prepisuje i čisti vaš swap prostor.
  • sdmem: Čisti RAM memoriju.

Komanda srm: Bezbedno brisanje datoteka

Komanda srm se koristi na sličan način kao i rm. Za brisanje jedne datoteke, koristite sledeću komandu. Opcija -z koristi nule za završno prepisivanje, a -v prikazuje detaljne informacije o napretku.

srm -vz Chapter_One_01.txt

srm je sporiji od rm. Možete smanjiti broj prepisivanja pomoću opcije -l, što ubrzava proces, ali smanjuje nivo sigurnosti.

srm -lvz Chapter_One_02.txt

Opcija -ll smanjuje broj prepisivanja na jedno, čime se dodatno ubrzava proces, uz još manju sigurnost.

srm -llvz Chapter_One_03.txt

Korišćenje srm sa više datoteka

Džoker karakteri se mogu koristiti i sa srm. Sledeća komanda će obrisati sve datoteke koje počinju sa „Chapter_One_0“ u trenutnom direktorijumu:

srm -vc Chapter_One_0?.txt

srm će obraditi datoteke redom.

Rekurzivno brisanje direktorijuma sa srm

Opcija -r omogućava rekurzivno brisanje poddirektorijuma i njihovog sadržaja. Možete navesti putanju do direktorijuma koji želite da obrišete.

U sledećem primeru brišemo sve iz direktorijuma ~/research, uključujući sve datoteke i poddirektorijume.

srm -rvz *

srm će početi sa obradom direktorijuma i datoteka.

Ovaj proces može trajati dugo, u zavisnosti od količine podataka. Na test mašini sa oko 200 datoteka i tri ugnežđena direktorijuma, proces je trajao oko sat vremena.

Komanda sfill: Prepisivanje slobodnog prostora

Ako ste zabrinuti zbog datoteka koje ste izbrisali pomoću rm, komanda sfill će prepisati sav slobodan prostor na vašem hard disku. Tokom procesa prepisivanja, videćete da se slobodan prostor na vašem disku smanjuje, sve dok ne ostane bez slobodnog prostora. Nakon završetka procesa, sav slobodan prostor se vraća.

Ovo je zadatak koji se obavlja van radnog vremena, jer može značajno usporiti sistem, pogotovo ako imate više korisnika.

Za ubrzanje, možete koristiti opciju -l, kao i opcije -v i -z koje smo već pomenuli. U sledećem primeru, tražimo od sfill da bezbedno prepiše sav slobodan prostor u direktorijumu /home:

sudo sfill -lvz /home

Ovo može trajati satima. Na test računaru sa hard diskom od 10GB, proces je trajao veći deo dana i završio se tokom noći. Imajte na umu da je korišćena opcija -l, koja smanjuje broj prepisivanja.

Komanda sswap: Čišćenje swap prostora

Komanda sswap prepiše vaš swap prostor. Prvo morate da identifikujete vašu swap particiju koristeći komandu blkid, koja prikazuje blok uređaje.

sudo blkid

Potražite reč „swap“ i zapamtite blok uređaj koji je povezan sa njom.

U ovom slučaju, swap particija je povezana sa /dev/sda5.

Sada moramo da isključimo swap particiju. Koristićemo naredbu swapoff:

sudo swapoff /dev/sda5

Sada možemo koristiti sswap. Koristićemo /dev/sda5 i opcije -v i -ll:

sudo sswap -llv /dev/sda5

sswap će prepisati vaš swap prostor. Ovaj proces je brži od procesa komande sfill.

Po završetku procesa, treba da ponovo aktivirate swap particiju pomoću komande swapon:

sudo swapon /dev/sda5

Komanda sdmem: Čišćenje RAM memorije

Paket secure-delete uključuje i alat za čišćenje RAM memorije.
Napad hladnim startom zahteva fizički pristup vašem računaru ubrzo nakon gašenja. Ovakav napad može omogućiti preuzimanje podataka iz RAM memorije.

Ako želite da se zaštitite od ove vrste napada, možete obrisati RAM pre isključivanja računara. Koristićemo opcije -v i -ll:

sudo sdmem -vll

Prozor terminala će se ispuniti zvezdicama, što je indikacija da sdmem čisti vašu RAM memoriju.

Jednostavna alternativa: Šifrovanje diska

Umesto da se bavite sigurnim brisanjem, možete zaštititi svoj disk ili kućni direktorijum pomoću šifrovanja. Na taj način, niko neće moći da pristupi vašim podacima, bili oni u aktivnom stanju ili izbrisani. Većina Linux distribucija nudi opciju šifrovanja prilikom instalacije sistema. Šifrovanje olakšava i prodaju ili poklanjanje računara, jer su vaši podaci bezbedni.