NFsec Logo

Bezpieczne usuwanie pliku

12/02/2010 w Bezpieczeństwo Brak komentarzy.  (artykuł nr 223, ilość słów: 554)

N

ormalnie, gdy usuwamy plik (zobacz polecenie rm), dane nie są faktycznie niszczone. Niszczony jest wyłącznie indeks wskazujący, gdzie jest przechowywany plik, a miejsce jest udostępniane do ponownego wykorzystania. Istnieją narzędzia odzyskiwania skasowanych danych usiłujące odtworzyć indeks i potrafiące odzyskać plik, jeśli jego miejsca zapisu nie były ponownie użyte. Na zajętych systemach z prawie pełnymi napędami, miejsce może zostać ponownie wykorzystane w ciągu kilku sekund. Nie ma jednak sposobu, by się co do tego upewnić. Jeżeli posiadamy istotne dane i chcemy być pewni, że odtworzenie ich nie będzie możliwe w prosty sposób, wystarczy nadpisać plik nieistotnymi danymi.

Warto wspomnieć, że nawet po takim nadpisaniu, możliwe jest zabranie dysku do laboratorium i użycie różnego czułego (i kosztownego) sprzętu do oglądnięcia śladów “echa” pierwotnych danych pod danymi, które je nadpisały. Jeżeli dane zostały nadpisane tylko jednokrotnie, to nie jest to nawet takie trudne. W Linuksie istnieje proste narzędzie o nazwie shred (ang. niszczarka, cięcie na pask), które posługuje się wieloma kolejnymi nadpisywaniami, z wzorcami danych dobranymi tak, aby zmaksymalizować szkody wyrządzane starym danym. Mimo, że działa to także na dyskietkach, to wzorce zaprojektowane są dla uzyskania najlepszego efektu na dyskach twardych. Na przykład jeśli chcemy bezpiecznie i efektywnie usunąć plik o nazwie “poufne_dane.txt” wystarczy wydać polecenie:

shred -v -f -u -z -n 100 poufne_dane.txt

Spowoduje to: zmianę praw dostępu do pliku tak, by umożliwić jego nadpisanie; nadpisanie jego zawartości nastąpi 100 razy, gdzie przy każdym 25 powtórzeniu zostają użyte przynajmniej jednokrotnie wzorce do nadpisywania; ostatnim nadpisaniem będzie nadpisanie przy pomocy zer by ukryć proces niszczenia pliku; po nadpisaniu plik zostanie usunięty wraz z dowiązaniem o podanej nazwie. Shred umożliwia również usuwanie danych z całych partycji czy dysków:

shred -v -f -u -z -n 100 /dev/sda1
shred -v -f -u -z -n 100 /dev/sdb

Jak możemy przeczytać w dokumentacji – narzędzie shred może nie działać dokładnie tak jak założono w przypadku pracy na systemach plików opartych o rejestrację lub księgowanie np. ext3, ext4, JFS, ReiserFS, Reiser4, XFS. Na przykładzie systemu plików ext3 można stwierdzić, że chodzi o sytuację pracy w trybie najbezpieczniejszym, gdzie księgowane są zarówno metadane jak i zwykłe dane (tryb journal). W trybie standardowej pracy systemu plików ext3 (ordered), gdzie księgowane są tylko metadane narzędzie to powinno posiadać pełną efektywność.

Drugim narzędziem jest bezpieczna implementacja rmsrm (ang. secure replacement for rm(1)). W odróżnieniu od standardowego narzędzia rm nadpisuje ono dane w docelowych plikach przed ich odłączeniem. Zapobiega to możliwości odzyskania danych za pomocą dostępnych poleceń do odzyskiwania danych w systemie poprzez bezpośrednie badanie bloków na urządzeniu (dysku). Może również udaremnić fizyczne odzyskanie danych, jednak nie należy mieć pewności, że całkowicie ochroni przed tego typu odzyskiwaniem.

Srm wykorzystuje algorytmy opisane w publikacji Peter’a Gutmann’a pt. “Secure Deletion of Data from Magnetic and Solid-State Memory” oraz narzędziu The Hacker’s Choice – Secure Delete (sekwencji nadpisania, okrojenia, zmiany nazwy i odłączenia). Program ten dostępny jest w repozytorium SourceForge. Jego instalacja przebiega następująco:

tar -xvf srm.tar.bz2
./configure --prefix=/usr
make
make install
srm srm.tar.bz2

W dystrybucji Debian / Ubuntu istnieje możliwość instalacji pakietu o nazwie secure-delete również autorstwa THC, w którym zawarte są narzędzia do bezpiecznego usuwania plików (srm), wolnej przestrzeni (sfill), pamięci RAM (smem) oraz pliku wymiany (sswap).

Więcej informacji: man shred, Secure Erase in UNIX, srm

Kategorie K a t e g o r i e : Bezpieczeństwo

Tagi T a g i : , , , , , , ,

Komentowanie tego wpisu jest zablokowane.