Как безопасно удалить файлы, хранящиеся на SSD?


27

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

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

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

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

Ответы:


22

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


Забавно, я не думал об этом - так как я всегда использую шифрование LUKS на своих жестких дисках;)
c089

Как указано здесь, это будет иметь серьезные последствия для производительности. При использовании дисков на базе SandForce безопасное стирание ATA приведет к стиранию ключа шифрования AES, предоставляя решение проблемы безопасного удаления, когда не используется программное шифрование.
c089

12

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


2
+1 для набора функций режима безопасности ATA. На SecurityTube.net есть хорошее видео
RJFalconer,

2
Но эта функция доступна только для комплектных дисков, не так ли?
c089

@ Chris089: Это правильно: безопасное стирание сотрет весь диск. Перезапись всего диска случайными данными не гарантирует удаление всего диска из-за недостаточного предоставления данных. (Но это может сделать некоторые из стертых данных, по крайней мере, недоступными для обычных пользователей.) Для получения дополнительной информации см. Anandtech.com/storage/showdoc.aspx?i=3531&p=9 .
bk1e

Помните, что (старые) диски не поддерживают эту функцию должным образом. Он также должен работать для жестких дисков, но на SSD он имеет то преимущество, что он может фактически закончиться за считанные секунды, а не часы.
Мартен Бодьюс

Проблема с безопасным стиранием заключается в том, что многие диски требуют от вас физического отключения питания (отсоедините разъем питания и подключите его обратно), чтобы вывести их из состояния «заморозка». Только тогда работает безопасное стирание. Не всегда легко или желательно открывать компьютер, особенно если это ноутбук или встроенная система хуже.
misha256

10

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

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


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

Обратите внимание, что это старый ответ; к настоящему времени SECURE ERASE должны поддерживаться большинством, если не всеми дисками, включая большинство жестких дисков.
Мартен Бодьюс

1
Безопасное стирание стереть все 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 зашифрованного диска не могут быть прочитаны без ключа, нет необходимости стирать все блоки, которые были бы необходимы на незашифрованном диске.


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

Если требуется физическое уничтожение, я бы открыл диск и уничтожил основную плату.
bwDraco

@Bob У вас есть ссылка на источник, обсуждающий неправильную реализацию? Команда secure_eraseявляется частью стандарта ATA. Он может отсутствовать на некоторых более дешевых дисках, но если он есть, он должен работать должным образом. Причина, по которой он работает лучше, чем другие опции, заключается в том, что он восстанавливает исходную заводскую конфигурацию накопителя. Даже на жестких дисках это быстрее и эффективнее, чем такие инструменты, как DBAN.
Пол

@Paul security.stackexchange.com/questions/41676/… , usenix.org/legacy/events/fast11/tech/full_papers/Wei.pdf , security.stackexchange.com/questions/62253/… Абсолютно нулевая гарантия произвольного Микропрограмма привода правильно реализует любую заданную команду (ошибки могут возникать где угодно) - и тестирование доказало, что, по крайней мере, некоторые накопители определенно этого не делают. В конце концов, самая большая проблема в том, что вы не можете проверить правильность удаления.
Боб

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

6

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


1
Тем не менее, похоже, не существует решения для безопасного удаления всего нескольких файлов. Вы должны стереть весь диск.
c089

3

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.