Как определить дату появления подозрительного файла в системе

Почему метки времени могут быть неоднозначными

Файлы в операционных системах хранят несколько меток времени: создание (Created), изменение (Modified) и доступ (Accessed). Эти атрибуты доступны через свойства файлового менеджера, командную строку или API. Однако они не всегда отражают реальный момент появления файла. Например, атрибут «доступ» может не обновляться корректно, а метки могут быть сброшены при копировании, архивации или синхронизации. Кроме того, злоумышленники могут вручную изменить метаданные, чтобы скрыть время создания. Поэтому для достоверного ответа лучше использовать несколько независимых источников.

Проверенные системные инструменты

Первые шаги — это использование встроенных средств, которые не требуют установки дополнительного ПО.

  • Windows
    • Щелкните файл правой кнопкой мыши → «Свойства» → вкладка «Подробности». Поля «Создано», «Изменено» и «Доступно» содержат системные метки времени.
    • PowerShell: Get-Item «путь\к\файлу» | Select-Object CreationTime, LastWriteTime, LastAccessTime
    • Командная строка: dir «путь\к\файлу» /q /c показывает дату создания (поле «Дата создания»).
  • Linux / macOS
    • Команда stat -c «%y %w %x» «путь\к\файлу» выводит время модификации, доступа и создания (если поддерживается файловой системой). В macOS с APFS время создания часто отсутствует.
    • Команда ls -l «путь\к\файлу» показывает время модификации (поле «Изменено»).
    • В macOS: mdls -name kMDItemFSContentChangeDate «путь\к\файлу» может отобразить время последнего изменения содержимого.
    • Системные журналы и логи

      Системные журналы часто содержат события, связанные с созданием или изменением файлов. Их нужно анализировать параллельно с метками времени файлов.

      Windows

      • Event Viewer → Windows Logs → System. Поиски по полю «Источник» (например, «Microsoft-Windows-FileShareService») могут показать время записи файла в сетевую папку.
      • Security → «События 4656 (Открытие файла)» и «4663 (Доступ к файлу)». Эти события сохраняются, если включено аудит в групповых политиках.
      • Приложения → Логи антивирусов или систем мониторинга. Многие решения (например, Windows Defender, Sysinternals Process Monitor) записывают события создания или изменения файлов.

      Linux

      • journald: journalctl _SYSTEMD_UNIT=systemd-timesyncd.service показывает события времени; для файлов лучше искать по AUDIT или SYSLOG. Команда grep «путь\к\файлу» /var/log/syslog может найти строки создания.
      • auditd: если включён аудит, команды auditctl -w «путь\к\файлу» -p wa регистрируют открытия для записи и изменения.

      macOS

      • Console → Утилита «system.log» и «securityd». Поиск по пути файла может показать время последней модификации.
      • launchd плагины: некоторые бэкграундные задачи записывают события в /var/log/asl.log (Apple System Log).

      Расширенные методы цифровой форензики

      Когда встроенных данных недостаточно, можно использовать специализированные инструменты, которые считывают низкоуровневые данные файловой системы.

      • NTFS $MFT (Основная таблица файлов) – содержит точные метки времени создания и изменения. Для чтения используются программы вроде FTK Imager, Scalpel или встроенный парсер ftk. Полученные данные можно сравнить с метками из свойства файла.
      • USN Journal (Журнал изменений NTFS) – записывает каждое изменение в файловой системе, включая создание, удаление, переименование. Парсеры типа «USNJrnl» извлекают время события в формате UTC.
      • ext4 inode – каждая запись inode хранит время создания (ctime), доступа (atime) и модификации (mtime). Инструменты типа debugfs позволяют напрямую прочитать inode.
      • APFS (Apple) – snapshot’ы содержат метаданные файлов, но время создания часто доступно только через fsapfs или сторонние инструменты типа «afinfo». В macOS с включённым Time Machine метки могут дублироваться в архивных копиях.
      • Sleuth Kit / Autopsy – пакет для анализа образов дисков, позволяет быстро просмотреть метаданные файлов на нескольких платформах.

      Пошаговый алгоритм выявления

      1. Запишите полный путь подозрительного файла и его текущие метки времени (свойства, stat, PowerShell).
      2. Проверьте соответствующие системные журналы (Event Viewer, journald, syslog, Console) на наличие событий, связанных с этим файлом или его каталогом. Ищите временные метки, совпадающие с текущей датой/временем или близкие к ней.
      3. Если есть доступ к низкоуровневым данным файловой системы (USN Journal, $MFT, inode), извлеките записи создания/изменения и сравните с предыдущими шагами.
      4. Сверьте время с часовым поясом системы и часовыми серверами (NTP), чтобы устранить несоответствия, вызванные неправильной системной датой.
      5. Если обнаружены расхождения, отметьте подозрительные метки и запишите их источник. Не изменяйте файл или его метаданные до завершения расследования.
      6. При необходимости выполните повторную проверку: запустите инструмент мониторинга (Process Monitor, auditd) перед новым появлением файла, чтобы зафиксировать момент его создания напрямую.
      7. Документируйте все обнаруженные временные метки, источники и обоснование, почему выбран конкретный момент как дату появления.

      Сценарии и ограничения

      Методика может дать неточные результаты в нескольких ситуациях.

      • Сброс меток времени. При копировании файла «Создано» часто сохраняется от исходного файла, а «Изменено» обновляется только при записи изменений.
      • Отсутствие метки создания. В macOS с APFS и некоторых версиях Linux время создания может быть равно времени inode (ctime), что отражает время последнего изменения метаданных, а не самого файла.
      • Манипуляции. Злоумышленники могут изменить метаданные с помощью инструментов типа «touch -t» или низкоуровневых редакторов.
      • Неразрешённые журналы. Аудит, антивирусные логи или системные журналы могут быть отключены, удалены или переполнены.
      • Временные зоны и летнее время. Несоответствие часовых поясов может привести к ошибочному совпадению или разночтению событий.

      Советы по проверке и хранению доказательств

      • Не перемещайте, не копируйте и не изменяйте подозрительный файл до завершения сбора данных. Даже чтение файла может обновить атрибут «доступ».
      • Сохраните исходные выводы инструментов в неизменяемом виде (скриншоты, текстовые файлы с меткой времени) для последующего анализа.
      • Если вы используете сторонние инструменты, проверьте их хэш (SHA-256) перед запуском, чтобы убедиться в аутентичности.
      • В корпоративной среде убедитесь, что у вас есть права «Читать» и «Записать» на необходимые журналы; в противном случае обратитесь к администратору.

      Итог и следующие действия

      Для большинства пользователей достаточно сравнить системные метки времени с журналом событий и, при необходимости, проверить USN Journal или $MFT. Если расхождения сохраняются, следующим шагом является запуск мониторинга в реальном времени (Process Monitor на Windows, auditd на Linux) для захвата момента создания файла напрямую. В корпоративных расследованиях рекомендуется задокументировать все временные метки и передать файл в сектор кибербезопасности для дальнейшего анализа.

      FAQ

      Могут ли метки времени быть точными до секунды?

      Большинство файловых систем сохраняют секунды в UTC, но точность зависит от настроек файловой системы и операций. NTFS хранит секунды в миллисекундах; ext4 — до секунд; APFS может не сохранять секунды для времени создания. Используйте низкоуровневые инструменты, если нужна максимальная точность.

      Что делать, если системная дата была сброшена перед появлением файла?

      В этом случае системные журналы и USN Journal сохраняют метки времени в формате UTC, которые не зависят от системной даты компьютера. Сверьте эти метки с внешними источниками (NTP, логами сервера) для восстановления точного хронологического порядка.

      Нужен ли специальный софт для простого пользователя?

      Для начального анализа достаточно средств операционной системы (свойства файла, PowerShell, stat). Установку дополнительных инструментов оправдано производить, только если системных данных недостаточно или вам известны конкретные угрозы, связанные с манипуляцией меток.

      Материал носит информационный характер. Для анализа подозрительных файлов, особенно в корпоративной среде, рекомендуется консультация специалиста по информационной безопасности. Неправильная интерпретация меток времени может привести к ошибочным выводам или упущенным доказательствам.

      PEFile.ru