Sigurno brisanje podataka

Uputstva, saveti i trikovi

Moderator: Urednik

Post Reply

Prijatelj foruma
Prijatelj foruma
offline
User avatar

Posts: 699
Joined: 08 May 2007, 12:39
Location: Banja Luka

Post Napisano: 29 Jan 2012, 21:54


Postupak za sigurno brisanje ćete koristiti u slučajevima kada želite da isključite mogućnost povratka osjetljivih podataka. U svakodnevnom radu, vjerovatno nećete imati potrebu za tim.

Ukratko, veoma malo ljudi je upoznato sa postupkom brisanja podataka, iako ga svakodnevno koristimo. Brisanjem određenog skupa podataka standardnim metodama, praktično samo označavamo prostor na disku koji su ti podaci zauzimali dostupnim za nova zapisivanja. Sam postupak zapravo uklanja samo "pokazivač" (npr. .png slika, .ods tabela ili .mp3 audio datoteka) na te podatke, fizički ostavljajući njihov sadržaj i dalje na disku. Stoga, postoji vjerovatnoća njihovog uspješnog povratka sve dok ne budu prepisani novim sadržajem.

Postoji više metoda za sigurno i konačno uklanjanje podataka, od ekstremnih (fizičko uništavanje diska, demagnetizacija itd.) do onog koji će biti objašnjen u ovom kratkom uputstvu - prepisivanje podataka. Ukratko, metodom "prepisivanja" podaci koji se žele obrisati, odnosno prostor koji zauzimaju na disku, se prepisuju upotrebom određenog šablona sa slučajnim sadržajem, potom se uklanja i njihov "pokazivač", mada većina alata nudi mogućnost i ostavljanja "pokazivača". Postoji mnoštvo šablona u praksi, koji se prvenstveno razlikuju u algoritmu i broju prelaza (broju zapisivanja), samim tim jačini i pouzdanosti. Najpouzdaniji šabloni su obično oni sa najviše prelaza, samim ti i najsporiji. Iako su šabloni sa jednim prelazom najbrži, obično se preporučuje upotreba šablona sa minimalno 3 prelaza.

Pojmovi:

Prepisivanje slobodnog prostora. Kompletan slobodan prostoru na particiji/disku se prepisuje nasumičnim podacima upotrebom određenog šablona. Moguće je vršiti i prepisivanje kompletne particije/diska zajedno sa svim postojećim podacima.

File slack. Da bi ste u potpunosti razumjeli pojam "file slack", potrebno je određeno razumijevanje postupka čuvanja podataka na disku, pojmova "klaster" i "sektor" itd., što u svakom slučaju prelazi okvire ovog uputstva. Ukratko i najednostavnije, file slack je slobodan prostora između kraja jedne datoteke i krajnje granice klastera (najmanja moguća logička jedinica fajlsistema kojoj može biti dodijeljeno čuvanje podataka) koji ta datoteka zauzima. Na primjer: ako snimite datoteku koja zauzima 75% klastera, potom je "obrišete" standardnom metodom, podaci i dalje ostaju dostupni u tih 75%. Naknadnim zapisivanje, ako se u taj isti klaster snimi datoteka koja zauzima njegovih 50% i dalje preostaje 25% stare datoteke dostupno.

U ovom uputstvu ću koristiti samo dvije alatke - srm i BCWipe. Obje alatke se koriste iz konzole. U slučaju da znate za programe sa sličnim/istim funkcijama, slobodno ih predstavite.

1. Alatka srm

Alatka srm je sigurnosno orijentisana varijanta standardne komande rm. Služi za sigurno brisanje podataka sa diska, odnosno njihovo uništavanje bez mogućnosti povratka. Ukratko, srm prepisuje podatke određenim šablonom, a potom vrši njihovo uklanjanje. Ne nudi mogućnost prepisivanja slobodnog prostora na disku. Za Slackware je dostupna SlackBuild skripta.

Alatka se koristi, kao i većina drugih komandi, na sledeći način:

Code: Select all

srm [OPCIJA] [DATOTEKA]
Dodatkom opcije --help dobijate spisak svih opcija koje ova alatka nudi:

Code: Select all

