Как я могу безопасно стереть жесткий диск?

210

Я планирую продать внешний жесткий диск USB, который в настоящее время содержит старую установку Ubuntu с сохраненными паролями и банковской информацией.

Как можно безопасно стереть диск перед продажей?

ændrük
источник
2
Кроме того, посмотрите на эту страницу EFF для всестороннего объяснения, охватывающего несколько ОС.
Том Броссман
@Lekensteyn 'Удалить слоты ключей'? Просто искал AU и ничего не получил, кроме этого частично связанных вопросов и ответов. Должен ли я задать это как новый вопрос, или он описан здесь?
Том Броссман
Если у вас есть надежный пароль, мир не будет потерян, когда вы потеряете свой диск. Однако рекомендуется очистить слоты ключей, как описано в 5.3 в code.google.com/p/cryptsetup/wiki/… . Продолжайте и спросите о стирании зашифрованных дисков.
Лекенштейн

Ответы:

226

Безопасное стирание устройства хранения

Есть утилита командной строки shred, которая перезаписывает данные в файле или целом устройстве случайными битами, делая практически невозможным восстановление.

Прежде всего, вам необходимо идентифицировать название устройства.

Это может быть что-то вроде /dev/sdbили /dev/hdb(но не как /dev/sdb1, это раздел). Вы можете использовать sudo fdisk -lсписок всех подключенных устройств хранения и найти там свой внешний жесткий диск.

NB Убедитесь, что это правильное устройство, выбор неправильного устройства сотрет его.

Размонтируйте все подключенные в данный момент разделы на этом устройстве, если они есть. Затем выполните следующее, заменив /dev/sdXего именем вашего устройства:

sudo shred -v /dev/sdX

Это перезапишет все блоки на устройстве со случайными данными три раза, -vфлаг для подробного и напечатает текущий прогресс.

Вы можете добавить опцию, -nNчтобы сделать это только N раз, чтобы сэкономить время на устройствах большой емкости. Это может занять некоторое время, в зависимости от размера вашего внешнего жесткого диска (я думаю, что это займет около двадцати минут для моей 4 ГБ флешки).

Вы также можете установить все биты в ноль после последней итерации, добавив опцию -z, я предпочитаю делать это.

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

После этого вам придется перераспределить устройство. Самый простой способ - установить GParted и использовать его:

sudo apt-get install gparted
gksu gparted

Выберите свое устройство в правом верхнем углу списка. Затем выберите, Device -> Create partition tableчтобы создать таблицу разделов на устройстве.

Затем добавьте один раздел, который использует все нераспределенное пространство на устройстве, выбрав fat32в качестве файловой системы. Чтобы применить изменения, нажмите кнопку « Применить» (зеленая галочка) на панели инструментов.

подсказки

  • Прочтите справочную страницу для shredонлайн или набрав man shredв терминале.
  • Помните, что некоторые части вашего диска не будут удалены - используйте команду «SECURE ERASE» для прошивки диска, например, через hdparm, чтобы правильно очистить диск.
Frxstrem
источник
31
Наилучшая практика здесь: отсоедините все свои жесткие диски, подключите внешний накопитель, а затем выполните описанные выше действия с живым компакт-диском, чтобы исключить даже возможность фрагментации всего, что имеет значение.
Ник Паскуччи
30
Обратите внимание, что этот ответ устарел с помощью метода SECURE ERASE для запроса на стирание диска. Это должно позаботиться обо всех возможных данных и не будет излишне облагать налогом вашу систему. Вы можете выполнить безопасное удаление, когда диск стирает сам себя, используя hdparmутилиту. Этот метод пытается стереть весь диск, включая поврежденные сектора. Кроме того, это намного быстрее, чем переписывать обычным способом. Это также рекомендуемые методы для SSD накопителей, где shredэто крайне плохая идея.
Мартен Бодевес
6
@owlstead: Не могли бы вы уточнить? Что такое SECURE ERASE и как его использовать? Буду признателен, если вы сделаете отдельный ответ, если у вас есть лучший ответ.
Мадс Скьерн,
17
Комментарий об использовании команды ATA Secure Erase вводит в заблуждение. Существуют серьезные проблемы с использованием SE (в связи с отсутствием последовательной поддержки со стороны поставщиков и отсутствием прозрачности процесса). Связанный: security.stackexchange.com/questions/62253
MV.
2
@Fiksdal Я не знаю, прошло пять лет с тех пор, как я написал этот ответ, и я не помню свои мотивы для формулировки этого слова. Тем не менее, я думаю, что я имел в виду это в духе «практически невозможного сегодня, но вполне возможно в будущем при достаточном техническом совершенствовании».
Frxstrem
94

Просто обнулите его, используя ddинструмент:

  1. Запустите Дисковую Утилиту через System > Administration > Disk Utility
  2. Найдите свой диск на левой панели, выберите его, а справа найдите путь к устройству (например, /dev/sdX).
  3. Запустите следующую команду из терминала gnome (Приложения> Принадлежности> Терминал):

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

    Убедитесь, что вы используете правильный путь к устройству, а не просто копируете эту строку!

Это позволит перезаписать весь диск нулями и значительно быстрее, чем генерировать гигабайты случайных данных. Как и все другие инструменты, он не будет заботиться о блоках, которые были отображены по какой-либо причине (ошибки записи, зарезервированы и т. Д.), Но очень маловероятно, что у вашего покупателя будут инструменты и знания для восстановления чего-либо из этих блоков.

PS: Перед вами фанаты Брюса Шнайера понизили меня: я хочу доказательства того, что возможно восстановить данные с не древнего ротационного жесткого диска, который был перезаписан нулями. Даже не думай комментировать иначе! :П

htorque
источник
6
+1 для Брюса Шнайера (и DD, который действительно является отличным инструментом)
n3rd
6
Не сказать, что это самое сильное «доказательство», но метод Гутмана существует по причине. Насколько я знаю, современные жесткие диски теоретически подвержены восстановлению данных, если они были перезаписаны нулями. Независимо от того, сохраняется ли это, надеюсь, вы можете признать, что это не повредит, если перезаписать, используя / dev / random или специальный алгоритм для этой цели.
Cerin
13
Нет, это не повредит, просто это займет много времени (особенно если вы используете / dev / random: P) с сомнительной выгодой. В последнем документе по этой теме, который я прочитал (извините, никаких подробностей, я думаю, что это было в 2008 году), предположил - основываясь на данных тестов на реальном оборудовании - что вероятность восстановления одного бита <50% → означает, что вы получите меньше частота ошибок при «восстановлении» каждого бита с помощью броска монеты. Итак, если нет доказательств того, что обнуления недостаточно (сейчас это не «возможно», а скорее «не чертовски»), это метод выбора для меня.
htorque
12
@Cerin Насколько я понимаю, никогда не было никаких доказательств того, что эти параноидальные фантазии о восстановлении данных возможны. Как указано в разделе «Критика» статьи, которую вы связали, сам Гутман критикует то, как его алгоритм использовался « скорее как своего рода заклинание вуду для изгнания злых духов, чем в результате технического анализа методов кодирования дисков ». , Единственные причины сделать больше, чем просто очистить диск, эмоциональны ... то есть это заставляет вас чувствовать себя лучше ... не технически.
иррациональный Джон
4
Хорошо, но не могли бы вы объяснить, почему вы поставили bs=1Mпараметр? Я могу прочитать man, и IIUC вы просто ограничивает буфер до 1 мегабайта; почему так желательно?
Гаазкам
20

Посмотрите на этот категорический вопрос по Exchange Security Stack

Как я могу надежно стереть всю информацию на жестком диске

Здесь обсуждаются различные варианты безопасного удаления, а также физическое уничтожение и уничтожение, чтобы вы могли решить, какой вариант может быть вашим лучшим выбором.

