Process Monitor – мониторинг включения системы

Те кто серьезно занимались внедрением Software Restriction Policy у себя в компании, наверняка задумывались что неплохо было бы не оставлять включенным стандартное правило разрешающее запуск любых программ из папки Windows. Ведь некоторые из этих программ могут предоставлять чрезмерно большие возможности пользователям. А то и чем черт не шутит – дадут возможность обойти SRP… Но чтобы убрать это правило, надо понять, какие же программы действительно необходимы для загрузки системы и для работы пользователя. Для того чтобы это узнать, можно воспользоваться утилитой Process Monitor от Microsoft Sysinternals.

 

Для начала хорошо бы настроить фильтрацию событий, для этого открываем окно фильтров (нажав кнопку pm_filter ) и добавляем правило Operation Is Process Start then Include. Не забудьте нажать кнопку Add! (я очень часто забываю 🙂 )

pm_filters

Теперь будут отображаться лишь события запуска процессов. Обратите внимание – отображаться! Записываться будут всё равно все события системы. Но эту особенность можно легко изменить. Чтобы события не подходящие под фильтр вообще не сохранялись, надо включить опцию Drop Filtered Events:

pm_dropfiltered

Ну и теперь очередь самой главной опции — Enable Boot Loging. После её включения, драйвер Procmon’а будет загружен на максимально раннем этапе следующей загрузки системы, и будет записывать всю её активность (в соответствии с нашим фильтром).

pm_01

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

Закончив симуляцию нормальной работы системы, запускаем Process Monitor. Сразу после запуска он заметит что записывался журнал активности системы, и покажет следующее окно:

pm_02

Нажимаем Yes чтобы сохранить данные, выбираем место куда положить файл, и ждём. В том случае если вы не включали фильтрацию, ждать придётся долго, да и размер журнала будет немаленький – у меня например полная запись загрузки Windows Vista заняла более 500 мегабайт.

После сохранения файла, можно просто посмотреть его в Process Monitor’е, либо экспортировать в CSV или XML. Обратите внимание на возможность настроить отображаемые (и экспортируемые) столбцы.

pm_03

Обратите внимание что SRP ограничивает лишь интерактивных пользователей, так что процессы выполняющиеся под системными учетными записями (например NT AUTHORITY\SYSTEM) в список разрешений заносить необязательно.

Еще можно воспользоваться очень интересным инструментом – Process Tree (в меню Tools). Он отображает процессы в виде дерева, так что можно увидеть кто кого запустил. Тут же выводится информация о времени запуска и завершения процессов, и графическое представление этих данных – столбец Life Time:

pm_04

В случае если вы не ограничивались записью лишь информации о запуске процессов, то вы можете воспользоваться еще одним уникальным инструментом – Process Activity Summary который выведет аналогичный список, но с графиками активности процессов. Очень удобно при диагностике медленной загрузки системы, ведь Process Explorer на этом этапе использовать не получится 😉 Кроме того в последней версии Process Monitor появился еще и Network Summary View.

pm_05

