Bagaimana saya bisa menghapus SSD dengan aman? [duplikat]


40

Pertanyaan ini sudah ada jawabannya di sini:

Salah satu klien kami meminta metode DOD-7 Pass Erase untuk SSD.

Kami mencoba menyeka SSD 256 GB (Samsung Make) melalui Tabernus lan, tetapi terlalu lama.

Tolong bimbing saya cara menghapus SSD dari Tabernus dan versi 7.3.1.

masukkan deskripsi gambar di sini


5
1 pass biasanya cukup jika NSA tidak mengejar Anda. Tapi bukankah SSD memiliki beberapa bentuk perintah TRIM yang membuat data tidak dapat diakses tanpa benar-benar menghapusnya (menyimpan siklus tulis)?
Paul Stelian

5
Anda harus melihat peranti lunak "Magician" Samsung (disk yang dapat di-boot yang memungkinkan Anda menjalankan perintah "hapus aman"). Sekarang, apakah TRIM atau SSD "Secure Erase" memenuhi kepatuhan DoD adalah hal lain ... Saya tidak akan tahu.
Kinnectus

5
@PaulStelian - jangan lupa ini adalah SSD yang OP bicarakan - menghapus SSD adalah hal yang sama sekali berbeda dengan HDD mekanis tradisional.
Kinnectus

16
yang paling aman (tetapi lebih mahal) adalah melelehkannya dengan api
Sarge Borsch

7
DoD bahkan tidak menggunakan standar kuno itu lagi. Ini sama sekali tidak relevan dan merusak jika dilakukan pada SSD.
Michael Hampton

Jawaban:


63

Singkat:

Beberapa (7) pass overwrite erase tidak melakukan apa yang Anda harapkan pada SSD. Jika perlu Anda bisa menerapkannya dan memberi tahu klien bahwa Anda melakukannya, tetapi jangan berharap itu menghapus semua data .

Latar Belakang:

Untuk membersihkan data dari hard disk konvensional, Anda memiliki solusi berikut:

  • Bersihkan indeks (mis. Diskpart clean). Mudah dipulihkan.
  • Timpa seluruh disk. Ini menghapusnya untuk pengguna normal. Jika Anda memiliki akses ke perangkat keras yang sangat sensitif, jenis yang hanya dimiliki oleh pemerintah, maka Anda mungkin dapat memulihkan beberapa data. Anggap saja sebagai menghapus catatan tertulis pensil dan menulis teks baru. Masih ada bayangan.
  • Timpa disk beberapa kali dengan pola yang bervariasi, bahkan mengalahkan penyerang yang paling cakap.

SSD bekerja secara berbeda. Mereka memiliki sejumlah blok yang dikelompokkan. Menulis hanya dapat terjadi pada grup. Anggap saja sebagai buku di mana Anda hanya bisa menulis ke halaman. Jika Anda ingin menambahkan kalimat maka pengontrol SSD akan membaca seluruh halaman dan menulis halaman baru (dengan kalimat tambahan) ke lokasi yang berbeda. Kemudian akan menandai halaman lama sebagai kosong dan menetapkan nomor halaman lama ke halaman baru.

Ini berarti bahwa tidak ada pemetaan langsung antara apa yang dilihat OS adalah sektor (halaman) dan apa yang ada di disk.

Anda dapat mengisi seluruh disk dengan file baru (misalnya file yang hanya berisi nol) dan ruang cadangan tidak akan disentuh. Jadi masih ada data yang dapat dipulihkan. Anda dapat melakukan ini 7 kali dan masih memiliki data yang sama dapat dipulihkan.

Kabar baik

Berita baiknya adalah SSD sering dikirimkan dengan enkripsi disk. Buang kunci enkripsi dan data tidak berharga.

Berita yang lebih baik lagi adalah enkripsi data ini selalu dapat digunakan. Bahkan ketika Anda tidak secara eksplisit mengaktifkan enkripsi. Dalam hal ini disk masih menulis data terenkripsi dengan kunci yang disimpan di suatu tempat di SSD. Katakan untuk membuang kunci ini dan menggantinya dengan yang baru dan Anda selesai. Cepat dan aman.

