25

Из (очень длинной, но, безусловно, стоит прочитать) статьи о твердотельных накопителях:

Когда вы удаляете файл в вашей ОС, реакция на жестком диске или SSD отсутствует. Только когда вы перезаписаете сектор (на жестком диске) или страницу (на SSD), вы фактически потеряете данные. Программы восстановления файлов используют это свойство в своих интересах, и именно так они помогают вам восстанавливать удаленные файлы.

Однако ключевое различие между жесткими дисками и твердотельными накопителями заключается в том, что происходит при перезаписи файла. В то время как HDD может просто записывать новые данные в тот же сектор, SSD будет выделять новую (или ранее использованную) страницу для перезаписанных данных. Страница, которая содержит теперь недействительные данные, будет просто помечена как недействительная, и в какой-то момент она будет удалена.

Итак, что будет лучшим способом для безопасного удаления файлов, хранящихся на SSD? Перезапись случайными данными, как мы привыкли к жестким дискам (например, с помощью утилиты "shred"), не сработает, если вы не перезапишите диск ВЕСЬ ...

6 ответов6

22

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

12

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

10

Даже если вы перезаписываете весь диск, вы не можете быть абсолютно уверены в этом, так как HD и SSD содержат запасные сектора, которые заменяются при возникновении сбоев или в случае SSD для выравнивания износа.

Если вы хотите быть абсолютно уверены, что данные не подлежат восстановлению, вам необходимо физически уничтожить диск без возможности восстановления. Перезапись дает вам разумную уверенность в HD - на SSD, действительно, нет способа достичь даже этого. Если вы заполните весь диск, все еще возможно, что блок, в котором находились данные, был переключен на запасной блок для выравнивания износа и появится позже.

9

Из-за особенностей флэш-памяти NAND твердотельные накопители не могут напрямую перезаписывать данные. Повторная перезапись файла перед его удалением не приведет к его безопасному удалению на SSD - данные будут просто записаны в другом месте NAND.

Чтобы понять, почему это так, необходимо объяснить, как работают твердотельные накопители внутри.

  • NAND flash разделен на блоки, каждый из которых состоит из набора страниц, обычно размером 4 КБ (плюс коды с исправлением ошибок). Большинство современных твердотельных накопителей используют NAND с блоками по 128 страниц для блока размером 512 КБ, хотя некоторые накопители, особенно старые, могут использовать блоки размером 256 КБ или меньше. На следующей диаграмме предполагается, что блоки размером 256 КБ, но концепция одинакова независимо от размера блока.

Схема страниц в блоке NAND
Источник - Сортировщик вежливости музыки в Википедии, CC BY-SA 3.0

  • Каждая страница может быть записана индивидуально, но страницы не могут быть переписаны до тех пор, пока не будут удалены, а удаление может быть выполнено только целыми блоками. Это означает, что всякий раз, когда данные перезаписываются, SSD должен пометить данные на затронутых страницах как недействительные и перезаписать их в другом месте, возможно, в другом блоке. В более подходящее время, в идеале, когда накопитель находится в режиме ожидания и все страницы в блоке помечены как недействительные, твердотельный накопитель может стирать блоки, которые больше не используются. Этот процесс очистки называется сборкой мусора.

  • Чтобы SSD знал, какие блоки могут быть удалены, операционная система должна сообщить ему, какие блоки больше не содержат действительных данных. Это делается с помощью команды ATA TRIM. После этого SSD может свободно собирать эти неиспользуемые блоки.

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

  • Каждый блок NAND может выдержать только конечное количество циклов записи / стирания. Многие современные потребительские твердотельные накопители используют 19–21-нм NAND, где каждый блок работает около 3000 циклов, прежде чем становится непригодным для использования, хотя корпоративные твердотельные накопители и несколько высокопроизводительных потребительских твердотельных накопителей, которые используют более надежные типы NAND, имеются в продаже.

  • Однако во всех случаях твердотельные накопители должны распределять записи по всему диску, чтобы избежать чрезмерного износа какого-либо отдельного блока, чтобы избежать преждевременного выхода из строя диска, посредством процесса, называемого выравниванием износа. Эффективное выравнивание износа может быть достигнуто только в том случае, если имеется определенное пространство (избыточное выделение ресурсов), которое зарезервировано для обеспечения эффективного сбора мусора в соответствии с требованиями, даже если диск почти заполнен.

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

  • Принудительная перезапись блока менее чем идеальна, поскольку она снижает производительность и способствует усилению записи, когда в базовый NAND записывается больше данных, чем фактическое количество, записанное приводом. Добавленное избыточное выделение ресурсов помогает уменьшить усиление записи, предоставляя больше свободного места для перезаписи данных и удаления старых блоков. Вот почему корпоративные твердотельные накопители высшего класса, такие как Samsung SSD 845DC PRO, имеют размеры, например, 200 ГБ и 400 ГБ, даже несмотря на то, что накопитель на самом деле содержит ближе к 256 или 512 ГБ NAND внутри, соответственно. Смотрите также: Почему SSD имеют странные размеры?

  • В серии статей о твердотельных накопителях Samsung подробно объясняется, как работают твердотельные накопители. Написание и стирание NAND-страниц и блоков, а также сборка мусора описаны в документе 04.

Единственный способ по-настоящему стереть данные на SSD - это использовать команды безопасного стирания ATA.

  • Функция безопасного стирания дает указание накопителю стереть все сохраненные данные, в том числе данные, которые могут остаться в переназначенных областях NAND. Когда это будет сделано, все блоки будут стерты, что приведет к нетронутому движению.

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

6

Как заявляет @teabot, использование программного обеспечения полного шифрования диска обойдет проблему безопасного удаления, поскольку вам больше не нужно. Тем не менее, как указано в соответствующем вопросе, это будет иметь огромное влияние на производительность, потому что это предотвращает многие функции контроллера, такие как сжатие и TRIM, и, как сообщалось, снижает производительность до уровня, когда обычный жесткий диск быстрее, чем дорогой SSD. Для устройств на базе SandForce есть лучшее решение: эти устройства по умолчанию используют шифрование AES, и ключ будет удален при использовании функции безопасного удаления ATA, что сделает все данные недоступными, если злоумышленник не сможет взломать AES (128 бит для текущего, 256 бит) для новых дисков выпущенных в марте 2011 года).

2

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

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

Другой способ защитить удаленные данные - хранить их в зашифрованном виде с помощью зашифрованной файловой системы с использованием чего-то вроде truecrypt.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .