Проблема


Необходимо определить, была ли фальсификация временной метки файла документа. Задача решается анализом нативных метаданных и внутренней структуры файла, а не только атрибутов файловой системы, которые легко подделываются стандартными утилитами (touch, SetFile, PowerShell).

Причины


1. Аппроксимация timestamp в файловой системе: FAT32 → 2 сек, NTFS → 100 нс. При подделке часто встречаются «ровные» значения (00:00:00, :00 секунд, :00 минут).
2. Расхождение между временем создания файла (btime) и временем модификации содержимого (mtime) – типично для копирования или распаковки архива с подменой даты.
3. Несоответствие часового пояса/летнего времени оригинальному документу (заявитель из UTC+3, а метаданные указывают UTC-5 в рабочие часы).
4. Изменение OLE-структуры (doc, xls, ppt): внутренние временные метки (DocumentSummaryInformation, SummaryInformation) не синхронизируются с атрибутами файла при поверхностной подделке.

Решение


1. Анализ атрибутов файловой системы и EXIF

powershell
<h2 id="windows-poluchit-vse-timestamp-s-mikrosekundami">Windows: получить все timestamp с микросекундами</h2>
fsutil file queryFileNameById C:\путь\файл.pdf
(Get-Item "file.pdf").CreationTimeUtc.ToString("yyyy-MM-dd HH:mm:ss.fffffff")
(Get-Item "file.pdf").LastWriteTimeUtc.ToString("yyyy-MM-dd HH:mm:ss.fffffff")

Проверка подлинности даты создания документа: EXIF-теги в JPEG/TIFF-документов (например, скан подписи). Используйте `exiftool -a -u -g1 file.jpg` — ищите теги `CreateDate`, `ModifyDate`, `OffsetTimeOriginal`. Расхождение в OffsetTimeOriginal и системным временем — явный признак ручного сдвига.

2. Внутренние OLE-метаданные для Office-документов

Как отличить измененный документ от оригинала по временным меткам: разбираем OLE-потоки.
bash
<h2 id="ustanovit-oletools-pip-install-oletools">Установить oletools (pip install oletools)</h2>
olemeta document.doc
<h2 id="pokazhet-raw-znacheniya-last-printed-revision-number-last-saved-time-utc">Покажет raw значения: Last Printed, Revision Number, Last Saved Time (UTC)</h2>
<h2 id="sravnite-s-ntfs-atributami-esli-raznitsa-1-sek-poddelka">Сравните с NTFS-атрибутами — если разница &gt; 1 сек, подделка.</h2>

PDF-документы: `exiftool -pdf-update:all= output.pdf` (не изменяет, только читает). Ищите словари `/CreationDate`, `/ModDate` — если в одном из них указан 2038 год или 1970-01-01 — однозначная манипуляция.

3. Транзакционный анализ (для протоколов, логов, контрактов)

Анализ метаданных файла на предмет подделки с помощью лога журнала изменений.
- Для Google Docs / MS Office 365: экспортируйте «Историю версий» — сравните количество и даты ревизий.
- Для старых .doc/xls: `File → Info → Version History` (если сохранялось в OneDrive). Если версий нет, а дата утверждения указана — фальшивка.

4. Продвинутая проверка — использование Hex dump

Откройте файл в hex-редакторе (HxD, ImHex). Для PNG/JPEG/PDF — идентифицируйте сигнатуры (JFIF, PDF header). В теле DOCX/XLSX (zip-архив) распакуйте `unzip -l file.docx` — смотрите время модификации каждого XML внутри. Если все файлы внутри архива имеют одинаковый timestamp (например, 2024-01-15 10:00:00), а внешний атрибут файла другой — факт подмены.

5. Юридическая валидация (для суда)

- Используйте ПК «Форензик Мастер» (сертифицировано ФСБ РФ) для выгрузки HASH-сигнатур файла до и после.
- Экспертиза: закажите в аккредитованной лаборатории (например, ФБУ РФЦСЭ при Минюсте). Самостоятельный вывод — лишь гипотеза.

Команды для быстрой проверки (Linux/macOS)

bash
<h2 id="mac-vremya-sozdaniya-btime-protiv-mtime">MAC-время создания (btime) против mtime</h2>
stat -f "%Sm" file.pdf && stat -f "%SB" file.pdf
exiftool -time:all -file:all -G -s file.pdf
<h2 id="dlya-docx-raznitsa-v-raspakovannom-arhive">Для docx: разница в распакованном архиве</h2>
unzip -l file.docx | grep -E "\.xml$" | head -20

При любом расхождении >2 секунд или чётном timestamp (00:00:00, 12:00:00) — с вероятностью 90% дата подделана. Для окончательного вывода — судебная экспертиза.