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

Когда вы открываете файл из непроверенного источника, в системе почти всегда что-то меняется: запускаются новые процессы, подгружаются службы, появляются дочерние процессы. Сравнение списка процессов до и после открытия — самый простой способ увидеть эти изменения своими глазами, без антивируса и специальных лабораторий. Главный принцип: сначала зафиксировать «чистое» состояние системы, затем открыть файл, дождаться его работы и сравнить два снимка. Разница между ними и есть то, что файл сделал с вашей системой.

Ниже — рабочий порядок действий, инструменты, которые для этого нужны, и признаки, по которым отличают нормальную активность от подозрительной.

Зачем вообще сравнивать процессы

Процесс — это запущенная программа в момент её работы. Каждый исполняемый файл, скрипт или документ с макросами при открытии порождает как минимум один процесс. Легитимные программы обычно запускают предсказуемый набор процессов: установщик создаёт дочерние процессы распаковки, текстовый редактор — процесс самого редактора. Вредоносное поведение проявляется иначе: файл запускает интерпретатор команд, обращается к системным утилитам для маскировки, дублирует себя во временные папки или внедряется в уже работающие процессы.

Сравнение снимков полезно в трёх ситуациях:

  • Проверка подозрительного файла. Вы скачали вложение или программу и хотите понять, что она делает, прежде чем доверять ей дальше.
  • Диагностика уже случившейся проблемы. Компьютер начал тормозить или вести себя странно после открытия конкретного файла, и нужно понять, что именно он запустил.
  • Обучение и разбор. Анализ поведения файла в изолированной среде — базовый навык, который помогает понять логику вредоносных программ.

Важное ограничение: сравнение процессов показывает только то, что файл запустил, но не всё, что он сделал. Файл может изменить реестр, записать данные на диск или отправить трафик, не оставив следов в списке процессов. Поэтому этот метод — часть проверки, а не полная гарантия безопасности.

Подготовка: что сделать до открытия файла

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

Порядок подготовки

  1. Дождитесь завершения фоновых задач. Обновления Windows, индексация поиска, синхронизация облака создают кратковременные процессы, которые исказят картину. Подождите несколько минут после загрузки системы.
  2. Закройте лишние программы. Браузер с десятком вкладок, мессенджеры и торренты добавляют процессы, которые могут перезапускаться и попадать в разницу.
  3. Создайте точку восстановления системы. Если файл окажется вредоносным, точка восстановления упростит откат изменений. Учтите, что продвинутые угрозы умеют удалять точки восстановления, поэтому это подстраховка, а не защита.
  4. По возможности используйте изолированную среду. Виртуальная машина или отдельный компьютер без личных данных — правильный вариант для проверки действительно подозрительных файлов. На рабочей машине с важными документами и доступами к банковским сервисам запускать непроверенные файлы не стоит ни при каком анализе.
  5. Отключите сетевые подключения, если цель — увидеть локальное поведение. Это остановит отправку данных, но также может изменить поведение файла: некоторые программы при отсутствии сети не запускают часть своих процессов. Решение зависит от того, что именно вы проверяете.

Как снять первый снимок

Самый надёжный способ — сохранить список процессов в текстовый файл, чтобы потом сравнить их программно, а не глазами. В Windows для этого достаточно командной строки или PowerShell.

Через командную строку:

tasklist /v > before.txt

Ключ /v добавляет подробные сведения: имя процесса, идентификатор (PID), память, статус и пользователя, от которого запущен процесс. Чем больше данных в снимке, тем легче потом интерпретировать разницу.

Через PowerShell, с указанием пути к исполняемому файлу каждого процесса:

Get-Process | Select-Object Name, Id, Path | Format-Table -AutoSize > before.txt

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

На Linux и macOS аналогичную роль выполняют команды ps aux или ps -eo pid,ppid,cmd, вывод которых сохраняется в файл тем же способом.

Открытие файла и снятие второго снимка

