Bagaimana saya bisa yakin bahwa direktori atau file sebenarnya dihapus?

14

Saya tahu bahwa sebagian besar file, ketika dihapus, sebenarnya tidak dihapus dari disk, dan dapat dipulihkan nanti.

Bagaimana saya bisa memastikan bahwa direktori yang telah saya hapus sebenarnya akan dihapus dari disk? Apakah ada utilitas untuk itu?

Saya menggunakan Linux Debian.

jcora
sumber
5
Jawaban singkatnya: Anda tidak bisa! Jawaban panjang: Baik secara fisik menghancurkan disk atau ulangi pertanyaan: Berapa banyak upaya yang diperlukan untuk memulihkan data dan apa yang akan menjadi tingkat keberhasilan upaya seperti itu?
Marco

Jawaban:

11

Enkripsi data sebelum menyimpannya. Untuk menghapus data, hapus kunci.

Jika Anda sudah menulis data dalam plaintext, sudah terlambat untuk menghapusnya dengan cara sederhana. Mungkin ada beberapa salinan data yang diletakkan di berbagai tempat:

  • pada sistem file jika file tersebut ditulis beberapa kali (baik ditimpa atau diganti);
  • pada sistem file jika itu disusun ulang sebagai bagian dari defragmentasi;
  • dalam jurnal (ini kemungkinan akan hilang dengan cepat setelah data terakhir ditulis);
  • dalam cadangan;
  • di sektor yang dinonaktifkan (terutama pada SSD).

Untuk menghilangkan salinan data pada sistem file, metode kasar adalah mengisi ruang kosong ( cat /dev/zero >somefiledan tunggu sampai sistem berhenti karena sistem file penuh). Ini akan menimpa semua blok penuh.

Sebagian kecil data mungkin tetap berada di blok tidak lengkap yang sebagian digunakan oleh file lain. Ini terutama menyangkut nama file, yang mungkin tetap di blok yang menyimpan konten direktori. Untuk menyingkirkan semuanya, buat cadangan semua file, timpa perangkat yang berisi sistem file sepenuhnya, lalu pulihkan file.

Media penyimpanan dapat menyimpan data dalam blok yang tidak lagi digunakan. Pada hard disk, ini berarti blok buruk yang telah dialokasikan kembali; ini adalah kejadian yang cukup langka sampai disk mulai aus. Pada SSD, ini adalah kejadian umum karena leveling keausan. Dalam kedua kasus tersebut, ancamannya sangat rendah, karena mengakses data memerlukan penyerang yang agak canggih dengan beberapa perangkat keras yang cukup mahal dan waktu untuk dihabiskan. Jika Anda peduli dengan ancaman ini, enkripsi data Anda dan jangan biarkan kunci Anda tetap berada di sana.

Perhatikan bahwa Anda dapat melihat saran tentang menghapus data dengan melakukan beberapa lintasan atau menggunakan data acak alih-alih nol ("Gutmann wipe"). Lupakan saja: ini hanya berlaku untuk hard disk 1980-an (dan itupun datanya tidak semurah itu untuk direkonstruksi dan rekonstruksi agak tidak bisa diandalkan). Menimpa dengan nol cukup baik; melakukan beberapa pass acak adalah saran usang atau minyak ular. Lihat Mengapa menulis angka nol (atau data acak) pada hard drive beberapa kali lebih baik daripada hanya melakukannya sekali?

Gilles 'SANGAT berhenti menjadi jahat'
sumber
12

Ada alat yang sangat populer disebut shred. Ini akan menimpa setiap file 25 kali sebelum dihapus. Mungkin itu yang saya cari.

Penggunaan rusak cukup sederhana

$ shred secret_archive.tar.gz

Namun perlu dicatat bahwa pada sistem modern shredmungkin tidak efisien atau tidak berguna jika:

  • Program Anda membuat file sementara yang tidak Anda sadari (Seperti banyak Aplikasi GUI)
  • FS Anda berbasis Copy-On-Write (Seperti ZFS atau Btrfs)
  • FS Anda berbasis log (Seperti NILFS)
  • FS Anda menggunakan penjurnalan data (Seperti JFS, ReiserFS, XFS, ext3 atau ext4 dalam beberapa konfigurasi)
  • FS Anda menggunakan kompresi
  • FS Anda mengalokasikan versi file baru di lokasi yang berbeda
  • Anda memiliki snapshot atau Cadangkan
  • Anda berada di FS jaringan
  • Anda menggunakan SSD dengan algoritme tingkat keausan

Opsi lain yang berpotensi lebih aman adalah:

  • Mengenkripsi data penting
  • Menimpa seluruh partisi atau perangkat penyimpanan
  • Penghancuran fisik perangkat
taffer
sumber
1
Menurut halaman manual saya shredbekerja bahkan dengan ext3 (dan saya kira ext4 juga) ketika menggunakan data = teratur (default) dan data = mode penulisan kembali . Selain itu ada alternatif sederhana: cukup buat file besar yang menempati semua ruang yang tersisa dari sistem file sehingga file yang dihapus akan ditimpa.
scai
Terima kasih. Saya baru saja memperbaikinya. journaling -> data jornaling
taffer
@scai, metode file besar tidak akan selalu berfungsi karena blok file mungkin sudah dialokasikan kembali dan belum ditulis (seperti data falloced, blok file terakhir atau dir ...)
Stéphane Chazelas
3
shredadalah minyak ular: tidak lebih baik dari head -c $(wc -c secret_archive.tar.gz)>! secret_archive.tar.gz`. Menggunakan shred selalu sia-sia kecuali Anda menggunakan hard disk dari tahun 1980-an atau awal 1990-an.
Gilles 'SO- stop being evil'
3
rusak / bcwipe / dll. adalah minyak ular pada tingkat sistem file. Untuk sistem file apa pun. Karena cara Anda bekerja dengan file: Setiap kali Anda mengklik simpan, file lama dihapus (berada di ruang kosong), dan file baru dibuat. Anda tidak dapat merusaknya jika sistem file sudah melupakannya. - Ini berbeda pada level perangkat, atau menimpa level ruang bebas semua. Ada rusak adalah salah satu dari beberapa sumber data acak cepat yang tersedia di Linux / Unix. / dev / (u) acak terlalu lambat untuk digunakan untuk menimpa data dalam jumlah besar. - Jadi satu kartu rusak tidak apa-apa untuk perangkat atau ruang kosong, hanya saja tidak untuk file tunggal
frostschutz