Предварительная очистка, почему?

25

Я хотел знать, почему перед шифрованием и установкой на диск Kali:

  1. вытер весь диск
  2. заполнил диск 0с
  3. залил диск 1с
  4. заполнил диск случайными данными
  5. снова вытер диск

Я знаю, что Kali не предназначен для установки, но здесь дело не в этом.

Итак, как это полезно перед установкой, скажем, на новый жесткий диск? Я привык видеть, что при удалении жесткого диска, а не установить.

Taz8du29
источник
Шаги 1-3 звучат примерно так badblocksже, как и проверка плохих секторов, запись и проверка 0, 1, 01, 10. Для шифрования диска, это общий рекомендовать зашифрованное заполнения нулей (для записи зашифрованных данных во всем мире) по причинам , в ответе frostschultz в (+1), но делать все это , прежде чем шифрование является необычным, после шифрования , то работает badblocksили МКФС - х -ccбудет выполнять то же самое, плюс выявить плохие блоки. Может быть, кто-то в Kali немного параноидален по поводу флэш-памяти (USB, SSD), которая не всегда записывает один и тот же сектор в одном и том же месте и обменивается секторами в / из резервных копий
Xen2050

Ответы:

36

Нет смысла делать несколько проходов. Достаточно один раз.

Заполнение диска, подлежащего шифрованию, случайными данными в основном имеет два назначения:

  • избавиться от старых, незашифрованных данных
  • сделать свободное место неотличимым от зашифрованных данных

Обычно, если вы шифруете, вы не хотите, чтобы кто-то видел ваши данные. Таким образом, есть вероятность, что если у вас есть старые незашифрованные данные на этом диске, вы тоже захотите от них избавиться. SSD может позаботиться об этом проще и быстрее blkdiscard. Фактически, Linux mkfsTRIMS хранит все данные, даже не спрашивая у вас подтверждения, что делает невозможным любое восстановление данных. В Linux слишком много TRIM.

Свободное пространство немного серое. Если вы не заполняете случайные данные на новом жестком диске, сектора, в которые никогда не записывались, будут равны нулю. На SSD, если вы разрешите сброс / TRIM, свободное пространство также будет равно нулю.

Хотя это никак не влияет на ваши данные (они все еще зашифрованы), оно показывает, сколько свободного пространства / реальных данных у вас есть, и где находится это свободное пространство / данные. Например hexdump -C, зашифрованный, урезанный SSD будет выглядеть примерно так:

# 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.._......%..|
--
...

Из этого вы можете сказать , что я есть свободные сегменты пространства по адресу 0xb3eac000 .. 0xb3f70000, b3f71000 .. b3f72000... и обратная что из сегментов данных , конечно , как 0xb3f70000 .. b3f71000.

Что ты можешь сделать с этим? Ну ничего (*).

(*) это то, что я хотел бы сказать. Но люди становятся творческими . Шаблоны свободного пространства могут использоваться для определения типа файловой системы, которую вы используете (из-за того, как / где они хранят метаданные - если есть свободное место, где ext4будет храниться одна из его резервных копий метаданных, скорее всего, нет ext4, и т. Д.). Иногда он даже показывает, какой дистрибутив вы используете (если ваш установщик Linux определенно заполняет файловую систему, файлы могут всегда иметь одинаковые физические адреса). В этот момент кто-то может знать, где находится определенный системный файл, и может каким-то образом изменить / повредить его. (Установщики должны рандомизировать способ заполнения файловых систем, чтобы предотвратить это.)

Однако такие соображения являются очень теоретическими и имеют очень низкий риск по сравнению с тем, насколько уязвимы большинство зашифрованных установок по другим причинам. В большинстве установок «из коробки» более вероятно / проще просто вмешаться в initramfs, или установить кейлоггер, или использовать работающую систему, чем каким-либо образом получить необработанный доступ и проанализировать зашифрованные данные и надеяться достичь чего-либо таким образом.

Вы должны сначала побеспокоиться об этом, прежде чем беспокоиться об открытии свободного места

С SSD, это абсолютно нормально, чтобы включить TRIM и, таким образом, всегда открывать свободное место. Это также относится и к решениям шифрования, которые работают на уровне файлов, а не на уровне блоков.

С жестким диском вы, в основном, выполняете случайную очистку даже на новом диске, потому что можете, и нет никаких причин не делать этого, поскольку это не требует никаких затрат (кроме первоначальной настройки) и не приводит к недостаткам.

frostschutz
источник
1
Обрезка не обязательно на самом деле стирает всю усеченную NAND-вспышку, потому что некоторые из них могут находиться в том же блоке стирания, что и некоторые необрезанные сектора. (блоки стирания больше, чем блоки записи). Даже если mkfs обрезает весь раздел перед записью новых метаданных, данные из других разделов (например, системный раздел EFI) все еще активны, и прошивка SSD не знает о разделах.
Питер Кордес
Ссылка на en.wikipedia.org/wiki/Trim_(computing) может быть полезна в вашем ответе!
Гаурав