Apakah ada cara yang lebih cepat daripada / dev / [u] acak? Terkadang, saya perlu melakukan hal-hal seperti
cat / dev / urandom> / dev / sdb
Perangkat acak "terlalu" aman dan sayangnya terlalu lambat untuk itu. Saya tahu bahwa ada wipe
dan alat serupa untuk penghapusan aman, tapi saya kira ada juga beberapa cara on-board untuk itu di Linux.
Jawaban:
Jika Anda ingin menghapus "hard" (atau file) hard drive, Anda harus melihat utilitas rusak.
Seperti yang ditunjukkan poster sebelumnya, perangkat / dev / * acak dimaksudkan untuk digunakan sebagai sumber potongan kecil data acak.
sumber
Sayangnya Linux memiliki implementasi urandom yang buruk. Anda dapat menggunakan aes256-ctr dengan kunci acak dan mendapatkan beberapa ratus megabyte pseudo-randomness per detik, jika CPU Anda mendukung AES-NI (akselerasi perangkat keras). Saya berharap untuk beralih urandom ke pendekatan modern juga.
Anak anjing ini memiliki 1,0 GB / s di kotak saya (dibandingkan dengan 14 MB / s dari / dev / urandom). Ini menggunakan urandom hanya untuk membuat kata sandi acak dan kemudian melakukan enkripsi sangat cepat / dev / zero menggunakan kunci itu. Ini seharusnya PRNG yang aman secara kriptografis, tetapi saya tidak akan memberikan jaminan.
sumber
pv
untuk indikator kemajuan yang bagus.openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | pv -pterb > /dev/sdb
.pv
rekomendasi, Anda dapatpv -pterb -s $(blockdev --getsize64 /dev/sdb) >/sdb
meminta agarpv
Anda menunjukkan kemajuan dalam menyelesaikan penulisan.Dalam pengujian cepat di bawah Ubuntu 8.04 pada Thinkpad T60p dengan CPU T2500, 1GB data acak dari
openssl rand
adalah 3-4X lebih cepat daripada/dev/urandom
. Itu adalah,... sekitar 4 menit sementara ...
... hanya lebih dari 1 menit.
Tidak yakin apakah ada perbedaan dalam kualitas acak, tetapi keduanya mungkin baik untuk penghapusan HD.
sumber
Saya melihat banyak jawaban yang mengatakan bahwa menggunakan data acak tidak penting. Itu cukup benar jika semua yang Anda coba lakukan adalah menghapus drive, tetapi tidak begitu banyak jika Anda menghapusnya dalam persiapan untuk enkripsi disk.
Jika Anda mengisi perangkat dengan data non-acak kemudian letakkan partisi terenkripsi di atasnya Anda mungkin mengalami masalah. Bagian drive yang menyimpan data terenkripsi akan menonjol dari sisa drive, karena data yang dienkripsi akan terlihat acak dan sisanya tidak. Ini dapat digunakan untuk menentukan informasi tentang disk crypto yang dapat digunakan untuk memecahkannya. Tautan di bawah ini menjelaskan teori di balik bagaimana beberapa serangan yang lebih umum bekerja dan bagaimana mempertahankannya (di Linux, tetap).
Pengaturan enkripsi hard disk Linux
sumber
Jika Anda perlu menghapus HD dengan aman, ada satu alat yang sangat kuat: DBAN
sumber
Jika Anda ingin menghapus perangkat blok besar maka saya telah menemukan itu lebih kuat untuk digunakan
dd
dan perangkat mapper daripada redirection output data acak. Berikut ini akan memetakan/dev/sdb
untuk/dev/mapper/deviceToBeErased
en dan mendekripsi secara transparan di antaranya. Untuk mengisi perangkat di bagian terenkripsi, nol disalin ke sisi teks biasa mapper (/dev/mapper/deviceToBeErased
).Data terenkripsi pada
/dev/sdb
dijamin tidak dapat dibedakan dari data acak jika tidak ada kelemahan serius dalam AES. Kunci yang digunakan diambil dari/dev/random
(jangan khawatir - hanya menggunakan 32 byte).sumber
periksa frandom
http://billauer.co.il/frandom.html
menurut pengujian saya ini tercepat
sumber
Semakin cepat alat Anda semakin tidak aman hasilnya. Menghasilkan keacakan yang baik membutuhkan waktu.
Lagi pula, Anda bisa menggunakan sesuatu seperti dd jika = / dev / nol dari = / dev / sdb , tapi jelas itu tidak akan acak, itu hanya akan menghapus lebih cepat.
Pilihan lain mungkin menggunakan metode ini / sbin / badblocks -c 10240 -s -w -t acak -v / dev / sdb lebih cepat dari urandom, tetapi badblocks PRNG kurang acak.
sumber
/dev/random
menggunakan banyak entropi sistem, dan hanya menghasilkan aliran data yang lambat./dev/urandom
kurang aman, dan lebih cepat, tapi masih diarahkan pada potongan data yang lebih kecil - itu tidak dimaksudkan untuk memberikan aliran angka acak berkecepatan tinggi yang berkelanjutan.Anda harus membuat PRNG dari desain Anda sendiri, dan menaburnya dengan sesuatu dari
/dev/random
atau/dev/urandom
. Jika Anda membutuhkannya sedikit lebih acak, tambahkan secara berkala - setiap beberapa MB (atau berapa pun panjang prng Anda). Mendapatkan 4 byte (nilai 32 bit) dari urandom atau acak cukup cepat sehingga Anda dapat melakukan ini setiap 1 k data (reseed prng Anda setiap 1k) dan mendapatkan hasil yang sangat acak, sambil berjalan dengan sangat, sangat, cepat.-Adam
sumber
Jika Anda ingin menghapus hard drive dengan cepat, tulis data nonrandom ke dalamnya. Ini tidak kalah aman daripada menggunakan data acak. Either way, ketika terhubung ke komputer data asli tidak dapat dibaca. Menimpa Data Hard Drive: The Great Wiping Controversy menunjukkan bahwa data asli juga tidak dapat dibaca menggunakan mikroskop.
sumber
Format dengan LUKS, dan lakukan lebih dari volume terenkripsi. Kemudian gunakan / dev / urandom untuk menghapus header LUKS.
Jika Anda memiliki dukungan AES perangkat keras, ini adalah solusi yang sangat cepat.
Secara singkat:
selesai!
Lihat blog saya: Isi disk dengan cepat dengan bit acak (tanpa / dev / urandom)
sumber
Jika Anda ingin menghapus harddrive, dd tidak menghapus konten dari sektor yang dialokasikan kembali, dan sangat lambat jika harddrive sedang sekarat. Sebagai gantinya Anda dapat menggunakan drive build in erase function, yang telah distandarisasi sejak lama.
Dalam contoh ini, saya menghapus hard drive mekanis 500GB hanya dalam 102 menit. Bahkan ketika penuh dengan sektor yang dialokasikan kembali:
Anda dapat melihat rincian lebih lanjut di ata.wiki.kernel.org , namun contoh mereka tidak menggunakan --security-erase-enhanced, yang diperlukan untuk menghapus sektor yang disebutkan sebelum dialokasikan kembali.
sumber
Dalam prakteknya mungkin tidak perlu untuk men-seed seluruh disk dari satu aliran acak yang berkelanjutan.
Anda bisa membuat potongan data acak berukuran sedang dan kemudian hanya mengulanginya di disk.
Pastikan saja bahwa potongan data itu bukan kelipatan dari ukuran blok normal disk, untuk memastikan bahwa Anda tidak akan menimpa blok data berkorelasi dengan bit data acak yang sama persis. Ukuran chunk yang merupakan bilangan prima dalam kisaran ~ 1MB sebaiknya dilakukan dengan baik.
Untuk keamanan tambahan, lakukan saja beberapa kali lebih banyak, menggunakan ukuran chunk yang berbeda setiap kali.
sumber
Utilitas 'rusak' mudah dan cepat. Jika atribut SMART drive menunjukkan nol sektor yang dialokasikan kembali, 'rusak' kemungkinan cukup aman.
Namun, jika drive memiliki sektor yang dialokasikan kembali, data pada sektor yang rusak tidak akan ditimpa. Jika lokasi yang rusak berisi data sensitif sebelum dialokasikan kembali, 'rusak' mungkin tidak cukup baik. Sektor 'buruk' dapat dibaca dengan mengatur ulang peta alokasi drive, dan (berulang kali) membacanya.
Kemampuan untuk mereset peta alokasi sektor buruk bervariasi tergantung pada produsen dan model drive.
sumber
Jika semua yang ingin Anda lakukan adalah menimpa disk, maka tidak masalah apa yang Anda gunakan karena apa pun akan mengalahkan apa pun yang kurang dari laboratorium forensik dan saya tidak akan mempercayai apa pun selain slagging drive untuk menghentikan sumber daya tingkat itu .
Cukup gunakan sumber tidak acak seperti semua nol atau yang atau pola berulang seperti (saya pikir ini akan berhasil)
sumber