Nie ma sensu wykonywać wielu podań. Raz wystarczy.
Wypełnianie danych, które mają być zaszyfrowane, losowymi danymi ma głównie dwa zastosowania:
- pozbyć się starych, niezaszyfrowanych danych
- sprawiają, że wolne miejsce jest nie do odróżnienia od zaszyfrowanych danych
Zwykle jeśli szyfrujesz, nie chcesz, aby ktokolwiek widział twoje dane. Tak więc są szanse, że jeśli miałeś stare, niezaszyfrowane dane na tym dysku, też chcesz się ich pozbyć. Dysk SSD może zająć się tym łatwiej i szybciej blkdiscard
. W rzeczywistości Linux mkfs
TRIMs zapisuje wszystkie dane, nawet nie pytając o potwierdzenie, co uniemożliwia jakiekolwiek odzyskiwanie danych. W systemie Linux jest za dużo TRIM.
Wolne miejsce jest trochę szarym obszarem. Jeśli nie zapełnisz przypadkowych danych, na zupełnie nowym dysku twardym sektory, w których nigdy nie zapisano, będą zerami. Na dysku SSD, jeśli zezwolisz na odrzucenie / TRIM, wolne miejsce będzie również wynosić zero.
Chociaż nie wpływa to w żaden sposób na Twoje dane (nadal jest szyfrowane), ujawnia, ile masz wolnego miejsca / rzeczywistych danych i gdzie znajduje się to wolne miejsce / dane. Na przykład hexdump -C
zaszyfrowany, przycięty dysk SSD będzie wyglądał mniej więcej tak:
# hexdump -C /dev/ssd | grep -C 2 '^\*'
...
--
b3eabff0 dc c9 c7 89 16 ca d3 4f a3 27 d6 df a0 10 c3 4f |.......O.'.....O|
b3eac000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
b3f70000 5a 99 44 b5 9c 6b 1e 9c 81 cf 9a 43 b6 23 e9 0f |Z.D..k.....C.#..|
b3f70010 2c e6 9a 5d 59 9b 46 5f 21 3f 4d 5f 44 5b 0a 6b |,..]Y.F_!?M_D[.k|
--
b3f70ff0 5f 63 8d e8 c4 10 fd b1 a6 17 b5 7d 4a 57 09 68 |_c.........}JW.h|
b3f71000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
b3f72000 5d 1c 09 dd c9 6b 57 18 db 67 e1 35 81 57 45 8e |]....kW..g.5.WE.|
b3f72010 0f a8 be 39 ae e5 5f cf cf e3 8b a7 c1 25 1a a3 |...9.._......%..|
--
...
Z tego można powiedzieć Mam wolne segmenty przestrzeni na adres 0xb3eac000 .. 0xb3f70000
, b3f71000 .. b3f72000
... i odwrotność czyli segmentów danych, takich jak kurs 0xb3f70000 .. b3f71000
.
Co możesz z tym zrobić? Jak nic(*).
(*) to, co chciałbym powiedzieć. Ale ludzie stają się kreatywni . Wzory wolnego miejsca można wykorzystać do uzyskania typu używanego systemu plików (ze względu na to, w jaki sposób / gdzie przechowują metadane - jeśli jest wolne miejsce, w którym ext4
można przechowywać jedną z kopii zapasowych metadanych, najprawdopodobniej nie ext4
itp.). Czasami ujawnia nawet, której dystrybucji używasz (jeśli instalator Linuksa zapełni system plików deterministycznie, pliki mogą zawsze znajdować się pod tymi samymi fizycznymi adresami). W tym momencie ktoś może wiedzieć, gdzie znajduje się określony plik systemowy i może go w jakiś sposób zmodyfikować / uszkodzić. (Aby temu zapobiec, instalatorzy powinni losowo wybierać sposób wypełniania systemów plików).
Jednak takie rozważania są bardzo teoretyczne i bardzo niskie ryzyko w porównaniu z tym, jak podatne są najbardziej szyfrowane instalacje z innych powodów. W większości instalacji „po wyjęciu z pudełka” bardziej / łatwiej jest po prostu sfałszować initramfs, zainstalować keylogger lub wykorzystać działający system, niż uzyskać dostęp do surowych danych i analizować zaszyfrowane dane i mieć nadzieję, że uda się osiągnąć coś w ten sposób.
Powinieneś się o to najpierw martwić, zanim zaczniesz martwić się o ujawnienie wolnego miejsca.
W przypadku dysków SSD włączenie TRIM jest całkowicie normalne, a tym samym przez cały czas ma miejsce wolne miejsce. Dotyczy to również rozwiązań szyfrujących, które działają na warstwie pliku, a nie na warstwie blokowej.
Z HDD wykonujesz przypadkowe czyszczenie nawet na nowym dysku, ponieważ możesz, i nie ma powodu, aby tego nie robić, ponieważ nie wiąże się to z żadnymi kosztami (oprócz pierwszej instalacji) i nie ma wad.
badblocks
oznacza sprawdzanie uszkodzonych sektorów, zapisywanie i sprawdzanie zer, 1, 01, 10. Do szyfrowania całego dysku, to wspólny polecić zaszyfrowaną zero-fill (napisać zaszyfrowanych danych wszędzie) z przyczyn w odpowiedzi frostschultz'S (+1), ale robi to wszystko przed szyfrowania jest niezwykła, po szyfrowaniu następnie uruchomionybadblocks
lub mkfs na-cc
by osiągnąć to samo plus zidentyfikuj złe bloki. Może ktoś w Kali jest trochę paranoikiem w kwestii pamięci flash (USB, SSD) nie zawsze pisząc ten sam sektor w tym samym miejscu i wymieniając sektory na kopie zapasowe / z kopii zapasowych