Bagaimana saya bisa menghapus hard drive dengan aman?

210

Saya berencana menjual hard drive eksternal USB yang saat ini berisi instalasi Ubuntu lama dengan kata sandi tersimpan dan informasi perbankan.

Bagaimana saya bisa menghapus drive dengan aman sebelum menjualnya?

ændrük
sumber
2
Juga, lihat halaman EFF ini untuk penjelasan komprehensif yang mencakup beberapa OS.
Tom Brossman
@Lekensteyn 'Hapus kunci-kunci'? Hanya mencari AU dan tidak mendapatkan apa-apa selain T&J terkait sebagian ini . Haruskah saya mengajukan ini sebagai pertanyaan baru atau dibahas di sini?
Tom Brossman
Jika Anda memiliki kata sandi yang aman, dunia tidak akan hilang ketika Anda kehilangan drive. Namun, disarankan untuk menghapus kunci tempat seperti dijelaskan dalam 5.3 dari code.google.com/p/cryptsetup/wiki/… . Silakan bertanya tentang menghapus disk terenkripsi.
Lekensteyn

Jawaban:

226

Menghapus perangkat penyimpanan dengan aman

Ada utilitas baris perintah yang disebut shred, yang menimpa data dalam file atau seluruh perangkat dengan bit acak, sehingga hampir mustahil untuk dipulihkan.

Pertama-tama, Anda perlu mengidentifikasi nama perangkat.

Ini mungkin sesuatu seperti /dev/sdbatau /dev/hdb(tetapi tidak seperti /dev/sdb1, itu partisi). Anda dapat menggunakan sudo fdisk -luntuk mendaftar semua perangkat penyimpanan yang terhubung, dan menemukan hard drive eksternal Anda di sana.

NB Pastikan itu adalah perangkat yang benar, memilih perangkat yang salah akan menghapusnya.

Lepas semua partisi yang terpasang saat ini di perangkat itu, jika ada. Kemudian jalankan yang berikut, ganti /dev/sdXdengan nama perangkat Anda:

sudo shred -v /dev/sdX

Ini akan menimpa semua blok pada perangkat dengan data acak tiga kali, -vbendera untuk verbose dan akan mencetak kemajuan saat ini.

Anda dapat menambahkan opsi -nNuntuk hanya melakukan ini N kali, untuk menghemat waktu pada perangkat berkapasitas besar. Ini mungkin memakan waktu cukup lama, tergantung pada ukuran hard drive eksternal Anda (saya pikir itu membutuhkan dua puluh menit atau lebih untuk flash drive 4 GB saya).

Anda juga dapat mengatur semua bit ke nol setelah iterasi terakhir dengan menambahkan opsi -z, saya lebih suka melakukan ini.

sudo shred -v -n1 -z /dev/sdX

Setelah ini, Anda harus mempartisi ulang perangkat. Cara termudah adalah menginstal GParted dan menggunakannya:

sudo apt-get install gparted
gksu gparted

Pilih perangkat Anda di daftar sudut kanan atas. Kemudian pilih Device -> Create partition tableuntuk membuat tabel partisi pada perangkat.

Kemudian tambahkan satu partisi yang menggunakan semua ruang yang tidak terisi pada perangkat, memilih fat32sebagai sistem file. Terapkan perubahan dengan mengklik tombol Terapkan (tanda centang hijau) di bilah alat.

Kiat

  • Baca halaman manual untuk shredonline atau dengan mengetik man shreddi terminal.
  • Berhati-hatilah karena beberapa bagian disk Anda tidak akan dihapus - gunakan perintah drive firmware "SECURE ERASE", seperti via hdparm, untuk membersihkan disk dengan benar.
