Ketika file dihapus, isinya mungkin masih tersisa di sistem file, kecuali secara eksplisit ditimpa dengan sesuatu yang lain. The wipe
perintah aman dapat menghapus file, tetapi tampaknya tidak memungkinkan menghapus ruang disk tidak digunakan oleh file.
Apa yang harus saya gunakan untuk mencapai ini?
Jawaban:
Peringatan: Perangkat keras disk / SSD modern dan sistem file modern mungkin membuang data di tempat-tempat di mana Anda tidak dapat menghapusnya, sehingga proses ini mungkin masih meninggalkan data pada disk. Satu-satunya cara aman untuk menghapus data adalah perintah ATA Secure Erase (jika diterapkan dengan benar), atau penghancuran fisik. Lihat juga Bagaimana saya dapat menghapus semua informasi pada hard drive dengan andal?
Anda dapat menggunakan seperangkat alat yang disebut secure-delete.
Ini memiliki empat alat:
srm
- menghapus file yang adasmem
dengan aman - menghapus jejak file dari ram dengan amansfill
- menghapus semua ruang yang ditandai kosong pada hard drive Andasswap
- menghapus semua data dari ruang swap Anda.Dari halaman manual
srm
sumber
cat /dev/zero >nosuchfile; rm nosuchfile
.Cara tercepat, jika Anda hanya memerlukan satu pass dan hanya ingin mengganti semuanya dengan nol, adalah:
(dijalankan dari direktori pada sistem file yang ingin Anda hapus)
(
sync
perintahnya adalah ukuran paranoia yang memastikan semua data ditulis ke disk - manajer cache yang cerdas mungkin berhasil sehingga dapat membatalkan penulisan untuk semua blok yang tertunda saat file tersebut tidak ditautkan )Akan ada waktu selama operasi ini ketika tidak akan ada ruang kosong sama sekali pada sistem file, yang bisa menjadi puluhan detik jika file yang dihasilkan besar dan terfragmentasi sehingga perlu beberapa saat untuk menghapus. Untuk mengurangi waktu ketika freespace benar-benar nol:
Ini harus cukup untuk menghentikan seseorang membaca konten file lama tanpa operasi forensik yang mahal. Untuk varian yang sedikit lebih aman, tetapi lebih lambat, ganti
/dev/zero
dengan/dev/urandom
. Untuk lebih banyak paranoia, jalankan beberapa langkah/dev/urandom
, meskipun jika Anda membutuhkan banyak upaya,shred
utilitas dari paket coreutils adalah cara yang harus dilakukan:Perhatikan bahwa di atas file kecil diparut sebelum membuat yang lebih besar, sehingga dapat dihapus segera setelah yang lebih besar selesai daripada harus menunggu untuk diparut meninggalkan sistem file dengan nol ruang kosong untuk waktu yang diperlukan. Proses rusak dengan memakan waktu lama di atas file besar dan kecuali Anda mencoba menyembunyikan sesuatu dari NSA tidak benar-benar diperlukan IMO.
Semua hal di atas harus bekerja pada sistem file apa pun.
Batas Ukuran File:
Seperti DanMoulding tunjukkan dalam komentar di bawah, ini mungkin memiliki masalah dengan batasan ukuran file pada beberapa sistem file.
Untuk FAT32 pasti akan menjadi perhatian karena batas file 2GiB: sebagian besar volume lebih besar dari ini hari ini (8TiB adalah batas ukuran volume IIRC). Anda dapat mengatasi ini dengan menyalurkan
cat /dev/zero
output output besarsplit
untuk menghasilkan beberapa file yang lebih kecil dan menyesuaikan rusak dan menghapus tahapan yang sesuai.Dengan ext2 / 3/4 itu kurang menjadi perhatian: dengan blok standar / umum 4K batas ukuran file adalah 2TiB sehingga Anda harus memiliki volume besar untuk ini menjadi masalah (ukuran volume maksimum dalam kondisi ini adalah 16TiB).
Dengan (masih eksperimental) btrf baik ukuran file dan volume maksimum adalah 16EiB besar.
Di bawah NTFS panjang file maks lebih besar dari panjang volume maks dalam beberapa kasus bahkan.
Titik awal untuk info lebih lanjut:
http://en.wikipedia.org/wiki/Ext3#Size_limits
http://en.wikipedia.org/wiki/Btrfs
http://en.wikipedia.org/wiki/Ntfs#Scalability
Perangkat Virtual
Seperti disebutkan dalam komentar baru-baru ini, ada pertimbangan tambahan untuk perangkat virtual:
Untuk disk virtual yang jarang dialokasikan, metode lain seperti yang digunakan oleh
zerofree
akan lebih cepat (meskipun tidak seperti inicat
dandd
ini bukan alat standar yang dapat Anda andalkan tersedia di hampir semua OS mirip unix).Sadarilah bahwa mem-nolkan blok pada perangkat virtual yang jarang mungkin tidak menghapus blok pada perangkat fisik yang mendasarinya , sebenarnya saya akan mengatakan bahwa itu tidak mungkin - manajer disk virtual hanya akan membuat blok karena tidak lagi digunakan sehingga bisa dialokasikan untuk hal lain nanti.
Bahkan untuk perangkat virtual ukuran tetap, Anda mungkin tidak memiliki kontrol di mana perangkat hidup secara fisik sehingga dapat dipindahkan di sekitar lokasi saat ini atau ke set disk fisik baru kapan saja dan yang paling bisa Anda hapus adalah lokasi saat ini, bukan lokasi sebelumnya yang mungkin dihuni oleh blok tersebut.
Untuk masalah di atas pada perangkat virtual: kecuali Anda mengontrol host dan dapat melakukan penghapusan ruang yang tidak teralokasi dengan aman setelah itu menghapus disk di VM atau memindahkan perangkat virtual, tidak ada yang dapat Anda lakukan setelah ini. fakta. Satu-satunya jalan adalah dengan menggunakan enkripsi disk penuh sejak awaljadi tidak ada yang tidak terenkripsi setiap ditulis ke media fisik di tempat pertama. Mungkin masih ada panggilan untuk penghapusan ruang-bebas di dalam VM tentu saja. Perhatikan juga bahwa FDE dapat membuat perangkat virtual yang jarang sangat berguna karena lapisan virtualisasi tidak dapat benar-benar melihat blok mana yang tidak digunakan. Jika lapisan sistem file OS mengirimkan perintah trim ke perangkat virtual (seolah-olah itu adalah SSD), dan pengendali virtual mengartikan ini, maka itu mungkin menyelesaikan ini, tapi saya tidak tahu keadaan di mana ini benar-benar terjadi dan lebih luas diskusi tentang hal itu adalah masalah di tempat lain (kami sudah hampir tidak berada di luar topik untuk pertanyaan awal, jadi jika ini telah menarik minat Anda, beberapa pertanyaan percobaan dan / atau tindak lanjut mungkin perlu dilakukan).
sumber
secure-delete
alat: menggunakansfill -llz
mengurangi seluruh prosedur menjadi satu pass yang hanya menulis '0's.cat
dandd
tersedia pada hampir semua OS seperti unix karena dianggap sebagai alat standar di manazerofree
mungkin tidak kecuali telah ditambahkan secara eksplisit.zerofree
tentu saja akan berhasil, "seluruh sistem file sementara penuh" yang disebutkan di halaman manual (hampir tetapi tidak cukup dimitigasi oleh pokery jiggery small.file dalam contoh saya) adalah perhatian asli jika Anda melakukan ini pada sistem yang sedang aktif, danzerofree
tentu saja akan lebih cepat dalam contoh spesifik dioptimalkan untuk: perangkat blok virtual yang jarang dialokasikan. Meskipun Anda tidak dapat mengandalkan penghapusan pada perangkat virtual untuk tujuan keamanan: satu-satunya jawaban yang benar dalam hal ini adalah untuk mengenkripsi perangkat lengkap sejak awal.PERINGATAN
Saya terkejut dengan berapa banyak file yang dapat diambil photorec dari disk saya, bahkan setelah dihapus.
Apakah ada keamanan lebih dalam mengisi "ruang kosong" hanya 1 kali dengan 0x00 atau 38 kali dengan standar kabalistik yang berbeda lebih merupakan diskusi akademis. Penulis makalah seminal 1996 tentang merobek-robek menulis sendiri epilog yang mengatakan bahwa ini usang dan tidak perlu untuk perangkat keras modern. Tidak ada kasus data terdokumentasi yang secara fisik diganti nol dan dipulihkan sesudahnya.
Tautan rapuh sebenarnya dalam prosedur ini adalah sistem file . Beberapa filesystem cadangan ruang untuk penggunaan khusus, dan itu tidak tersedia sebagai "ruang kosong". Tetapi data Anda mungkin ada di sana . Itu termasuk foto, email teks biasa pribadi, apa pun. Saya baru saja googled reserved + space + ext4 dan mengetahui bahwa 5% dari
home
partisi saya dicadangkan. Saya kira ini adalah tempatphotorec
ditemukannya banyak barang saya. Kesimpulan: metode merobek-robek bukan yang paling penting, bahkan metode multi-pass masih meninggalkan data di tempat .Anda dapat mencoba
# tune2fs -m 0 /dev/sdn0
sebelum memasangnya. (Jika ini akan menjadi partisi root setelah reboot, pastikan jalankan-m 5
atau-m 1
setelah melepasnya).Tapi tetap saja, dengan satu atau lain cara, mungkin masih ada ruang tersisa.
Satu-satunya cara yang benar-benar aman adalah menghapus seluruh partisi, membuat sistem file lagi, dan kemudian mengembalikan file Anda dari cadangan.
Cara cepat (disarankan)
Jalankan dari direktori pada sistem file yang ingin Anda hapus:
Catatan: tujuan dari file kecil adalah untuk mengurangi waktu ketika ruang kosong sama sekali nol; tujuan sinkronisasi adalah untuk memastikan data benar-benar ditulis.
Ini harus cukup baik bagi kebanyakan orang.
Cara lambat (paranoid)
Tidak ada kasus data yang didokumentasikan yang dipulihkan setelah pembersihan di atas. Akan mahal dan membutuhkan banyak sumber daya, jika mungkin sama sekali.
Namun, jika Anda memiliki alasan untuk berpikir bahwa agen rahasia akan menghabiskan banyak sumber daya untuk memulihkan file Anda, ini sudah cukup:
Butuh waktu lebih lama.
Peringatan. Jika Anda telah memilih cara paranoid, setelah ini Anda masih ingin melakukan penghapusan cepat, dan itu bukan paranoia. Kehadiran data acak murni mudah dan murah untuk dideteksi, dan menimbulkan kecurigaan bahwa itu sebenarnya data yang dienkripsi. Anda bisa mati di bawah siksaan karena tidak mengungkapkan kunci dekripsi.
Cara sangat lambat (paranoid gila)
Bahkan penulis makalah seminal 1996 tentang merobek-robek menulis sebuah epilog yang mengatakan bahwa ini sudah usang dan tidak perlu untuk perangkat keras modern.
Tetapi jika Anda masih memiliki banyak waktu luang dan Anda tidak keberatan menghabiskan disk Anda dengan banyak overwritting, ini dia:
Catatan: ini pada dasarnya setara dengan menggunakan alat hapus-aman.
Sebelum diedit, postingan ini adalah penulisan ulang karya David Spillett. Perintah "cat" menghasilkan pesan kesalahan, tetapi saya tidak dapat menulis komentar di pos orang lain.
sumber
cat
perintah diharapkan untuk memberikan "tidak ada ruang yang tersisa" kesalahan dalam contoh saya, pada akhir menjalankan nya. Anda dapat menyembunyikan ini dengan mengarahkan stderr ke/dev/null
jika itu merupakan masalah. Saya biasanya menggunakanpv
daripadacat
ataudd
untuk hal semacam ini, untuk mendapatkan indikasi kemajuan yang bermanfaat....raises the suspicion that it is actually encrypted data. You may die under torture for not revealing the decryption key.
Heh, itulah yang saya pikirkan. Saya kira itu berarti saya paranoid ...dd
jalankan sebagai root memberikan akses ke lebih banyak sistem file daripadadd
tanpa root? Saya ingin percaya ini benar, tetapi tidak dapat melihat alasan untuk saat ini.Setidaknya ada utilitas zerofree di Ubuntu:
http://manpages.ubuntu.com/manpages/natty/man8/zerofree.8.html
Juga periksa tautan ini tentang zerofree: Menyimpan gambar filesystem jarang - dari pembuatnya - Ron Yorston (9 Agustus 2012)
sumber
Inilah cara melakukannya dengan GUI.
Kemajuan BleachBit lebih dari dd (yang sebaliknya sangat bagus) adalah ketika disk akhirnya penuh, BleachBit membuat file kecil untuk menghapus inode (yang berisi metadata seperti nama file, dll).
sumber
Saya gunakan
dd
untuk mengalokasikan satu atau lebih file besar untuk mengisi ruang kosong, kemudian menggunakan utilitas penghapusan yang aman.Untuk mengalokasikan file dengan dd coba:
Ini akan menghasilkan file bernama
delete_me
yang berukuran 100 MB. (Inibs
adalah "ukuran blok" yang diatur ke 1k, dancount
jumlah blok yang akan dialokasikan.)Kemudian gunakan utilitas penghapusan aman favorit Anda (saya telah menggunakan
shred
) pada file yang dibuat.Tetapi PERHATIKAN INI: buffering berarti bahkan jika Anda melakukan seluruh disk, Anda mungkin tidak mendapatkan semuanya!
Tautan ini merekomendasikan
scrub
untuk menyeka ruang bebas. Belum mencobanya.sumber
scrub
pernah mencoba dan itu merusak seluruh sistem file. Untungnya saya memiliki perasaan yang baik untuk pertama kali bereksperimen pada sistem file pengujian, BUKAN pada data saya yang sebenarnya.Bersihkan drive dengan kecepatan tinggi.
Instruksi umum untuk mengenkripsi drive saat ini akan memberitahu Anda untuk terlebih dahulu menghapus WIPE drive.
Perintah di bawah ini akan mengisi drive Anda dengan ciphertext AES.
Gunakan live CD jika Anda perlu menghapus drive boot utama Anda.
Buka terminal dan tingkatkan hak istimewa Anda:
Mari kita buat daftar semua drive di sistem agar aman:
CATATAN: Ganti
/dev/sd{x}
dengan perangkat yang ingin Anda hapus.PERINGATAN: Ini bukan untuk amatir! Anda dapat membuat sistem Anda tidak dapat di-boot !!!
Saya terkejut melihat seberapa cepat ini.
sumber
Anda mungkin sudah menginstal paket GNU coreutils di sistem Anda. Ini memberikan perintah rusak .
sumber
Anda dapat menghapus ruang kosong Anda dengan menggunakan paket penghapusan aman.
Dalam paket itu Anda dapat menemukan
sfill
alat, yang dirancang untuk menghapus data yang terletak pada ruang disk yang tersedia pada media dengan cara aman yang tidak dapat dipulihkan oleh pencuri, penegak hukum atau ancaman lainnya.Untuk menginstal paket penghapusan aman di Linux (Ubuntu), instal dengan perintah berikut:
Kemudian untuk menghapus data Anda tanpa ruang kosong, coba perintah berikut:
Di mana / YOUR_MOUNTPOINT / OR_DIRECTORY adalah titik pemasangan (
df -h
,mount
) atau direktori Anda untuk menghapus ruang kosong.Baca manual di http://manpages.ubuntu.com/manpages/hardy/man1/sfill.1.html
sumber
gunakan dd dan kosongkan ruang kosong. itu adalah data mitos yang harus ditulis berulang kali (tanyakan peter guntmann) dan data acak, berbeda dengan 1 lalu 0 berarti aktivitas yang tidak wajar. maka hasil akhirnya adalah drive bersih dengan cara yang lebih sedikit menghabiskan waktu menulis. selain itu, program penghapusan aman tidak dapat menjamin mereka bahkan menimpa file nyata pada sistem file modern (dijurnal). bantulah diri Anda sendiri dan dapatkan photorec, pindai drive Anda untuk melihat kekacauan, usap dengan angka 1 dan secara opsional dengan nol untuk membuatnya tampak tidak tersentuh. Jika photorec masih menemukan hal-hal, ingat itu memindai semua yang tersedia, jadi lakukan ini dengan hati-hati lagi dengan pengguna root.
ingat, cia / fbi / nsa tidak memiliki mesin mewah yang dapat membaca keadaan sebenarnya dari bit media magnetik Anda. itu semua hanya kertas yang sudah lama ditulis. a "bagaimana-jika". Anda hanya perlu menghapus 1 kali.
sumber
Lebih mudah menggunakan scrub :
Ini akan membuat
dump
folder di lokasi saat ini dan membuat file hingga disk penuh. Anda dapat memilih pola dengan-p
opsi (nnsa|dod|bsi|old|fastold|gutmann
).Memasang scrub tidak mudah ( lihat Forum Ubuntu tentang ini ), tetapi begitu instalasi selesai, Anda sudah memiliki alat yang SANGAT SEDERHANA dan efisien di tangan Anda.
sumber
scrub
pernah mencoba dan itu merusak seluruh sistem file. Untungnya saya memiliki perasaan yang baik untuk pertama kali bereksperimen pada sistem file pengujian, BUKAN pada data saya yang sebenarnya.scrub -X dump_dir
Sudah mencoba dan tampaknya telah bekerja dengan baik. BTW, menginstal pada Ubuntu 14.04 sangat mudah:apt-get install scrub
.Berikut ini skrip "sdelete.sh" yang saya gunakan. Lihat komentar untuk detailnya.
sumber
Saya menemukan solusi sederhana yang berfungsi di Linux dan di MacOS. Pindahkan di folder root disk Anda dan luncurkan perintah ini:
di mana // DISKSPACE // adalah ukuran dalam GB hard disk Anda.
sumber
Saya terkadang menggunakan bash one-liner ini:
Ketika mulai mengatakan bahwa disk sudah penuh, cukup tekan Ctrl+ Cdan hapus
zero.*
file yang dibuat .Ia bekerja pada sistem apa pun, apa pun batas ukuran file.
Abaikan
cat: write error: File too large
kesalahan apa pun .sumber
Ini bukan jawaban! Hanya komentar untuk mereka yang ingin menggunakan
pv
... jadi jangan repot-repot memilih.Di Linux Mint 17.3 Anda dapat menggunakan
pv
( tampilan pipa ) untuk mendapatkan kemajuan penulisan. Sebagai contoh:Keuntungan di sini adalah Anda mendapatkan bilah kemajuan, ETA, dan laju data yang terus diperbarui. Kerugiannya adalah ini ditulis pada satu baris dan ketika disk penuh (mengembalikan kesalahan), ia menghilang. Ini terjadi karena ukuran penuh merupakan perkiraan karena OS kemungkinan akan menggunakan disk saat operasi yang sangat lama ini berlangsung, terutama pada volume OS.
Pada HD yang sangat lama, saya mendapatkan data rate sekitar 13 MB / s menggunakan
/dev/urandom
, dan sekitar 70 MB / s , saat menggunakan/dev/zero
. Ini mungkin akan meningkat lebih lanjut saat menggunakan mentahdd
ataucat
, dan tidakpv
.sumber
Setelah file hilang dari catatan sistem file, data yang tersisa di hard disk adalah urutan tanpa arti dari 1 dan 0. Jika Anda ingin mengganti urutan yang tidak berarti itu dengan urutan lain yang tidak berarti, saya dapat menyarankan beberapa produk komersial untuk menghapus drive dengan aman, seperti arconis.
sumber