Обрезка как альтернатива безопасному удалению SSD

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

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

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

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

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

2 ответа

Решение

Скажем так:

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

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

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

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

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

Смотрите разницу моего Intel 530 (sda) и Silicon Power S70 (sdb):

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

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

Без обмана:

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

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

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

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

Другие вопросы по тегам