TgWitness / Документация

Справочник / Сбор

Режим расследования

Комплексные расследования по всем учетным записям, включая каналы, группы, личные чаты и ботов — от определения объёма расследования до формирования подтверждённого пакета материалов по делу.

Отслеживайте ход дела по каналам, группам, личным чатам и ботам — от первоначального сбора данных до составления хронологии с указанием источников и проверяемой передачи материалов. Интерактивная версия веб-сайта доступна по адресу /docs/cases/; инструкции по предварительному просмотру.

Пример из практики: изменение пункта назначения в четырёх беседах#

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

Вопросы заключаются в следующем: что наблюдалось до и после изменения, какие аккаунты в Telegram опубликовали каждый элемент, где появился адрес назначения, какие байты вложения сохранились и какие интервалы остаются неизвестными?

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

Блок-схемаКаналы → Журнал рабочей среды; Группы → Журнал рабочей среды; Частные чаты → Журнал рабочей среды; Боты → Журнал рабочей среды; Журнал рабочей среды → Поиск по всем источникам; Журнал рабочей среды → Профили лиц со ссылками на записи; Журнал рабочей среды → Сохраненные версии и подтверждения получения вложений; Поиск по всем источникам → Хронология аналитика и реестр источников; Профили лиц со ссылками на записи → Хронология аналитика и реестр источников; Сохраненные версии и подтверждения получения вложений → Хронология аналитика и реестр источников; Журнал рабочей среды → ZIP-архив с подписанными доказательствами; Хронология аналитика и реестр источников → Передача дела с отдельно проверенными доказательствами; ZIP-архив с подписанными доказательствами → Передача дела с отдельно проверенными доказательствамиКаналыГруппыЧастные чатыБотыЖурнал рабочей средыПоиск по всем источникамПрофили лиц со ссылками назаписиСохраненные версии иподтверждения получениявложенийZIP-архив с подписаннымидоказательствамиХронология аналитика иреестр источниковПередача дела с отдельнопровереннымидоказательствами
Схема в текстовом формате
  1. Каналы → Журнал рабочей среды
  2. Группы → Журнал рабочей среды
  3. Частные чаты → Журнал рабочей среды
  4. Боты → Журнал рабочей среды
  5. Журнал рабочей среды → Поиск по всем источникам
  6. Журнал рабочей среды → Профили лиц со ссылками на записи
  7. Журнал рабочей среды → Сохраненные версии и подтверждения получения вложений
  8. Поиск по всем источникам → Хронология аналитика и реестр источников
  9. Профили лиц со ссылками на записи → Хронология аналитика и реестр источников
  10. Сохраненные версии и подтверждения получения вложений → Хронология аналитика и реестр источников
  11. Журнал рабочей среды → ZIP-архив с подписанными доказательствами
  12. Хронология аналитика и реестр источников → Передача дела с отдельно проверенными доказательствами
  13. ZIP-архив с подписанными доказательствами → Передача дела с отдельно проверенными доказательствами

1. Определите суть дела и соберите полную информацию#

  1. Подключите аккаунт для сбора данных в отдельном рабочем пространстве. Во внешних заметках по делу укажите номер дела, идентификатор аккаунта, рабочее пространство, дату начала наблюдения и надежный отпечаток ключа подписи.
  2. Открытые источники → Область наблюдения → Режим расследования. В настройках по умолчанию выбраны: «Весь аккаунт», «каналы/группы/личные чаты/боты», «собственные действия», «профили источников» и последние 200 видимых сообщений для вновь обнаруженных источников. Просмотрите настройки, нажмите «Сохранить область» и подтвердите выбор области.
  3. Загрузите чаты и сравните источники со списком диалогов учетной записи. Проверьте исключения. Параметр «Чаты, считываемые из списка учетной записи» по умолчанию установлен на 1 000 и допускает до 20 000. Источники, выходящие за пределы этого лимита, добавляются, когда они становятся активными. Записывайте то, что было фактически перечислено.
  4. В настройках записи выберите «Вся видимая активность» и сохраните настройки мониторинга. Проверьте типы вложений и ограничения, а также свободное место на диске.
  5. Начните наблюдение. Проверьте новое контролируемое сообщение, его редактирование и удаление, а затем сохраните тестовые ссылки и информацию о любых сбоях.

Режим «Весь аккаунт» фиксирует всю видимую пользователю активность в рамках сохраненных настроек. Он не получает доступ к секретным чатам и не присоединяется автоматически ко всем связанным группам. Кроме того, он не заполняет данные по всем существующим беседам. См. раздел «Объем сбора данных».

2. Составьте перечень всех источников и изучите исторический контекст#

Ведите реестр источников, в котором каждая строка соответствует одному чату:

