ฉันจะแน่ใจได้อย่างไรว่าไดเรกทอรีหรือไฟล์ถูกลบจริง


14

ฉันรู้ว่าไฟล์ส่วนใหญ่เมื่อถูกลบจะไม่ถูกลบออกจากดิสก์จริงและสามารถกู้คืนได้ในภายหลัง

ฉันจะมั่นใจได้อย่างไรว่าไดเรกทอรีที่ฉันลบจะถูกลบออกจากดิสก์จริงหรือ มีสาธารณูปโภคสำหรับสิ่งนั้นหรือไม่?

ฉันใช้ Debian Linux


5
คำตอบสั้น ๆ : คุณทำไม่ได้! คำตอบที่ยาวนาน: ทำลายดิสก์ทางกายภาพหรือใช้ถ้อยคำใหม่อีกครั้ง: ต้องใช้ความพยายามมากแค่ไหนในการกู้คืนข้อมูลและอัตราความสำเร็จของความพยายามดังกล่าวเป็นเท่าใด
Marco

ดูเพิ่มเติม: unix.stackexchange.com/questions/44234/...และsuperuser.com/questions/19326/...
landroni

คำตอบ:


11

เข้ารหัสข้อมูลก่อนจัดเก็บ ในการลบข้อมูลให้เช็ดปุ่ม

หากคุณเขียนข้อมูลเป็นข้อความธรรมดาแล้วมันก็สายเกินไปที่จะล้างข้อมูลด้วยวิธีง่ายๆ อาจมีหลายสำเนาของข้อมูลที่วางอยู่ในสถานที่ต่าง ๆ :

  • บนระบบไฟล์หากไฟล์ถูกเขียนหลายครั้ง (อาจถูกเขียนทับหรือแทนที่);
  • บนระบบไฟล์หากมีการจัดเรียงใหม่เป็นส่วนหนึ่งของการจัดเรียงข้อมูล
  • ในวารสาร (อาจจะหายไปอย่างรวดเร็วหลังจากข้อมูลถูกเขียนครั้งสุดท้าย);
  • ในการสำรองข้อมูล
  • ในส่วนที่ถูกปิดใช้งาน (โดยเฉพาะกับ SSD)

ในการกำจัดสำเนาของข้อมูลในระบบไฟล์วิธีการที่ยากคือการเติมพื้นที่ว่าง ( cat /dev/zero >somefileและรอให้มันหยุดเพราะระบบไฟล์เต็ม) วิธีนี้จะเขียนทับบล็อกเต็มทั้งหมด

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

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

โปรดทราบว่าคุณอาจเห็นคำแนะนำเกี่ยวกับการลบข้อมูลโดยทำหลายรอบหรือใช้ข้อมูลสุ่มแทนเลขศูนย์ (“ Gutmann เช็ด”) ลืมมันไปได้: มันใช้กับฮาร์ดดิสก์ในช่วงปี 1980 เท่านั้น (และแม้แต่ข้อมูลก็ไม่ถูกที่จะสร้างใหม่และการสร้างใหม่นั้นไม่น่าเชื่อถือเลยทีเดียว) การเขียนทับด้วยศูนย์เป็นสิ่งที่ดีพอ การทำแบบสุ่มหลายครั้งเป็นคำแนะนำที่ล้าสมัยหรือน้ำมันงู ดูเหตุใดการเขียนเลขศูนย์ (หรือข้อมูลแบบสุ่ม) ลงบนฮาร์ดไดรฟ์หลาย ๆ ครั้งดีกว่าทำเพียงครั้งเดียว


12

shredมีเครื่องมือที่นิยมมากเรียกว่าเป็น มันจะเขียนทับทุกไฟล์ 25 ครั้งก่อนที่มันจะถูกลบ นั่นอาจเป็นสิ่งที่คุณกำลังมองหา

การใช้งานเครื่องฉีกค่อนข้างง่าย

$ shred secret_archive.tar.gz

อย่างไรก็ตามโปรดทราบว่าในระบบที่ทันสมัยshredอาจไม่มีประสิทธิภาพหรือไร้ประโยชน์หาก:

  • โปรแกรมของคุณสร้างไฟล์ชั่วคราวที่คุณไม่ได้รับรู้ (เช่นแอปพลิเคชั่น GUI จำนวนมาก)
  • FS ของคุณคัดลอกตามการเขียน (เช่น ZFS หรือ Btrfs)
  • FS ของคุณใช้บันทึก (เช่นเดียวกับ NILFS)
  • FS ของคุณใช้การบันทึกข้อมูล (เช่น JFS, ReiserFS, XFS, ext3 หรือ ext4 ในการกำหนดค่าบางอย่าง)
  • FS ของคุณใช้การบีบอัด
  • FS ของคุณจัดสรรไฟล์เวอร์ชันใหม่ที่สถานที่ต่างกัน
  • คุณมีสแนปชอตหรือสำรอง
  • คุณอยู่ในเครือข่าย FS
  • คุณกำลังใช้ SSD พร้อมอัลกอริธึมการปรับระดับการสึกหรอ

ตัวเลือกอื่น ๆ และอาจมีความปลอดภัยมากขึ้น ได้แก่ :

  • การเข้ารหัสข้อมูลที่สำคัญ
  • เขียนทับพาร์ติชันหรืออุปกรณ์เก็บข้อมูลทั้งหมด
  • การทำลายทางกายภาพของอุปกรณ์

1
ตาม manpage ของฉันใช้shredงานได้กับ ext3 (และฉันเดาว่า ext4 ด้วย) เมื่อใช้data = สั่ง (ค่าเริ่มต้น) และdata = writebackโหมด นอกจากนี้ยังมีทางเลือกง่ายๆเพียงแค่สร้างไฟล์ขนาดใหญ่ที่มีพื้นที่ทั้งหมดที่เหลืออยู่ในระบบไฟล์เพื่อให้ไฟล์ที่ถูกลบของคุณถูกเขียนทับ
scai

ขอบคุณ ฉันเพิ่งแก้ไขมัน journaling -> data jornaling
taffer

@scai วิธีการไฟล์ขนาดใหญ่อาจไม่ได้ผลเนื่องจากบล็อกของไฟล์อาจถูกจัดสรรใหม่และยังไม่ได้เขียน (เช่นข้อมูลที่ถูกบล็อกบล็อกไฟล์หรือ dirs สุดท้าย)
Stéphane Chazelas

3
shredคือน้ำมันงู: มันไม่ดีไปกว่าhead -c $(wc -c secret_archive.tar.gz)>! secret_archive.tar.gz` การใช้ shred นั้นไม่มีประโยชน์เสมอไปเว้นแต่ว่าคุณกำลังใช้ฮาร์ดดิสก์จากช่วงปี 1980 หรือต้นปี 1990
Gilles 'SO- หยุดความชั่วร้าย'

3
ฉีก / bcwipe / ฯลฯ คือน้ำมันงูในระดับระบบไฟล์ สำหรับระบบไฟล์ใด ๆ เนื่องจากวิธีที่คุณทำงานกับไฟล์: ทุกครั้งที่คุณคลิกบันทึกไฟล์เก่าจะถูกลบ (อยู่ในพื้นที่ว่าง) และสร้างไฟล์ใหม่ คุณไม่สามารถทำลายมันได้หากระบบไฟล์ลืมไปแล้ว - มันแตกต่างกันในระดับอุปกรณ์หรือเขียนทับระดับพื้นที่ว่างทั้งหมด Shred เป็นหนึ่งในแหล่งข้อมูลสุ่มที่รวดเร็วไม่กี่แห่งที่มีอยู่ใน Linux / Unix / dev / (u) สุ่มมันช้าเกินไปที่จะใช้งานได้สำหรับการเขียนทับข้อมูลจำนวนมาก - ดังนั้นผ่านฉีกเดียวก็โอเคสำหรับอุปกรณ์หรือพื้นที่ว่างเพียงแค่ไม่ได้สำหรับไฟล์เดียว
frostschutz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.