Я довольно новичок в технологии SSD, поэтому я не знаю, как она сравнивается с жесткими дисками, когда дело доходит до безопасного стирания диска. Достаточно ли запустить Дисковую утилиту и стереть диск с опцией «перезаписать нулями», или она предназначена для жестких дисков? Есть ли другие действия, которые следует предпринять?
Я не ищу безопасность уровня NSA, просто вид стирки, который вы бы сделали, если вы возвращаете или продаете Mac.
Ответы:
Это зависит от вашего уровня паранойи. Из-за того, как твердотельные накопители обрабатывают запись данных, однократное выполнение на SSD не так хорошо, как на жестком диске.
Когда вы записываете определенную страницу данных на HD, новые данные просто записываются поверх старых данных, заменяя их. Запишите нули по всему диску, и все старые данные исчезнут. SSD, с другой стороны, не могут просто перезаписать отдельные страницы. Чтобы заменить данные на странице, старые данные сначала должны быть удалены, а твердотельные накопители не могут удалить отдельные страницы; они должны стирать целые блоки, состоящие из множества страниц.
Итак, что происходит, когда вы просите SSD перезаписать, скажем, страницу № 5, так это то, что SSD оставляет данные только на странице № 5, но помечает их как недействительные, выделяет другую в настоящее время пустую страницу (скажем, # 2305), пишет новые данные на странице # 2305 и отмечают, что в следующий раз, когда ОС запросит страницу # 5, вместо этого она должна получить # 2305. Исходные данные страницы № 5 хранятся там до некоторого более позднего времени, когда накопителю требуется больше места, удаляются все оставшиеся действительные страницы от блока и стираются. Твердотельные накопители имеют больше физической памяти, чем они выставляют компьютеру, поэтому они могут некоторое время жонглировать такими блоками, прежде чем действительно что-то стирать (а когда они действительно что-то стирают, нет хорошего способа предсказать, какие блоки оставшихся данных будут быть выбранным для стирания). Посмотреть этот обзор AnandTech для более подробной информации (предупреждение: это довольно долго, и соответствующие вещи распространяются вокруг).
Чистый результат: если вы записываете нули на «весь» диск, вы фактически не перезаписываете все старые данные. Вы были обновлены таблицы перевода контроллера так , чтобы он никогда не будет возвращать старые данные в ОС (эти страницы все недействительны). Но если кто-то достаточно хардкорный, чтобы обойти контроллер, он может вернуть часть ваших данных.
Перезапись дважды, вероятно, будет работать, но это зависит от стратегии распределения контроллера. Перезапись дважды случайными данными (
diskutil randomDisk 2 /dev/diskN
) немного более вероятна, но все еще не гарантирована. У обоих из них также есть некоторые плохие побочные эффекты: они используют часть срока службы диска, а также увеличивают логическую фрагментацию на SSD, снижая его производительность записи.Обратите внимание, что в последних версиях графической дисковой утилиты OS X отключены параметры безопасного стирания на твердотельных накопителях (по причинам, рассмотренным выше), но версия для командной строки по-прежнему допускает их. Кстати, я также видел несколько рекомендаций по безопасному удалению SSD путем преобразования их в зашифрованный формат, но это (если вообще что-то) немного менее безопасно, чем перезапись случайными данными.
Лучший способ безопасного стирания SSD - активировать встроенную в контроллер функцию безопасного стирания. Это должно (если разработчики контроллера выполнили свою работу) действительно стереть все блоки, а также иметь побочный эффект сброса логической карты страниц, по существу, ее дефрагментации и восстановления ее первоначальной производительности. К сожалению, большинство утилит, которые я видел для этого (например , HDDErase CMRR ), работают под DOS, которая не загружается на Mac. Я нашел сообщение на макруморах с (довольно сложными) инструкциями по безопасному удалению с загрузочного диска GParted. Также возможно использовать Parted Magic с загрузочной флешки , но я этого не пробовал.
Исследователи из Лаборатории энергонезависимых систем в UCSD протестировали различные способы дезинфекции твердотельных накопителей путем «стирания» накопителя, его разборки с целью обхода контроллера и проверки остаточных данных ( сводка , полная статья ). Их результаты в основном согласуются с тем, что я сказал выше (а также показывают, что встроенная команда безопасного удаления не всегда реализована должным образом):
источник
Откройте терминал и введите следующую команду:
Обратите внимание на первый столбец, соответствующий разделу SSD, который вы хотите безвозвратно стереть. Скажем так
/dev/disk1s2
.Введите следующую команду:
где
/dev/rdisk1s2
необработанное устройство, связанное с вашим разделом на SSD. Эта команда полностью запишет этот раздел из 1-го блока, доступного последнему. Эта команда будет длиться долго (~ 1/2 часа для 100 Гбайт) без хорошей полосы прокрутки прогресса.Как только эта команда вернет вам приглашение вашей оболочки, диск был полностью и безвозвратно стерт. Запустите
Disk Utility
и проверьте этот раздел. Он скажет вам, что он поврежден за любую форму ремонта. И это правильно.Просто отформатируйте этот раздел, как вам нравится.
Вот что происходит на уровне физических блоков:
источник
dd
здесь заключается не только в том, чтобы обойти некоторый уровень кэша (у нас нет никакого способа узнать их емкость), но и частично их исчерпать (это состояние на рисунке 3). Второй проход действительно должен найти новые блоки и надежно стереть их.Кнопка «Параметры безопасности ...» в Дисковой утилите в настоящее время недоступна для твердотельных накопителей. Согласно http://support.apple.com/kb/HT3680 , удаление SSD обычно может быть достаточно безопасным:
Все еще можно запустить что-то вроде
diskutil secureErase freespace 4 disk0s2
терминала из раздела восстановления.Хотя лучше включить FileVault 2 перед стиранием диска, но это, пожалуй, лучший вариант. Согласно этому ответу , выполнение удаленной очистки также просто стирает ключ шифрования, если включен FileVault 2:
http://training.apple.com/pdf/wp_osx_security.pdf :
источник