После фиксации первого снимка откройте проверяемый файл обычным способом. Дальше важен момент времени: вредоносные процессы часто живут недолго. Установщик может отработать за секунды, а дроппер (программа, которая распаковывает и запускает полезную нагрузку) завершается сразу после своей задачи.

Рекомендуемая последовательность

  1. Откройте файл.
  2. Наблюдайте за диспетчером задач или Process Explorer в реальном времени первые 30–60 секунд. Краткоживущие процессы проще заметить глазами, чем поймать в снимке.
  3. Дайте файлу поработать столько, сколько предполагает его легитимная функция: установщику — завершить установку, документу — открыться.
  4. Снимите второй снимок той же командой, что и первый, сохранив его в отдельный файл: tasklist /v > after.txt.
  5. Если файл предполагает длительную работу (например, это программа с интерфейсом), сделайте третий снимок через несколько минут — отложенная активность встречается нередко.

Дополнительный приём: снимайте промежуточный снимок через 10–15 секунд после запуска. Он помогает поймать процессы, которые успевают появиться и завершиться до финального снимка.

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

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

  • Встроенные средства. В Windows подойдёт утилита fc (fc before.txt after.txt), в Linux и macOS — diff. Обе показывают построчные различия.
  • Графические редакторы. Notepad++ с плагином Compare, VS Code со встроенным сравнением файлов, WinMerge — удобны тем, что различия подсвечиваются цветом, и длинные списки читаются легче.
  • Онлайн-сервисы diff. Подходят для коротких списков, но не вставляйте в них данные, которые не хотите публиковать: имена процессов сами по себе не секретны, однако при анализе рабочей машины лучше держать данные локально.

При сравнении обращайте внимание не только на новые строки, но и на исчезнувшие: если после открытия файла пропал процесс антивируса или системная служба, это само по себе тревожный признак.

Что искать в разнице

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

Признаки, требующие внимания

  • Процессы из временных каталогов. Запуск из папок Temp, AppData\Local\Temp или каталога загрузок — типичное поведение дропперов. Легитимные установщики тоже работают из Temp, но завершают эти процессы после установки.
  • Интерпретаторы команд и скриптов. Появление cmd.exe, powershell.exe, wscript.exe, cscript.exe, mshta.exe, если вы открывали документ или медиафайл, — сильный сигнал. Документ Word не имеет причин запускать PowerShell.
  • Дочерние процессы от системных утилит. Пара «документ — cmd.exe» или «установщик — regsvr32.exe» часто означает, что файл выполняет команды через легитимные инструменты, чтобы не выглядеть подозрительно.
  • Процессы с бессмысленными или маскирующими именами. Имена вроде «svch0st.exe» (с нулём вместо буквы «о»), случайные наборы символов или копии системных имён в пользовательских папках — классическая маскировка.
  • Дублирование системных процессов. Второй экземпляр explorer.exe или svchost.exe, запущенный из нестандартного пути, — повод для проверки.
  • Процессы, запущенные от другого пользователя или с повышенными правами. Если файл запросил права администратора без очевидной причины, это стоит расценить как настораживающее поведение.
  • Исчезновение защитных процессов. Пропажа процессов антивируса или системы безопасности из второго снимка — серьёзный признак.

Что обычно является шумом

  • Кратковременные процессы обновлений, телеметрии и индексации, которые появляются независимо от ваших действий.
  • Легитимные вспомогательные процессы самого приложения: у современных программ их может быть несколько (обновлятор, служба рендеринга, процесс расширений).
  • Перезапуск уже работавших процессов с новым PID — имя то же, меняется только идентификатор.

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

Инструменты, которые упрощают анализ

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

