Bir SSD sürücüyü nasıl güvenle silebilirim?


36

SSD teknolojisinde oldukça yeniyim, bu yüzden sürücüyü güvenli bir şekilde silmeye geldiğinde sabit sürücülerle nasıl karşılaştığını bilmiyorum. Disk İzlencesi'ni çalıştırmak ve sürücüyü "sıfırla üzerine yaz" seçeneğiyle silmek yeterli mi, yoksa bu sabit diskler için mi tasarlandı? Alınması gereken başka eylemler var mı?

Yine de NSA dereceli güvenlik aramıyorum, yalnızca Mac'i iade ediyor veya satıyorsanız yapabileceğiniz türden mendiller.


Verileri silmeniz mi gerekiyor yoksa diğer kişileri verilerin silindiğine ikna etmek mi istiyorsunuz? Kendinizi yalnızca verilerin gittiğine ikna etmeniz gerekiyorsa, ATA komutunu Secure Erase (Güvenli Silme) komutunu denemelisiniz. Diğer insanları ikna etmeniz gerekirse, bir disk parçalama servisi kullanmanız gerekebilir.
DanBeale

Yanıtlar:


45

Paranoya seviyene bağlı. SSD'lerin veri yazma işleminden dolayı, bir SSD'ye sıfır kez yapmak, bir sabit sürücüde yapmak kadar iyi değildir.

Bir HD'ye belirli bir veri sayfası yazdığınızda, yeni veriler eski veriler üzerine yazılarak değiştirilir. Tüm diskin üzerine sıfırlar yazdığınızda eski veriler silinir. Öte yandan, SSD'ler tek tek sayfaların üzerine yazamazlar. Bir sayfadaki verileri değiştirmek için önce eski verilerin silinmesi gerekir ve SSD'ler sayfaları tek tek silemez; birçok sayfadan oluşan tüm blokları silmeleri gerekir.

Öyleyse, bir SSD'nin sayfa # 5’in üzerine yazmasını istemeniz durumunda ne olur, sayfa 5’in SSD’nin verileri yalnızca sayfa # 5’de bırakması ancak geçersiz olarak işaretlenmesi, şu anda boş bir sayfa ayırması (diyelim, # 2305), sayfa # 2305'teki yeni veriler ve işletim sisteminin bir sonraki sayfa # 5 sorduğunda bunun yerine # 2305 alması gerektiğine dikkat edin. Orijinal sayfa # 5 verisi, sürücü daha fazla alana ihtiyaç duyduğunda, kalan geçerli sayfaları bloktan uzağa taşıdığında ve silerken bir süre geçinceye kadar orada oturur. SSD'ler, bilgisayara maruz bıraktıklarından daha fazla fiziksel bellek kapasitesine sahiptir, bu nedenle bir şeyleri gerçekten silmek zorunda kalmadan önce bir süre böyle bloklar yapabilirler (ve aslında bir şeyi sildiklerinde, artık kalan verilerin hangi bloklarını tahmin etmenin iyi bir yolu yoktur) silme için seçilmek). Bu AnandTech incelemesine bakın daha fazla ayrıntı için (uyarı: oldukça uzun ve ilgili şeyler etrafa yayılmış).

Net sonuç: Eğer "bütün" sürücünün üzerine sıfır yazarsanız, aslında tüm eski verilerin üzerine yazmamışsınızdır. Sen var o (bu sayfaların hepsi geçersiz) OS eski verilerin herhangi dönmek kalmayacak.END_FONT kontrolörün çeviri tablosunu güncelledi. Ancak birisi denetleyiciyi atlayacak kadar sert olursa, verilerinizin bir kısmını geri alabilir.

