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

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

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

Стирание данных с использованием dd

Утилита dd – мощная программа, включенная по умолчанию во все основные дистрибутивы Linux. С ее помощью мы можем заполнить содержимое диска нулями или случайными данными.   В обоих случаях мы можем использовать данные, сгенерированные специальными файлами: /dev/zero и dev/urandom (или /dev/random) соответственно. Первый возвращает нули каждый раз, когда над ним выполняется операция чтения; второй возвращает случайные байты, используя генератор случайных чисел ядра Linux.

Чтобы заполнить диск нулями, мы можем запустить:

sudo dd if=/dev/zero of=/dev/sdx

Чтобы использовать случайные данные, вместо этого:

sudo dd if=/dev/urandom of=/dev/sdx

Стирание данных с помощью shred

Основное назначение данной утилиты состоит в том, чтобы перезаписать файлы и при необходимости удалить их. Утилита основана на предположении , что файловая система перезаписывает данные на месте. Однако приложение может не позволить нам достичь ожидаемого результата. Например, в журналируемой файловой системе, таких как ext4 (пожалуй наиболее часто используемая файловая система Linux), если она смонтирована с опцией data=journal.

При монтировании файловой системы ext4 с опциями data=ordered или data=writeback (первая используется по умолчанию) данные записываются в основную файловую систему после фиксации метаданных в журнале. В обоих случаях shred работает нормально, что дает ожидаемые результаты. При использовании опции data=journal  помимо метаданных в журнал файловой системы записываются также и сами данные и лишь затем данные записываются в основную файловую систему. Легко понять, почему это может вызвать проблемы.

Рассмотрим несколько примеров использования приложения. Предположим, мы хотим безопасно содержимое файла с именем «test».

Все, что нам нужно сделать, это запустить следующую команду (здесь мы используем опцию -v, чтобы сделать программу более подробной):

 shred -v test
 


Вот что мы можем  видеть после выполнения команды:

По умолчанию приложение переписывает указанный файл  случайными данными  в три прохода. Количество проходов можно изменить с помощью опции -n. Чтобы переопределить файл 6 раз, мы запустим:

shred -v -n 6 test

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

shred -v -n 6 -z test

Из подробного вывода команды мы действительно можем заметить, как выполняется последний проход, записав нули ( 000000).

Помимо работы с файлами shred позволяет производить такие же операции с разделами. Например, нам необходимо навсегда затереть информацию на диске sda:

shred -n 5 -vz /dev/sda

 

Уничтожение данных на жестком диске в Linux

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *