Материал просмотрен 2,006 раз(а)

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

  1. удалению ярлыка на файл
  2. удаление файлов в корзину
  3. удаление файлов в корзину с последующей очисткой корзины
  4. удаление файлов с последующей перезаписью области диска, занимаемой файлом.

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

Удалить данные навсегда

Удалить данные навсегда

Если раньше в ячейке был 0, а поверх записана единица, то общий потенциал будет ~0.95. Для операционной системы и программ – все та же единица (округление), а для спец.аппаратуры – это все-таки 0.95. Таким образом даже однократная перезапись этого места не делает данные полностью невосстановимыми. Рассмотрим стантарты удаления более подробно:

Американский национальный стандарт DoD 5220.22-M

DoD – Department if Defence, так называемое Министерство обороны США. Стандарт принят в 1995-ом году. Являет собой следующее:

  • Цикл 1: в каждый байт сектора заносятся случайные данные;
  • Цикл 2: в каждый байт сектора заносятся инвертированные данные, т.е. на место 1 пишется 0, а на место 0 пишется 1 в побитовом представлении;
  • Цикл 3: в каждый байт сектора заносятся случайные данные;

Надо сказать, стандарт весьма слабоват, поэтому армия США не использует его для удаления совсекретных данных.

Российский стандарт ГОСТ Р50739-95

Разработан так же в 1995-ом году. Однократная перезапись байт. Либо нулями (зануление), либо случайными символами. В зависимости от класса защиты системы.
Как ясно из начала статьи, однократная перезапись – это вообще не защита, по большому счету.

Немецкий стандарт VSITR

Разработан в 1999 году. Состоит из 7 циклов перезаписи:

  • Цикл 1: зануление (0x00 в каждый байт);
  • Цикл 2: запись единиц (0xFF в каждый байт);
  • Цикл 3: см. цикл 1
  • Цикл 4: см. цикл 2
  • Цикл 5: см. цикл 3
  • Цикл 6: см. цикл 4 🙂
  • Цикл 7: запись (0xAA) в каждый байт;

Выполняется, разумеется, дольше. Но опять же, не гарантирует абсолютной защиты данных.

Алгоритм Шнейера.

Описан в книге Брюса Шнейера “Прикладная криптография”. Тоже 7 циклов.

  • Цикл 1: зануление;
  • Цикл 2: запись единиц;
  • Циклы 3-7: запись случайных байт;

Видно, что алгоритм более надеждый, по сравнению с немецким, при том же количестве циклов.

Алгоритм Гутмана.

Разработан Питером Гутманом. Самый продвинутый из перечисленных алгоритмов. Аж целых 35 циклов перезаписи.

  • Циклы 1-4: запись случайных байт;
  • Цикл 5: запись кода 0x55;
  • Цикл 6: запись кода 0xAA;
  • Цикл 7-9: запись последовательно кодов 0x92 0x49 0x24;
  • Циклы 10-25: запись последовательно кодов от 0x00, 0x11, 0x22, 0x33… до 0xFF (15 пар);
  • Циклы 26-28: аналогичны Циклам 7-9;
  • Циклы 29-31: запись последовательно кодов 0x6D, 0xB6, 0xDB;
  • Циклы 32-35: запись случайных байт;

Как видите, это самый маньячный способ из всех.