İki kez üzerine yazmak muhtemelen işe yarayacaktır, ancak bu, kontrol cihazının tahsis stratejisine bağlıdır. Rasgele verilerle ( diskutil randomDisk 2 /dev/diskN) iki kez üzerine yazmak, çalışmak için biraz daha muhtemeldir, ancak yine de garanti edilmez. Bunların her ikisinin de bazı yan etkileri vardır: Sürücünün kullanım ömrünün bir kısmını kullanırlar ve ayrıca yazma performansını düşürerek SSD üzerindeki mantıksal parçalanmayı da arttırırlar.

OS X'in grafik Disk Yardımcı Programının son sürümlerinin SSD'lerde (yukarıda tartışılan nedenlerden dolayı) güvenli silme seçeneklerini devre dışı bıraktığını, ancak komut satırı sürümünün hala izin verdiğini unutmayın. BTW, SSD'leri şifrelenmiş formata dönüştürerek güvenli bir şekilde silmek için birkaç öneri gördüm, ancak bu (eğer varsa) rasgele verilerin üzerine yazmaktan biraz daha az güvenli.

Bir SSD'yi silmenin en iyi yolu denetleyicinin yerleşik güvenli silme özelliğini çağırmaktır. Bu (kontrolör tasarımcıları işlerini yaptıysa) tüm blokları gerçekten silmeli ve ayrıca mantıksal sayfa haritasını sıfırlama, temelde birleştirme ve orijinal performansını geri getirme yan etkisine sahip olmalıdır. Ne yazık ki, bunu yapmak için gördüğüm yardımcı programların çoğu (örn. CMRR's HDDErase ), Mac'te çalıştırılmayan DOS altında çalışıyor. Bir GParted önyükleme CD'sinden güvenli bir silme işlemi yapmak için (oldukça karmaşık) talimatlarla makrolarda bir kayıt buldum . Aynı zamanda mümkün olabilir Parted'ın Magic kullanmak bir gelen önyüklenebilir flash sürücü , ama bu denemedim.

UCSD'deki Geçici Olmayan Sistemler Laboratuarı'ndaki araştırmacılar, sürücüyü "silerek", ardından denetleyiciyi atlamak için sökerek ve kalan verileri ( özet , tam kağıt ) kontrol ederek SSD'leri temizlemenin çeşitli yollarını test ettiler . Sonuçları çoğunlukla yukarıda söylediklerime katılıyor (ve ayrıca yerleşik güvenli silme komutunun her zaman doğru şekilde uygulanmadığını da gösteriyor):

Sonuçlarımız üç sonuca yol açmaktadır: İlk olarak, yerleşik komutlar etkilidir, ancak üreticiler bazen bunları yanlış uygular. İkincisi, bir SSD'nin tüm görünür adres alanının üzerine iki kez yazmak, sürücüyü sterilize etmek için genellikle yeterlidir, ancak her zaman değil. Üçüncüsü, bireysel dosya temizleme için mevcut sabit disk odaklı tekniklerin hiçbiri SSD'ler üzerinde etkili değildir.


1
Kapsamlı cevap için teşekkürler. Önerdiğiniz gibi bir Terminal komutu çalıştırmak benim için sorun değil. Ancak gelecekteki referanslar için: Terminal ile bu kadar rahat olmayan normal kullanıcılar ne yapabilir? Disk Yardımcı Programı'nın 7 geçişli seçeneğini kullanmanız yeterli mi?
Rinzwind

4
Bu noktadaki seçeneklerden herhangi birini gerçekten "tavsiye edebilir miyim" bilmiyorum - hepsi berbat. Üzerine yazma seçeneklerinden herhangi biri, sürücünün kullanım ömrü yazma sınırını kullanır ve parçalanma oranını artırır ve performansı düşürür. En iyi şey, Apple'ın Disk Yardımcı Programında bir seçenek olarak ATA güvenli silme özelliğini (yani denetleyici tabanlı seçenek) eklemesi, ancak bunun ne zaman / ne olacağını bilmesidir.
Gordon Davisson

2
@ Gordon - Bu harika ve bilgilendirici bir cevaptı! +1
Dolan Antenucci

Merhaba @ GordonDavisson. Bu cevabı yazdığınızdan beri herhangi bir şey değişmişse merak ediyorum (o zamandan beri birkaç işletim sistemi güncellemesi oldu).
samthebrand

@SamtheBrand: Çok şey değişmedi. Disk Yardımcı Programının (GUI sürümü) artık SSD'lerdeki güvenli silme işlemine izin vermediğini (gerçekten işe yaramadığı için), HDDErase'ye bağlantıyı düzelttiğime ve Parted Magic'in çalışabileceğine dair bir not ekledim (denememe rağmen) ekledim. ).
Gordon Davisson,

8

Bir terminal açın ve aşağıdaki komutu yazın:

df -k

SSD'nin geri dönüşümsüz olarak silmek istediğiniz bölümüne karşılık gelen ilk sütuna dikkat edin. Diyelim ki öyle /dev/disk1s2.

Aşağıdaki komutu yazın:

dd if=/dev/zero of=/dev/rdisk1s2 bs=100k

/dev/rdisk1s2SSD'deki bölümünüzle ilişkili ham aygıt nerede ? Bu komut bu bölümü ilk bloktan sonuncusuna kadar tamamen yazacaktır. Bu komut uzun bir süre sürecek (100 Gbayt için ~ 1/2 s) ilerlemiş kaydırma çubuğu olmadan.

Bu komut size kabuk istemi döndürdüğünde, disk tamamen ve geri alınamaz şekilde silinmiştir. Başlat Disk Utilityve bu bölümü kontrol et. Her türlü onarımın ötesinde hasar gördüğünü size söyleyecektir. Ve bu doğru.

Sadece bu bölümü istediğiniz gibi biçimlendirin.

Fiziksel bloklar düzeyinde neler oluyor:dd & DU filmi bir SSD silme


1
Bu, Disk Utility'nin sıfır ile üzerine yazma seçeneğine eşdeğerdir ve aynı nedenle SSD'lerde tam olarak güvenli olmayacaktır. Ayrıntılı açıklama için cevabımı gör.
Gordon Davisson

→ Gordon: Cevabını okudum ve sanırım anladım ve kalitesi için onayladım. Cevabım, ham disk aygıtını değil blok olanı (Disk Yardımcı Programı olarak) kullanıyor. Bunun SSD'de (güvenilir araçlarla) doğrulanması gerekir, ancak eski standart HD önbellekleri kullandığımda bildiğim kadarıyla, ham disk arabirimi bu önbelleği önlemenin kolay yoluydu. Bir SSD cihazı, önbelleğin tam kapasiteye sahip olduğu ve fiziksel diskin çıkarıldığı bir HD disktir.
dan

İşlenmemiş aygıtın (/ dev / rdisk *) kullanılması, işletim sistemi önbelleklerini atlar, ancak flash çeviri katmanını atlamaz (tanımladığım sorunun kaynağı). Aslında, onu işletim sisteminden atlamanın bir yolu yoktur - aygıt denetleyicisi hiçbir zaman gerçek ham flaş deposunu hiçbir zaman veriyoluna (SATA ya da her neyse) maruz bırakmaz ve işletim sistemi yalnızca veri yolu üzerindeki sürücüyle etkileşime girebileceğinden, güvenli bir üzerine yazma işlemini yapabilmesi için yeterli derecede erişime sahip olması.
Gordon Davisson