Frxstrem
sumber
31
Praktik terbaik di sini: lepaskan semua hard drive Anda, colokkan drive eksternal dan kemudian lakukan CD live di atas untuk mencegah bahkan kemungkinan memecah apa pun yang penting.
Nick Pascucci
30
Perhatikan bahwa jawaban ini telah ditinggalkan dengan metode SECURE ERASE untuk meminta drive menghapus sendiri. Ini harus menangani semua data yang mungkin, dan tidak akan membebani sistem Anda secara tidak perlu. Anda dapat melakukan penghapusan aman, di mana drive terhapus dengan menggunakan hdparmutilitas. Metode ini mencoba menghapus seluruh drive, termasuk bad sector. Selain itu jauh lebih cepat daripada menimpa dengan cara biasa. Ini juga merupakan metode yang disarankan untuk drive SSD, di mana shredide yang sangat buruk.
Maarten Bodewes
6
@owlstead: Bisakah Anda menguraikan? Apa itu SECURE ERASE, dan bagaimana cara menggunakannya? Sangat dihargai jika Anda membuat jawaban yang terpisah jika Anda memiliki jawaban yang lebih baik.
Mads Skjern
17
Komentar tentang menggunakan perintah ATA Secure Erase menyesatkan. Ada masalah serius dengan menggunakan SE (mengenai kurangnya dukungan yang konsisten dari vendor dan kurangnya transparansi pada proses). Terkait: security.stackexchange.com/questions/62253
MV.
2
@Fiksdal Saya tidak tahu, sudah lima tahun sejak saya menulis jawaban ini dan saya tidak ingat motivasi saya untuk mengatakannya seperti itu. Yang mengatakan, saya pikir saya bersungguh-sungguh "hampir tidak mungkin hari ini tetapi mungkin di masa depan dengan peningkatan teknologi yang cukup".
Frxstrem
94

Hanya 'nol' dengan menggunakan ddalat:

  1. Mulai Utilitas Disk melalui System > Administration > Disk Utility
  2. Temukan disk Anda di panel kiri, pilih, dan di sebelah kanan temukan jalur perangkat (mis. /dev/sdX)
  3. Jalankan perintah berikut dari gnome-terminal (Aplikasi> Aksesori> Terminal):

    sudo dd if=/dev/zero of=/dev/sdX bs=1M

    Pastikan Anda menggunakan jalur perangkat yang benar dan tidak hanya menyalin baris ini!

Ini akan menimpa seluruh disk dengan nol dan jauh lebih cepat daripada menghasilkan gigabytes data acak. Seperti semua alat lainnya, ini tidak akan menangani blok yang dipetakan untuk alasan apa pun (kesalahan tulis, dicadangkan, dll.), Tetapi sangat tidak mungkin pembeli Anda akan memiliki alat dan pengetahuan untuk memulihkan apa pun dari blok itu.

PS: Sebelum Anda, Bruce Schneier fanboys downvote me: Saya ingin bukti bahwa mungkin untuk memulihkan data dari hard drive rotasi non-kuno yang telah ditimpa dengan nol. Jangan berpikir untuk berkomentar sebaliknya! : P

htorque
sumber
6
+1 untuk Bruce Schneier (dan DD yang benar-benar merupakan alat yang luar biasa)
n3
6
Tidak mengatakan ini adalah "bukti" terkuat tetapi metode Gutmann ada karena suatu alasan. Sejauh yang saya tahu, hard drive modern secara teoritis masih rentan untuk memulihkan data mereka jika sudah ditimpa oleh nol. Apakah itu masih berlaku atau tidak, semoga Anda bisa mengakui itu tidak akan sakit dengan menimpa menggunakan / dev / acak atau algoritma tertentu untuk tujuan itu.
Cerin
13
Tidak, tidak akan sakit, hanya akan menghabiskan banyak waktu (terutama jika Anda menggunakan / dev / random: P) dengan keuntungan yang dipertanyakan. Makalah terakhir tentang topik yang saya baca (maaf, tidak ada rincian, saya pikir itu dari 2008) disarankan - berdasarkan data dari tes dengan perangkat keras nyata - bahwa kesempatan untuk memulihkan bit tunggal adalah <50% → berarti Anda mendapatkan yang lebih rendah tingkat kesalahan saat "memulihkan" setiap bit menggunakan lemparan koin. Jadi, kecuali ada bukti bahwa nol-ing tidak cukup (tidak ada "mungkin" saat ini, bukan "tidak ada jalan"), ini adalah metode pilihan bagi saya.
htorque
12
@ Cerin Pemahaman saya adalah bahwa tidak pernah ada bukti bahwa fantasi pemulihan data paranoid ini bahkan mungkin terjadi. Seperti yang ditunjukkan di bagian "Kritik" pada artikel yang Anda tautkan, Guttman sendiri sangat kritis terhadap bagaimana algoritmanya telah digunakan " lebih sebagai semacam mantra voodoo untuk mengusir roh jahat daripada hasil analisis teknis teknik pengodean drive " . Satu-satunya alasan untuk melakukan lebih dari nol-menghapus drive adalah emosional ... yaitu membuat Anda merasa lebih baik ... tidak teknis.
John
4
Bagus, tapi bisakah Anda menjelaskan mengapa Anda meletakkan bs=1Mparameter? Saya bisa membaca man, dan IIUC Anda hanya membatasi buffer hingga 1 megabyte; mengapa melakukan itu diinginkan?
gaazkam
20

