Процессуальный кодекс

13 август, 2004 - 23:00Игорь Дериев
Собственно, уже сам факт наличия Task Manager в Windows (в других ОС, естественно, имеются свои утилиты) говорит о том, что иногда пользователь должен принимать решения самостоятельно, а для этого -- располагать хотя бы минимальными знаниями и навыками. Впрочем, и недостатки стандартного менеджера задач также известны -- попробуйте, скажем, с его помощью определить, откуда запускается неизвестный процесс и к какому приложению он относится.

Процессуальный кодекс
Security Task Manager ранжирует процессы по степени их "подозрительности"
Другой пример -- пресловутый svchost.exe. Кто скрывается за каждым его экземпляром? Хотя именно с этой загадкой в Windows XP разобраться относительно просто -- достаточно прочесть статью Q314056 из Microsoft Knowledge Base и воспользоваться стандартной утилитой tasklist с ключом /svc (аналогичные средства имеются и для Windows 2000, хотя найти их там несколько сложнее). Но это, согласитесь, уже далеко не тривиальная процедура.

Таким образом, ограничения Task Manager очевидны, и потому более тонкие инструменты существуют испокон веку (особенно популярны они были во времена Windows 9x ввиду совершенной убогости встроенной утилиты) и продолжают развиваться по сей день. В самом простом случае это может быть программа вроде Process Viewer, призванная именно восполнить пробелы Task Manager. Она позволяет определить необходимые системные пути, просмотреть список используемых процессом DLL и решить некоторые более специфические задачи. На первый взгляд, немного, но даже эти функции вполне способны сослужить добрую служ-бу. Скажем, если неопознанный процесс ophaldcs .exe запускается из папки с:\windows\system32\spool\..., то вполне логично проверить свое принтерное хозяйство и в результате обнаружить давно не используемый (но установленный в системе) принтер Oki.

Конечно же, настоящим грандом среди подобных инструментов является Process Explorer от Sysinternals. Предельно интеллектуальная, как и все творения Руссиновича & Ко, эта программа не просто дополняет функциональность Task Manager, но и вовсе способна его заменить. И она действительно лучше по всем параметрам -- более информативна, более функциональна. Одна из наиболее полезных возможностей -- сбор статистики потребления системных ресурсов для каждого процесса, что особенно полезно при поиске утечек памяти. Однако нужно иметь в виду, что стиль подачи информации рассчитан в основном на программистов, хотя на уровне пользовательского интерфейса разработчики и постарались максимально задействовать стандартные элементы и формы, знакомые по различным встроенным утилитам Windows. Соответственно для того, чтобы разобраться с какими-то деталями, необходимо понимание принципов работы различных подсистем Windows, стека TCP/IP и пр.

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

Security Task Manager не является менеджером задач в полном смысле этого слова. С его помощью нельзя, скажем, изменить приоритет процесса или закрепить его за конкретным CPU -- для решения подобных задач придется прибегнуть к стандартным средствам Windows. В наибольшей степени специфика программы описывается первым словом из ее названия -- действительно, все интересные функции нацелены на выявление потенциально опасных программных модулей, каковыми могут оказаться всевозможные "троянцы" и spyware. Причем, как мы и мечтали абзацем выше, значительную часть рутинной работы программа проделывает самостоятельно -- она проверяет сигнатуры компонентов и некоторые характерные признаки, отслеживает использование системных функций и стека TCP/IP и на основе собранных данных оценивает степень опасности каждого процесса.

Процессуальный кодекс
Информационная панель Process Explorer напоминает Task Manager, но предоставляет больше информации
В нашем случае в число наиболее подозрительных попали менеджер загрузки файлов, не содержащий достаточного описания и подключившийся к Internet Explorer, специальный монитор, отслеживающий клавиатурный ввод для выявления периодов простоя компьютера, и один из компонентов корпоративного антивируса -- за скрытое окно и прослушивание определенных портов. Последний, впрочем, был охарактеризован как "похоже, безвредный". Из этого примера прекрасно видно, на что Security Task Manager обращает внимание в первую очередь, и нужно сказать, что свою работу программа выполняет очень корректно, всячески удерживая пользователя от того, чтобы рубить с плеча и принимать необоснованные решения. Тем не менее имеется возможность не только остановить сомнительный процесс, но и отправить его в карантин (в русском переводе выбран не совсем однозначный термин "изолировать"), т. е. исключить из процессов автозагрузки, переименовать исполняемый файл и переместить его в специальную папку. Зарегистрированная версия дополнительно предоставит пользователю компонент Spy Protector, способный предотвратить установку различных следящих программ и скрыть следы его деятельности.

Программа WinTasks Pro (более похожа на традиционный менеджер задач, однако обладает несколькими уникальными особенностями. Прежде всего для некоторых (знакомых ей) процессов она предоставляет расширенную информацию, которую нельзя получить стандартным путем. Эти описания составлены самими разработчиками, и база данных постоянно расширяется, хотя говорить о какой-либо ее полноте пока не приходится. Естественно, для каждого процесса можно получить исчерпывающую техническую характеристику: откуда запущен, какие DLL использует, приоритет, потребление системных ресурсов. Последние показатели протоколируются, благодаря чему легко выявляются утечки памяти и прочие негативные явления (с более или менее типичными сценариями применения WinTasks Pro можно познакомиться в документации и на сайте).

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

Как видите, даже в такой "приземленной" области, как управление задачами, возможны определенные изыски. Безусловно, ни одна из упомянутых программ не является панацеей. Все они -- лишь исследовательские инструменты, которые могут применяться как сами по себе, так и совместно с антивирусами, персональными брандмауэрами и другими защитными приложениями. Однако, если пользоваться ими со знанием дела, результат превзойдет все ожидания.