Помните, что текущее состояние восстановления для другого хранилища выглядит следующим образом:

  • Очень старые жесткие диски: между дорожками были зазоры, поэтому вы могли бы обнаружить утечки в эти промежутки (если у вас был под рукой сканирующий электронный микроскоп). Перезапись несколько раз была потенциально полезна.
  • Новые жесткие диски: в настоящее время не существует технологии, способной читать даже после одной перезаписи.
  • Твердотельные жесткие диски: выравнивание износа означает, что вы не можете надежно перезаписать. Вместо этого вы либо шифруете весь том и утилизируете ключ для стирания, либо уничтожаете устройство.
Рори Олсоп
источник
Какое определение для очень старый, например, 30 лет назад?
Мотивировано
10Mb MFM дисков примерно 20-25 лет назад, да
Рори Олсоп
Как это относится к накопителям в таких устройствах, как мобильные телефоны и планшеты?
мотивировано
@ Мотивированный Учитывая, что телефоны и планшеты используют флэш-память, это, вероятно, тот же ответ, что и для SSD, но я не уверен. Вы можете попросить Super User для лучшей информации.
wjandrea
20

Я обычно использую разрушительный тест чтения-записи, используя badblocks -w. Два основных преимущества

  • это часть базовой системы и почти каждой спасательной системы, поэтому ее можно получить, например, из оболочки восстановления установщика Ubuntu
  • в конце вы получаете отчет о наличии плохих блоков на диске

Обратите внимание, что если в отчете указана проблема, я больше не буду продавать диск, так как он может скоро выйти из строя.

Пример использования (если у вас есть диск sdd):

sudo badblocks -wsv /dev/sdd

(добавлено svдля индикатора выполнения + подробный)

Саймон Рихтер
источник
11

Теперь инструмент Disks ( gnome-disks) имеет функцию безопасного удаления ATA . Вы можете использовать его, чтобы стереть ваш жесткий диск. Та же опция объяснена в этом ответе с использованием инструмента командной строки hdparm.

  1. Инструмент «Открыть диски» → Выбрать целевой диск
  2. Из меню: Форматировать диск ...
  3. Выберите из выпадающего списка, Erase: ATA Enhanced Secure Erase
  4. Формат

ATA Enhanced Secure Erase 1 ATA Enhanced Secure Erase 2

user.dz
источник
2
Хотя это, как правило, лучший вариант, он не применяется по USB (как указано в приведенном выше вопросе). Об этом есть предупреждения и отказ от ответственности по адресу ata.wiki.kernel.org/index.php/ATA_Secure_Erase . Тем не менее, я спросил об этом в выпуске Gnome .
Колан
1
@colan Как я понимаю, это зависит от поддержки функции в полном стеке (диски - ядро ​​- драйвер - контроллер - диск). В то время как мой случай был в порядке для двух жестких дисков (WD USB3 HDD и WD с активным адаптером SATA-USB3), я подтверждаю, что это не для всех случаев, я видел некоторые адаптеры SATA-USB3 с жестко закодированным выравниванием блоков (чтение с 512b Блок & 4k не создает идентичные образы), некоторые не поддерживают SMART, который также имеет некоторые длинные команды exec, некоторые USB-накопители имеют нестандартную / витую реализацию для защищенного паролем / зашифрованного раздела (использование его через другой USB-адаптер приведет к сломай его)
user.dz
8
  • Вам необходимо создать петлевое устройство, которое будет запускать / dev / random для всего содержимого диска.
  • Это заполнит весь диск почти полностью случайными данными. Затем вы можете установить все биты обратно в 0 с помощью dd.

  • На самом деле, дд должен иметь возможность рандомизировать всю информацию.

  • Вы сказали, что храните банковскую информацию на своем жестком диске. Поэтому я бы посоветовал вам выполнить любую из следующих команд с живого компакт-диска (где hdX - ваш жесткий диск).

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

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

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

  • Однако в зависимости от размера вашего жесткого диска это займет очень много времени.

Довожу до вашего сведения:

Смотрите следующие ссылки,

Примечание:

  • Random использует случайные биты, а ноль - 0 бит.
  • Urandom - это полуслучайная версия random.