Lihat pertanyaan definitif tentang Security Stack Exchange ini

Bagaimana saya dapat menghapus semua informasi pada hard drive dengan andal

Ini membahas berbagai opsi penghapusan yang aman, bersama dengan penghancuran fisik dan penghapusan sehingga Anda dapat memutuskan opsi mana yang mungkin menjadi taruhan terbaik Anda.

Ingatlah bahwa status pemulihan saat ini untuk penyimpanan yang berbeda adalah sebagai berikut:

  • Hard drive yang sangat lama: ada celah di antara trek sehingga Anda berpotensi mengambil darah ke dalam celah ini (jika Anda memiliki mikroskop elektron pemindaian). Menimpa beberapa kali berpotensi bermanfaat.
  • Hard drive baru: tidak ada teknologi saat ini yang dapat membaca bahkan setelah satu menimpa.
  • Hard drive kondisi solid: leveling aus berarti Anda tidak dapat menimpa dengan aman. Sebagai gantinya Anda mengenkripsi seluruh volume dan membuang kunci untuk dihapus, atau Anda menghancurkan perangkat.
Rory Alsop
sumber
Apa definisi yang sangat lama misal 30 tahun yang lalu?
Termotivasi
10Mb drive MFM dari sekitar 20-25 tahun yang lalu, ya
Rory Alsop
Bagaimana ini terkait dengan drive di perangkat seperti ponsel dan tablet?
Termotivasi
@ Dimotivasi Mengingat ponsel dan tablet menggunakan memori flash, mungkin jawaban yang sama dengan SSD, tapi saya tidak yakin. Anda bisa bertanya pada Pengguna Super untuk informasi yang lebih baik.
wjandrea
20

Saya biasanya menggunakan tes baca-tulis destruktif menggunakan badblocks -w. Dua keuntungan utama adalah

  • itu adalah bagian dari sistem dasar dan hampir setiap sistem penyelamatan, sehingga tersedia misalnya dari shell penyelamat dari penginstal Ubuntu
  • Anda mendapatkan laporan di akhir apakah ada blok buruk pada disk

Perhatikan bahwa jika laporan menunjukkan masalah, saya tidak akan lagi menjual disk karena kemungkinan akan segera gagal.

Contoh penggunaan (jika disk Anda sdd):

sudo badblocks -wsv /dev/sdd

(ditambahkan svuntuk progress bar + verbose)

Simon Richter
sumber
11

Sekarang, alat Disk ( gnome-disks) memiliki ATA Secure Erase . Anda dapat menggunakannya untuk menghapus hard drive Anda. Opsi yang sama dijelaskan dalam jawaban ini menggunakan alat baris perintah hdparm.

  1. Buka alat Disk → Pilih disk target
  2. Dari menu: Format Disk ...
  3. Pilih dari kotak drop, Hapus: ATA Enhanced Secure Erase
  4. Format

ATA Enhanced Secure Erase 1 ATA Enhanced Secure Erase 2

