Уничтожение данных
Существует много программ для уничтожения файлов, которые можно использовать для постоянного удаления одного файла. То, что я хочу знать, это некоторые детали реализации. Например, рассматривая алгоритм Гутмана, как он должен работать с файлом и файловой системой? Должно ли приложение выполнять итерацию по всему кластеру жестких дисков, чтобы перезаписать их? Или достаточно будет открыть один файл, каким-то образом изменить его содержимое и после этого удалить его?
И наоборот, как восстановить удаленный файл? Я не нашел много информации по этим темам.
Я буду очень благодарен за ваши ответы.
1 ответ
Вы можете посмотреть на исходный код shred
Утилита, которая является частью утилит ядра GNU, найденных в Linux. Основная идея состоит в том, чтобы сделать несколько проходов по дисковым блокам. Есть также некоторые предположения относительно того, как базовая файловая система выполняет эти записи. Увидеть info coreutils 'shred invocation'
для дополнительной информации.
Восстановление удаленных файлов лучше всего делать, если вы знаете внутреннюю структуру рассматриваемой файловой системы и то, как в ней реализована операция удаления. Например, многие драйверы для файловой системы FAT просто помечают запись каталога как удаленную, но оставляют содержимое файла в такте. (До тех пор, пока оно не будет перезаписано новыми файлами, которые вы создаете). Таким образом, вы можете просто взять дамп диска и сканировать необработанные данные в поисках того, что вы хотите.