Bahkan ada perintah untuk melakukan ini ( ATA secure erase ).

Ini adalah satu-satunya solusi teknis yang benar . Lakukan bahkan jika mereka menuntut 7 pass overwrites (melakukan yang terakhir hanya agar Anda sesuai dengan tuntutan mereka, dan yang pertama untuk maksud tuntutan tersebut).

Kelambatan metode yang buruk

Saya tidak punya pengalaman dengan tabernus lan. Tetapi hampir semua SSD akan menerima lebih dari 100MB / detik menulis berkelanjutan. Dengan kecepatan itu, bahkan SSD yang sangat lambat akan selesai dalam waktu satu jam. SSD cepat sedang harus selesai di bawah seperlima dari waktu itu.

Jika Anda mendekati kinerja itu maka saya curiga bahwa solusi Anda adalah menulis sektor demi sektor. Itu buruk. Ini harus memerah sektor secepat mungkin dengan kedalaman antrian 32. Tanpa itu Anda mendapatkan analogi halaman dari atas.

Dimulai dengan halaman penuh dengan 8 kalimat tertulis.

  • Hapus kalimat 1.

    • Baca seluruh halaman.
    • Hapus kalimat pertama
    • Tulis seluruh halaman dengan 7 kalimat ke blok / halaman yang berbeda
  • Usap kalimat 2.

    • Baca seluruh halaman.
    • Hapus kalimat ke-2
    • Tulis seluruh halaman dengan 6 kalimat ke blok / halaman yang berbeda
  • Usap kalimat 3.

    • Baca seluruh halaman.
    • Hapus kalimat ke-3
    • Tulis seluruh halaman dengan 5 kalimat ke blok / halaman berbeda
  • Hapus kalimat 4.

    • Baca seluruh halaman.
    • Hapus kalimat ke-4
    • Tulis seluruh halaman dengan 5 kalimat ke blok / halaman berbeda
  • Hapus kalimat 5.

    • Baca seluruh halaman.
    • Hapus kalimat ke-5
    • Tulis seluruh halaman dengan 3 kalimat ke blok / halaman berbeda
  • Usap kalimat 6.

    • Baca seluruh halaman.
    • Hapus kalimat ke-6
    • Tulis seluruh halaman dengan 2 kalimat ke blok / halaman yang berbeda
  • Hapus kalimat 7.

    • Baca seluruh halaman.
    • Hapus kalimat ke 7
    • Tulis seluruh halaman dengan 1 kalimat ke blok / halaman yang berbeda
  • Usap kalimat 8.

    • Tandai halaman sebagai terhapus (tetapi jangan benar-benar menghapusnya sampai Anda membutuhkan lebih banyak ruang)

Perhatikan berapa lama teks itu? Hal yang sama dengan kecepatan SSD.


Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
Sathyajith Bhat

1
" Bahkan ada perintah untuk melakukan ini (penghapusan aman ATA). Ini adalah satu-satunya solusi teknis yang benar. " Perhatikan bahwa ATA SE gagal menghapus beberapa SSD dengan aman: usenix.org/events/fast11/tech/full_papers/Wei.pdf
Miles Wolbe

9

Perangkat lunak yang Anda gunakan tampaknya TIDAK berfungsi dengan benar. Salah satu tangkapan layar Anda menunjukkan kecepatan 97MB / s. Dengan kecepatan itu, 7-pass penulisan ulang disk penuh pada drive 256GB akan memakan waktu sekitar 5 jam. Perhitungan sederhana.

Anda mungkin ingin mencoba Blancco 5 sebagai gantinya. Seperti yang Anda lihat, tautan yang dulunya untuk Tabernus Erase LAN dialihkan ke situsnya. Anda juga dapat mempertimbangkan DBAN terbaru , yang tampaknya merupakan versi gratis Blannco.

