Po usunięciu pliku jego zawartość może pozostać w systemie plików, chyba że zostanie wyraźnie nadpisany czymś innym. wipe
Polecenia można bezpiecznie usunąć pliki, ale nie wydaje się, aby umożliwić usuwanie wolnego miejsca na dysku nie używany przez wszystkich plików.
Czego powinienem użyć, aby to osiągnąć?
Odpowiedzi:
Ostrzeżenie: nowoczesny sprzęt dyskowy / SSD i nowoczesne systemy plików mogą wycisnąć dane w miejscach, w których nie można ich usunąć, więc proces ten może nadal pozostawiać dane na dysku. Jedynymi bezpiecznymi sposobami wymazywania danych jest polecenie Bezpieczne usuwanie ATA (jeśli jest poprawnie zaimplementowane) lub fizyczne zniszczenie. Zobacz także Jak w sposób niezawodny usunąć wszystkie informacje z dysku twardego?
Możesz użyć pakietu narzędzi o nazwie bezpieczne usuwanie.
Ma cztery narzędzia:
srm
- bezpiecznie usuń istniejący pliksmem
- bezpiecznie usuń ślady pliku z pamięci RAMsfill
- wyczyść całe miejsce oznaczone jako puste na dysku twardymsswap
- wyczyść wszystkie dane z twojego miejsca wymiany.Ze strony podręcznika użytkownika
srm
źródło
cat /dev/zero >nosuchfile; rm nosuchfile
.Najszybszym sposobem, jeśli potrzebujesz tylko jednego przejścia i po prostu chcesz zastąpić wszystko zerami, jest:
(uruchom z katalogu w systemie plików, który chcesz wyczyścić)
(
sync
polecenie jest miarą paranoi, która zapewnia, że wszystkie dane są zapisywane na dysku - inteligentny menedżer pamięci podręcznej może się przekonać, że może anulować zapisy dla wszelkich oczekujących bloków, gdy plik jest odłączony )Podczas tej operacji będzie czas, kiedy w systemie plików nie będzie wolnego miejsca, co może potrwać kilkadziesiąt sekund, jeśli wynikowy plik jest duży i pofragmentowany, więc jego usunięcie zajmuje trochę czasu. Aby skrócić czas, w którym wolna przestrzeń jest całkowicie zerowa:
Powinno to wystarczyć, aby ktoś nie czytał starej zawartości pliku bez kosztownej operacji kryminalistycznej. Dla nieco bardziej bezpieczny, ale wolniej, wariantu zastąpić
/dev/zero
z/dev/urandom
. Aby uzyskać więcej paranoi, uruchom wiele kroków/dev/urandom
, choć jeśli potrzebujesz tyle wysiłkushred
, skorzystaj z pakietu z pakietu coreutils:Zauważ, że w powyższym przypadku mały plik jest niszczony przed utworzeniem większego pliku, więc można go usunąć, gdy tylko większy plik zostanie ukończony, zamiast czekać na jego zniszczenie, pozostawiając system plików z zerową ilością wolnego miejsca na czas. Proces niszczenia zajmuje dużo czasu w przypadku dużego pliku i chyba, że próbujesz ukryć coś przed NSA, nie jest tak naprawdę konieczne IMO.
Wszystkie powyższe powinny działać na dowolnym systemie plików.
Limity rozmiaru pliku:
Jak zauważa DanMoulding w komentarzu poniżej, może to mieć problemy z ograniczeniami wielkości plików w niektórych systemach plików.
W przypadku FAT32 byłby to z pewnością problem ze względu na limit plików 2GiB: większość woluminów jest obecnie większa niż obecnie (8TiB to limit wielkości woluminu IIRC). Można obejść ten problem,
cat /dev/zero
przepuszczając duże dane wyjściowe,split
aby wygenerować wiele mniejszych plików i odpowiednio dostosować etapy niszczenia i usuwania.W przypadku ext2 / 3/4 nie ma to większego znaczenia: przy domyślnym / wspólnym bloku 4K limit rozmiaru pliku wynosi 2 TB, więc aby mieć problem , musisz mieć dużą objętość (maksymalny rozmiar głośności w tych warunkach to 16TiB).
W przypadku (wciąż eksperymentalnych) plików btrfs maksymalne rozmiary plików i woluminów to ogromne 16EiB.
W systemie NTFS maksymalna długość pliku jest w niektórych przypadkach większa niż maksymalna długość woluminu.
Punkty początkowe po więcej informacji:
http://en.wikipedia.org/wiki/Ext3#Size_limits
http://en.wikipedia.org/wiki/Btrfs
http://en.wikipedia.org/wiki/Ntfs#Scalability
Urządzenia wirtualne
Jak wspomniano w komentarzach, istnieją dodatkowe uwagi dotyczące urządzeń wirtualnych:
W przypadku rzadko przydzielanych dysków wirtualnych inne metody, takie jak używane przez,
zerofree
będą szybsze (choć w przeciwieństwiecat
dodd
tego i nie jest to standardowe narzędzie, na którym można polegać w prawie każdym systemie operacyjnym uniksopodobnym).Należy pamiętać, że wyzerowanie bloku na rzadkim urządzeniu wirtualnym może nie wyczyścić bloku na podstawowym urządzeniu fizycznym , w rzeczywistości posunę się aż do stwierdzenia, że jest mało prawdopodobne - menedżer dysków wirtualnych po prostu spowoduje, że blok nie będzie już używany dzięki czemu można go później przypisać do czegoś innego.
Nawet w przypadku urządzeń wirtualnych o stałym rozmiarze możesz nie mieć żadnej kontroli nad tym, gdzie fizycznie żyje urządzenie, aby można go było w dowolnym momencie przenieść wokół jego bieżącej lokalizacji lub na nowy zestaw dysków fizycznych, a najbardziej można wyczyścić bieżącą lokalizację, a nie wszelkie poprzednie lokalizacje, w których mógł znajdować się blok w przeszłości.
W przypadku powyższych problemów na urządzeniach wirtualnych: o ile nie kontrolujesz hosta (hostów) i nie możesz wykonać bezpiecznego czyszczenia nieprzydzielonego miejsca po wyczyszczeniu dysków na maszynie wirtualnej lub przeniesieniu urządzenia wirtualnego, nic nie możesz zrobić po tym fakt. Jedynym rozwiązaniem jest zastosowanie pełnego szyfrowania dysku od samego początkuwięc przede wszystkim nic niezaszyfrowanego nie jest zapisywane na nośniku fizycznym. Oczywiście w maszynie wirtualnej nadal może być wymagane wymazanie wolnego miejsca. Zauważ również, że FDE może sprawić, że rzadkie urządzenia wirtualne będą o wiele mniej przydatne, ponieważ warstwa wirtualizacji nie może tak naprawdę zobaczyć, które bloki są nieużywane. Jeśli warstwa systemu plików systemu operacyjnego wysyła polecenia przycinania do urządzenia wirtualnego (tak jakby to był dysk SSD), a kontroler wirtualny je interpretuje, może to rozwiązać ten problem, ale nie znam żadnych okoliczności, w których tak się dzieje i szerzej dyskusja na ten temat jest sprawą gdzie indziej (jesteśmy już blisko omijania pierwotnego pytania, więc jeśli to wzbudziło twoje zainteresowanie, niektóre eksperymenty i / lub dalsze pytania mogą być w porządku).
źródło
secure-delete
narzędzi: użyciesfill -llz
zmniejsza całą procedurę do jednego przejścia, które zapisuje tylko „0”.cat
idd
są dostępne w prawie każdym systemie UNIX-a-like OS ponieważ są one uważane standardowych narzędzi, gdziezerofree
prawdopodobnie nie jest, chyba że zostało wyraźnie dodał.zerofree
z pewnością zadziałałoby, rzecz jasna, że „cały system plików tymczasowo pełny” wspomniany na stronie podręcznika (prawie, ale nie do końca złagodzony przez small.file jiggery pokery w moich przykładach) jest prawdziwą troską jeśli robisz to w aktualnie aktywnym systemie izerofree
rzeczywiście byłby szybszy w konkretnej instancji, jest on zoptymalizowany dla: rzadko przydzielonych wirtualnych urządzeń blokowych. Chociaż ze względów bezpieczeństwa nie można polegać na żadnym czyszczeniu urządzenia wirtualnego: jedyną prawdziwą odpowiedzią w tym przypadku jest pełne szyfrowanie urządzenia od samego początku.OSTRZEŻENIE
Byłem zszokowany liczbą plików, które photorec może pobrać z mojego dysku, nawet po wyczyszczeniu.
To, czy istnieje większe bezpieczeństwo w wypełnianiu „wolnej przestrzeni” tylko 1 raz 0x00 lub 38 razy różnymi kabalistycznymi standardami, jest raczej dyskusją akademicką. Autor przełomowego artykułu z 1996 roku o niszczeniu napisał epilog, mówiąc, że jest to przestarzałe i niepotrzebne w przypadku współczesnego sprzętu. Nie ma udokumentowanego przypadku fizycznego zastąpienia zer zerami i odzyskania ich później.
Prawdziwym kruchym linkiem w tej procedurze jest system plików . Niektóre systemy plików rezerwują miejsce do specjalnego użytku i nie są udostępniane jako „wolne miejsce”. Ale twoje dane mogą tam być . Obejmuje to zdjęcia, osobiste wiadomości e-mail w postaci zwykłego tekstu, cokolwiek. Właśnie google zarezerwowałem + spację + ext4 i dowiedziałem się, że 5% mojej
home
partycji jest zarezerwowane. Wydaje mi się, że w tym miejscuphotorec
znaleziono tak wiele moich rzeczy. Wniosek: metoda niszczenia nie jest najważniejsza, nawet metoda wieloprzebiegowa nadal pozostawia dane na miejscu .Możesz spróbować
# tune2fs -m 0 /dev/sdn0
przed montażem. (Jeśli będzie to partycja root po ponownym uruchomieniu, upewnij się, że uruchomisz ją-m 5
lub-m 1
po odmontowaniu).Ale nadal, w ten czy inny sposób, może pozostać trochę miejsca.
Jedynym naprawdę bezpiecznym sposobem jest wyczyszczenie całej partycji, ponowne utworzenie systemu plików, a następnie przywrócenie plików z kopii zapasowej.
Szybki sposób (zalecane)
Uruchom z katalogu w systemie plików, który chcesz wyczyścić:
Uwagi: celem małego pliku jest skrócenie czasu, w którym wolne miejsce jest całkowicie zerowe; celem synchronizacji jest upewnienie się, że dane są rzeczywiście zapisane.
To powinno wystarczyć większości ludzi.
Wolna droga (paranoik)
Nie ma udokumentowanego przypadku odzyskiwania danych po powyższym czyszczeniu. W miarę możliwości byłoby to drogie i wymagające zasobów.
Jeśli jednak masz powód, by sądzić, że tajne agencje wydałyby dużo zasobów na odzyskanie plików, powinno to wystarczyć:
To zajmuje znacznie więcej czasu.
Ostrzeżenie. Jeśli wybrałeś sposób paranoiczny, po tym nadal będziesz chciał wykonać szybkie czyszczenie, a to nie jest paranoja. Obecność czysto przypadkowych danych jest łatwa i tania do wykrycia i budzi podejrzenie, że są to faktycznie dane zaszyfrowane. Możesz umrzeć pod torturami za nie ujawnienie klucza deszyfrującego.
Bardzo wolna droga (szalony paranoik)
Nawet autor przełomowego artykułu o niszczeniu z 1996 roku napisał epilog, mówiąc, że jest to przestarzałe i niepotrzebne dla współczesnego sprzętu.
Ale jeśli masz jeszcze dużo wolnego czasu i nie masz nic przeciwko marnowaniu dysku z dużą ilością nadpisywania, oto:
Uwaga: jest to zasadniczo równoważne z użyciem narzędzia bezpiecznego usuwania.
Przed edycją ten post został przepisany przez Davida Spilletta. Polecenie „cat” powoduje wyświetlenie komunikatu o błędzie, ale nie mogę pisać komentarzy do postów innych osób.
źródło
cat
Oczekuje się komenda dać „brak miejsca” błąd w moich przykładów, na końcu jej biegu. Możesz to ukryć, przekierowując stderr na,/dev/null
jeśli jest to problem. Zwykle używampv
zamiast tegocat
lubdd
do tego typu rzeczy, aby uzyskać przydatne wskazanie postępu....raises the suspicion that it is actually encrypted data. You may die under torture for not revealing the decryption key.
Heh, właśnie o tym myślałem. To chyba oznacza, że jestem paranoikiem ...dd
uruchomienie jako root daje dostęp do większej ilości systemu plików niżdd
bez root? Chcę wierzyć, że to prawda, ale w tej chwili nie widzę powodu.W Ubuntu istnieje narzędzie zerofree:
http://manpages.ubuntu.com/manpages/natty/man8/zerofree.8.html
Sprawdź także ten link o zerofree: Utrzymywanie rzadkich obrazów systemu plików - pochodzi od jego autora - Rona Yorstona (9 sierpnia 2012)
źródło
Oto jak to zrobić za pomocą GUI.
Przewaga BleachBit nad dd (co poza tym jest bardzo miłe) polega na tym, że gdy dysk jest w końcu zapełniony, BleachBit tworzy małe pliki, aby wyczyścić i-węzły (które zawierają metadane, takie jak nazwy plików itp.).
źródło
Używam
dd
do przydzielania jednego lub więcej dużych plików, aby wypełnić wolne miejsce, a następnie korzystam z bezpiecznego narzędzia do usuwania.Aby przydzielić pliki za pomocą dd spróbuj:
Spowoduje to wygenerowanie pliku o nazwie
delete_me
100 MB. (Otobs
„rozmiar bloku” ustawiony na 1k icount
jest to liczba bloków do przydzielenia.)Następnie użyj ulubionego narzędzia bezpiecznego usuwania (używam
shred
) z tak utworzonych plików.UWAGA: buforowanie oznacza, że nawet jeśli zrobisz cały dysk, możesz nie uzyskać absolutnie wszystkiego!
Ten link zaleca
scrub
wymazywanie wolnego miejsca. Nie próbowałem tego.źródło
scrub
raz i to uszkodziło cały system plików. Na szczęście miałem poczucie, że najpierw eksperymentowałem na testowym systemie plików, a NIE na moich prawdziwych danych.Przetrzyj dysk z maksymalną prędkością.
Typowe instrukcje szyfrowania dysku w dzisiejszych czasach podpowiedzą, aby najpierw wyczyścić dysk.
Poniższe polecenie wypełni twój dysk tekstem szyfrowanym AES.
Użyj płyty CD na żywo, jeśli chcesz wyczyścić główny dysk rozruchowy.
Otwórz terminal i podnieś swoje uprawnienia:
Wymieńmy wszystkie dyski w systemie, aby były bezpieczne:
UWAGA: Zamień
/dev/sd{x}
na urządzenie, które chcesz wyczyścić.OSTRZEŻENIE: To nie jest dla amatorów! Możesz uniemożliwić uruchomienie systemu !!!
Jestem zdumiony, jak szybko to jest.
źródło
Prawdopodobnie masz już zainstalowany pakiet GNU coreutils w swoim systemie. Zapewnia niszczenie polecenia .
źródło
Możesz wyczyścić wolne miejsce, korzystając z pakietu bezpiecznego usuwania.
W tym pakiecie można znaleźć
sfill
narzędzie, które służy do bezpiecznego usuwania danych znajdujących się na dostępnej przestrzeni dyskowej na nośnikach w bezpieczny sposób, którego nie mogą odzyskać złodzieje, organy ścigania ani inne zagrożenia.Aby zainstalować pakiet bezpiecznego usuwania w systemie Linux (Ubuntu), zainstaluj go za pomocą następującego polecenia:
Następnie, aby usunąć dane bez wolnego miejsca, spróbuj wykonać następujące polecenie:
Gdzie / YOUR_MOUNTPOINT / OR_DIRECTORY jest twoim punktem montowania (
df -h
,mount
) lub katalogiem, aby wyczyścić wolne miejsce.Przeczytaj instrukcję na stronie http://manpages.ubuntu.com/manpages/hardy/man1/sfill.1.html
źródło
użyj dd i po prostu wyzeruj wolne miejsce. to mit, że dane muszą być wielokrotnie zapisywane (wystarczy zapytać Petera Guntmanna) i dane losowe, w przeciwieństwie do 1, wtedy 0 oznacza nienaturalną aktywność. efektem końcowym jest czysty dysk ze znacznie krótszym czasem pisania. poza tym programy bezpiecznego usuwania nie mogą zagwarantować, że nawet zastąpią prawdziwy plik na nowoczesnych systemach plików (zapisanych w dzienniku). zrób sobie przysługę i zrób zdjęcie, zeskanuj dysk, aby zobaczyć bałagan, wyczyść go za pomocą 1 i opcjonalnie zerami, aby wyglądał nietknięty. jeśli photorec nadal znajdzie rzeczy, pamiętaj, że skanuje wszystko, co dostępne, więc zrób to ponownie ostrożnie z użytkownikiem root.
pamiętaj, że cia / fbi / nsa nie ma fantazyjnej maszyny, która może odczytać aktualny stan twoich bitów mediów magnetycznych. to był po prostu artykuł napisany dawno temu. „co-jeśli”. wystarczy wyczyścić tylko raz.
źródło
Łatwiej jest używać peelingu :
Spowoduje to utworzenie
dump
folderu w bieżącej lokalizacji i utworzenie pliku do momentu zapełnienia dysku. Możesz wybrać wzór za pomocą-p
opcji (nnsa|dod|bsi|old|fastold|gutmann
).Zainstalowanie szorowania nie jest łatwe ( zobacz fora Ubuntu na ten temat ), ale po zakończeniu instalacji masz naprawdę PROSTE i wydajne narzędzie.
źródło
scrub
raz i to uszkodziło cały system plików. Na szczęście miałem poczucie, że najpierw eksperymentowałem na testowym systemie plików, a NIE na moich prawdziwych danych.scrub -X dump_dir
i wydaje się, że działało ładnie. BTW, instalacji na Ubuntu 14.04 jest bardzo prosta:apt-get install scrub
.Oto skrypt „sdelete.sh”, którego używam. Zobacz komentarze, aby uzyskać szczegółowe informacje.
źródło
Znalazłem proste rozwiązanie, które działa w systemie Linux i MacOS. Przejdź do folderu głównego dysku i uruchom następujące polecenie:
gdzie // DISKSPACE // to rozmiar w GB twojego dysku twardego.
źródło
Czasami używam tego bash one-liner:
Kiedy zaczyna mówić, że dysk jest pełny, wystarczy nacisnąć Ctrl+ Ci usunąć utworzone
zero.*
pliki.Działa w każdym systemie, bez względu na ograniczenia rozmiaru pliku.
Zignoruj wszelkie
cat: write error: File too large
błędy.źródło
To nie jest odpowiedź! Tylko komentarz dla tych, którzy chcą skorzystać
pv
... więc nie zawracaj sobie głowy głosowaniem.W Linux Mint 17.3 możesz użyć
pv
( widok potoku ), aby uzyskać postęp pisania. Na przykład:Zaletą jest to, że otrzymujesz pasek postępu, ETA i ciągle aktualizowaną prędkość transmisji. Wadą jest to, że jest zapisany w jednym wierszu, a gdy dysk jest pełny (zwracając błąd), znika. Dzieje się tak, ponieważ pełny rozmiar jest przybliżony, ponieważ system operacyjny prawdopodobnie użyje dysku, gdy trwa ta bardzo długa operacja, szczególnie na woluminie systemu operacyjnego.
Na bardzo starym HD uzyskuję szybkość transmisji około 13 MB / s przy użyciu
/dev/urandom
i około 70 MB / s przy użyciu/dev/zero
. To prawdopodobnie poprawiłoby się jeszcze bardziej, gdy używasz surowegodd
lubcat
, i niepv
.źródło
Po usunięciu pliku z rejestru systemu plików dane pozostające na dysku twardym są pozbawioną znaczenia sekwencją jedynek i zer. Jeśli chcesz zastąpić tę bezsensowną sekwencję inną bezsensowną sekwencją, mogę doradzić niektórym produktom komercyjnym, jak bezpiecznie wymazać dyski, takie jak Arconis.
źródło