Securely wiping SSDs

By Atomstar on Sunday 29 December 2019 10:57 - Comments (14)
Categories: Linux, Security, Views: 3.284

Wiping data carriers can protect personal data when reselling these. Since SSDs have quite some error-handling and buffering logic, these are more difficult to wipe.

I document my best-known method here. TL;DR: as commenters pointed out, ideally use OS-level encryption, then throw away the key. Alternatively, built-in security erasing via hdparm, combined with shred.

Securely wiping data carriers

Securely wiping SSDs is more difficult because the SSD 'thinks' for itself on when to write or delete data, not always obeying the user commands to optimise performance or durability. Below are some means to (partially) overcome this.

See more info on this here:

Preparation

For the below commands I made a Lubuntu Live CD using unetbootin on my Mac (10.14). I chose Lubuntu because it's a complete distro but with 1GB more manageable than Ubuntu at 3GB. If the 1GB is still too big, one could use Damn Small Linux or other flavour.

shred

Simple yet (moderately) effective, shred(1) overwrites files or devices. For example:

sudo shred -n 1 -z /dev/sda1


to wipe a disk randomly once, then overwrite with zeros. Note that this comes with the caveats mentioned above, and is not definitive. I added this in my wiping sequence because it at least helps a bit (bad reason, I know).

Built-in security measures

SSDs appear to have built-in security measures to encrypt or wipe them. Not sure how this works, so whether you trust this is up to you. My Samsung SSD had this feature. For example:
  • Ensure SSD is not frozen (check with hdparm -I /dev/sda)
  • If SSD is frozen, suspend/sleep system and wake up. Else reboot
  • Set password hdparm --user-master u --security-set-pass foo /dev/sda
  • Securely delete device: hdparm --user-master u --security-erase-enhanced foo /dev/sda
  • Check if finished: hdparm -I /dev/sda should show password not enabled
More info here:

DBAN - Darik's Boot and Nuke

This one doesn't work anymore (for me). After having some trouble making a bootable USB stick, the prompt fails because it cannot find /proc/cmdline somehow. It seems the software is now sold as commercial version and the free version is unmaintained.

Volgende: Backing up e-mail with OfflineIMAP 11-01 Backing up e-mail with OfflineIMAP
Volgende: ESP8266 sensing CO2 + Temp + RH + Pressure 20-12 ESP8266 sensing CO2 + Temp + RH + Pressure

Comments


By Tweakers user Blokker_1999, Sunday 29 December 2019 12:12

Zelfs als er op de SSD intern nog datablokken oude data bevatten kan je deze als gebruiker niet zomaar benaderen. Maar in deze moderne tijden zijn er veel eenvoudigere methodes. Zorg er gewoon voor dat je een encrypted FS gebruikt. Zonder sleutel kan niemand bij de data en moet je zelfs niet meer wissen.

By Tweakers user Atomstar, Sunday 29 December 2019 12:14

Blokker_1999 wrote on Sunday 29 December 2019 @ 12:12:
Zelfs als er op de SSD intern nog datablokken oude data bevatten kan je deze als gebruiker niet zomaar benaderen. Maar in deze moderne tijden zijn er veel eenvoudigere methodes. Zorg er gewoon voor dat je een encrypted FS gebruikt. Zonder sleutel kan niemand bij de data en moet je zelfs niet meer wissen.
Indeed encrypting the SSD contents by default on OS level solves all above, except in Windows 10 Home edition (my situation) this functionality is not built-in and harder to use.

By Lopendevogel, Monday 30 December 2019 11:07

Indien je privacy dusdanig belangrijker is lijkt mij de beste oplossing: niet verkopen,. verdrink,verbrand en doorboor dat ding, misschien nog even in een oude magnetron die niet gebruikt wordt voor het opwarmen van eten.
Vervolgens nog lekker inspuiten met wd40 en een lucifer erop.

Zo zal de data redelijk vernietigd zijn en is je privacy (tot zover) gewaarborgd.

Wil je toch liever spullen als HDD en SSD verkopen, dan staat privacy sowieso al niet op nr1 :)
Niet moeilijk doen als het ook makkelijk kan.