Sejujurnya, saya tidak pernah menggunakan perangkat lunak apa pun di atas. Saya ragu mereka benar-benar melakukan pekerjaan yang lebih baik daripada penimpaan acak sederhana.

Secara pribadi, saya menggunakan shred di GNU coreutils:

shred -v -n 7 /dev/sdX

Saya tidak akan benar-benar menggunakannya -n 7. Paling-paling saya akan membiarkannya ke default: 3-pass, dan mungkin dengan tambahan single-pass zero-filling di akhir ( -z).

Atau, openssl:

openssl enc -aes-256-ctr -in /dev/zero -out /dev/sdX -pass file:/dev/urandom -nosalt

di mana Anda dapat menulis bash loop sederhana untuk membuatnya melakukan beberapa lintasan. Itu tidak melaporkan kemajuan seperti itu shred.

Ngomong-ngomong, menurut beberapa sumber acak di Internet (hanya Google saja), tampaknya US DoD telah menghapus spesifikasi untuk sanitasi data. Sekarang tampaknya hanya mengenali kehancuran fisik.

Salah satu alasan yang mungkin, yang menjadi perhatian Anda, adalah bahwa menimpa yang sederhana mungkin tidak "menjangkau" semua ruang yang disediakan di belakang layar pada SSD untuk apa yang disebut penyediaan lebih (dilakukan dalam firmware) dan / atau realokasi sektor buruk . Sayangnya, melewati beberapa dari random mengisi data yang mungkin adalah hal terbaik yang dapat Anda lakukan, jika SSD Anda tidak mendukung enkripsi hardware.


JANGAN mengandalkan ATA DSM / TRIM jika Anda membutuhkan data untuk dihapus dengan aman. TRIM mungkin ATAU BAHKAN MUNGKIN TIDAK membuat SSD "terlihat" (yaitu hexdump) sepenuhnya terhapus, tetapi sebenarnya tidak menghancurkan data di belakang layar seperti menimpa.

Seseorang juga harus TIDAK mempercayai ATA Secure Erase 1 . Standar ACS hanya mengharuskannya untuk melakukan pengisian pola (sekali jalan). Mode normal harus memiliki nol atau yang sebagai pola, sedangkan mode yang disempurnakan harus memiliki pola khusus vendor (tetapi masih mengisi pola) dan menghapus juga "Realokasi Data Pengguna".

Namun, set fitur telah lama disalahgunakan oleh vendor untuk melakukan hal-hal non-standar 3 , ketika ATA SANITIZE DEVICE belum diperkenalkan. Jadi perilaku ATA Secure Erase bisa BENAR-BENAR spesifik vendor, terutama pada SSD.

Pada SSD, ATA Secure Erase sering diimplementasikan sebagai hal yang sama dengan BLOCK ERASE dari ATA SANITIZE DEVICE, yang cukup mirip dengan ATA TRIM disk penuh (pada RZAT 2 SSD).

Mengisi pola tetap (yang mungkin dimasukkan dalam beberapa implementasi "DOD erase" yang tidak memiliki SSD dalam pikiran) tidak benar-benar layak dilakukan karena pengendali "pintar" di SSD dapat melakukan kompresi dan bahkan mengabaikan pada penimpaan berulang seperti itu.

Jika itu benar-benar ingin dilakukan, untuk beberapa alasan, saya kira OVERWRITE ATA SANITIZE DEVICE adalah cara terbaik untuk digunakan. (Karena, semoga , vendor akan memastikan bahwa controller tidak akan "bermain pintar" ketika pengguna mengeluarkannya ke drive.)


Pada HDD / SSD yang memiliki apa yang disebut enkripsi perangkat keras, mode yang disempurnakan dari ATA Secure Erase sering diimplementasikan sebagai hal yang sama dengan CRYPTO SCRAMBLE dari ATA SANITIZE DEVICE, yang memicu regenerasi kunci enkripsi dan sebagainya. Ini mungkin merupakan metode "cepat" terbaik untuk digunakan jika Anda ingin apa yang disebut dengan aman menghapus drive, karena itulah inti dari enkripsi perangkat keras non-Opal tersebut (sementara orang biasanya salah mengira bahwa tujuan utamanya adalah bekerja dengan Kata sandi ATA).