Область применения Запись
Идентичность Рабочая область, идентификатор учётной записи, числовой идентификатор чата, название и тип
Видимость Членство/роль, подтверждённый или неподтверждённый доступ, исключения
Захват в режиме реального времени Время начала работы, выбранные типы событий и последующие изменения политики
История журнала Запрошенные/выполненные снимки, ограничения, время и ссылки на записи
Полная история Имя файла экспорта по каждому чату с подписью, границы и статус завершения/сбоя
Вложения Завершённые подтверждения получения медиафайлов, хэши, размеры, а также результаты пропущенных или неудачных операций
Область применения Сбои в работе, неполный сбор данных, функция FloodWait, недоступные сообщения и другие пробелы

Используйте подходящий способ сбора данных для каждого источника:

  • Функция «Загрузить полную историю из источников» (текущий main) загружает доступные прошлые сообщения из включенных источников в журнал рабочей области. Она поддерживает приостановку/возобновление и подписанный отчет о ходе выполнения. См. раздел «Получение истории».
  • Снимок истории сохраняет последние видимые сообщения в журнале наблюдений. По умолчанию максимальное количество составляет 500; в разделе «Параметры» → «Максимальный объем снимка истории» это значение можно увеличить до 10 000. Речь идет о текущих наблюдениях за историей, а не о реконструированных изменениях.
  • «Экспорт всего чата» → «Экспорт всего чата» или «Чаты» → «Экспорт чата» позволяет извлечь видимую на данный момент историю одного чата в отдельный подписанный пакет формата chat.json / chat.html. Повторите эту операцию для всех источников по данному делу и сохраните каждый результат.
  • При появлении нового чата или бота можно сохранить его профиль и до 1 000 последних сообщений; в режиме расследования выбирается 200. Существующие чаты не получают эти данные задним числом при включении данного режима.
  • Загрузка видимых вложений обеспечивает сохранение байтов в соответствии с настроенной политикой. Требуется заполненная квитанция media.saved с SHA-256 и указанием количества байтов. Задание в очереди, миниатюра или имя файла не являются сохраненным вложением.

Полный экспорт чата не заполняет журнал или профили участников всеми сообщениями. Для анализа истории в TgWitness используйте функцию «Загрузить полную историю» или ограниченные снимки журнала. Перед запуском обработки истории проверьте список включенных источников. Ни один из этих способов не позволяет восстановить материалы, которые Telegram больше не возвращает.

3. Сохранение динамики дела и целенаправленного взаимодействия#

Отметьте активные чаты по текущим делам в качестве приоритетных источников. Проверяйте интервалы повторной проверки, продолжайте наверстывать упущенное и анализируйте результаты работы с медиафайлами. Обеспечьте постоянное наблюдение за сбором данных во время использования аккаунта. Воспользуйтесь меню «Чаты» → «Профиль» → «Сохранить профиль сейчас», чтобы сохранить метаданные источника, такие как описания и команды бота. Эти данные отличаются от профилей пользователей, сгенерированных на основе сохраненных сообщений.

В случаях, когда речь идет о слежении за источником или взаимодействии с ботом:

  1. «Открыть ссылку в Telegram» → «Сохранить предварительный просмотр» записывает предоставленную ссылку и результат предварительного просмотра до выполнения действия.
  2. Команда «Join / open and observe» выполняет присоединение/открытие и отправляет параметр запуска бота, если он указан. Запрос на присоединение, ожидающий одобрения, регистрируется как «pending».
  3. Текстовые ответы, сгенерированные панелью, и нажатия поддерживаемых кнопок сохраняют значения interaction.requested и interaction.result. Квитанции обратного вызова могут сохранять возвращаемый текст всплывающего окна, состояние оповещения и URL-адрес.

Это реальные действия учетных записей. Нажатия кнопки обратного вызова в другом приложении Telegram не видимы сборщику данных, хотя последующие сообщения или изменения могут быть зафиксированы. Мини-клиент не выполняет рабочие процессы, связанные с веб-приложениями, платежами, телефоном или местоположением. Точное поведение описано в разделе «Взаимодействие с панелями».

4. Установление связей между наблюдениями в разных чатах#

В разделе «Журнал» выберите «Все источники» и выполните поиск по записанному контенту. Откройте соответствующие записи и сохраните рабочую область, чат, идентификатор сообщения, порядковый номер и хеш записи.

В соответствующем чате откройте меню «Люди» → «Включить профили» и просмотрите информацию об одном из участников:

  • Имена/имена пользователей, зафиксированные в течение определенного периода, а также числовой идентификатор Telegram.
  • Связь между ответами с указанием ссылок на исходные записи.
  • Также в… других чатах данного рабочего пространства, где писал этот пользователь.
  • Активность, изменения/удаления, а также упомянутые кошельки, телефоны, имена пользователей и ссылки.
  • Сохраненные метаданные аватаров и аналогичные кэшированные аватары с указанием их отдельного источника.

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

В приведённом примере:

Ссылка Записи Поддерживаемые наблюдения
Один и тот же аккаунт отправителя Группа № 146 и частная переписка № 205 Оба источника указывают идентификатор отправителя в Telegram: 71001
Тот же адрес назначения № 146, клавиатура бота № 173, редактирование канала № 188, личное сообщение № 205 Все записи содержат код pay.example.invalid/new; владение/контроль не установлены
Тот же сохраненный файл Завершено оформление квитанций № 151 и № 209 Полные значения SHA-256 совпадают для сохраненных байтов
Указание источника канала № 101 и № 188 Не приписывайте сообщение в канале пользователю 71001 без указания отправителя

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