By Tweakers user Drardollan, Monday 30 December 2019 11:23

Een SSD overschrijven met random data en daarna nullen is zinloos. Zoals je zelf al aangeeft bepaald de controller van de SSD alles, je hebt geen idee wat het resultaat is. Daarbij is het slecht voor de SSD, 2 maal zinloos data schrijven op de cellen is zonde.

Met de (enhanced) secure erase commando’s zit je al goed. Wat er in feite gebeurd is dat de encryptiesleutels van de SSD worden verwijderd, waarmee de data direct waardeloos is geworden.

Of je daarop vertrouwd is aan jezelf, maar de grote fabrikanten nemen dit serieus en je kan er van op aan dat ze de juiste stappen uitvoeren. Voor echte zekerheid: hamer de SSD in kleine stukjes.

By Tweakers user Drardollan, Monday 30 December 2019 11:27

Blokker_1999 wrote on Sunday 29 December 2019 @ 12:12:
Zelfs als er op de SSD intern nog datablokken oude data bevatten kan je deze als gebruiker niet zomaar benaderen. Maar in deze moderne tijden zijn er veel eenvoudigere methodes. Zorg er gewoon voor dat je een encrypted FS gebruikt. Zonder sleutel kan niemand bij de data en moet je zelfs niet meer wissen.
Een SSD is in principe altijd encrypted, het levert enkel meer werk en een ietwat trager systeem op als je ook je FS gaan encrypten. (Enhanced) secure erase commando gooit de encryptiesleutel(s) weg.

Encrypten van je FS is overigens wel aan te raden om in geval van diefstal of verlies je data privé te houden.

[Comment edited on Monday 30 December 2019 12:30]


By Tweakers user Blokker_1999, Monday 30 December 2019 14:48

Niet helemaal waar natuurlijk. Als jij geen encrypted FS gebruikt en ik start op met een live versie van een linux distro of een Windows PE dan kan ik aan alles wat op die schijf staat. Dat is waarvoor je op FS niveau best ook nog eens encryptie aanzet. Dan ben je een stuk zekerder dat iemand met fysieke toegang tot de computer niet bij je data op die computer kan.

By Tweakers user Wvr, Monday 30 December 2019 16:58

Why not wipe the disk with Certus or Blancco?

By Tweakers user Atomstar, Monday 30 December 2019 17:06

Drardollan wrote on Monday 30 December 2019 @ 11:23:
Met de (enhanced) secure erase commando’s zit je al goed. Wat er in feite gebeurd is dat de encryptiesleutels van de SSD worden verwijderd, waarmee de data direct waardeloos is geworden.
Do you have a source on how the secure erase commands work and/or are implemented? The estimated time of the command for my Samsung SSD was 2 ('regular') and 8 ('enhanced') minutes, and real-time was 1 and 0 minutes. I find it hard to imagine that the disk can encrypt itself in such a short time.
Wvr wrote on Monday 30 December 2019 @ 16:58:
Why not wipe the disk with Certus or Blancco?
Good question. Care to elaborate?

I've added Blokker_1999's recommendation as first suggestion as this still seems to be the ideal method (when available).

By Tweakers user Xudonax, Monday 30 December 2019 21:43

It doesn't need to completely erase the drive with a (Enhanced) Secure Erase. If it's just wiping the mapping tables and getting a new key that shouldn't take a long time. The second taking shorter might just be because you already have an empty SSD, so there is next to nothing to do.

By burne, Tuesday 31 December 2019 00:12

Drardollan wrote on Monday 30 December 2019 @ 11:23:
Een SSD overschrijven met random data en daarna nullen is zinloos. Zoals je zelf al aangeeft bepaald de controller van de SSD alles, je hebt geen idee wat het resultaat is. Daarbij is het slecht voor de SSD, 2 maal zinloos data schrijven op de cellen is zonde.
You can't have your cake and eat it. Either it's useful to overwrite a SSD, but you gain two complete write cycles in wear, or it's useles because nothing gets written but then you do not lose two write cycles.