karthick87
источник
Случайно ли необходимо? Разве не достаточно заменить все биты на 1, а затем на 0?
Бак
7

Вы можете использовать вайп

Монтаж

sudo apt-get install wipe

Вы можете использовать это программное обеспечение или использовать следующую команду:

shred -vfz -n ? (drive)

Были ли "?" то есть, укажите, сколько раз вы хотите уничтожить диск, а затем укажите «(диск)», укажите диск, который вы хотите уничтожить. Как только вы закончите, делайте с ним все, что хотите. Я думаю, что этот метод более эффективен, поскольку вы можете контролировать то, что делается с вашим диском, и получать немедленные результаты.

связи

  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
Тахионы
источник
6
Зачем использовать один над другим, стереть против клочья?
Мадс Скьерн,
7

Лучше всего использовать функцию безопасного стирания дисков ATA. Безопасное стирание стирает диск на уровне прошивки. Не может быть более безопасным.

Сначала проверьте, поддерживается ли безопасное стирание:

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

(замените sdX на sda / sdb / sdc, где бы вы ни находились).

Если вы не видите вывода, просто используйте dd:

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

Если вы видите вывод, проверьте, не заморожено ли устройство:

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

Если не заморожено, установите пароль на «Eins»:

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

Необязательно: вы можете знать, сколько времени это займет:

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

Затем выполните стирание:

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

Тогда подожди. Очевидно, для диска объемом 1 ТБ это может занять 3 часа и более.

Есть хороший скрипт, который автоматизировал эти шаги .

Беренд де Бур
источник
6

Вы можете использовать DBAN . Википедия :

Boot and Nuke от Darik (широко известный как DBAN) [...] предназначен для безопасного стирания жесткого диска до тех пор, пока данные не будут окончательно удалены и больше не подлежат восстановлению, что достигается путем перезаписи данных случайными числами, генерируемыми Twister Mersenne или ISAAC ( PRNG). Метод Гутмана, Быстрое стирание, DoD Short (3 прохода) и DOD 5220.22-M (7 проходов) также включены в качестве опций для обработки остаточного значения данных.

DBAN может быть загружен с дискеты, CD, DVD или USB-устройства флэш-памяти и основан на Linux. Он поддерживает жесткие диски PATA (IDE), SCSI и SATA. DBAN может быть настроен на автоматическую очистку каждого жесткого диска, который он видит в системе, что делает его очень полезным для сценариев автоматического уничтожения данных. DBAN существует для систем Intel x86 и PowerPC.

DBAN, как и другие методы стирания данных, подходит для использования до утилизации компьютера в личных или коммерческих ситуациях, таких как пожертвование или продажа компьютера [2]. В случае заражения вредоносным ПО, DBAN может использоваться перед возвратом диска в производство.

Н.Н.
источник
3

Еще одно преимущество shred перед dd в этом сценарии: у меня неисправный диск, который мне нужно вернуть поставщику для обмена.

dd останавливается на первом плохом блоке и не может засорить остальные (если я не использую skip = ..., чтобы прыгать вперед каждый раз, когда он останавливается).

Шред игнорирует ошибки записи и в этом случае радостно продолжает.

Юрген Вайгерт
источник
0

Перейти корень и

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

Будьте уверены, что у вас есть правильный диск!

Пит Эшдаун
источник
7
Никогда не используйте / dev / random для таких операций. / dev / random генерирует случайные данные, используя пул энтропии, и блокирует операцию, если этот пул энтропии пуст. Так что, если вы ничего не делаете с вашим компьютером, чтобы генерировать новые случайности, операция будет длиться вечно. Вместо этого используйте / dev / urandom. Также смотритеman random
htorque
2
Вам, вероятно, потребуется префикс команды с sudo. Кроме того, ddимеет тенденцию завершаться раньше, когда используется размер блока больше, чем по умолчанию. Поэтому я бы очень осторожно предложил :sudo dd if=/dev/random bs=1m of=/dev/sdX
иррациональный Джон
ах, значит, чтобы быть sudo dd if=/dev/urandom bs=1m of=/dev/sdXО, хорошо.
иррациональный Джон
0