FWIW, seseorang harus selalu mengaktifkan fitur ATA Security yang ditetapkan terlebih dahulu (yaitu "kata sandi pengguna") sebelum menghapus, yang sering merusak drive karena implementasi yang buruk (well, atau PEBKAC). Jika drive tersebut mendukung ATA SANITIZE DEVICE, drive harus benar-benar disukai. Sayangnya, tidak seperti ATA Security yang didukung di hdparm , tampaknya tidak ada utilitas yang mendukung fitur yang lebih baru. Orang bisa paling baik secara manual membentuk perintah SCSI ATA PASS-THROUGH untuk itu dan mengirimkannya dengan sg_rawdi sg3_utils .


catatan:

1 Nama perintah standar ATA Secure Erase adalah SECURITY ERASE UNIT, yang merupakan perintah wajib dalam set fitur Keamanan ATA

2 Kembalikan data nol setelah trim; lihat standar ACS untuk definisi yang tepat

3 Spesifikasi Intel 530 SATA SSD ; lihat "5.3 Fitur Fitur Mode Keamanan"; contoh vendor besar "menyalahgunakan" set fitur ATA Security


... atau Anda dapat mengatur pemetaan dm-crypt dan menggunakan ddrescue untuk menimpa dari / dev / zero ke dalam pemetaan, untuk kemajuan dan kualitas kriptografi yang tidak dapat dibedakan dari acak.
CVn

1
Karena SSD menerapkan begitu banyak gerakan blok di bawah tenda untuk kinerja, dan mungkin lebih dari ketentuan (lebih banyak ruang daripada yang diiklankan sehingga dapat melakukan manipulasi di atas), menulis data ke SSD tidak pernah dapat diasumsikan untuk benar-benar menghapus semua data. Reset vendor adalah satu-satunya cara untuk benar-benar membersihkan sel (dan menghapusnya, dan tidak ada cara untuk memulihkannya). Ini tidak seperti hard drive, di mana mungkin ada residu magnetik yang dapat dibaca oleh penyerang (walaupun dengan kepadatan data pada drive modern, bahkan satu tulisan sudah cukup hari ini).
Alan Shutko

1
@AlanShutko hanya jika drive memiliki enkripsi perangkat keras. Kalau tidak, SANITIZE BLOCK ERASE / ATA Secure Erase hanya akan berfungsi seperti TRIM (atau setidaknya, mungkin; sejauh ini semua SSD yang pernah saya lihat menerapkannya seperti itu). Peringatan menggunakan perintah ATA untuk "aman" menghapus drive Anda, sama dengan "percaya pada vendor Anda" untuk itu.
Tom Yan

1
Tampaknya tidak shred meyakinkan bahwa data dihapus pada SSD dan untuk setiap jenis sistem file. Dari orangnya CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. Bisakah Anda menambahkan referensi tentang bagaimana shred bekerja (perintah yang dikirim) ketika bekerja pada partisi penuh?
Hastur

1
@ Rushur itu berbicara tentang shreding file pada sistem file, bukan ketika Anda shredpartisi / disk.
Tom Yan

5

Dari halaman archlinux ini tentang pembersihan sel memori SSD setelah halaman ATA Secure Erase disarankan

  1. Langkah 1 - Pastikan keamanan drive tidak beku
  2. Langkah 2 - Aktifkan keamanan dengan menetapkan kata sandi pengguna
  3. Langkah 3 - Keluarkan perintah ATA Secure Erase

