Журнал Компьютерра - Журнал «Компьютерра» N 35 от 26 сентября 2006 года
Отдельно следует упомянуть о Win32.Peerat. В отличие от классических троянцев-загрузчиков, он не просто скачивает вредоносную программу из Интернета, но и пытается выложить ее в файлообменную сеть, если к таковой подключена инфицированная машина.
ТЕМА НОМЕРА: Осадное положение
Авторы: Андрей Васильков, Бойцев, Олег
Если бы участие человека в войнах можно было бы исключить, идеалы хиппи были бы воплощены в жизнь еще много столетий назад. Однако, несмотря на все ухищрения технического прогресса, победу в войне за свою независимость может одержать только сам человек. Разумеется, не без технических средств.
Одержимому паранойей/здравым смыслом пользователю компьютера давно предлагается масса всякого антивирусного вооружения - от тяжелого, сравнимого по размеру с операционной системой, до микроскопического, предназначенного для прицельного отстрела «вторженцев». Имеющееся на военных складах антивирусное ПО можно условно разбить на три класса:
1. Антивирусные (AV) сканеры в последние годы существенно расширили спектр действия, включив в него и троянов. Они являются хорошим подспорьем к основным инструментам борьбы с троянскими конями. С помощью антивирусов можно выявлять эти зловредные программы по совпадению проверяемых файлов с сигнатурами AV-баз. Прошу обратить внимание: большинство троянов, существующих в виде отдельных файлов, не определяются средствами эвристики, так как их действия не отличаются от таковых у легитимных программ: чтения с диска и записи на него, обращения к реестру, передачи данных по сети… такое поведение типично для любого софта и ни в коей мере не является специфичным для троянов. Поэтому если в базе антивируса нет подходящей сигнатуры, он будет рапортовать о чистоте системы, даже наткнувшись на авгиевы конюшни.
2. У антивирусных мониторов, осуществляющих постоянную проверку исполняемого в данный момент кода, шансов отловить троян и того меньше. Они не могут (да и не должны) вести проверку столь же тщательно, как AV-сканеры. Кроме того, антивирусный монитор (если он запускается как приложение, а не служба) трояну легко обмануть, попросту скрыв свое присутствие.
3. Специализированное ПО для поиска троянов действует схожим с AV-сканерами образом; однако оно также проверяет записи реестра (в первую очередь - все секции автозапуска), файлы настроек (boot.ini, win.ini etc.) и может быть способно определить открытые/прослушиваемые порты, что резко повышает эффективность проверки.
Мудрый пользователь имеет в своем арсенале все три вида, но вот запускать их одновременно не стоит ни в коем случае (см. врезку «много хорошо - тоже плохо»).
Автоматическое оружие
Полное удаление найденных троянов с помощью любой из этих утилит не всегда возможно. Логика работы WinXP такова, что не допускает удаления файлов, если к ним обращается какой-то активный процесс. А завершить процесс трояна (особенно уровня ядра ОС) в автоматическом режиме не всегда просто… да и опасно в плане сохранности данных.
Здесь-то и выходят на сцену узкие специалисты, специально обученные удалять наиболее глубоко засевших коней разными (в том числе недокументированными) способами. В первую очередь, это утилита с богатейшей функциональностью производства компании Ewido; она отлавливает не только троянов, но и другое неприятное ПО вроде ad-ware и т. п. Бесплатную тридцатидневную версию можно найти по адресу www.ewido.net/en/product. Есть еще парочка неплохих утилит Trojan Hunter/Spy Hunter, лежащих на www.misec.net/trojanhunte.
Очень мощная утилита компании EMSI - a-squared. Бесплатная версия просканирует и укажет на наличие вредоносного ПО. К сожалению, полная функциональность - только за деньги.
Кроме того, можно посоветовать российскую разработку agnitum Tauscan. Утилита создана специально для борьбы с троянами. Несмотря на ориентацию на неопытных пользователей, разработчики не забывают и о функциональности, база достаточно обширна и содержит около четырех тысяч записей.
Заглянув на www.izcity.com/soft/security/spy, присмотритесь к Trend Micro CWShredder. Это утилита для нахождения и удаления шпионских программ, позволяющая обнаружить следы присутствия на персональном компьютере так называемых Cool Web Search, тоже относящихся к троянам. А по адресу soft.oszone.net/subcat/1/ можно найти массу бесплатных антивирусных программ.
Ну и напоследок, одна из самых известных утилит - Trojan Remover. Ее база на данный момент насчитывает больше десяти тысяч сигнатур.
РОДЕО В домашних услових
Бывает, вы обнаружили активного трояна, а удалить его целиком не смогли. Что делать? В эпоху FAT32 и однодисковых конфигураций ответ был очевиден: загрузиться из-под DOS и удалить оставшиеся фрагменты тела вредителя (или его целиком) вручную.
Появление NTFS- и RAID-массивов заметно усложнило ситуацию. Дело в том, что NTFS является закрытой файловой системой. Ни одна сторонняя ОС и драйверы других разработчиков не поддерживают ее полностью. Если с чтением они еще худо-бедно справляются, то попытка записать/удалить что-либо на NTFS-разделе с их помощью подобна игре в русскую рулетку.
Лучше других для целей ручного удаления подходит версия WinXP PE. Однако и она пасует перед RAID уровня 0. Возможность догрузить дополнительные драйверы (например, nVidia nvRAID) при загрузке по {F6} реально не работала ни на одном из попавшихся мне дистрибутивов WinXP PE. Поэтому, если у вас задействован RAID-контроллер или другие устройства, поддержка которых не включена [Отгульный скот] по умолчанию в Windows, - соберите собственный дистрибутив WinXP PE, дополнив его всем необходимым. Уверен, он поможет вам не единожды. Начните со скачивания приличного PE-билдера.
Более безопасный (но и менее гарантированный) способ ручного удаления заключается в запуске различных «кулхацких» утилит непосредственно из-под инфицированной системы. Для минимализации риска их заражения/дезактивации можно осуществить запуск через защищенный режим AVZ [Об этом уникальном творении Олега Зайцева читайте в ближайших выпусках «Компьютерры»].
Среди таких программ отмечу три творения от компании DiamondCS:
1. Advanced Process Termination (APT). Уникальность этой бесплатной софтинки в том, что она предлагает на выбор дюжину пользовательских и два «ядерных» метода завершения активного процесса (читай - выгрузки активного трояна). Полагаю, лучше не реализовано нигде.
2. Advanced Process Manipulation (APM) родилась на свет в результате исследования троянских программ и поиска путей борьбы с ними. Она тоже бесплатна (даже для коммерческого использования). В отличие от обычных вьюеров активных процессов (заменителей Task Manager’а), APM не отсылает запросы другим процессам, а становится их частью. Фактически это означает полный контроль над процессом, так как сам себе любой процесс обычно готов разрешить любые действия.
3. DelLater позволяет указать пользователю файл, который необходимо удалить при следующем запуске ОС. Она берет на вооружение официальный метод, описанный Microsoft в Platform SDK, - Microsoft Developer Network, а значит, максимально безопасна.
Все эти симпатичные софтинки являются отличным орудием в деле удаления строптивых троянских коней.
Ручные гранаты
Но новые угрозы появляются постоянно, а старые трансформируются и делают прежние средства борьбы неэффективными. Никакие сколь угодно «продвинутые» утилиты не отменяют необходимость знать устройство используемой операционной системы и уметь очищать ее от вредоносного (в том числе троянского) кода вручную. Те, кто надеется исключительно на автоматическую, «прозрачную для пользователя» защиту, ничего не смыслят ни в защите, ни в автоматике. Рано или поздно таких людей постигнет участь жителей Трои… хорошо хоть, что только в переносном смысле.
Чаще всего в различных руководствах по борьбе с вирусами советуют начинать проверку с открытых на компьютере портов. В нормальном режиме, при установленном и адекватно настроенном Zone Alarm’е (или любом другом приличном брандмауэре) все неиспользуемые порты закрыты. Поэтому попытка отправить запрос на один из «нестандартных» портов ни к чему не приведет: компьютер прикинется калькулятором и запрос проигнорирует.
А вот если чудо-софт обнаружил что-то подозрительное, тут надо глядеть во все порты! Утилита AVZ (www.z-oleg.com/secur/avz) их отлично показывает. И она - мощнейшее оружие супротив троянов и прочих супостатов. Положительный результат (наличие непрошенных соединений) будет свидетельствовать о том, что вы на правильном пути. А вот отрицательный результат вовсе не означает отсутствия заразы в вашем ПК. Кстати, чем именно смотреть - не столь важно. Я пользуюсь AVZ, админы традиционно предпочитают X-Spider
[www.ptsecurity.ru], можно просто набрать команду netstat -an, но в этом случае велик риск получить недостоверную инфрмацию, так как некоторые трояны готовы к этому. В любом случае, самый надежный способ проверки - извне.