6

Рекомендуемый способ безопасного стирания SSD - безопасное стирание ATA. Большинство BIOS отключают эту функцию, замораживая диск. Существуют некоторые хитрости вокруг замораживания BIOS, которые могут работать или не работать в зависимости от настроек. Это затрудняет использование безопасного стирания ATA.

Может ли тримминг использоваться как альтернатива безопасному удалению SSD?

Можно удалить любую существующую таблицу разделов и создать новый GPT с одним разделом ext4, заполняющим весь SSD. Обрезка раздела ext4 приведет к тому, что SSD сотрет все логические блоки на SSD, кроме блоков, содержащих GPT и суперблок ext4. Резервные блоки, которые не назначены логическому блоку, стираются по определению. Таким образом, все физические блоки будут либо удалены, либо содержать ненужную метаинформацию GPT/ext4.

Видите ли вы какой-либо недостаток в этом плане?

Пожалуйста, не отвечайте, что безопасное стирание ATA должно использоваться для безопасного стирания SSD, это не вопрос.

2 ответа2

6

Скажем так:

Правда в том, что в большинстве, если не во всех твердотельных накопителях, ATA Secure Erase является эквивалентом полной версии устройства. За исключением тех, которые имеют "аппаратное шифрование", где ATA Enhanced Secure Erase является в основном регенерацией ключа шифрования. Таким образом, ATA Secure Erase в твердотельных накопителях на самом деле не является ТАКИМ безопасным, если только вы не поддерживаете "аппаратное шифрование".

С другой стороны, fstrim - не единственный способ TRIM устройства. Вы можете использовать blkdiscard чтобы стереть целое блочное устройство (диск / раздел), включая GPT, суперблок и прочее.

Однако имейте в виду, что реализация TRIM на некоторых дисках имеет "требование" в выданных командах TRIM, поэтому только после выполнения все блоки на диске будут "читать ноль" после TRIM.

Например, твердотельный накопитель Intel 530 требует, чтобы диапазоны блоков TRIM были "выровнены" по 8 блокам. Поэтому, когда я хочу стереть его с помощью blkdiscard или hdparm , мне нужно убедиться, что "минимальная единица" не "покрыта" двумя диапазонами TRIM.

С blkdiscard мне нужно будет указать -p 33550336 (65528 блоков * 512 байт, где 65528 = 65535 (макс. Количество блоков в одном диапазоне) - 65535% 8), предполагая, что начальное смещение равно 0 (или кратно of [8 * 512]), иначе будут оставшиеся блоки, которые не будут стерты. Это можно проверить с помощью что-то вроде hexdump после TRIM.

Посмотрите разницу между моим Intel 530 (sda) и Silicon Power S70 (sdb):

и разница, когда диапазоны не выровнены и выровнены:

(Остались еще в конце, так как 65535 * 2 = 131070 не кратно 8, но вы можете видеть, что 131064 блоков [0x3FFF000 / 512] непрерывно стираются.)

Без обмана:

PS Я также видел диски от SanDisk, что его "голова" и "хвост" не могут быть уничтожены командой TRIM в любой форме. "Минимальная единица" - 256 блоков.

3

Если вас интересует безопасность данных, следует отметить, что ни SECURE_ERASE, ни TRIM фактически не стирают флэш-ячейки. Прошивка SSD хранит список того, какие ячейки выделены, а какие нет. TRIM просто помечает ячейку как нераспределенную таким же образом, как удаление файла заставляет файловую систему пометить кластер как нераспределенное. Не делается никаких попыток стереть данные. Запрос на чтение из нераспределенной ячейки просто заставляет устройство возвращать 0x00 (или некоторый другой битовый шаблон) без фактической проверки содержимого ячейки.

Не существует эффективного способа безопасного стирания SSD. Инструменты Forensics, которые могут взаимодействовать с прошивкой напрямую, могут видеть содержимое ячеек. Кроме того, на устройстве больше памяти, чем доступно из пространства пользователя. Эти дополнительные клетки используются в сборке мусора. Сборщик мусора может перераспределять ячейки на лету и может работать даже на 100% заполненном диске. SECURE_ERASE может (вероятно, делает) TRIM эти ячейки, но blkdiscard или fstrim определенно не будут, так как они используют номера секторов для идентификации областей, которые будут TRIMmed.

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

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