Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #65, МАЙ 2004 г.

Куда уходят файлы

Дубовцев Алексей

Xakep, номер #065, стр. 065-114-2


Проблема в том, что существуют специальные устройства, которые позволяют восстановить информацию с жестких дисков, даже если на ее место была записана другая. Сейчас во всех крупных городах нашей необъятной родины ты без труда сможешь найти фирмы, предоставляющие подобную услугу. Они умеют восстанавливать информацию даже с полуразрушенных винтов.

И все же выход есть!

Казалось бы, из сложившейся ситуации выхода нет. Однако другие злые дядьки из Национального Агентства Безопасности США этот выход придумали. Они, естественно, понимали, что шпионы должны уметь уничтожать информацию так, чтобы ее никто не смог восстановить. И решили, что для того чтобы полностью уничтожить файл, нужно несколько раз переписать информацию, содержащуюся в нем, и чем больше раз это сделать, тем лучше. После проведения подобной операции восстановить информацию, которая была записана в определенном магнитном домене, будет практически невозможно из-за огромного количества шумов, внесенных паразитной информацией. Их метод скучно называется стандартом DoD 5220.22-M, где DoD расшифровывается как US Department of Defense.

Хотя все это и звучит довольно сурово, написать программу, осуществляющую задуманное, оказывается не так уж и сложно. Необходимо лишь открыть файл и несколько раз переписать его содержимое случайными символами. Сам механизм, уничтожающий информацию в файле, уложился у меня всего в 9 строчек.

Ядро всей программы уничтожения файлов

char aRandom[256];

for (int i = 0; i < 256; i++) aRandom[i] = rand();

DWORD dwWasWrite;

// Посчитаем, сколько итераций необходимо выполнить для затирания

// файла блоками

int nIteration = (int)(GetFileSize(hWipedFile, NULL) / 256) + 1;

Назад на стр. 065-114-1  Содержание  Вперед на стр. 065-114-3