10

Когда я запускаю Process Monitor, я вижу запросы ReadFile отправленные в C:\$Directory .

Что именно это означает?


Обновить:

Я также вижу $MapAttributeValue , который также выглядит незнакомым.

2 ответа2

5

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

  1. Несколько разных процессов считываются из этого файла и из разных смещений, но одинаковой длины: 4 КБ (ровно одна страница памяти).
  2. Есть операции ReadFile, но нет открытия файла, что бессмысленно.
  3. Глядя на трассировку стека, я вижу, что все запросы содержат ошибку страницы в трассировке, например, это чтение файла находится внутри IoPageRead() , функции ядра, которая считывает страницы из файла подкачки в память.
  4. Эти чтения происходят в C:\$ Directory и V:\$ Directory в моей системе, на двух дисках, на которых хранятся файлы подкачки, и нигде больше.

Основываясь на этом исследовании, я твердо верю, что это "чтение файла" является неким артефактом Process Monitor, и реальное чтение происходит в файле подкачки. Я понятия не имею, почему ProcMon перечисляет путь как C:\$ Directory.

Сейчас я не думаю, что этот каталог C:\$ является настоящим метафайлом NTFS. Сейчас я не думаю, что это может быть незаконная деятельность (вирус или другое вредоносное ПО).

4

$ Directory и $ MapAttributeValue, скорее всего, являются кодовыми именами системных областей на диске NTFS , и эти ссылки исходят из программ, открывающих или создающих файлы.

Эти имена, вероятно, относятся к метафайлам, определяемым википедией как:

NTFS содержит несколько файлов, которые определяют и организуют файловую систему. Во всех отношениях большинство этих файлов структурированы, как и любой другой пользовательский файл (наиболее характерным является $ Volume), но они не представляют прямого интереса для клиентов файловой системы. Эти метафайлы определяют файлы, выполняют резервное копирование критических данных файловой системы, сохраняют изменения файловой системы, управляют распределением свободного пространства, соответствуют ожиданиям BIOS, отслеживают неправильные единицы распределения и хранят информацию о безопасности и использовании дискового пространства. Весь контент находится в безымянном потоке данных, если не указано иное.

$ Directory - это, скорее всего, главная таблица файлов (MFT), которая является каталогом для всех файлов и папок, где в качестве метаданных хранятся имя файла, дата создания, права доступа (с помощью списков контроля доступа) и размер. Любая программа, которая открывает или создает файл или папку, обращается к этой области диска.

$ MapAttributeValue, скорее всего, является областью списков атрибутов , описанной как:

Для каждого файла (или каталога), описанного в записи MFT, существует линейный репозиторий потоковых дескрипторов (также называемых атрибутами), упакованных вместе в одну или несколько записей MFT (содержащих так называемый список атрибутов), с дополнительным заполнением для заполнения фиксированной 1 КБ размера каждой записи MFT, и это полностью описывает эффективные потоки, связанные с этим файлом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .