Date: Mon, 21 Mar 2022 10:17:33 -0500 From: Sam Ricchio <sam.ricchio@gmail.com> To: Damian Weber <dweber@htwsaar.de>, freebsd-security@freebsd.org Subject: Re: SSD erase question Message-ID: <1ACC7A67-BDBA-4CD3-87EC-822C38CD7CE7@gmail.com> In-Reply-To: <274c8cca-80b0-9460-6754-6bb77efbb4dd@htwsaar.de> References: <274c8cca-80b0-9460-6754-6bb77efbb4dd@htwsaar.de>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_F0850484-1739-4CA6-8CAF-A4F9D327999F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On and SSD if you have erased everything ssd =E2=80=9Cgarbage = collection=E2=80=9D should help you if the drive it powered on. But if you want to overwrite the drive A simple overwrite with a text pattern with dc3dd. dc3dd wipe=3D/dev/sdb tpat=3Dnothingtoseehere However if you are still worried that some controller optimization is = interfering with and actual memory location overwrite. Go old school with dd and = write a file of random to the existing file system until it runs out of space. dd if=3D/dev/urandon of=3Dgarbagetxtfile.txt On Mar 21, 2022, at 7:14 AM, Damian Weber <dweber@htwsaar.de> wrote: Hi all, I'd like to have an answer on a secure FreeBSD way to erase=20 SSDs before giving these away to someone for reusing it.=20 Is the following enough to protect confidential data=20 previously stored there? 1) dd : overwriting with random bits (complete capacity) 2) gpart create 3) gpart add 4) newfs Details for an example with /dev/ada1 see below. Thanks a lot, Damian # fdisk ada1 ******* Working on device /dev/ada1 ******* parameters extracted from in-core disklabel are: cylinders=3D484521 heads=3D16 sectors/track=3D63 (1008 blks/cyl) Figures below won't work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders=3D484521 heads=3D16 sectors/track=3D63 (1008 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 238 (0xee),(EFI GPT) start 1, size 488397167 (238475 Meg), flag 0 beg: cyl 0/ head 0/ sector 2; end: cyl 1023/ head 255/ sector 63 The data for partition 2 is: <UNUSED> The data for partition 3 is: <UNUSED> The data for partition 4 is: <UNUSED> # gpart show ada1 =3D> 40 488397088 ada1 GPT (233G) 40 1024 1 freebsd-boot (512K) 1064 480246784 2 freebsd-ufs [bootme] (229G) 480247848 8149280 3 freebsd-swap (3.9G) # dd if=3D/dev/random of=3D/dev/ada1 bs=3D512 count=3D488397088 # gpart create -s gpt ada1 # gpart add -t freebsd-ufs ada1 # newfs -U /dev/ada1p1 --Apple-Mail=_F0850484-1739-4CA6-8CAF-A4F9D327999F Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; = charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><div = class=3D"">On and SSD if you have erased everything ssd =E2=80=9Cgarbage = collection=E2=80=9D should help you if the drive it powered = on.</div><div class=3D"">But if you want to overwrite the = drive</div><div class=3D"">A simple overwrite with a text pattern with = dc3dd.</div><div class=3D""><div style=3D"margin: 0px 0px 0px 36px; = text-indent: -36px; font-stretch: normal; font-size: 16px; line-height: = normal;" class=3D""><span style=3D"font-kerning: none" class=3D"">dc3dd = wipe=3D/dev/sdb tpat=3Dnothingtoseehere</span></div><div style=3D"margin: = 0px 0px 0px 36px; text-indent: -36px; font-stretch: normal; font-size: = 16px; line-height: normal;" class=3D""><span style=3D"font-kerning: = none" class=3D"">However if you are still worried that some controller = optimization is interfering</span></div><div style=3D"margin: 0px 0px = 0px 36px; text-indent: -36px; font-stretch: normal; font-size: 16px; = line-height: normal;" class=3D""><span style=3D"font-kerning: none" = class=3D"">with and actual memory location overwrite. Go old = school with dd and write</span></div><div style=3D"margin: 0px 0px 0px = 36px; text-indent: -36px; font-stretch: normal; font-size: 16px; = line-height: normal;" class=3D""><span style=3D"font-kerning: none" = class=3D"">a file of random to the existing file system until it runs = out of space.</span></div><div style=3D"margin: 0px 0px 0px 36px; = text-indent: -36px; font-stretch: normal; font-size: 16px; line-height: = normal;" class=3D""><span style=3D"font-kerning: none" class=3D"">dd = if=3D/dev/urandon of=3Dgarbagetxtfile.txt</span></div><div = style=3D"margin: 0px 0px 0px 36px; text-indent: -36px; font-stretch: = normal; font-size: 16px; line-height: normal;" class=3D""><span = style=3D"font-kerning: none" class=3D""><br class=3D""></span></div><div = style=3D"margin: 0px 0px 0px 36px; text-indent: -36px; font-stretch: = normal; font-size: 16px; line-height: normal;" class=3D""><span = style=3D"font-kerning: none" class=3D""><br class=3D""></span></div><div = style=3D"margin: 0px 0px 0px 36px; text-indent: -36px; font-stretch: = normal; font-size: 16px; line-height: normal;" class=3D""><span = style=3D"font-kerning: none" class=3D""><br class=3D""></span></div><div = style=3D"margin: 0px 0px 0px 36px; text-indent: -36px; font-stretch: = normal; font-size: 16px; line-height: normal;" class=3D""><br = class=3D""></div><div class=3D""><div><div class=3D"">On Mar 21, 2022, = at 7:14 AM, Damian Weber <<a href=3D"mailto:dweber@htwsaar.de" = class=3D"">dweber@htwsaar.de</a>> wrote:</div><br = class=3D"Apple-interchange-newline"><div class=3D""><div class=3D""><br = class=3D"">Hi all,<br class=3D""><br class=3D"">I'd like to have an = answer on a secure FreeBSD way to erase <br class=3D"">SSDs before = giving these away to someone for reusing it. <br class=3D""><br = class=3D"">Is the following enough to protect confidential data <br = class=3D"">previously stored there?<br class=3D""><br class=3D"">1) = dd : overwriting with random bits (complete capacity)<br = class=3D"">2) gpart create<br class=3D"">3) gpart add<br = class=3D"">4) newfs<br class=3D""><br class=3D"">Details for an = example with /dev/ada1 see below.<br class=3D""><br class=3D"">Thanks a = lot,<br class=3D""><br class=3D""> Damian<br class=3D""><br = class=3D""><br class=3D""># fdisk ada1<br class=3D"">******* Working on = device /dev/ada1 *******<br class=3D"">parameters extracted from in-core = disklabel are:<br class=3D"">cylinders=3D484521 heads=3D16 = sectors/track=3D63 (1008 blks/cyl)<br class=3D""><br class=3D"">Figures = below won't work with BIOS for partitions not in cyl 1<br = class=3D"">parameters to be used for BIOS calculations are:<br = class=3D"">cylinders=3D484521 heads=3D16 sectors/track=3D63 (1008 = blks/cyl)<br class=3D""><br class=3D"">Media sector size is 512<br = class=3D"">Warning: BIOS sector numbering starts with sector 1<br = class=3D"">Information from DOS bootblock is:<br class=3D"">The data for = partition 1 is:<br class=3D"">sysid 238 (0xee),(EFI GPT)<br class=3D""> = start 1, size 488397167 (238475 Meg), flag 0<br = class=3D""> beg: cyl 0/ head = 0/ sector 2;<br class=3D""> = end: cyl 1023/ head 255/ = sector 63<br class=3D"">The data for partition 2 is:<br = class=3D""><UNUSED><br class=3D"">The data for partition 3 is:<br = class=3D""><UNUSED><br class=3D"">The data for partition 4 is:<br = class=3D""><UNUSED><br class=3D""><br class=3D""># gpart show = ada1<br class=3D"">=3D> 40 = 488397088 ada1 GPT (233G)<br class=3D""> = 40 = 1024 1 = freebsd-boot (512K)<br class=3D""> = 1064 480246784 = 2 freebsd-ufs [bootme] = (229G)<br class=3D""> 480247848 8149280 = 3 freebsd-swap (3.9G)<br = class=3D""><br class=3D""># dd if=3D/dev/random of=3D/dev/ada1 bs=3D512 = count=3D488397088<br class=3D""><br class=3D""># gpart create -s gpt = ada1<br class=3D""><br class=3D""># gpart add -t freebsd-ufs ada1<br = class=3D""><br class=3D""># newfs -U /dev/ada1p1<br class=3D""><br = class=3D""><br class=3D""></div></div></div><br = class=3D""></div></div></body></html>= --Apple-Mail=_F0850484-1739-4CA6-8CAF-A4F9D327999F--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1ACC7A67-BDBA-4CD3-87EC-822C38CD7CE7>