| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Удаление файлов |
| Автор: Yuran 9.4.2006, 23:39 |
| Может у кого есть исходник удаления файлов методом gutmann! |
| Автор: Fast 10.4.2006, 00:31 |
| А что за метод ? Если по обычному то DeleteFile('C:\твой_файл.txt'); |
| Автор: SoWa 10.4.2006, 18:48 |
| Или функция erase. |
| Автор: Nickel 11.4.2006, 17:25 |
| Метод Гутманна - алгоритм удаления данных, основанный на многократной перезаписи соответствующей области жесткого диска. Почитать можно http://en.wikipedia.org/wiki/Gutmann_method. http://www.heidi.ie/eraser/ реализующая данный метод. Доступны сишные сорцы, мб кто-нибудь сделает доброе дело да и переведёт? |
| Автор: Snowy 11.4.2006, 18:14 | ||
Исходный код я не нашел. Поэтому сделал по описанию:
|
| Автор: Mechanic 22.6.2006, 23:36 | ||
Академически верно, но только у дров винта свой взгляд на это дело. Предлагаю использовать работу с файлом через хендл, созданный с флагом FILE_FLAG_WRITE_THROUGH, предотвращающим кеширование. Вот пример процедуры, что реально пишет в файл на диске указанное число раз:
Правда тут идет метод "скользящей расчёски", вместо Гутмана, но истинные ценители стандартов могут без труда это туда прикрутить.. |
| Автор: drkot 23.6.2006, 14:35 |
| вот вношу предложение. можете потестировать, насколько возможно востановить оригинальный файл |
| Автор: drkot 24.6.2006, 12:15 |
Если уважаемый Mechanic более внимательно посмотрит на представленный код надеюсь вид смайлика изменится. Просто попробуй востановить твой файл (со счетами и паролями) удаленный при помощи этого алгоритма. При попытке востановления (сканирование диска на предмет точек входа) будет найден искомый файл который содержит графические данные. При этом никаких упоминаний о первоначальном размере и содержимом обнаружено не будет. Предположим злоумышленнику удалось получить образ удаленного файла искомого размера. В большинстве случаев служебная информация (тип файла, параметры, структуры и тд) хранится в первом килобайте, а он как раз и затерт. (Попробуй востановить данные из архива, БД, графики и пр с затертым заголовком) Моя оценка применимости: Как и говорил ранее защита далеко не стопроцентная, но скорость во много раз выше чем у предложенных 100% алгоритмов. Обеспечит надежную защиту от простых юзверей и coolхацкеров, и значительно затруднит работу проффесионалам (особенно если не знать точных параметров начального файла). Для спецслужб конечно не годится (Гутманна - там самое оно), а для рядового использования дома и на работе прокатит :cool надеюсь не все так мучатся как ты ЗЫЖ делай дефрагментацию после удаления и никакие алгоритмы тебе не понадобятся. |
| Автор: Mechanic 24.6.2006, 12:46 | ||||||||||
Удачно восстановлю, просто пробежав по диску. Конечно же, заголовки FS не буду брать во внимание (разве что, чтоб исключить кластеры, занятые заведомо не теми файлами).
И где в текстовике такой заголовок? Нет его.. Вывод - метод имеет право на жизнь, но только в указанных областях:
Домохозяйки only! Добавлено @ 12:51
Это чисто теоретически, самый пиковый для алгоритма вариант, я так не мучаюсь.. |
| Автор: drkot 24.6.2006, 13:31 | ||
| Мне не хочется с тобой спорить Mechanic . Просто слелай. Вопрос только в том, что и где ты будеш искать? Може для тебя новость что файлы редко расположены одной цепочкой. Я просто понадеялся, что проффесионалы как ты нехранят секретные данные в открытых текстовых файлах (HTML, XML и прочем). плз примеры. ИМХО БМП только (если не учитавать битность и размер поверхности) все остальные так или иначе кодируются. Сначала "И много их у тебя?". У меня много только параметру уних хитрые и разные (8196Гц, 1-12каналов) могу удалить заголовочек и прислать тебе востанавливай.
Не так уж и легко, хотябы структуру и последовательность полей надо знать. (Прям как в песне про поезд) Вижу заметный прогресс в смайликах Сори. Если чем обидел. Но потеряные гигобайта невостановимых данных |
| Автор: Mechanic 24.6.2006, 14:51 | ||||||||||||
Если восстанавливать "на арапа" "всё, что возможно восстановить", то да, не зная, что ищешь, тяжко будет. Но обычно тот, кто ищет что-то, нарочно кем-то скрытое, знает, что именно он ищет. А насчет цепочки, да, в курсе. Знаю, чем отличаются FS CP-M, TR-DOS от FS FATXX. Но если следовать совету про регулярные дефраги, то сложность с сегментированием, вроде как, перестаёт быть особой сложностью..
Это параноики хранят ярлыки не в LNK, но в собственных криптованных форматах Не стоит забывать и об организационных способах обеспечения информационной безопасности, когда безопасность данных обеспечивается ограничением физического доступа к носителям и каналам передачи информации, но не программно-аппаратными средствами. В случае компрометации такой вот защиты как раз и придётся иметь дело с открытыми данными (пускай даже и уничтоженными аварийным софтом в последний момент).
Просто посмотри внутрь перечисленных мною DXF, TIFF (not compressed), WMF, EMF. Можно также посмотреть на формат PDF, где стримы идут последовательно, каждый отдельно. К тому же, методы компрессии тоже в этом смысле отличаются. Например, всё, что использует словари (Хаффман, LZW, etc) будет тяжело поднять, но вот что касается RLE-подобных систем, то тут всё намного проще. Кстати, может открою новость
Есть у меня машинка, в которую воткнута железка, которая пишет очень-даже сенситивные данные с многоканального адаптера именно в PCM формате.. И честно говоря, мне, даже если я подхвачу паранойу, не придёт в голову перепатчивать дрова этой железки, чтоб паковали / криптовали.. А много ли? Десятки GB. Кстати, аудио-данные легко распознать даже в сплошном массиве, не сильно сложным анализом, тем более, если речь идет о речевой информации. (Не думаю, что прятать и восстанавливать будут музыку, разве только в шоу-бизнесе
Предположим, что структура полей привязана к оболочке (клиентский слой, или сервер приложений (бизнес-логики)), тогда при уничтожении данных на сервере, на рабочих станциях обычно остается клиентское ПО, по которому легко восстановить структуру БД. Если же софт стандартный, то вообще сложности с восстановлением структуры данных не возникнет. Даже анализ БД с разрушенной логической целостностью может дать очень много полезной информации. Текстовые поля можно извлечь в структурированные таблицы, а определить логическую семантику такого списка может сделать мало-мальски подкованный в данной сфере аналитик.
Всё ясно. И ирония моя перестает казаться избыточной, если разобраться, что идет она от комичности самой ситуации.. Может быть я и не очень часто восстанавливаю информацию после сбоя винтов, но вот удалять (wipe'ить) приходится частенько, а также криптовать, и всячески боронить эту самую информацию.. А при написании алгоритма с битмапом явно на подсознательном уровне сработала мысль, что уничтоженную таким образом инфу придется потом восстанавливать? И метод как раз позволяет обойтись "малой кровью" (без применения сложного оборудования для анализа остаточной намагниченности, эл. микроскопов, и т.д.) именно при восстановлении.. |