user.dz
sumber
2
Meskipun ini adalah opsi terbaik secara umum, ini tidak berlaku pada USB (seperti yang ditanyakan dalam pertanyaan di atas). Ada peringatan dan penolakan tentang hal itu di ata.wiki.kernel.org/index.php/ATA_Secure_Erase . Namun demikian, saya bertanya tentang hal itu dalam masalah Gnome .
colan
1
@olan Seperti yang saya pahami, itu tergantung pada dukungan fitur di tumpukan penuh (Disk - Kernel - Driver - Controller - Drive). Sementara kasus saya ok untuk dua HDD (WD USB3 HDD & WD w / SATA-USB3 aktif adaptor), saya mengkonfirmasi itu tidak untuk semua kasus, saya telah melihat beberapa adapter SATA-USB3 dengan blok keselarasan kode keras (membaca dengan 512b & Blok 4k tidak membuat gambar yang identik), beberapa tidak mendukung SMART yang juga memiliki beberapa perintah lama, Beberapa USB Drives memiliki implementasi non-standar / terpelintir untuk partisi yang dilindungi kata sandi / terenkripsi (Menggunakannya melalui adaptor USB lain akan hancurkan)
user.dz
8
  • Anda perlu membuat perangkat loopback yang menjalankan / dev / acak atas seluruh isi drive.
  • Itu akan mengisi seluruh drive dengan data yang hampir sepenuhnya acak. Kemudian Anda dapat mengatur semua bit kembali ke 0 dengan dd.

  • Sebenarnya, dd harus dapat mengacak semua informasi.

  • Anda mengatakan bahwa Anda telah menyimpan informasi perbankan pada harddisk Anda. Jadi saya sarankan Anda untuk menjalankan salah satu dari perintah berikut dari live cd (di mana hdX adalah harddisk Anda).

    dd if=/dev/zero of=/dev/hdX

    dd if=/dev/random of=/dev/hdX

    dd if=/dev/urandom of=/dev/hdX

  • Bagaimana pun akan memakan waktu yang sangat lama berdasarkan ukuran harddisk Anda.

Untuk informasi anda:

Lihat tautan berikut,

catatan:

  • Acak menggunakan bit acak dan nol menggunakan 0 bit.
  • Urandom adalah versi semi-acak acak.
karthick87
sumber
Apakah acak benar-benar diperlukan? Apakah tidak cukup untuk mengganti semua bit dengan 1 dan kemudian dengan 0?
Buck
7

Anda dapat menggunakan lap

Instalasi

sudo apt-get install wipe

Anda dapat menggunakan perangkat lunak itu atau menggunakan perintah berikut:

shred -vfz -n ? (drive)

Apakah "?" adalah, masukkan berapa kali Anda ingin merusak drive, maka untuk itu "(drive)" adalah, masukkan drive yang ingin Anda rusak. Setelah selesai, lakukan apa pun yang Anda inginkan. Saya pikir metode ini lebih efektif karena Anda dapat mengontrol apa yang dilakukan pada drive Anda dan memiliki hasil langsung.

Tautan

  1. http://wipe.sourceforge.net/
  2. http://www.howtogeek.com/howto/15037/use-an-ubuntu-live-cd-to-securely-wipe-your-pcs-hard-drive/
  3. http://ubuntuforums.org/showthread.php?t=817882
Tachyons
sumber
6
Mengapa menggunakan salah satu dari yang lain, usap vs rusak?
Mads Skjern
7

Cara terbaik adalah menggunakan fungsi hapus aman pada drive ATA. Secure erase menghapus drive pada level firmware. Tidak bisa lebih aman.

Pertama periksa apakah penghapusan aman didukung:

sudo hdparm -I /dev/sdX | grep -i security

(ganti sdX dengan sda / sdb / sdc, apa pun disk Anda).

Jika Anda tidak melihat keluaran, gunakan saja dd:

sudo dd if=/dev/zero of=/dev/sdX bs=1M

Jika Anda melihat output, periksa apakah perangkat tidak beku:

