Как защитить сектора от записи в NTFS

Я пытаюсь реализовать анти-криминалистический инструмент на разделе NTFS. Мне нужно сохранить 1 ГБ (в точном физическом месте) пространства от записи файловой системой. Мои идеи:

  • Попробуйте создать файл размером 1 ГБ в определенном месте (как?), Чтобы он считался использованным.
  • Попробуйте вручную отредактировать MFT и вставить поддельную запись, чтобы пометить эту зону как использованную (как?)

Любое предложение о том, как реализовать эти две идеи или что-то еще?

2 ответа

Прямое редактирование MFT очень опасно. Файловая система действительно любит быть ответственной, поскольку она кеширует вещи).

Вы можете достичь желаемого с помощью FSCTL_MOVE_FILE, чтобы переместить любые части файла объемом 1 ГБ в нужное место на диске.

Обратите внимание, что у этого подхода есть одна сложность и одна проблема. Сложность заключается в том, что вам нужно переместиться в место, где уже нет файловых данных, а это означает, что вы должны сначала очистить место назначения. Это означает, что вы должны прочитать растровое изображение, чтобы узнать, куда вы хотите его переместить. Звучит как дефрагментатор, а?

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

Это опасно и требует некоторых экспериментов.

Вручную вы можете искусственно создать запись файла в MFT с помощью BAAD! магическое число в начале записи (вместо FILE0), сделайте его атрибут Data нерезидентным и укажите на это местоположение в списке выполнения данных для нужного количества кластеров. Теперь вы должны пометить эти кластеры в файле $Bitmap как 1. Вы также должны добавить свои кластеры в файл $BadClus в MFT.

Файл $Bitmap из MFT - это структура, которая имеет размер тома, и каждый бит представляет каждый кластер в томе от 0 до размера тома в кластерах. Если бит равен 0, соответствующий кластер свободен, иначе он занят.

Если вы можете выполнить это без Windows, думая, что том поврежден, это означает, что вы сделали все правильно с точки зрения NTFS, Windows Explorer и других функций Windows API, которые пересекают том, ища файлы, не найдут что-нибудь. Однако большинство инструментов судебной экспертизы могут самостоятельно анализировать необработанные тома и специально искать подобные расхождения. Но ваши файлы будут защищены от записи (если диск не переформатирован).

Лучше всего обмануть какое-то средство судебной экспертизы - создать обычный файл, который вы можете смонтировать как точку повторного анализа или диск, но вам нужно создать собственный API для шифрования / дешифрования этого файла и монтировать его как том, не относящийся к файловой системе. это может содержать. Инструмент увидит файл, но он будет зашифрован.

Другие вопросы по тегам