The cheapest shitty little SSD-drive in the pricewatch, a €21,33 Crucial drive, can be written 333 times before hitting the TBW-spec. 2 complete write cycles is a 0.6% reduction in actual life span.

Losing control over your dick pics might be painful, losing your credit card data or your bitcoin wallet might be a lot more expensive than 12 eurocents of storage-costs. (0.6% of €21,33)

By Tweakers user Drardollan, Tuesday 31 December 2019 15:11

Blokker_1999 wrote on Monday 30 December 2019 @ 14:48:
Niet helemaal waar natuurlijk. Als jij geen encrypted FS gebruikt en ik start op met een live versie van een linux distro of een Windows PE dan kan ik aan alles wat op die schijf staat. Dat is waarvoor je op FS niveau best ook nog eens encryptie aanzet. Dan ben je een stuk zekerder dat iemand met fysieke toegang tot de computer niet bij je data op die computer kan.
Dat is toch precies wat ik zeg?

Maar het is een ander probleem wat je daarmee oplost. FS encrypten doe je om tijdens gebruik zeker te zijn dat je data safe is. Wipen doe je om na gebruik zeker te zijn dat je data weg.

By Tweakers user Drardollan, Tuesday 31 December 2019 15:16

Atomstar wrote on Monday 30 December 2019 @ 17:06:
[...]


Do you have a source on how the secure erase commands work and/or are implemented? The estimated time of the command for my Samsung SSD was 2 ('regular') and 8 ('enhanced') minutes, and real-time was 1 and 0 minutes. I find it hard to imagine that the disk can encrypt itself in such a short time.
Er wordt niet opnieuw een encryptie uitgevoerd. De encryptiesleutels worden weggegooid. Dat het een minuut duurt is al bijzonder lang, zoiets kost max een seconde. De meeste tijd zit in de verificatie of de sleutel weg is en er een nieuwe gemaakt moet worden.

https://www.thomas-krenn.com/en/wiki/SSD_Secure_Erase

By Tweakers user Drardollan, Tuesday 31 December 2019 15:19

burne wrote on Tuesday 31 December 2019 @ 00:12:
[...]


You can't have your cake and eat it. Either it's useful to overwrite a SSD, but you gain two complete write cycles in wear, or it's useles because nothing gets written but then you do not lose two write cycles.

The cheapest shitty little SSD-drive in the pricewatch, a €21,33 Crucial drive, can be written 333 times before hitting the TBW-spec. 2 complete write cycles is a 0.6% reduction in actual life span.

Losing control over your dick pics might be painful, losing your credit card data or your bitcoin wallet might be a lot more expensive than 12 eurocents of storage-costs. (0.6% of €21,33)
Het is niet nodig en je krijgt onnodige slijtage aan je SSD. Ook al is het maar 0,6 procent. Grote kans dat er al cellen dood zijn, de rest krijgt dan veel meer nutteloze writes voor zijn kiezen.

Als je 100% zekerheid wil moet je de SSD versnipperen. Wil je hem nog een tweede leven geven dan doe je een secure erase en check je eventueel met een HEX viewer hoe het eruit ziet.

Alle andere opties (qua wipen) zijn zinloos en bereik je niet het gewenste resultaat mee bij een SSD.

By Tweakers user mark-k, Thursday 2 January 2020 00:29

Lopendevogel wrote on Monday 30 December 2019 @ 11:07:
Indien je privacy dusdanig belangrijker is lijkt mij de beste oplossing: niet verkopen,. verdrink,verbrand en doorboor dat ding, misschien nog even in een oude magnetron die niet gebruikt wordt voor het opwarmen van eten.
Vervolgens nog lekker inspuiten met wd40 en een lucifer erop.

Zo zal de data redelijk vernietigd zijn en is je privacy (tot zover) gewaarborgd.

Wil je toch liever spullen als HDD en SSD verkopen, dan staat privacy sowieso al niet op nr1 :)
Niet moeilijk doen als het ook makkelijk kan.
In tegenstelling tot wat veel mensen denken is WD40 niet brandbaar. Het drijfgas dat erbij zit wel, maar de vloeistof zelf niet.

Comment form
(required)
(required, but will not be displayed)
(optional)