Penghapusan pra-enkripsi, mengapa?

25

Saya ingin tahu mengapa, sebelum mengenkripsi dan menginstal sendiri pada drive, Kali:

  1. menghapus seluruh drive
  2. mengisi drive dengan 0s
  3. mengisi drive dengan 1s
  4. mengisi drive dengan data acak
  5. menghapus drive lagi

Saya tahu bahwa Kali tidak dimaksudkan untuk diinstal, tetapi bukan itu intinya di sini.

Jadi, bagaimana ini berguna sebelum menginstal, katakan pada HDD baru? Saya terbiasa melihat bahwa pada penghapusan HDD, tidak menginstal.

Taz8du29
sumber
Langkah 1-3 terdengar mirip dengan apa yang badblocksdilakukan untuk memeriksa bad sector, tulis & periksa 0's, 1's, 01's, 10's. Untuk enkripsi seluruh disk, adalah umum untuk merekomendasikan nol-terenkripsi terenkripsi (untuk menulis data terenkripsi di mana-mana) untuk alasan dalam jawaban frostschultz (+1), tetapi melakukan semua ini sebelum mengenkripsi adalah tidak biasa, setelah mengenkripsi kemudian berjalan badblocksatau mkfs -ccakan mencapai sama, ditambah mengidentifikasi blok buruk. Mungkin seseorang di Kali sedikit paranoid tentang memori flash (USB, SSD) tidak selalu menulis sektor yang sama di tempat yang sama, dan menukar sektor ke / dari cadangan
Xen2050

Jawaban:

36

Tidak ada gunanya melakukan beberapa operan. Satu kali sudah cukup.

Mengisi drive yang akan dienkripsi dengan data acak terutama memiliki dua kegunaan:

  • singkirkan data lama yang tidak terenkripsi
  • membuat ruang kosong tidak dapat dibantah dari data terenkripsi

Biasanya jika Anda mengenkripsi, Anda tidak ingin orang lain melihat data Anda. Jadi kemungkinannya adalah, jika Anda memiliki data lama dan tidak terenkripsi pada drive ini, Anda juga ingin membuangnya. SSD mungkin akan membuatnya lebih mudah dan lebih cepat blkdiscard. Faktanya, Linux mkfsTRIMs semua data bahkan tanpa meminta konfirmasi kepada Anda, yang membuat segala jenis pemulihan data menjadi tidak mungkin. Terlalu banyak TRIM di Linux.

Ruang kosong adalah sedikit area abu-abu. Jika Anda tidak mengisi sebelumnya dengan data acak, pada HDD baru, sektor-sektor yang tidak pernah dituliskan akan menjadi nol. Pada SSD, jika Anda mengizinkan discard / TRIM, ruang kosong juga akan menjadi nol.

Meskipun ini tidak mempengaruhi data Anda dengan cara apa pun (masih terenkripsi), ini mengungkapkan berapa banyak ruang kosong / data aktual yang Anda miliki, dan di mana ruang / data bebas ini berada. Misalnya a hexdump -Cdari SSD yang dienkripsi dan dipangkas akan terlihat seperti ini:

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

Dari ini Anda dapat memberitahu saya memiliki segmen ruang bebas di alamat 0xb3eac000 .. 0xb3f70000, b3f71000 .. b3f72000, ... dan kebalikan dari yang segmen saja seperti data 0xb3f70000 .. b3f71000.

Apa yang bisa kamu lakukan dengan itu? Yah, tidak ada apa-apa (*).

(*) adalah apa yang ingin saya katakan. Tetapi orang menjadi kreatif . Pola ruang bebas dapat digunakan untuk menurunkan jenis sistem file yang Anda gunakan (karena bagaimana / di mana mereka menyimpan metadata - jika ada ruang kosong di mana ext4akan menyimpan salah satu cadangan metadata, sangat mungkin tidak ext4, dll.). Kadang-kadang bahkan mengungkapkan distribusi yang Anda gunakan (jika installer Linux Anda mengisi sistem file secara deterministik, file mungkin selalu berakhir di alamat fisik yang sama). Pada saat itu seseorang mungkin tahu di mana file sistem tertentu berada dan dapat memodifikasi / merusaknya dengan cara tertentu. (Pemasang harus mengacak cara mereka mengisi sistem file untuk mencegah hal ini.)

Namun pertimbangan seperti itu sangat teoretis, dan risikonya sangat rendah dibandingkan dengan seberapa rentan instalasi terenkripsi disebabkan oleh alasan lain. Di sebagian besar instalasi, lebih mudah / sederhana untuk mengutak-atik initramfs, atau menginstal keylogger, atau mengeksploitasi sistem yang sedang berjalan, daripada mendapatkan akses mentah ke dan menganalisis data terenkripsi dan berharap untuk mencapai apa pun dengan cara ini.

Anda harus khawatir tentang ini terlebih dahulu sebelum khawatir tentang mengungkapkan ruang kosong.

Dengan SSD, sangat normal untuk mengaktifkan TRIM dan karenanya memiliki ruang kosong yang terungkap setiap saat. Ini juga merupakan kasus untuk solusi enkripsi yang bekerja pada lapisan file daripada lapisan blok.

Dengan HDD, Anda terutama melakukan penghapusan acak bahkan pada disk baru karena Anda bisa, dan tidak ada alasan untuk tidak melakukannya karena tidak melibatkan biaya (selain dari pengaturan pertama kali) dan tidak ada kerugian.

frostschutz
sumber
1
Trim tidak harus benar-benar menghapus semua flash NAND yang dipangkas, karena beberapa di antaranya mungkin berada di blok hapus yang sama dengan beberapa sektor yang tidak dipangkas. (hapus blok lebih besar dari blok tulis). Bahkan jika mkf memotong seluruh partisi sebelum menulis metadata baru, data dari partisi lain (seperti partisi sistem EFI) masih aktif, dan firmware SSD tidak tahu tentang partisi.
Peter Cordes
Tautan ke en.wikipedia.org/wiki/Trim_(computing) mungkin berguna dalam jawaban Anda!
Gaurav