$ srm --help
Usage: srm [OPTION]... [FILE]...
Overwrite and remove (unlink) the files.

  -d, --directory     ignored (for compatability with rm(1))
  -f, --force         ignore nonexistant files, never prompt
  -i, --interactive   prompt before any removal
  -s, --simple        overwrite with single pass using 0x00
  -P, --openbsd       overwrite with three passes like OpenBSD rm
  -D, --dod           overwrite with 7 US DoD compliant passes
  -E, --doe           overwrite with 3 US DoE compliant passes
  -r, -R, --recursive remove the contents of directories
  -v, --verbose       explain what is being done
  -h, --help          display this help and exit
  -V, --version       display version information and exit
U zavisnosti koji stepen sigurnosti želite primjeniti, interesantne opcije su vam --simple, --openbsd, --dod i --doe (odnosno: -s, -P, -D i -E), poredane po jačini od najslabijeg do najsnažnijeg šablona.

Primjeri:

U primjeru ću koristiti datoteku foobar.txt i folder foobar/.

Brisanje datoteke foobar.txt upotrebom US DoD algoritma sa 7 prelaza/zapisivanja:

Code: Select all

$ srm --dod foobar.txt
Odnosno:

Code: Select all

$ srm -D foobar.txt
Brisanje foldera foobar/ upotrebom OpenBSD algoritma sa 3 prelaza/zapisa:

Code: Select all

$ srm --openbsd --recursive foobar/
Odnosno:

Code: Select all

$ srm -PR foobar/
Komanda podržava regularne izraze (eng. regular expressions, skraćeno regexp), pa ako želite da sigurno obrišete sve datoteke sa .txt ekstenzijom u trenutnom folderu, to ćete uraditi na sledeći način:

Code: Select all

$ srm --simple *.txt

2. Alatka BCWipe

Alatka BCWipe služi za sigurno brisanje podataka sa diska, odnosno njihovo uništavanje bez mogućnosti povratka. Ukratko, BCWipe prepisuje podatke određenim šablonom sa slučajnim podacima, a potom vrši njihovo uklanjanje (osim ako se eksplicitno ne navede da se podaci ne uklanjaju, iako su neupotrebljivi - opcija -d). Ono po čemu se izdvaja u odnosu na srm je mogućnost prepisivanja slobodnog prostora na disku, file slack-a, kao i kompletnih diskova i particija. Za Slackware je dostupna naša SlackBuild skripta.

Alatka se koristi, kao i većina drugih komandi, na sledeći način:

Code: Select all

bcwipe [OPCIJA] [DATOTEKA]
Dodatkom opcije --help dobijate spisak svih opcija koje ova alatka nudi:

Code: Select all

$ bcwipe --help
bcwipe version 1.9-8 rev 319 2010-10-04  Copyright 1994-2010 Jetico, Inc.
Usage: bcwipe [OPTIONS]... FILE...
Remove FILE(s) with wiping.
OPTIONS:
  -mb       German BCI/VISTR 7-pass wiping
  -md       U.S. DoD 5220-22M 7-pass extended character rotation wiping
  -me       U.S. DoE 3-pass wiping
  -mf<file> read wiping scheme from file. See *notes below
  -mg       (default) 35-pass wiping by Peter Gutmann
  -ms       7-pass wiping by Bruce Schneier
  -mt       1-pass test mode: fill the start of 512-byte block with block number
  -mz       1-pass zero wiping
  -m N      U.S. DoD 5220-22M N-pass extended character rotation wiping

  -w        disable verification
  -n sec    NAS mode: wait sec seconds between wiping passes. See **notes below
  -s        use ISAAC random instead of SHA-1
  -p        use random pattern instead of full random
  -r        process the contents directories recursively
  -f        force wiping, never prompt        (use with caution)
  -d        do not delete file(s) after wiping
  -b        wipe contents of block devices    (use with caution)
  -B        disable direct IO access mode for block devices  -t N      use N threads to wipe block devices. Useful for multiple disk devices.  -S        wipe file slacks
  -F        wipe free space on mounted filesystem
  -i        prompt before any removal (y/[n]/a)
              y - yes, n - no(default), a - yes for all
  -I        disable interactive prompt
  -v        verbose mode
  -l[file]  write log to file. Log to console if file name is omitted
  -V        output version information and exit
  -h        display this help and exit

 *     scheme file line format: pass_number. {random|complementary|hex[,hex[,hex[,hex]]][, verify]}
       Example:
       1. random, verify
       2. AA,00,55
 **    modern enterprise level storage systems (NAS, disk arrays etc.)
       employ powerful caches. To avoid undesirable caching effects
       use this option to insert delay before file deleting.