Beberapa detail lebih lanjut

  • Untuk langkah 1, Anda dapat memeriksa apakah drive tersebut tidak membeku

    hdparm -I /dev/sdX
    

    Jika output perintah menunjukkan "beku" seseorang tidak dapat melanjutkan ke langkah berikutnya. Beberapa BIOS memblokir perintah ATA Secure Erase dengan mengeluarkan perintah "SECURITY FREEZE" untuk "membekukan" drive sebelum mem-boot sistem operasi.

  • Untuk langkah 2, baca [ 1 ] untuk peringatan relatif terhadap komputer Lenovo:

    hdparm --user-master u --security-set-pass PasSWorD /dev/sdX security_password="PasSWorD"
    

    dan itu harus menjawab sesuatu seperti

    /dev/sdX:
    Issuing SECURITY_SET_PASS command, password="PasSWorD", user=user, mode=high
    

    lalu periksa lagi

    hdparm -I /dev/sdX
    
  • Untuk langkah 3:

    hdparm --user-master u --security-erase PasSWorD /dev/sdX
    

    Itu ada parameter --security-erase-enhanced untuk penghapusan keamanan yang ditingkatkan. Dilaporkan [ 1 ] bahwa "Waktu singkat (seperti 2 menit) pada gilirannya menunjukkan bahwa perangkat melakukan enkripsi sendiri dan fungsi bios-nya akan menghapus kunci enkripsi internal alih-alih menimpa semua sel data" , sementara waktu yang lebih lama harus menunjukkan perangkat yang tidak dienkripsi.

    Pada perangkat terenkripsi, waktu yang diharapkan sama dapat dilaporkan untuk opsi --security-erasedan --security-erase-enhanced. Dalam hal ini seharusnya digunakan algoritma yang sama [ 3 ] . Perhatikan bahwa untuk HDD normal , parameter yang ditingkatkan , di antara perbedaan lainnya, harus menimpa bahkan sektor yang tidak lagi digunakan karena mereka memicu kesalahan I / O di beberapa titik dan dipetakan kembali. Kita harus menganggap itu akan bertindak dengan cara yang sama untuk SSD juga, bahkan karena jumlah blok ini seharusnya tidak cukup besar untuk tercermin dalam perbedaan waktu yang lebih besar daripada satu menit. Baca lebih lanjut di jawaban ini pada Security SE .

    Dalam contoh kasus halaman pembersihan sel memori SSD , untuk Intel X25-M 80GB SSD dilaporkan dalam waktu 40 detik.

    Tunggu sampai perintah selesai. Contoh output ini menunjukkan butuh sekitar 40 detik untuk Intel X25-M 80GB SSD.

Catatan: setelah 3 langkah drive dihapus dan keamanan drive secara otomatis harus dinonaktifkan (sehingga tidak memerlukan kata sandi untuk akses).


Memperbarui

Dari halaman Hapus aman ATA :

Prosedur ini menjelaskan cara menggunakan perintah hdparm untuk mengeluarkan instruksi Secure Erase ATA ke perangkat penyimpanan target. Ketika Secure Erase dikeluarkan terhadap drive SSD, semua selnya akan ditandai sebagai kosong, mengembalikannya ke kinerja penulisan standar pabrik.

PENOLAKAN: Ini akan menghapus semua data Anda, dan tidak akan dapat dipulihkan bahkan oleh layanan pemulihan data.


On occasion, users may wish to completely reset an SSD's cells to the same virgin state they were manufactured, thus restoring it to its factory default write performance.Hanya itu yang dilakukannya, dan "status perawan" di sini TIDAK berarti data dihapus dengan aman.
Tom Yan

kau lewatkan --security-erase?
Hastur

Saya kira maksud Anda --security-erase-enhanced. Anda tahu, saya punya disk contoh yang tepat (X25-M gen1 / 50nm 80GB) yang sangat bagus. Itu tidak mendukung enkripsi perangkat keras, atau TRIM. Ini (tampaknya) mendukung mode normal dan mode keamanan yang ditingkatkan. Keduanya membutuhkan perkiraan waktu yang sama (2 menit). Sekarang, tebak, apakah mereka melakukan sesuatu yang berbeda? : P
Tom Yan

1
@ TomYan Anda dapat membaca jawaban moderator serverfault yang merujuk pada spesifikasi ATA yang sama yang menjadi dasar jawaban di atas. DISCLAIMER: This will erase all your data, and will not be recoverable by even data recovery services.
Hastur

1
@MichaelHampton Ini adalah kalimat yang dilaporkan dari halaman archlinux yang sama. Saya setuju tentang 2 detik untuk kunci, bahkan jika dua menit menurut saya waktu yang terlalu singkat untuk menghapus semua blok bahkan jika itu adalah perintah internal (kecepatan penulisan maks 70 MB / s * 120 dtk ~ 8.4G = 1 / 10 dari 80GB). Terlebih lagi dalam jawaban di situs SE keamanan mereka berkata: "2 menit tidak cukup untuk menimpa seluruh disk, jadi jika disk itu mengimplementasikan" penghapusan aman "yang sebenarnya, itu harus dengan mekanisme enkripsi" _. Jika Anda punya referensi tentang itu tolong tambahkan, itu akan berguna.
Hastur

1

Karena SSD tidak peduli berapa banyak lintasan data yang Anda masukkan ke dalamnya (kecuali luntur lebih cepat), dan pemulihan data tidak mungkin dilakukan setelah lintasan lulus penuh (kecuali jika Anda memasukkan data ke dalam ruang yang disediakan), hanya menulis sepenuhnya dengan 1 akan menghapus semua data yang ada.

Masalah yang Anda hadapi sebagian besar akan berada di penyimpanan yang tidak dapat diakses pengguna, seperti ruang berlebih yang digunakan untuk melakukan level-wear, cache dan kemungkinan NVRAM yang mungkin menyimpan data yang mengidentifikasi sistem, OS atau sesuatu seperti itu.

Untuk menghapus SSD dengan aman, perlu secara eksplisit mendukungnya, dan yang saat ini masih spesifik untuk pengontrol dan firmware. Menggunakan perangkat lunak penghapus aman yang dirancang untuk media magnetik tidak ada gunanya di sini karena cara data dihapus dengan aman pada dasarnya tidak memiliki hubungan antara penyimpanan solid state dan penyimpanan magnetik. Dengan penyimpanan magnetik Anda secara teoritis dapat memulihkan keadaan bit sebelumnya, tetapi dengan memori flash, sedikit tidak dapat benar-benar memiliki keadaan 'sebelumnya' yang dapat Anda deteksi. Ini memegang baik 0 atau 1 dan bukan kutub magnet dengan kekuatan yang bervariasi tergantung pada nilai apa yang sebelumnya dipegang.

Saya baru saja meletakkan PCB di blender industri, dan kemudian grand chip flash mati menjadi bubuk. Tidak mendapatkan data apa pun darinya. Menjual kembali SSD yang digunakan sebenarnya bukan hal yang baik karena mereka belum memiliki banyak umur / pola penggunaan yang diketahui seperti yang dimiliki HDD. Paling-paling mereka memiliki data SMART 'status pakai'.


1

Jika ini adalah data yang sangat penting yang tidak boleh dipulihkan, tidak aman untuk menggunakan disk lagi.

Seperti yang dikatakan orang lain, menimpa tidak berfungsi pada SSD, dan jika pabrikan salah enkripsi (memotong sudut untuk menghemat uang, ketidakmampuan, dll.) Maka bahkan menghapus kunci tidak akan membantu.

Efektif dengan segera, DSS tidak akan lagi menyetujui prosedur penulisan ulang untuk sanitasi atau penurunan peringkat (misalnya, lepaskan ke kontrol informasi rahasia tingkat rendah) dari perangkat penyimpanan IS (misalnya, hard drive) yang digunakan untuk pemrosesan rahasia.

Jika Anda bekerja dengan data rahasia (terutama yang melibatkan pemerintah), Anda memerlukan sesuatu yang sedikit lebih aman. Saya akan merekomendasikan obor:

Sumber, CNET

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.