Czyść przed szyfrowaniem, dlaczego?


25

Chciałem wiedzieć, dlaczego przed zaszyfrowaniem i zainstalowaniem się na dysku Kali:

  1. wyczyściłem cały dysk
  2. wypełnił dysk zerami
  3. zapełnił dysk 1s
  4. zapełnił dysk losowymi danymi
  5. ponownie wyczyściłem dysk

Wiem, że Kali nie ma być instalowane, ale nie o to tutaj chodzi.

Jak to jest przydatne przed instalacją, powiedzmy na zupełnie nowym dysku twardym? Jestem przyzwyczajony do tego, że przy usuwaniu dysku twardego nie instaluję.


Kroki 1–3 brzmią podobnie do tego, co badblocksoznacza 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 uruchomiony badblockslub mkfs na -ccby 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
Xen2050

Odpowiedzi:


36

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 mkfsTRIMs 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 -Czaszyfrowany, 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 ext4można przechowywać jedną z kopii zapasowych metadanych, najprawdopodobniej nie ext4itp.). 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.


1
Przycinanie niekoniecznie faktycznie usuwa cały przycięty błysk NAND, ponieważ niektóre z nich mogą znajdować się w tym samym bloku wymazywania, co niektóre nie przycięte sektory. (bloki kasowania są większe niż bloki zapisu). Nawet jeśli mkfs przycina całą partycję przed zapisaniem nowych metadanych, dane z innych partycji (takich jak partycja systemowa EFI) są nadal aktywne, a oprogramowanie wewnętrzne SSD nie wie o partycjach.
Peter Cordes,

W odpowiedzi może być przydatny link do en.wikipedia.org/wiki/Trim_(computing) !
Gaurav,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.