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:
- Prepisivanje bajtovima vrednosti 0xFF.
- Pet prepisivanja nasumičnim podacima.
- 27 prepisivanja posebnim vrednostima definisanim od strane Petera Gutmana.
- Još pet prepisivanja nasumičnim podacima.
- Preimenovanje datoteke u nasumičnu vrednost.
- 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 zarm
, 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.