DBAN - загрузочный компакт-диск с открытым исходным кодом для очистки жесткого диска.

Загрузить из

http://www.dban.org/download

запишите его и загрузите машину с CD, вот и все.

Один ноль
источник
1
Уже предложено: askubuntu.com/a/51979/8530
Мэтью Рид
0

Те, кто рекомендует использовать шред, дают плохой совет. На собственной справочной странице Шреда говорится, что она практически бесполезна в журнализируемых файловых системах, которые Ubuntu почти гарантированно будет использовать, если вы не измените значения по умолчанию для ее файловой системы (журналы ext3 и ext4. Как и resierfs и Reiser4, а также многие другие МНОГИЕ распространенные файловые системы Linux). .).

Не говоря уже о том, что shred совершенно бесполезен для полной очистки или рандомизации диска, так как он работает только с отдельными файлами или наборами файлов (на уровне файловой системы, а не на уровне необработанных данных). Если вы хотите безопасно стереть диск, вы должны использовать dd на главном устройстве устройства (например: / dev / sdc вместо / dev / sdc1), пока на нем ничего не смонтировано.

Это займет некоторое время, но, в отличие от клочка, оно полностью и ОБРАТНО уничтожит жесткий диск с MBR до конечного сектора. Кроме того, БОЛЬШОЕ ПРЕДУПРЕЖДЕНИЕ на dd, убедитесь, что вы используете его на правильном устройстве, или вы по крайней мере ЧАСТИЧНО протрите неправильный диск. Это может иметь катастрофические последствия, если вы случайно используете dd на системном диске, что не только сделает его не загружаемым, но может необратимо повредить любой данный раздел на диске. Это дало ему прозвище «разрушитель диска».

Shred НЕ является надежным инструментом для безопасного стирания диска. Если вы продаете или отдаете свой компьютер, ПРАВИЛЬНЫЙ способ очистить диск - это обнулить или рандомизировать его с помощью dd и никогда не использовать shred, поскольку журналы файловой системы эффективно восстанавливают уничтоженные файлы без каких-либо усилий.

Яро Касар
источник
9
Вы не указываете клочок на файл. Вы указываете на все устройство. Файловая система не имеет значения.
Дэвид Дан
1
@DavidGiven Ну, технически вы можете уничтожить только файл внутри файловой системы, и именно об этом говорит большая часть man-страницы. Предупреждения Яро в этом случае были бы верны. Но да, уничтожение целого раздела - это совсем другое; в этом случае файловая система действительно не имеет значения.
Алоис Махдал
0

Самый простой способ сделать это - использовать:

sudo shred -fv /dev/xxx

где xxx - устройство, чтобы убедиться, какое у вас устройство, введите:

sudo fdisk -l

Устройство указывается после слова на диске и двоеточия char :, например:

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

Не монтируйте файловые системы вашего диска, которые вы хотите стереть и т. Д. Шред будет делать то, что вы хотите, в течение определенного времени. Опция -z для последнего запуска с 0, чтобы скрыть стирание, и нет необходимости стирать данные.

Лучше всего использовать dd, как писали предыдущие пользователи:

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

Используйте устройство urandom, так как это более современный и лучший способ получения случайного шаблона.

Другие инструменты в данный момент могут быть старше и развиваться меньше людей. Шред находится в основном приложении Linux.

Посмотрите на этот пример: стереть 2009 http://lambda-diode.com/software/wipe/ . Но это известное приложение. Можно использовать bleachbit, но, как я пытался, это заняло много времени.

Даро из Польши
источник
-1

Если dd cmd не работает, вы можете использовать метод перенаправления, чтобы уничтожить данные.

Подобно,

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

или же

в качестве альтернативы вы можете использовать cp (copy cmd) для перезаписи предыдущих данных.

cp /dev/urandom /dev/sd**a**      # depends on your hdd location 
Кали Досс
источник