5. Создание хронологии событий, охватывающей несколько чатов#

Используйте ссылки на сохраненные версии в чатах и их записи в журнале №… В журнале объедините все источники с редактированиями, удалениями и охватом. Сохраняйте как source_at (если указан), так и observed_at.

Примерный период наблюдения Справочная информация Замечание
09:00 Канал № 101 Зафиксирован исходный адрес назначения
09:12 Группа № 146; СМИ № 151 Опубликован новый адрес; загрузка файла завершена
09:16 Бот № 173 Клавиатура указывает на новый пункт назначения
09:20 Канал № 188 Объявление отредактировано; обе сохраненные версии остаются
09:24 Частный #205; медиа #209 Идентификатор отправителя, повторяющийся в поле получателя; байты файла сохранены без изменений
09:28 Группа № 231 Получено уведомление об удалении; лицо, удалившее сообщение, и точное время удаления неизвестны

Между приведёнными в примерах ссылками могут присутствовать и другие записи. Порядковые номера упорядочивают наблюдения; моментальные снимки истории могут содержать более ранние даты источников и поступать позже, чем текущие события. Разграничивайте моментальные снимки, восстановленные сообщения, уведомления об удалении и результаты, указывающие на отсутствие данных при повторной проверке. Обозначьте пробелы в охвате как неизвестные интервалы. Получение данных истории позднее не означает ретроактивного установления непрерывности наблюдения.

6. Добавление точек зрения учетных записей без потери информации об их происхождении#

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

Корреляция данных между рабочими пространствами осуществляется во внешних заметках по делу или с помощью инструментов анализа. В настоящее время TgWitness не поддерживает глобальный поиск по всем рабочим пространствам, объединенную временную шкалу, график расследования или объединенный архив дел. Экспорт данных по нескольким аккаунтам из одного канала или супергруппы представляет собой отдельную операцию, а не объединение журналов этих аккаунтов.

При работе с более объёмными материалами соблюдайте границы, прибегая к услугам независимого свидетеля. Используйте контролируемые проверки доставки для подтверждения пути захвата и видимости каждого аккаунта.

7. Подготовка и проверка передачи дела#

Сохраните эти материалы в едином каталоге дела, сформированном аналитиком:

Материалы Цель
Заметки по делам и реестр источников Вопросы, политика сбора данных, доступ/роли, выводы, альтернативные объяснения и пробелы
Хронология событий Для каждой записи указываются как время, так и ссылки на рабочую область, чат, сообщение и последовательность сообщений
ZIP-архив с подписанными доказательствами для каждого рабочего пространства Полный журнал записей, манифест и включенные сохраненные медиафайлы; фильтры панели не ограничивают экспорт журнала
Отдельно подписанные файлы с профилями пользователей Проверка полученных ссылок на соответствие доказательствам в рабочей области
Подписанные полные экспорты чатов Сбор текущей видимой истории, отдельно от журнала наблюдений
Достоверные отпечатки и предыдущие контрольные точки Ключевые идентификационные данные и границы сохраняемого журнала
Артефакты Witness, при наличии соответствующей настройки Отдельный журнал, подписанные записи и «отпечаток» свидетеля
Результаты проверки и хэши переданных файлов Что было проверено, какие байты были переданы и кому

Из надёжной установки, с указанием имён файлов и фактических отпечатков каждого рабочего пространства:

python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_PUBLIC_KEY_SHA256 --checkpoint retained-checkpoint.json
python -m tgwitness.verify profiles-operations.json --fingerprint TRUSTED_PUBLIC_KEY_SHA256 --evidence evidence.zip
python -m tgwitness.verify history-channel.zip --fingerprint TRUSTED_PUBLIC_KEY_SHA256

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

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

Пример Trace Доставить
Рассмотрение споров по заказам и оплате с помощью бота Уведомление о входе → предварительный просмотр сохраненной ссылки → параметр запуска бота → версии сообщений и клавиатурных вводов → подтверждения обратного вызова панели → последующие действия в личных переписках и группах Учтена хронология предложений и ответов, а также проверены источники; наличие одной лишь ссылки на оплату само по себе не является доказательством совершения платежа
Удалённые сообщения после инцидента Все затронутые чаты → сохраненные оригиналы/изменения → результаты проверки на удаление или отсутствие при повторной проверке → сохраненные медиафайлы → охват и другие точки зрения участников Сохраненные версии и явно обозначенные промежутки времени; отсутствие вымышленных субъектов, удаляющих сообщения
Участник использует разные имена в разных чатах Числовой идентификатор отправителя → история имен/имен пользователей → ответы → другие отслеженные чаты → упомянутые адреса/файлы Хронология активности указанного аккаунта в Telegram, в которой реальные личности и гипотезы о взаимосвязях представлены отдельно

Ссылка на сборник · Проверка личности · Передача доказательств · Проверка завершена