Как безопасно стереть USB‑накопитель или SD‑карту в Linux
USB‑накопители и SD‑карты стали повседневными аксессуарами. Но из‑за широкого распространения они также представляют риск для конфиденциальности. Если на устройстве есть личные данные, их необходимо удалить полностью перед передачей другому человеку или утилизацией.
В Linux есть несколько инструментов, которые позволяют эффективно и относительно просто стереть данные с флеш‑накопителей. В этой статье объяснено, как подготовиться, какие утилиты использовать, их ограничения и когда нужен альтернативный подход.
Форматирование vs стирание: в чём разница?
Форматирование делает файлы недоступными для обычных пользователей, но не гарантирует физическое уничтожение данных. Форматирование обновляет таблицу разделов и файловую систему, но фактические блоки предыдущих данных остаются на носителе до перезаписи.
Восстановление часто возможно с помощью инструментов для восстановления данных. Если на устройстве были конфиденциальные данные, форматирования недостаточно — необходимо перезаписать все блочные области случайными или фиксированными шаблонными данными.
Важное: для флеш‑памяти (USB/SD) перезапись блоков не всегда равнозначна удалению на уровне всех физических ячеек из‑за wear‑leveling. См. раздел “Когда методы не сработают”.
Подготовка: найти и отмонтировать устройство
- Подключите флешку или карту.
- Найдите устройство:
lsblkКоманда покажет список блочных устройств. Определите устройство по размеру. В примерах ниже используется /dev/sdb и раздел /dev/sdb1 — замените на свой путь.
- Отмонтируйте раздел перед перезаписью:
sudo umount /dev/sdb1Если у устройства есть несколько разделов, отмонтируйте их все. Никогда не выполняйте операции перезаписи на смонтированном разделе.
Стирание с помощью dd
dd — универсальная утилита копирования и конвертации, её можно использовать для перезаписи всего устройства.
Перезапись нулями:
sudo dd if=/dev/zero of=/dev/sdb bs=4096 status=progressПерезапись случайными данными (более безопасно):
sudo dd if=/dev/urandom of=/dev/sdb bs=4096 status=progressЭтот процесс может занять много времени, особенно с /dev/urandom. В конце вы увидите сообщение No space left on device — это ожидаемо. После завершения создайте раздел и отформатируйте устройство заново.
Примечание: dd перезаписывает логические блоки. На некоторых флеш‑устройствах часть памяти может быть недоступна для прямого перезаписывания из‑за контроллера.
Стирание с помощью shred
shred входит в coreutils и предназначен для многократной перезаписи. По умолчанию он делает несколько проходов с псевдослучайными данными.
Простой запуск:
sudo shred -v /dev/sdb-f, -n N — задать количество проходов; -z — в конце записать нули, чтобы скрыть следы перезаписи:
sudo shred -v -z --random-source=/dev/urandom -n1 /dev/sdbshred удобен своей ясной опцией для числа проходов и показом прогресса. Однако для флеш‑медиa эффективность зависит от реализации контроллера носителя.
Стирание с помощью badblocks
badblocks чаще применяется для поиска повреждённых секторов, но его режим destructive read‑write перезапишет устройство и проверит запись.
Полная проверка с перезаписью (медленно):
sudo badblocks -wsv /dev/sdbБыстрая запись одним шаблоном (например, нулями):
sudo badblocks -wsv -t 0x00 /dev/sdbbadblocks полезен, когда вы хотите одновременно стереть данные и проверить здоровье блоков. Он создаёт нагрузку на флеш‑контроллер, поэтому для старых носителей это может быть рискованно.
Создание новой таблицы разделов и форматирование
После перезаписи таблица разделов и файловые структуры обычно потеряны. Создайте новый раздел и отформатируйте.
Показать разделы:
sudo fdisk -lВыбрать устройство для редактирования:
sudo fdisk /dev/sdb# В fdisk: нажмите n для нового раздела, затем Enter, чтобы принять значения по умолчанию. Наконец нажмите w для записи.Затем отформатируйте раздел, например в FAT32:
sudo mkfs.vfat -F 32 /dev/sdb1Альтернативные подходы и когда их применять
- Шифрование перед хранением: если вы планируете использовать флешку регулярно, храните данные в зашифрованном контейнере (например, VeraCrypt или LUKS). Тогда передача устройства не требует физического стирания — достаточно удалить ключи/пароли.
- Аппаратное безопасное удаление: некоторые накопители поддерживают аппаратную команду Secure Erase (ATA). Она эффективна для SSD, но редко работает для USB‑флешек и SD‑карт через USB‑интерфейс.
- Физическое уничтожение: если данные крайне чувствительны и носитель будет утилизироваться, безопаснее уничтожить устройство физически (измельчение, пиролиз или размозжение NAND‑чипа). Это крайняя и необратимая мера.
Выбор метода зависит от угрозы: обычный пользователь, потеря/кража, или юридические требования к утилизации.
Когда методы не сработают
- Wear‑leveling контроллеров флеш‑накопителей распределяет записи по физическим ячейкам. Перезапись логических блоков не гарантирует, что все физические ячейки были затронуты.
- Наличие скрытой резервной области (over‑provisioning) может содержать данные, недоступные для перезаписи средствами пользователя.
- USB‑адаптеры с встроенным контроллером могут блокировать доступ к низкоуровневым командам.
Если требования к удалению строже (например, для корпоративной или судебной утилизации), комбинируйте программное стирание с аппаратной утилизацией.
Плейбук: пошаговая инструкция для обычного пользователя и администратора
Роль: обычный пользователь
- Скопируйте нужные файлы в другое место.
- Подключите устройство и найдите его:
lsblk- Отмонтируйте раздел:
sudo umount /dev/sdb1- Запустите перезапись нулями (быстро) или urandom (медленнее, безопаснее):
sudo dd if=/dev/urandom of=/dev/sdb bs=4M status=progress- Создайте раздел и форматируйте:
sudo fdisk /dev/sdb
sudo mkfs.vfat -F 32 /dev/sdb1Роль: системный администратор (массовая утилизация)
- Инвентаризация устройств и сопроводительная документация.
- Проверка поддержки Secure Erase для устройств SATA/SSD.
- Автоматизация процесса: скрипт, который проверяет device ID, отмонтирует и запускает shred или badblocks.
- Ведение журнала операций и контроль качества (выборочный тест восстановлением).
- При высокой чувствительности — физическое уничтожение и запись акта утилизации.
Decision‑flow для выбора метода
flowchart TD
A[Нужно стереть устройство?] --> B{Устройство SSD?}
B -- Да --> C[Проверить поддержку Secure Erase 'ATA']
C -- Да --> D[Выполнить аппаратное Secure Erase]
C -- Нет --> E[Использовать многократную перезапись; затем физ. уничтожение при необходимости]
B -- Нет --> F{Требуется быстро или надёжно?}
F -- Быстро --> G[dd с /dev/zero]
F -- Надёжно --> H[dd /dev/urandom или shred/badblocks]
G --> I[Переформатировать и завершить]
H --> I
E --> IКритерии приёмки
- Устройство больше не содержит доступных файлов после монтирования и поиска файлов.
- При попытке восстановить файлы стандартными утилитами восстановления они не читаются.
- Для высоких требований: запись акта утилизации или физическое разрушение подтверждены фото/журнальными записями.
Краткий справочник (1‑строчный глоссарий)
- dd — утилита для копирования блочных устройств; подходит для перезаписи.
- shred — утилита для многократной перезаписи и удаления файлов/устройств.
- badblocks — инструмент для проверки и перезаписи блоков диска.
- fdisk — консольный редактор таблицы разделов.
- wear‑leveling — алгоритм равномерного распределения записей по физическим ячейкам флеш‑памяти.
Тесты и критерии проверки
- Тест 1: Отмонтировать и запустить dd с /dev/zero; убедиться, что устройство перезаписано и форматируется. Критерий: монтирование нового раздела успешно.
- Тест 2: Выполнить dd с /dev/urandom и попытаться восстановить файлы. Критерий: восстановление не даёт читаемых данных.
- Тест 3: Прогон badblocks и проверка списка повреждённых секторов. Критерий: операция завершена без ошибок (или список ошибок задокументирован).
Риски и рекомендации по безопасности
- Всегда дважды проверяйте путь устройства (/dev/sdX) перед перезаписью — ошибка уничтожит важные данные.
- Не доверяйте полностью только одной технологии при утилизации конфиденциальных данных. Комбинация программных и физических методов снижает риск.
- Обратите внимание на юридические требования к утилизации носителей в вашей организации или регионе.
Примечание: удаление данных с мобильных телефонов, встроенных карт памяти и SSD требует отдельного подхода — зачастую лучше пользоваться методами, рекомендованными производителем.
Итог
Сбалансированный подход к удалению данных начинается с правильной подготовки: найти устройство и отмонтировать его. Для большинства задач подойдёт dd, shred или badblocks. Для повышенных требований учитывайте особенности флеш‑памяти и используйте шифрование заранее или физическое уничтожение при утилизации. Следуйте плейбуку и документируйте процесс, если критична проверяемость.
Важное: если вы не уверены в требованиях к безопасности, проконсультируйтесь с ответственным за информационную безопасность в вашей организации.