Process Explorer - управление процессами в Windows.Общие сведения о программе Process Explorer .  Process Explorer - программа от компании Sysinternals для наблюдения в реальном масштабе времени за действиями различных процессов и управления ими в среде операционной системы Windows. После приобретения Sysinternals компанией Майкрософт, в разделе технической поддержки появился раздел Windows Sisinternals где можно найти описание и ссылки для скачивания большинства программных продуктов Sysinternals. Process Explorer - на сегодняшний день - это самая популярная утилита среди продуктов Sysinternals Автор - Марк Руссинович (Mark Russinovich) Программа работает во всех версиях ОС Windows и не требует инсталляции. Последнюю версию можно скачать с сайта Microsoft по ссылке на странице программы.. Начиная с версий, вышедших в 2011 г. Process Explorer не работает в среде Windows 2000. Здесь относительно старая версия Process Explorer, работающая во всех Windows, включая Windows 2000. В архиве присутствует исполняемый файл procexp.exe, файл документации на английском языке procexp.chm и текстовый файл eula.txt с лицензионным соглашением. Process Explorer позволяет: - получать подробнейшую информацию о всех процессах, выполняющихся в среде Windows; - получать доступ к важнейшим функциям управления процессами из главного меню или из контекстного меню выбранного процесса; - управлять не только приложениями, но и службами системы (остановить, приостановить, возобновить, перезапустить); - кроме функции принудительного завершения процессов (Kill), использовать функции приостановки (Suspend) и продолжения выполнения (Resume); - управлять не только процессами, но и потоками (Threads), т.е. динамически внедряемыми в основной процесс программными модулями (DLL); - изменять приоритеты выполняющихся процессов, их права доступа и разрешения, задавать соответствие процессорам в многопроцессорных (многоядерных) системах; - создавать новые процессы с возможностью запуска от имени текущего пользователя, пользователя с ограниченными правами и администратора; - в любой момент времени принудительно выполнять дампы памяти (Minidump или Fill Dump) с сохранением в выбранный файл; - выполнять завершение работы Windows, завершение сеанса пользователя, переход в спящий режим, режим гибернации и блокировку рабочего стола; В целом, Process Explorer позволяет получить подробнейшую картину активности процессов Windows и использования ресурсов системы. Интерфейс программы достаточно прост и удобен. Имеется строка меню (menu bar), панель инструментов (toolbar) и область вывода данных, представленная либо в виде иерархического списка процессов, либо в виде окна, разделенного на две половины. В верхней части - список процессов, в нижней - подробная информация о выбранном процессе - потоки, дескрипторы, открытые файлы, ключи реестра, и т.п., Представление области вывода данных можно изменить в любой момент времени нажатием комбинации CTRL+L или с использованием пункта меню "View" - "Show Lower Pane". В данной статье будет рассмотрен интерфейс версий Process Explorer, выпущенных после 2011г. В более старых версиях программы. некоторые элементы могут отсутствовать. В верхней панели (Upper Pane) выводится информация в виде нескольких колонок, состав которых можно изменить с помощью меню "View" - "Set Columns". По умолчанию, выбраны колонки, наиболее полно раскрывающие возможности программы и не снижающие удобства ее использования. Process - в данной колонке отображается дерево активных процессов и их потомков. Потомок (child) - процесс, созданный другим, родительским (parent) процессом. Любой процесс может быть и потомком, если он создан в ходе выполнения другого процесса, и родителем, если в ходе его выполнения создан другой процесс. Отображение элементов дерева процессов выполняется в соответствии с порядком их запуска в ходе загрузки операционной системы и регистрации пользователя. Корнем дерева процессов является уровень System Idle Process - состояние простоя системы. Следующим элементом дерева представлен уровень System. На самом деле, System - это не отдельно существующий реальный процесс, а уровень дерева, предназначенный для отображения активности системы, связанной с обработкой прерываний, работой системных драйверов, диспетчера сеансов Windows (Session Manager) smss.exe, и csrss.exe (Client - Server Runtime). Элемент Interrupts связан с обработкой аппаратных прерываний, элемент DPCs - с обработкой отложенных вызовов процедур (Deferred Procedure Calls). Механизм обработки аппаратных прерываний в Windows предполагает как бы двухуровневую обработку. При возникновении запроса на прерывание, сначала, получает управление программа-обработчик аппаратного прерывания, выполняющая лишь самые необходимые критические операции, а остальные действия откладываются до тех пор, пока не появится относительно свободное процессорное время. Тогда эти действия будут выполнены в рамках вызова отложенной процедуры. В многопроцессорных системах каждый процессор имеет свою отдельную очередь отложенных вызовов. Порядок обработки очереди запросов на прерывание и очереди отложенных процедур определяется их приоритетами. Для определения приоритетов используется уровень запроса на прерывание IRQL - программно-аппаратный механизм, применяемый для синхронизации выполнения отдельных процессов в операционных системах семейства Windows. Уровни IRQL аппаратных прерываний задаются программированием регистров контроллера прерываний, а уровни IRQL программного кода операционной системы - реализуются программно. Степень использования ресурсов уровнем System дерева процессов, отображаемого программой Process Explorer, характеризует занятость операционной системы диспетчеризацией и обработкой прерываний. Высокая степень использования процессора для обработки прерываний может указывать на наличие проблем с оборудованием или некорректно работающий драйвер устройства. Обычно, это сопровождается эффектом заметного снижения общей "полезной" производительности системы. Остальная часть дерева отображает иерархию реально выполняющихся в Windows процессов. Так, например, приложение служб и контроллеров SERVICES.EXE обеспечивает создание, удаление, запуск и остановку служб (сервисов) операционной системы, что и отображается в списке порождаемых им процессов. PID - отображается идентификатор процесса PID - уникальное десятичное число, присваиваемое каждому процессу при его создании. CPU - отображается степень использования центрального процессора. Private Bytes - объем оперативной памяти, выделенной данному процессу и не разделяемой с другими процессами. Working Set - рабочий набор процесса, представляющий собой суммарный объем всех страниц используемой им памяти, в данный момент времени. Размер этого набора может изменяться, в зависимости от запросов процесса. Большая часть процессов используют разделяемую память (Shared Memory). Description - краткое описание процесса Company Name - название компании-разработчика. Path - путь и имя исполняемого файла. Verified Signer - признак достоверности цифровой подписи исполняемого файла. Наличие строки "Not verified" говорит о том, что цифровая подпись отсутствует или ее не удалось проверить. Для проверки цифровой подписи нужен доступ в Интернет. Process Explorer позволяет получить максимально подробную информацию о процессах. Число колонок в верхней половине можно довести до нескольких десятков, однако, пользоваться таким представлением крайне неудобно. Обычно при работе с программой используется минимальный, установленный по умолчанию, или немного измененный набор, а для получения детальной информации о процессе можно выполнить двойной щелчок на строке с его данными или через контекстное меню, вызываемое правой кнопкой мыши - пункт Properties. Иерархический характер дерева процессов способствует визуальному восприятию родительски-дочерних отношений каждого активного процесса. Нижняя панель дает информацию обо всех DLL, загруженных выделенным в верхней панели процессом, открытых им файлах, папках, разделах и ключах реестра. При выборе уровня System дерева процессов в нижней панели можно получить информацию обо всех загруженных драйверах системы, их описание, версию, путь исполняемого файла, адрес в оперативной памяти, размер. Кроме того, можно проверить цифровую подпись испольняемого файла, а также просмотреть строковые значения как в самом исполняемом файле, так и в оперативной памяти, выделенной под его выполнение. Run As Limited User - то же самое "Выполнить", но под учетной записью пользователя с ограниченными правами, даже если текущий пользователь вошел в систему с правами администратора. Save CTRL+S - сохранить текущее представление выходных данных Process Explorer в текстовый файл. Save CTRL+A - то же самое, но с возможностью выбора пути и имени файла. Shutdown - завершение работы. Можно выбрать следующие режимы завершения - Logoff - завершение сеанса текущего пользователя. - Shutdown - выключить компьютер - Hibernate - перевести компьютер в режим гибернации - Stand By - перевести в спящий режим - Lock - закрыть доступ к рабочему столу - Restart - перезагрузить систему. Exit завершить работу Process Explorer Replace Task Manager - при установке данного режима, стандартный диспетчер задач Windows будет заменен на Process Explorer. Повторный выбор данного пункта меню возвращает Task Manager в качестве диспетчера задач Windows. Hide When Minimized - скрыть значок программы в области уведомлений при сворачивании Allow Only One Instance - разрешить запуск только одной копии Process Explorer Confirm Kill - требовать подтверждение при принудительном завершении процессов Verify Image Signature - проверять достоверность цифровой подписи исполняемых файлов Tray Icons показывать в системном трее иконки графиков (history) использования процессора (CPU) системы ввода-вывода (I/O), объем общей выделенной памяти (Commit), физической памяти (Physical Memory). Configure Symbols - конфигурирование источника для определения имен функций. Configure Colors - настройка выделения цветом отображаемых объектов. Можно изменить цветовое кодирование процессов в основном окне программы. Кнопка "Defaults" позволяет вернуть настройки цветового выделения по умолчанию. Цветовое выделение дает дополнительные признаки процессов: сиреневым цветом выделяются процессы, имеющие связанные с ними системные службы, зеленым - только что запущенные, красным - завершающиеся, фиолетовый - имеющий упакованный исполняемый файл и т.п. Show Processes From All Users - режим отображения информации о процессах. При включении данного режима будет выполняться выдача информации обо всех процессах всех активных пользователей системы, в том числе и системных служб. При выключении - только процессы, выполняющиеся под учетной записью текущего пользователя. Scroll For New Process - указатель будет перемещаться на строку с отображением нового процесса. Show Lower Pane CTRL+L - отображать нижнюю панель. Lower Pane View - режим вывода данных в нижней панели - DLLs (CTRL+D) - отображаются данные о загруженных библиотеках DLL, Handles (CTRL+H) - отображаются данные об открытых указателях (хэндлах). Refresh Now F5 - обновить экран. Update Speed - интервал автоматического обновления экрана в секундах. Нажатие пробела вызывает включение/выключение паузы. Остальные пункты данного меню позволяют изменить представление отображаемой информации, сохранить или загрузить ранее сохраненные настройки. Set Priority - установить приоритет. Уровень приоритета процесса в Windows задается, в порядке возрастания числом от 0 до 31. Большинство процессов выполняются с приоритетом 8 (Normal). Любому процессу можно принудительно понизить или повысить приоритет с использованием данного меню. Удобно использовать в случаях, когда какая-нибудь программа работает с высоким потреблением ресурсов процессора длительное время и замедляет работу других приложений. В результате, может возникнуть "подтормаживание" других, не требующих значительных ресурсов, интерактивных процессов (браузер, проводник и т.п.), что создает не самые комфортные условия для работы пользователя. Снижение приоритета "прожорливой" программы позволит устранить это неприятное явление. Kill Process Del - принудительно завершить выбранный процесс. Kill Process Tree - принудительно завершить выбранный процесс и все порожденные им процессы (дерево процессов) Restart - перезапустить выбранный процесс. Suspend - приостановить выбранный процесс. Для продолжения работы процесса используется пункт меню Resume Set Affinity - позволяет задать соответствие выбранного процесса процессорам в многопроцессорных системах. Create Dump - принудительно выполнить дамп памяти. Позволяет получить малый или полный дамп памяти для анализа. Для получения дампов памяти в контексте выполнения системных процессов необходимо, чтобы Process Explorer выполнялся с правами локальной системной учетной записи (Local System, NT AUTHORITY\система). Search Online - будет запущен браузер и выполнен поиск информации о выбранном процессе с использованием поисковика Google. Properties - вывод информации о выбранном процессе. Данные представлены в виде окна свойств процесса с несколькими вкладками, позволяющими получить подробнейшую информацию. Панель инструментов программы Process Explorer .  Панель инструментов Process Explorer во многом содержит те же кнопки, что и большинство утилит мониторинга от Sysinternals и позволяет быстро выполнить наиболее необходимые и часто повторяющиеся действия. Кроме кнопок, в правой части панели отображаются графики использования ресурсов системы. - Save - сохранить текущие информацию о выбранном процессе в текстовый файл. - Refresh Now (F5) - принудительно обновить экран. Можно использовать клавишу F5 - System Information CTRL+I - отобразить окно информации о системе. Отображаются данные об использовании процессора, памяти, системы ввода вывода и, частично, о сетевой активности. - Show Process Tree - отобразить окно с деревом процессов. Информация отображается в виде иерархической структуры, отображающей зависимости между родительскими и порожденными процессами. Процессы, имеющие одного и того же родителя, отображаются в порядке, соответствующем времени запуска. Так, например, процесс wininit.exe породил процесс services.exe, который, в свою очередь породил несколько процессов svchost.exe и т.д. - Show Low Pane/Hide Low Pane - отобразить/скрыть нижнее окно со списком указателей или списком модулей DLL . - View Handles/View DLL - отобразить в нижнем окне список указателей (CTRL+H) или список модулей DLL (CTRL+D). - Properties - отобразить свойства процесса. Вместо кнопки можно использовать двойной щелчок или нажатие клавиши Enter - Kill Process/Close Handle - уничтожить выбранный процесс или закрыть указатель. - Find Handle or DLL - диалог поиска подстроки в имени DLL или Handle. Можно использовать комбинацию клавиш Ctrl+F - Find Window's Process - Позволяет перейти к процессу, связанному с определенным окном. Для выбора окна нужно нажать левую кнопку мышки на значке мишени и (не отпуская кнопку) переместить указатель на нужное окно. Удобно использовать в случаях, когда на экран выведено некоторое окно, и неизвестен процесс, связанный с ним. Примеры практического применения программы Process Explorer .  Возможности программы Process Explorer во многом зависят от прав пользователя, в среде которого она выполняется. Чем выше права пользователя, тем больше у него возможностей по доступу к информации о процессах и управлению ими. Для стандартного использования программы, обычно, достаточно прав локального администратора. В ОС Windows Vista / Windows 7 нужно использовать "Запуск от имени администратора". Однако, для полного доступа к управлению системными службами, получения дампов памяти, приостановке сервисов или их уничтожения, этого недостаточно и требуется, чтобы программа выполнялась с правами локальной системной учетной записи (Local System или NT AUTHORITY\SYSTEM, NT AUTHORITY\Система), под которой работает большинство системных служб Windows. Запустить какой-либо процесс под локальной системной учетной записью можно несколькими способами. Поскольку Process Explorer является продуктом Sysinternals, желательно, и способ его запуска с максимальными правами выбрать с использованием другой утилиты от Sysinternals - PSExec.exe. Подробное описание - здесь Примерный перечень действий : Предполагается, что программы Sysinternals (Process Explorer и PSExec) сохранены в папке C:\SYSINTERNALS . Запустить интерпретатор командной строки cmd.exe . Для пользователей Windows Vista /Windows7 используйте контекстное меню "Запуск от имени администратора". Перейдите в каталог с программами CD C:\SYSINTERNALS psexec -i -s C:\SYSINTERNALS\procexp.exe Или без перехода в каталог программ: C:\SYSINTERNALS\psexec -i -s C:\SYSINTERNALS\procexp.exe Процедуру запуска Process Explorer с указанными правами можно оформить в виде командного файла, запускаемого от имени администратора. При первом старте в данной операционной системе, утилита PSExec запросит подтверждение лицензионного соглашения. Ключ -i разрешает взаимодействие с рабочим столом, без него программа будет невидимой для пользователя. Ключ -s означает выполнение программы C:\SYSINTERNALS\procexp.exe с правами локальной системной учетной записи. Указание полного пути исполняемого файла C:\SYSINTERNALS\procexp.exe обязательно, поскольку PSExec инсталлирует собственную службу и именно она выполняет запуск приложения, указанного в командной строке. Для большинства случаев, текущим каталогом служб будет не ваш каталог с программами, а \Windows\system32 . Если скопировать PSExec.exe и procexp.exe в него, то полные пути можно не указывать. Признаком того, что Process Explorer выполняется c правами локальной системной учетной записи, является текст с именем пользователя NT AUTHORITY\SYSTEM в заголовке окна программы. Несколько сложнее выглядит ситуация, когда замедление видимого быстродействия системы не связано с выполнением ресурсоемких приложений, и сопровождается кратковременными "подвисаниями", рывками при перемещении окон или даже указателя мышки. На представленной картинке в колонке CPU видно, что режим ожидания (простоя) процессора составляет 47.88%, обработка прерываний - 49.34%, оставшиеся 2.78% делятся между системными службами и задачами пользователя. Такая высокая степень задействования процессора обработкой прерываний - это явно ненормально и говорит либо о проблемах с периферийным оборудованием, либо о некорректно работающем драйвере устройства. В правильно работающей системе на обработку прерываний отводится 1-5% в зависимости от интенсивности работы. Причиной же ситуации, соответствующей снимку экрана, являлось работа контроллера жесткого диска в режиме программируемого ввода-вывода PIO, а не в режиме прямого доступа в память (DMA). В режиме PIO передача данных выполняется с помощью процессорных команд ввода-вывода, а не непосредственно контроллером диска с использованием прямого доступа в память (без использования CPU). После принудительного включения режима UltraDMA в свойствах контроллера система вернулась к нормальной производительности с обработкой прерываний процессором на уровне 05-1.5%. Подобное поведение системы, нередко, является следствием некорректно работающих драйверов или системных служб антивирусов, вирусов, брандмауэров и прочих недостаточно отлаженных или не универсальных программных продуктов. Обнаружить проблемный драйвер довольно непросто и одного средства Process Explorer будет явно недостаточно. К сожалению, утилита не позволяет выявить степень использования ресурсов отдельными драйверами. Высокий уровень использования ресурсов процессом обработки аппаратных прерываний (Hwrdware Interrupts) и вызовом отложенных процедур (Deffered Procedure Calls или DPC's) может быть вызван одним из десятков или даже сотен драйверов. Определить проблемный драйвер стандартными средствами Windows невозможно, но, к счастью, в природе существуют средства для контроля производительности и оптимизации системы. В частности, существует набор инструментов для анализа производительности системы, предназначенный для разработчиков драйверов и программных модулей, работающих в режиме ядра Windows Performance Analysis Toolkit (WPT) . Ознакомительная документация. В состав набора инструментов входит утилита Xperf, позволяющая определить степень использования процессорного времени модулями ядра и драйверами системы. Существует также утилита мониторинга активности обработчиков прерываний RATTV3, позволяющая с заданной периодичностью собирать и записывать в журнал данные о счетчиках вызовов программ обработки прерываний. И, пожалуй, самое простое средство - консольная утилита Kernrate   Механизм обработки прерываний в Windows построен таким образом, что непосредственно в обработчике прерывания (Interrupt Service Routine - сокращенно ISR), имеющем высокий приоритет, выполняются лишь самые критические операции, а остальные действия откладываются до тех пор, пока не появится относительно свободное процессорное время. В высокоприоритетной части обработчика прерываний используется минимальное время на выполнение, небольшое количество операций и особая надежность программного кода, поскольку ошибки, допущенные во время его выполнения, могут обрушить операционную систему, которая не сможет корректно их обработать. Поэтому обычно, обработчик прерывания, выполняет только минимально необходимую работу и подготавливает условия для окончательной обработки - осуществляет отложенный вызов процедуры (Deffered Procedure Call - сокращенно DPC), которая выполнит все остальные действия, не требующие повышенной срочности. Утилита от Microsoft Kernrate Viewer позволяет относительно просто определить степень использования процессора отдельными драйверами в процессе обработки прерываний Поддерживаемые операционные системы: Windows 2000, Windows XP и Windows 2003 Server. Поддерживаемые процессоры: Intel x86 processors (Pentium и старше), эквивалентные им процессоры AMD, а также 64-битные процессоры от Intel и AMD. После установки Kernrate, в папке \Program Files\krview\kernrates будут находиться исполняемые файлы Kernrate_i386_Win2000.exe Kernrate_i386_XP.exe Kernrate_ia64_XP.exe Для удобства использования в командной строке, можно один из модулей, соответствующий вашей операционной системе, перетащить в папку, которая присутствует в путях поиска исполняемых файлов ( например \Windows\system32) и присвоить ему более короткое имя (например kernrate.exe). После запуска утилита выдает на экран сообщение: Press CTRL-C to finish collecting profile data - Нажмите CTRL-C для завершения сбора данных профилирования. При нажатии CTRL-C программа завершает работу, и на экран выводятся собранные данные профилирования системы, включающие суммарную статистику по использованию процессоров, физической и виртуальной памяти, а также счетчики использования модулей в режиме ядра. Вся информация, как правило, на экране не помещается, поэтому лучше использовать запуск Kernrate с перенаправлением вывода в текстовый файл: Kernrate > C:\kernrate.log В этом случае, после нажатия CTRL-C, результаты работы программы можно будет просматривать в файле C:\kernrate.log. Пример содержимого файла журнала работы Kernrate: Вначале присутствует общая информация о компьютере и самой Kernrate. Затем, собранные и обработанные данные об использовании ресурсов системы: ------------Overall Summary:-------------- P0 K 0:00:19.437 (25.4%) U 0:00:09.109 (11.9%) I 0:00:48.125 (62.8%) DPC 0:00:01.062 ( 1.4%) Interrupt 0:00:00.171 ( 0.2%) Interrupts= 52771, Interrupt Rate= 688/sec. P0 - первый (или единственный процессор). Для многопроцессорных систем будут присутствовать P1 (второй CPU), P2 и т.д. K 0:00:19.437 (25.4%) - использование процессора в режиме ядра (Kernel mode) U 0:00:09.109 (11.9%) - использование процессора в пользовательском режиме (User mode) I 0:00:48.125 (62.8%) - процессор в режиме ожидания (Idle) Interrupt 0:00:00.171 ( 0.2%) - использование процессора программами обработки прерываний (Interrupt service routine) DPC 0:00:01.062 ( 1.4%) - использование процессора вызовами отложенных процедур (Deffered Procedure Call) Interrupts= 52771 - количество зафиксированных прерываний за время работы Kernrate Interrupt Rate= 688/sec - количество зафиксированных прерываний в 1 секунду. Далее в журнале выводится информация об использовании памяти и статистика операций ввода-вывода. Результаты для режима ядра отображаются после строки : ----------------------------- Results for Kernel Mode: ----------------------------- Проценты в таблице базируются на количестве зафиксированных утилитой событий (Hits). Module Hits msec %Total Events/Sec processr 17135 76658 65 % 5588131 ntoskrnl   3670 76658 14 % 1196874 win32k 1015 76658   3 % 331015 hal 964 76658 3 % 314383 aswSP 646 76658 2 % 210675 FILTNT   595 76658 2 % 194043 Sandbox   416   76658 1 % 135667 aswSnx 337 76658 1 % 109903 Ntfs 253 76658 0 % 82509 afd 163 76658 0 % 53158 tcpip   155 76658 0 % 50549 . . . Информация данного раздела журнала дает относительно подробную картину использования ресурсов системы в режиме ядра. Module - имя программного модуля. Имя Processr (а также в других версиях Idle, P3) относится к выполнению цикла ожидания. Hits - число попаданий событий в профиль Kernrate msec - количество миллисекунд работы в режиме ядра зафиксированное в профиле. % Total - процент использования процессора данным модулем. Events/Sec - число зафиксированных событий за 1 секунду. Список модулей упорядочен по убыванию степени использования центрального процессора и позволяет легко определить имя модуля, являющегося причиной видимого замедления, кратковременного периодического подвисания или подтормаживания системы. Утилита Kernrate имеет несколько десятков ключей командной строки, позволяющих выполнить более тонкое и точное профилирование и, например, получить данные по вызовам отдельных функций ядра конкретными процессами Кроме Kernrate, можно воспользоваться инструментом аудита ISR и DPC RATTV3 - RATT Long ISR and DPC Audit Tool от Microsoft. По умолчанию, установка программы выполняется в каталог %Program files%\Microsoft\RATTV3. В процессе установки, в данном каталоге создается журнал Deploy.log и ярлык в папке "Автозагрузка" для автоматического запуска приложения RATT.EXE с ключами -loop -start . В целом, процесс сбора данных с помощью RATTV3 практически не влияет на быстродействие системы, но если нет необходимости в непрерывном мониторинге, ярлык для автоматического старта можно удалить и запускать RATTV3 вручную. Данные из файла журнала установки ( Deploy.log) программы не рекомендуется удалять или модифицировать. В папке находятся 2 исполняемых файла ratt.exe и cswa.exe . Первый - это небольшая программа, выполняемая в фоновом режиме для управления процессом сбора информации. Второй - программа обработки, накопления, и сохранения результатов. Для сбора используется технология трассировки событий Windows (Event Tracing for Windows, сокращенно ETW). Программа cswa.exe - это обработчик трассировки, задачей которого является обнаружение событий обработки прерываний (ISR и DPC) и сохранение результатов в файлах журналов. В процессе инсталляции RATTV3, в реестре Windows создается раздел HKLM\Software\Microsoft\RATTV3 , ключи которого позволяют управлять процессом сбора и сохранения данных. После запуска RATTV3, в системном трее будет отображаться иконка программы, с помощью которой можно вызвать всплывающее меню, содержащее пункты: Start Monitoring - включить режим наблюдения с периодичностью, задаваемой значением ключа реестра HKLM\Software\Microsoft\RATTV3\TracingPeriod Непосредственно сбор, обработка и накопление данных выполняется программой CSWA.EXE. Результаты записываются в журнал %system32%\logfiles\rattv3 и включают файл трассировки (ETL file), файл без расширения, содержащий счетчики драйверов и файл отчета с расширением TXT. Stop Monitoring - остановить мониторинг. Loop Mode - режим циклического выполнения. FTP Enabled - данные мониторинга будут периодически сбрасываться на FTP-сервер. По умолчанию, этот режим отключен, но его можно включить изменив значение ключа реестра HKLM\SOFTWARE\Microsoft\RATTV3\FTPEnabled FTP Now - выполнить передачу данных на FTP-сервер немедленно. Help - вызов справки. CSWA создает файлы отчетов, которые содержат имя компьютера, дату, время и данные о компонентах, работающих в режиме ядра и вызвавших события обработки прерываний (ISRs и/или DPCs) в процессе мониторинга. Для анализа возможностей компьютерных систем обрабатывать потоки данных в реальном масштабе времени (без задержек) удобно пользоваться утилитой Thesycons DPC Latency Checker (dpclat.exe) , предназначенной для определения задержек при обработке аудио и видео потоков данных. Программа бесплатна для некоммерческого использования и может работать в Windows 7, Windows 7 x64, Windows Vista, Windows Vista x64, Windows Server 2003, Windows Server 2003 x64, Windows XP, Windows XP x64, Windows 2000. Скачать DPC Latency Checker Программа очень проста в использовании и позволяет обнаружить сам факт повышенного потребления ресурсов обработкой отложенного вызова процедур (DPC) На приведенном снимке экрана присутствует периодическая задержка в обработке отложенных процедур, выделенная на графике красным цветом. В информационном окне программы выведено сообщение о том, что некоторые драйверы устройств данного компьютера могут быть причиной задержек в воспроизведении аудио и видео данных. И пользователю предлагается простой алгоритм локализации проблемы - использовать диспетчер устройств (Device Manager) для последовательного отключения и подключения отдельных драйверов. - процесс выделен фиолетовым цветом, т.е. имеет упакованный загрузочный модуль. Обычно, упаковка образов используется для затруднения исследования приложения с помощью дизассемблеров. Это не бесспорный признак вредоносного программного обеспечения, но факт, который должен вызвать более пристальное внимание к процессу. Для дальнейшего анализа процесса можно воспользоваться кнопкой панели инструментов Properties или вызовом свойств процесса с использованием контекстного меню. Дополнительные признаки, которые могут принадлежать вредоносной программе: - отсутствует имя производителя. - отсутствует цифровая подпись. Большинство производителей программного обеспечения имеют сертификаты с цифровой подписью для своих программ. Для проверки подписи можно нажать кнопку Verify. Необходим доступ в Интернет. - отсутствуют поля описания загрузочного образа Version и Time - в качестве пути исполняемого файла используется папка для хранения временных файлов (TEMP) - имя исполняемого файла соответствует имени реально существующего файла Windows, но путь отличается от \WINDOWS или \WINDOWS\SYSTEM32 Обычно характерно для вирусов, использующих для исполняемого файла имена наиболее часто встречающихся программных модулей - svchost.exe, smss.exe, csrss.exe, winlogon.exe и т.п. - путь исполняемого файла совпадает \WINDOWS или \WINDOWS\SYSTEM32 , но имя немного отличается от распространенных имен системных файлов - swchoct.exe вместо svchost.exe и т.п. - исполняемый файл находится в \WINDOWS или \WINDOWS\SYSTEM32, но дата его создания значительно отличается от даты создания остальных системных файлов и приблизительно соответствует предполагаемой дате заражения. - в некоторых случаях дополнительную информацию можно извлечь с использованием вкладки String, позволяющей просмотреть значение строковых констант, используемых данным процессом. Примеры использования утилиты Process Explorer для исследования различных проблем с функционированием системы можно найти в блоге Марка Руссиновича |
|