U zavisnosti koji stepen sigurnosti (šablon) želite primjeniti, interesantna će vam biti prva sekcija izlaza komande bcwipe --help, pogotovo opcija "-m N" koja koristi U.S. DoD 5220-22M algoritam sa dodatnih N prelaza (proizvoljno definisanih). U slučaju da ne definišete željeni šablon, podrazumjevano će se koristiti Peter Gutmann-ov sa 35 prelaza (-mg).

Code: Select all

  -mb       German BCI/VISTR 7-pass wiping
  -md       U.S. DoD 5220-22M 7-pass extended character rotation wiping
  -me       U.S. DoE 3-pass wiping
  -mf<file> read wiping scheme from file. See *notes below
  -mg       (default) 35-pass wiping by Peter Gutmann
  -ms       7-pass wiping by Bruce Schneier
  -mt       1-pass test mode: fill the start of 512-byte block with block number
  -mz       1-pass zero wiping
  -m N      U.S. DoD 5220-22M N-pass extended character rotation wiping
Primjeri:

U primjeru ću koristiti datoteku foobar.txt i folder foobar/.

Brisanje datoteke foobar.txt upotrebom US DoD algoritma sa 7 prelaza/zapisivanja:

Code: Select all

$ bcwipe -md foobar.txt
Wipe foobar.txt (y/[n]/a)?y
U slučaju da ne želite da vas pita za svaku datoteku/folder koji treba obrisati, proslijedite komandi bcwipe opciju -I (veliko slovo "i") ili na prvo pitanje odgovorite sa "a" umjesto "y". Prethodni primjer:

Code: Select all

$ bcwipe -md -I foobar.txt
$
Brisanje foldera foobar/ upotrebom German BCI/VISTR šablona sa 7 prelaza/zapisa:

Code: Select all

$ bcwipe -mb -r foobar/
Enter directory foobar (y/[n]/a)?y
Remove directory 'foobar' (y/[n]/a)?y
Odnosno sa opcijom -I.

Code: Select all

$ bcwipe -mb -rI foobar/
$
Komanda podržava regularne izraze (eng. regular expressions, skraćeno regexp), pa ako želite da sigurnosno obrišete sve datoteke sa .txt ekstenzijom u trenutnom folderu, to ćete uraditi na sledeći način:

Code: Select all

$ bcwipe -mg *.txt
Prepisivanje slobodnog prostora:

Preporučuje pravljenje rezervne kopije podataka. Napomena: prepisivanje slobodnog prostora ne uključuje i brisanje file slack-a.

Prepisivanje slobodnog prostora najjednostavnijim šablonom (prepisivanje nulama u jednom prelazu) u vašem $HOME folderu možete izvršiti na sledeći način:

Code: Select all

$ bcwipe -mz -rFI /home/`whoami`
Umjesto `whoami` možete koristiti vaše korisničko ime. Analogno, umjesto -mz možete primjeniti bilo koji drugi šablon.

U slučaju da želite da prepišete sav slobodan prostor na sistemu, potrebna su vam root ovlaštenja i korištenje druge putanje - root (/). Na primjer, upotrebom U.S. DoE šablona sa 3 prelaza:

Code: Select all

$ su
Password:
# bcwipe -me -rFI /
Brisanje file slack-a

Brisanje file slack-a (opcija -S) možete koristii samostalno ili u kombinaciji sa prepisivanjem slobodnog prostora.

Na primjer, brisanje file slack-a u okviru vašeg $HOME foldera:

Code: Select all

$ bcwipe -mz -rSI /home/`whoami`
Prethodni primjer u kombinaciji sa prepisivanjem slobodnog prostora:

Code: Select all

$ bcwipe -mz -rFSI /home/`whoami`
Prepisivanje slobodnog prosora sa file slack-om na cijelom sistemu:

Code: Select all

$ su
Password:
# bcwipe -mg -rFSI /
Analogno, umjesto -mz, odnosno -mg, možete koristiti bilo koji drugi podržani algoritam.


Post Reply

Who is online

Users browsing this forum: No registered users and 18 guests