комментариев 12 to “Process Monitor – мониторинг включения системы”

  1. Bishop Says:

    Спасибо за пост. Сколько пользуюсь программой — никогда не заглядывал в меню Tools. Так что узнал много интересного.

  2. pan_2@LJ Says:

    Добавлю — не забудьте включить в процесс «симуляции» действий обычного пользователя распечатку чего-либо, чтобы потом в спешке не менять политики =)

  3. Alkash Says:

    Даже если приостановить защиту Касперского, на этапе добавления фильтра комп виснет наметво. Помогает только reset. Касперский 6.0 для Workstation.

  4. Xaegr Says:

    Alkash а на форуме касперского что говорят на эту тему? Там вроде неплохая поддержка. Возможно поможет установка каких то исключений.

    Вообще нет ничего удивительного в том что злобный антивирус (а kav такой 🙂 ) может неужиться с процмоном. Например в системах до Vista, procmon для мониторинга реестра извлекает ресурсов своего исполняемого файла файл драйвера, устанавливает его, и запускает. А затем этот драйвер занимается перехватом обращений к реестру. Функционал крайне похожий на действия вирусов и руткитов, но к сожалению необходимый. В Vista и выше, для работы с реестром уже используются появившиеся там стандартные средства. Но тем не менее уверен что procmon делает много подозрительного для антивирусов.

    Впрочем антивирусы и сами промышляют мониторингом обращений других программ к файлам, с тем чтобы проверить их. А за обращениями смотрит procmon… В итоге может получиться замкнутый круг = зависание. Короче говоря для таких тестирований антивирусы очень желательно отключать, причем совсем 🙂

  5. Alkash Says:

    Xaegr, в принципе согласен с тобой.
    На форуме Касперского сходу найти ничего не удалось, но не сильно искал. А NOD32 SS 64-bt и ZoneAlarm 8 SS на winXP 64-bit и winXP соответственно все работает без отключения оных.

  6. Xaegr Says:

    Alkash, попробуйте задать там вопрос.
    Что до NOD’а и ZoneAlarm, так на мой личный взгляд им крайне далеко до конкуренции с KAV, о чем скорее всего и говорит отсутствие у них реакции на такие подозрительные (хоть и легитимные 😉 ) действия 🙂 Впрочем конечно может быть сигнатуры процмона у них в «белых списках», но что то я сомневаюсь 🙂

  7. vallyol Says:

    Xaegr, а ты случайно не в курсе…
    Запустил на 7-ке (Про версия). После ребута запустил Процмонитор, он что-то долго сохранял. В рез-те получил файл размером в 350 кб, очень смутило… Двойной щелчек по сохраненному файлу — открывается абсолютно пустой ПМ.

    Может ента фенька на Вин7 не работает? (Сисинтерналс Сьюит — самый свежий, грузил позавчера)

  8. Xaegr Says:

    2 vallyol: Не может оно на 7ке не работать, Руссинович на ней уже ооочень давно сидит 🙂
    Сейчас специально включил, ребутнулся, проверил — пишет (7×64-rtm). Сохранил полгиговый лог (кстати очень шустро, 2-3 сек), и открыл его. Всё на месте.
    У вас случайно антивирусов нет каких нибудь которые могут с ним конфликтовать?

  9. Process Monitor – скринкаст « PowerShell и другие скрипты Says:

    […] раннего этапа. Еще кстати по этой теме рекомендую этот […]

  10. vallyol Says:

    «У вас случайно антивирусов нет каких нибудь которые могут с ним конфликтовать?»

    Стоит Symantec Endpoint Protection последний. Знаю, что его не под 7-ку писали… Останавливаю все его службы (SEP), проверяю Proc monitor — результат тот же. Сохранение идет минуты полторы…

    Сам SEP в рабочем состояние поднимает, по-моему, 24 «руткита»(типа NT create key и т.п.), при остановке служб они выгружаются. Поэтому конфликтов вроде быть не должно. Да и не было никогда, не первый раз пользуюсь утилем от Руссиновича (Спасибо ему за его труд для облегчения нашего труда!)

    Но! Идея хорошая! Ща посмотрю, как енто в семерке выглядит… (только неделю, как поставил)

  11. hooke Says:

    Спасибо за статью!
    У меня ProcMon вешается почти сразу же при запуске на машинах, где установлен Касперский 6.0.3.837 (для Win Workstations) с установленной проактивной защитой и управлением через Kaspersky Admin Kit… Если выключить проактивную защиту — не помогает. Самого Каспера выключить — тоже виснет.
    На машине с таким же Каспером, но без установленного модуля проактивной защиты и без управления с админки (у меня дома) — идет нормально. На ноуте с Каспером 2010 (настройки по умолчанию, без запроса пользователя) — работает прекрасно. Что ли переустанавливать Каспера без модуля проактивной защиты??

  12. hooke Says:

    Переустановил Каспера без модуля проактивной защиты. Procmon работает. Рылся в Каспере, оказывается, модуль проактивной защиты тоже называется procmon. Наверное, он тоже устанавливает некий драйвер перехвата событий. Кто-нибудь может подсказать, как выгружать временно драйвер Каспера, чтобы Procmon от Sysinternals работал нормально? Не переустанавливать же антивирус на каждой машине, где понадобиться помониторить события??


Обсуждение закрыто.