sudo hdparm -I /dev/sdX | grep -i frozen

Jika tidak dibekukan, setel kata sandi ke "Eins":

sudo hdparm --user-master u --security-set-pass Eins /dev/sdX

Opsional: Anda mungkin ingin tahu berapa lama ini akan berlangsung:

sudo hdparm -I /dev/sdX | awk '/for SECURITY ERASE UNIT/'

Kemudian jalankan erase:

sudo hdparm --user-master u --security-erase Eins /dev/sdX

Lalu tunggu. Tampaknya untuk disk 1TB ini mungkin membutuhkan waktu 3 jam atau lebih.

Ada skrip yang bagus yang mengotomatiskan langkah-langkah ini .

Berend de Boer
sumber
6

Anda bisa menggunakan DBAN . Wikipedia :

Boot dan Nuke Darik (umumnya dikenal sebagai DBAN) [...] dirancang untuk menghapus hard disk dengan aman sampai data dihapus secara permanen dan tidak lagi dapat dipulihkan, yang dicapai dengan menimpa data dengan angka acak yang dihasilkan oleh Mersenne twister atau ISAAC ( PRNG). Metode Gutmann, Quick Erase, DoD Short (3 lintasan), dan DOD 5220.22-M (7 lintasan) juga disertakan sebagai opsi untuk menangani remanen data.

DBAN dapat di-boot dari floppy disk, CD, DVD, atau USB flash drive dan didasarkan pada Linux. Ini mendukung PATA (IDE), SCSI dan SATA hard drive. DBAN dapat dikonfigurasi untuk secara otomatis menghapus setiap hard disk yang dilihatnya pada suatu sistem, sehingga sangat berguna untuk skenario pemusnahan data yang tidak dijaga. DBAN ada untuk sistem Intel x86 dan PowerPC.

DBAN, seperti metode penghapusan data lainnya, cocok untuk digunakan sebelum daur ulang komputer untuk situasi pribadi atau komersial, seperti menyumbang atau menjual komputer [2]. Dalam kasus infeksi malware, DBAN dapat digunakan sebelum mengembalikan disk ke produksi.

NN
sumber
3

Satu lagi keuntungan rusaknya dd dalam skenario ini: Saya memiliki disk yang salah yang harus saya kembalikan ke vendor untuk ditukar.

dd berhenti di blok buruk pertama, dan gagal untuk mengalahkan sisanya (kecuali saya dengan susah payah menggunakan lompat = ... untuk melompat maju setiap kali berhenti).

shred mengabaikan kesalahan penulisan dan dengan senang hati melanjutkan dalam kasus ini.

Jürgen Weigert
sumber
0

Go root dan

dd if=/dev/random of=/dev/(your usb drive device here); dd if=/dev/zero of=/dev/(your usb drive device here)

Pastikan Anda memiliki drive yang tepat!

Pete Ashdown
sumber
7
Jangan pernah gunakan / dev / acak untuk operasi semacam itu. / dev / random menghasilkan data acak menggunakan kumpulan entropi dan memblokir operasi jika kumpulan entropi ini kosong. Jadi jika Anda tidak melakukan apa pun dengan komputer Anda untuk menghasilkan keacakan baru, operasi akan memakan waktu selamanya. Gunakan / dev / urandom sebagai gantinya. Lihat jugaman random
htorque
2
Anda mungkin perlu mengawali perintah dengan sudo. Juga, ddcenderung selesai lebih cepat ketika ukuran blok lebih besar dari standar digunakan. Jadi saya akan menyarankan sangat hati - hati menggunakan:sudo dd if=/dev/random bs=1m of=/dev/sdX
irasional John
ah, berarti menjadi sudo dd if=/dev/urandom bs=1m of=/dev/sdXOh, well.
rasional John
0

Mereka yang merekomendasikan untuk menggunakan shred memberikan saran buruk. Halaman manual Shred sendiri mengatakan itu tidak berguna pada filesystem journal, yang hampir dijamin Ubuntu akan digunakan jika Anda tidak mengubah default filesystem-nya (ext3 dan ext4 dijurnal). Seperti halnya resierfs dan Reiser4 serta banyak BANYAK filesystem Linux umum lainnya .).

