การลบการเข้ารหัสล่วงหน้าทำไม


25

ฉันอยากรู้ว่าทำไมก่อนที่จะเข้ารหัสและติดตั้งตัวเองบนไดรฟ์กาลี:

  1. เช็ดไดรฟ์ทั้งหมด
  2. เติมไดรฟ์ด้วย 0s
  3. เติมไดรฟ์ด้วย 1 วินาที
  4. เติมไดร์ฟด้วยข้อมูลแบบสุ่ม
  5. เช็ดไดรฟ์อีกครั้ง

ฉันรู้ว่ากาลีไม่ได้ตั้งใจจะติดตั้ง แต่นั่นไม่ใช่จุดที่นี่

ดังนั้นสิ่งนี้มีประโยชน์ก่อนติดตั้งพูดบน HDD ใหม่หรือไม่ ฉันเคยเห็นว่าในการลบ HDD ไม่ได้ติดตั้ง


ขั้นตอนที่ 1-3 เสียงคล้ายกับสิ่งที่badblocksจะตรวจสอบเซกเตอร์ที่ไม่ดีเขียน & ตรวจสอบ 0 ของ 1 ของ 01 ของ 10 สำหรับการเข้ารหัสทั้งดิสก์เป็นปกติที่จะแนะนำการเข้ารหัสศูนย์เติม (เพื่อเขียนข้อมูลที่เข้ารหัสทุก) เหตุผลในคำตอบ frostschultz ของ (+1) แต่ทำทั้งหมดนี้ก่อนที่จะเข้ารหัสเป็นเรื่องปกติหลังจากที่เข้ารหัสแล้ววิ่งbadblocksหรือ mkfs ของ-ccจะประสบความสำเร็จ เหมือนกันรวมทั้งระบุบล็อกที่ไม่ดี บางทีคนที่ Kali อาจเป็นคนหวาดระแวงเล็ก ๆ น้อย ๆ เกี่ยวกับหน่วยความจำแฟลช (USB, SSD) ที่ไม่ได้เขียนภาคเดียวกันในที่เดียวกันเสมอและเปลี่ยนเซกเตอร์ไปยัง / จากการสำรองข้อมูล
Xen2050

คำตอบ:


36

ไม่มีจุดในการทำหลายรอบ ครั้งเดียวก็เพียงพอแล้ว

การกรอกข้อมูลลงในไดรฟ์ที่เข้ารหัสจะมีข้อมูลแบบสุ่มส่วนใหญ่มีการใช้สองวิธี:

  • กำจัดข้อมูลเก่าที่ไม่ได้เข้ารหัส
  • ทำให้พื้นที่ว่างแยกไม่ออกจากข้อมูลที่เข้ารหัส

โดยปกติถ้าคุณเข้ารหัสคุณไม่ต้องการให้ใครเห็นข้อมูลของคุณ โอกาสที่จะเกิดขึ้นคือถ้าคุณมีข้อมูลเก่าที่ไม่ได้เข้ารหัสบนไดรฟ์นี้คุณต้องการกำจัดมันด้วย SSD blkdiscardอาจจะดูแลมันได้ง่ายขึ้นและเร็วขึ้นด้วย ในความเป็นจริง Linux mkfsTRIMs ข้อมูลทั้งหมดโดยไม่ต้องขอการยืนยันจากคุณซึ่งทำให้การกู้คืนข้อมูลเป็นไปไม่ได้ มี TRIM มากเกินไปใน Linux

พื้นที่ว่างเป็นพื้นที่สีเทาเล็กน้อย หากคุณไม่ได้กรอกข้อมูลแบบสุ่มล่วงหน้าลงบน HDD ใหม่ส่วนที่ไม่เคยเขียนจะเป็นศูนย์ บน 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 หรือติดตั้ง keylogger หรือใช้ประโยชน์จากระบบที่ใช้งานมากกว่าที่จะเข้าถึงข้อมูลดิบและวิเคราะห์ข้อมูลที่เข้ารหัสและหวังว่าจะบรรลุสิ่งใด

คุณควรกังวลเกี่ยวกับสิ่งเหล่านี้ก่อนที่จะกังวลเกี่ยวกับการเปิดเผยพื้นที่ว่าง

ด้วย SSD เป็นเรื่องปกติที่จะเปิดใช้งาน TRIM และทำให้มีพื้นที่ว่างเปิดเผยตลอดเวลา นี่เป็นกรณีสำหรับโซลูชันการเข้ารหัสที่ทำงานบนเลเยอร์ไฟล์มากกว่าบล็อกเลเยอร์

ด้วย HDD คุณจะทำการลบแบบสุ่มเป็นส่วนใหญ่แม้ในดิสก์ใหม่เพราะคุณสามารถทำได้และไม่มีเหตุผลที่จะไม่ต้องเสียค่าใช้จ่าย (นอกเหนือจากการตั้งค่าครั้งแรก) และไม่มีข้อเสีย


1
Trim ไม่จำเป็นต้องลบแฟลช NAND ที่ถูกเล็มทั้งหมดจริงๆเพราะบางอันอาจอยู่ในบล็อกลบเช่นเดียวกับเซกเตอร์ที่ไม่ได้ถูกเล็มบางส่วน (การลบบล็อกมีขนาดใหญ่กว่าบล็อกเขียน) แม้ว่า mkfs ตัดขอบพาร์ติชันทั้งหมดก่อนที่จะเขียนข้อมูลเมตาใหม่ข้อมูลจากพาร์ติชันอื่น (เช่นพาร์ติชันระบบ EFI) ยังคงทำงานอยู่และเฟิร์มแวร์ SSD ไม่ทราบเกี่ยวกับพาร์ติชัน
Peter Cordes

ลิงก์ไปยังen.wikipedia.org/wiki/Trim_(computing)อาจเป็นประโยชน์ในคำตอบของคุณ!
Gaurav
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.