Инструмент Платформа Что добавляет к базовому сравнению
Диспетчер задач Windows Быстрый просмотр в реальном времени, путь к файлу процесса, запуск от имени администратора
Process Explorer Windows Дерево родительских и дочерних процессов, подписи файлов, хеш, список библиотек и сетевых соединений процесса
Process Monitor Windows Полный журнал обращений к файлам, реестру и сети — показывает, что процесс делал, а не только что он существовал
ps / top / htop Linux, macOS Список процессов с аргументами командной строки, которые часто выдают, что именно запускалось

Process Explorer особенно ценен тем, что показывает дерево процессов: видно, кто кого запустил. Если подозрительный процесс появился как дочерний у winword.exe после открытия документа — связь очевидна. Process Monitor требует больше навыков для чтения результатов, но отвечает на вопрос «что файл изменил в системе», который снимки процессов не закрывают.

Что делать после обнаружения подозрительной активности

Если разница снимков показала тревожные признаки, дальнейшие действия зависят от среды, в которой вы работали.

  • В виртуальной машине или на отдельном компьютере. Просто удалите виртуальную машину или её снимок состояния целиком. Это самый безопасный исход: вы получили ответ на свой вопрос без риска для основных данных.
  • На основной системе. Отключите компьютер от сети, не вводите пароли и не открывайте банковские сервисы. Запустите полное сканирование антивирусом, желательно вторым мнением от независимого сканера. Проверьте автозагрузку: вредоносные процессы часто прописывают себя туда, чтобы запускаться при каждом старте системы.
  • Если вводили пароли или платежные данные после открытия файла. Считайте эти данные скомпрометированными: смените пароли с другого, заведомо чистого устройства и уведомьте банк, если речь о платёжных данных.

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

Типичные ошибки при сравнении снимков

  • Снимки сделаны в разные фазы жизни системы. Первый — сразу после загрузки, второй — через час активной работы. Разница будет забита фоновыми процессами. Снимайте оба состояния в сопоставимых условиях.
  • Слишком поздний второй снимок. Краткоживущий вредоносный процесс успел завершиться и не попал в список. Решение — наблюдение в реальном времени и промежуточные снимки.
  • Сравнение только по именам процессов. Одинаковые имена при разных путях запуска — распространённая маскировка. Сравнивайте имя вместе с путём.
  • Игнорирование исчезнувших строк. Анализ «что добавилось» без проверки «что пропало» упускает остановку защитных процессов.
  • Вывод о безопасности из отсутствия новых процессов. Файл может внедрить код в уже существующий процесс — в снимках это не отразится. Отсутствие изменений в списке процессов не означает, что файл безвреден.
  • Проверка опасного файла на рабочей машине. Никакой анализ не стоит риска для корпоративных данных и доступов. Подозрительные файлы — только в изолированной среде.

Сценарии: как действовать в зависимости от ситуации

  • Вы случайно открыли файл и хотите проверить последствия. Снимите текущий список процессов, сравните его с контрольным снимком, сделанным заранее (если он есть). Если контрольного нет — ориентируйтесь на аномальные пути, интерпретаторы скриптов и автозагрузку.
  • Вы намеренно анализируете подозрительный файл. Используйте виртуальную машину, снимайте несколько снимков с интервалами, дополняйте картину Process Monitor. Цель — не «поймать за руку», а понять класс поведения.
  • Файл нужен для работы, но вызывает сомнения. Проверьте цифровую подпись издателя, репутацию файла в независимых сервисах проверки по хешу, и только потом запускайте с наблюдением за процессами.
  • Система уже ведёт себя странно. Сравнение снимков здесь работает хуже, потому что «чистого» состояния уже нет. В этом случае эффективнее анализ автозагрузки, запланированных задач и сетевых соединений.

Практический итог

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

Следующий шаг: подготовьте контрольный снимок своей системы прямо сейчас, пока она чиста — сохраните вывод tasklist или Get-Process в файл и держите его как эталон. А для проверки действительно подозрительных файлов заведите виртуальную машину: это превращает рискованный эксперимент в безопасную процедуру.

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

PEFile.ru