Belum lagi rusak sama sekali tidak berguna untuk mengosongkan atau mengacak disk secara penuh, karena hanya berfungsi pada file individual atau set file (Pada level sistem file, bukan level data mentah.). Jika Anda ingin menghapus disk dengan aman, Anda harus menggunakan dd pada simpul perangkat utama drive (Sebagai contoh: / dev / sdc bukan / dev / sdc1) sementara tidak ada yang terpasang di dalamnya.

Ini akan memakan waktu, tetapi tidak seperti rusak itu akan benar-benar dan IRREVERSIBLY menghapus hard disk dari MBR ke sektor akhir. Juga, PERINGATAN BESAR pada dd, pastikan Anda menggunakannya pada perangkat yang benar atau Anda setidaknya akan menghapus sebagian disk yang salah. Ini bisa menjadi bencana jika Anda secara tidak sengaja menggunakan dd pada drive sistem, yang tidak hanya akan membuatnya tidak bisa di-boot, tetapi juga dapat merusak partisi yang diberikan pada drive tersebut. Ini memberinya julukan "penghancur disk".

Rusak BUKAN alat yang andal untuk menghapus drive dengan aman. Jika Anda menjual atau memberikan komputer Anda cara CORRECT untuk mengosongkan drive adalah dengan nol atau mengacaknya dengan dd dan tidak pernah, menggunakan shred, karena jurnal sistem file akan secara efektif mengembalikan file robek tanpa usaha sama sekali.

Yaro Kasear
sumber
9
Anda tidak menunjuk rusak pada file. Anda mengarahkannya ke seluruh perangkat. Sistem file tidak relevan.
David Diberikan
1
@ DavidViven Yah secara teknis Anda dapat merobek hanya file di dalam sistem file, dan itulah yang rusak berbicara tentang halaman manual untuk sebagian besar. Peringatan Yaro akan menjadi semacam valid dalam kasus itu. Tapi ya, merobek-robek seluruh partisi adalah hal yang sama sekali berbeda; dalam hal itu filesystem memang tidak masalah.
Alois Mahdal
0

Cara termudah untuk melakukannya adalah menggunakan:

sudo shred -fv /dev/xxx

di mana xxx adalah perangkat, untuk memastikan perangkat apa yang Anda miliki, ketik:

sudo fdisk -l

Perangkat ditunjukkan setelah disk yang kata dan untuk char usus : , seperti ini:

Disk /dev/sde: 500.1 GB etc...

Jangan memasang sistem file pada disk Anda yang ingin Anda hapus dll. Rusak akan melakukan apa yang Anda inginkan sebagian waktu. Opsi -z adalah untuk yang terakhir dijalankan dengan 0 untuk menyembunyikan penghapusan dan tidak perlu menghapus data.

Cara terbaik adalah menggunakan dd seperti menulis pengguna sebelumnya:

sudo dd if=/dev/urandom of=/dev/xxx bs=1M

gunakan perangkat urandom karena lebih modern dan lebih baik untuk mendapatkan pola acak.

Alat-alat lain saat ini bisa lebih tua dan semakin sedikit orang yang berkembang. Rusak dalam aplikasi inti Linux.

Lihat contoh ini: wipe 2009 http://lambda-diode.com/software/wipe/ . Tapi aplikasi ini dikenal. Dimungkinkan untuk menggunakan bleachbit tetapi ketika saya mencobanya butuh waktu lama.

Daro dari Polandia
sumber
-1

Jika cmd dd tidak berfungsi, Anda dapat menggunakan metode pengalihan untuk menghapus data.

Suka,

cat /dev/urandom > /dev/sd**a**   # depends on your hdd location 

atau

atau Anda dapat menggunakan cp (copy cmd) untuk menimpa data sebelumnya.

cp /dev/urandom /dev/sd**a**      # depends on your hdd location 
kali doss
sumber