İlk bölüm ddburada sadece bir miktar önbellek seviyesini atlamak değil (kapasitelerini bilmek için herhangi bir yolumuz yok) değil, onları kısmen tüketmek için de var (bu şekil 3'tür). İkinci geçiş gerçekten yeni bloklar bulmak ve güvenli bir şekilde silmek zorunda kalacak.
dan

Bu iki nedenden ötürü hala yeterli değil: ilk olarak, Disk Utility diski biçimlendirdiğinde, sadece biraz üzerine yazıyor (bölüm tablosu, birim başlıkları, vb.) Ve ek kapasiteyi tüketmek için yeterli bir garanti yoktur. İkincisi, DU’nın yaptığı ekstra yazıların daha önce silindiklerinden farklı fiziksel bloklara çarpacağının garantisi yok - kontrol cihazının tahsis stratejisine bağlı olarak, aynı fiziksel blokları tekrar tekrar silmeniz tamamen mümkün. Bu yüzden, iki kere tüm alanların üzerine yazmak bile yetmeyebilir dedim.
Gordon Davisson

7

Disk Yardımcı Programındaki "Güvenlik Seçenekleri ..." düğmesi SSD'ler için şu anda gri. Http://support.apple.com/kb/HT3680’e göre , normal olarak bir SSD’yi silmek yeterince güvenli olabilir:

Not: OS X Lion ve bir SSD sürücüsü ile, Boş Alanda Güvenli Silme ve Silme, Disk Yardımcı Programında mevcut değildir. Bir SSD sürücüsü için bu seçeneklere gerek yoktur, çünkü standart bir silme bir SSD'den veri kurtarmayı zorlaştırır. Daha fazla güvenlik için, SSD sürücüsünü kullanmaya başladığınızda FileVault 2 şifrelemesini açmayı düşünün.

diskutil secureErase freespace 4 disk0s2Kurtarma bölümündeki Terminal'den bir şey çalıştırmak hala mümkündür .

Sadece sürücüyü silmeden önce FileVault 2'yi açmak, muhtemelen daha iyi bir seçenektir. Bu cevaba göre , uzaktan silme işlemi, FileVault 2 etkin olduğunda şifreleme anahtarını da siler:

Evet, bilgisayarı uzaktan sildiğinizde güvenli bir silme işlemi gerçekleştirilir. Apple, bir güne kadar sürebileceği konusunda sizi uyarıyor. Ancak, sürücünüz FileVault 2 ile şifrelenmişse, diski silmek gerekmez. Diskte depolanan şifreleme anahtar (lar) ını güvenli bir şekilde silmek yeterlidir, bu yüzden yaptıkları şey bu. Şimdilik çok güvenli olan, temel şifreleme sisteminin olduğu kadar hızlı ve güvenli.

http://training.apple.com/pdf/wp_osx_security.pdf :

FileVault 2, BT departmanlarına, şifrelenmiş verilere kullanıcı girişi veya veri kurtarma araçlarıyla erişilememesi için herhangi bir zamanda şifreleme anahtarını herhangi bir zamanda silme olanağı sağlar. Bu işlem uzaktan silme olarak adlandırılır.


5
Hassas verileri kaydetmeden önce şifrelemeyi açmak (yani FileVault) mükemmel bir seçenektir, ancak şifreleme anahtarını "silmek" için kullanılan işlemin standart güvenli bir silme işleminin aynı olmaması nedeniyle tamamen güvenli olamayacağı sonucuna vardım. - Eski şifreleme anahtarı, sadece eşlenmiş bir sayfada, flaşta saklanacaktır. Bu yüzden kontrol cihazını atlayabilen biri hala "silinmiş" anahtarda olabilir ...
Gordon Davisson

@GordonDavisson, ancak sürücüyü biçimlendirirken tekrar şifrelemeyi etkinleştirirseniz, eski şifreleme anahtarının üzerine yazılmalıdır, bu nedenle eski verilere güvenli bir şekilde erişilemez.
supersize

@supersize Eski şifreleme anahtarının üzerine yazılmış olabilir , ancak reformat sırasında tam olarak hangi fiziksel sayfaların silindiğine bağlıdır ve bu, işletim sistemi için değil, sürücü üretici yazılımı tarafından kontrol edilen bir şeydir.
Gordon Davisson
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.