Документирование и заметки расследователя

Этот урок о дисциплине документирования — навыке, который отличает эксперта от любителя.

Заметки расследователя — последовательная запись всех действий, наблюдений, команд и решений в ходе расследования, фиксируемая по мере работы, а не задним числом.

Через месяц вы не вспомните, в каком порядке снимали образ, какой ключ передавали команде и почему решили, что процесс svchost.exe поддельный. А вспомнить придётся — на суде, в отчёте, при передаче дела коллеге. Поэтому профессионал документирует всё сразу, подробно и нейтрально.

За дисциплиной документирования стоит простой и неприятный факт: человеческая память реконструктивна и не предназначена для точности. Мы не «считываем» воспоминание, а каждый раз собираем его заново, незаметно подгоняя под текущие убеждения. Через неделю расследователь, уже знающий, кто оказался виноват, искренне «вспомнит» события так, будто всё с самого начала указывало на этого человека, — и упустит детали, которые в моменте говорили об обратном. Заметки, сделанные по ходу, фиксируют картину до того, как её исказит знание финала. В этом смысле документирование — не отчётность ради начальства, а защита самого вывода от незаметной подгонки.

Что записывать

  • Время и часовой пояс каждого действия (лучше в UTC, чтобы не путаться).
  • Команды и их вывод — точно, с параметрами и версией инструмента.
  • Хеши — до и после операций.
  • Наблюдения и выводы — что нашли и на каком основании заключаете.
  • Решения — почему выбрали именно такой путь.

Особняком стоит запись решений — того, почему вы пошли одним путём, а не другим. Начинающие фиксируют только действия и находки, но не логику выбора, и зря: именно вопрос «почему вы не проверили вот это?» чаще всего звучит при разборе. Если в заметках есть строка «образ снимали инструментом X, потому что Y был недоступен на этой системе» или «личную переписку не просматривали — она вне объёма инцидента», вы заранее отвечаете на будущие претензии. Документированное решение показывает, что выбор был осознанным и обоснованным, а не случайным или небрежным.

Как фиксировать команды

Удобно вести лог сессии терминала, чтобы команды и вывод сохранялись автоматически.

# начать запись всей сессии терминала в файл
script -a investigation_2026-06-22.log

# теперь каждая команда и её вывод сохраняются
sha256sum disk.img
ls -la /mnt/evidence

# завершить запись
exit

Команда script пишет всё, что происходит в терминале, в текстовый файл — это часть доказательной базы того, что именно вы делали. У автоматической записи есть важное преимущество перед ручным конспектом: она не зависит от вашей внимательности и не пропускает «мелочей». Человек, переписывающий команды от руки, неизбежно что-то упростит или забудет точный параметр; script сохраняет ввод и вывод дословно, включая опечатки и сообщения об ошибках, — а они тоже часть честной истории работы. Полезно дополнять такой лог собственными хешами файлов-логов, чтобы и сами заметки можно было проверить на неизменность.

Принцип нейтральности

Заметки описывают факты, а не эмоции и не домыслы. «Процесс с PID 1337 устанавливал TCP-соединение на 185.x.x.x:443 в 02:14 UTC» — факт. «Очевидно, это работа хакеров» — недопустимый домысел. Интерпретации выносят отдельно и обосновывают.

Нейтральность защищает не только объективность, но и вас самих. Эмоционально окрашенная или обвинительная заметка («наглый взлом», «явно работа уволенного админа») даёт оппоненту простой приём: показать, что эксперт был предвзят, а значит, и его выводам нельзя доверять. Сухая фиксация фактов лишает этой возможности — спорить с зафиксированным временем и адресом соединения трудно. Поэтому факты и их интерпретацию принято разводить: в одной части заметок — что именно наблюдалось, в другой — что из этого, по вашему мнению, следует и на каком основании. Тогда даже если кто-то не согласится с интерпретацией, сами факты останутся незыблемыми, и обсуждение пойдёт по существу, а не вокруг вашей беспристрастности.

Зачем единый часовой пояс

Отдельного внимания заслуживает время. В расследовании события почти всегда приходят из разных источников: логи сервера, записи firewall, метки файловой системы, журнал действий аналитика. Если каждый источник записан в своём местном времени, корреляция превращается в кошмар с пересчётами и ошибками на час из-за перехода на летнее время. Поэтому в форензике принято приводить всё к единому поясу, чаще всего к UTC, и явно указывать пояс рядом с каждой меткой. Тогда события из разных систем выстраиваются в один достоверный таймлайн, а «соединение в 02:14» и «созданный файл в 02:14» можно с уверенностью считать одним эпизодом, а не совпадением.

Есть и более коварная сторона времени: часы самих систем могут врать. Сервер с уплывшими на несколько минут часами, рабочая станция, на которой кто-то вручную переставил дату, устройство без синхронизации по NTP — всё это даёт метки, которым нельзя слепо верить. Поэтому грамотный расследователь не просто переписывает время из логов, а отдельно фиксирует, насколько часы каждого источника расходятся с эталонным временем, и делает на это поправку при сборке таймлайна. Запись вроде «часы сервера спешат на 3 мин 40 с относительно UTC, проверено в 09:50» — это не лишняя деталь, а условие, без которого совмещение событий из разных систем может оказаться ошибочным.

Документация как продукт расследования

Полезно сменить угол зрения и увидеть в заметках не вспомогательный конспект, а основной результат работы. Образ диска и дамп памяти — это сырьё; ценность для заказчика, юриста или суда несёт именно связное, проверяемое описание того, что было сделано и что обнаружено. Расследование, по итогам которого аналитик «всё понял», но ничего внятно не зафиксировал, с точки зрения дела почти не существует: его нельзя передать, проверить или предъявить. Поэтому к качеству заметок относятся так же серьёзно, как к качеству анализа.

Из этого вытекает и требование к структуре: хорошая документация устроена так, чтобы по ней мог пройти посторонний человек. Это значит — расшифровывать сокращения, пояснять, что именно означает та или иная находка, и выстраивать записи в понятной последовательности, а не оставлять обрывки «для себя». Заметки пишут не для собственной памяти на завтра, а для коллеги, который примет дело через полгода, и для эксперта противоположной стороны, который будет искать в них слабое место. Текст, выдерживающий оба этих взгляда, и есть профессиональная документация.

Как работает под капотом (зачем это процедурно)

Документация делает расследование воспроизводимым и проверяемым. Если другой эксперт сможет по вашим записям повторить шаги и получить тот же результат, выводы приобретают вес. Без записей даже верное заключение — это «слова против слов».

Заметки = факты + время + команды + хеши
   |
   v
Воспроизводимость  ->  доверие к выводам
Нейтральность      ->  устойчивость к оспариванию

Частые ошибки

  • Документировать «потом». По памяти неизбежны пропуски и ошибки; пишут по мере работы.
  • Скриншоты вместо текста команд. Команды нужны текстом, чтобы их можно было повторить и проверить.
  • Смешивать факты и выводы. Это даёт повод оспорить объективность.
  • Местное время без пояса. При корреляции событий с разных систем путаница во времени критична.
  • Не фиксировать, почему приняли решение. Без обоснования выбора легко получить вопрос «а почему вы не проверили другое?».

Итоги

  • Документируют всё и сразу: время (UTC), команды, вывод, хеши, наблюдения, решения и их обоснование.
  • Заметки фиксируют факты нейтрально; интерпретации выносят отдельно и обосновывают.
  • Единый часовой пояс позволяет корректно корреллировать события из разных систем.
  • Цель — воспроизводимость и устойчивость выводов к проверке.
Проверьте себя
1. Почему заметки ведут по мере работы, а не задним числом?
AТак быстрее
BПо памяти возникают пропуски и ошибки, что подрывает достоверность
CЭтого требует закон во всех странах
DЧтобы экономить бумагу
2. Что делает команда script в Linux в контексте документирования?
AШифрует диск
BЗаписывает всю сессию терминала (команды и вывод) в файл
CСоздаёт образ диска
DСчитает хеши автоматически
3. Какая запись соответствует принципу нейтральности?
A«Очевидно, это работа хакеров»
B«Думаю, виноват сисадмин»
C«Процесс PID 1337 открыл TCP-соединение на 185.x.x.x:443 в 02:14 UTC»
D«Тут всё подозрительно»