Безопасное стирание каталога - PullRequest
5 голосов
/ 27 мая 2011

Я знаю, как стереть файл в C #, включая его сектора и тому подобное.

Но как мне перезаписать сами каталоги?

Пример: @"C:\mydirectory\" должен быть невосстановим, ушел навсегда (все внутренние файлы уже стерты), чтобы было невозможно восстановить структуру каталогов или их имена.

------------------- Обновление ниже (форматирование комментариев - такая сложная задача, поэтому я выкладываю его здесь) ---

Для удаления файла я просматриваю кластер и раздел раздела.размер и перезаписать его как минимум 40 раз, используя 5 разных алгоритмов, где последний алгоритм всегда случайный.Данные также фактически записываются на диск каждый раз (а не только в память или что-то в этом роде).Единственный риск состоит в том, что, когда я что-то стираю, физический адрес на диске этого файла теоретически может быть изменен.Единственное решение, которое я знаю для этого, состоит в том, чтобы также стереть свободное дисковое пространство после того, как файл был стерт, и надеяться, что никакой другой файл в настоящее время частично не содержит старого физического местоположения стертого файла.Или Windows не делает этого?

http://www.sans.org/reading_room/whitepapers/incident/secure-file-deletion-fact-fiction_631 заявляет:

"Важно отметить, что перезапись данных только снижает вероятность данныхвосстанавливается. Чем больше раз данные перезаписываются, тем дороже и труднее восстанавливать данные. Фактически Питер Гутман утверждает: «… фактически невозможно очистить места хранения, просто перезаписав их, независимо от того, сколько проходов перезаписиили какие образцы данных записаны ». 3 Перезаписанные данные можно восстановить с помощью магнитно-силовой микроскопии, которая имеет дело с образцами намагничивания на пластинах жесткого диска. Фактические подробности того, как это выполняется, выходят за рамки данной статьи."

Лично я считаю, что когда я перезаписываю данные более 100 раз, используя разные (возможно неизвестные) алгоритмы (и если нет копии данных, оставленных в другом месте, например, в файлах подкачки), этовозьму любую очень дорогую командупрофессионалы много лет, чтобы получить эти данные обратно.И если они вернут данные после всех этих лет, то, я полагаю, они этого заслуживают ... Это должен быть проект на всю жизнь.используйте шифр (http://support.microsoft.com/kb/315672) или заполните жесткий диск файлами 4 ГБ или используйте исполняемый файл командной строки Eraser.

очистка файлов подкачки:? очистка поврежденных секторов:? Стирание каталогов: используйте Eraser (как сказал Теоман Сойгул) Как мы точно знаем, что мы перезаписали реальные физические адреса? Стирание самых последних использованных файлов и WindowsЛог-файлы, конечно, должны быть легким делом для любого программиста:) Eraser решает большинство из перечисленных проблем, но не может стереть файлы страниц.Поэтому любая криминалистика все равно найдет данные обратно, если они были в этих файлах подкачки в любой момент. Ластик AFAIK не стирает таблицы размещения файлов.Но я не уверен.

И тогда следует сделать такой вывод: (почти) невозможно безопасно стереть в C #?

Ответы [ 3 ]

1 голос
/ 27 мая 2011

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

1 голос
/ 27 мая 2011

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

Если этого вам недостаточно, возьмите копию Eraser исполняемого файла командной строки и выполните команду:

Process.Start("eraserl.exe", @"-folder "C:\MyDirectory\" -subfolders -method DoD_E -silent");
0 голосов
/ 27 мая 2011

Безопасное удаление не так просто, как вы знаете. Так что, возможно, стоит рассмотреть альтернативную стратегию.

Рассматривали ли вы использовать что-то вроде TrueCrypt для создания зашифрованного тома? Вы можете хранить файлы там, а затем использовать стандартные процедуры удаления. Затем злоумышленнику необходимо как расшифровать зашифрованный том, так и восстановить удаленные файлы.

...