Авторы спама и, все чаще, мошенники, проделывающие операции с фальшивыми URL, т. е. занимающиеся «фишингом», используют вредные мобильные программы (например, «черви», вирусы, «троянских коней») для распространения опасных почтовых сообщений.

По данным MessageLabs, ведущего провайдера услуг по защите электронной почты, в 2004 г. спам составил 73% всех почтовых сообщений. Еще более удивительно, что основная часть спама передается не через открытые SMTP-серверы ретрансляции. В октябрьском отчете 2004 г. специалисты MessageLabs указывают, что 70% спама исходит из сетей спам-роботов (spambot). В данной статье речь пойдет о том, что такое спам-роботы, как они работают и какую угрозу представляют для информационной среды предприятия, а также о методах борьбы с ними.

Что такое спам-роботы?

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

Самые современные спам-роботы устанавливают соединение с удаленными «материнскими» Web-узлами, а затем начинают загружать собственные модернизированные версии с новыми списками рассылки. Поведение спам-робота зависит от особенностей загружаемого программного кода, а рекламируемые продукты и целевые почтовые адреса могут меняться «на ходу». Раньше еще можно было отследить материнские программы и помешать им распространять разрушительный программный код. Но в настоящее время материнский Web-узел, в котором используются методы, применяемые в одноранговых (P2P) сетях, чтобы прятать нелицензированные музыкальные файлы, представляет собой лишь рядовой зараженный компьютер. Спам-робот может произвольно превращать захваченные компьютеры в материнские, а другие машины — в рассыльщиков спама и постоянно меняет источник вредоносных данных.

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

Как и традиционные «черви» и «троянские кони», спам-роботы заражают десятки тысяч компьютеров, создавая обширные сети компьютеров-зомби, готовых действовать по команде автора спама. По данным MessageLabs, в 2004 г. всего 12% из 800 млн. ежедневно рассылаемых сообщений, вышедших из сети Internet-провайдера Comcast, появились на почтовом сервере Comcast. Остальное — спам, пересылаемый через пораженные машины. После нескольких месяцев жалоб компания Comcast ввела меры защиты от спама, и число непрошеных сообщений снизилось по крайней мере на 35%. К сожалению, крупные сети спам-роботов преспокойно существуют в Internet. Можно быть рассыльщиком спама и даже не подозревать об этом.

Четыре механизма спам-роботов

После проникновения в компьютер цель спам-робота — установить один из четырех механизмов для распространения спама: службу SMTP, ретранслятор SMTP, HTTP-посредник или ретранслятор-посредник. Простейшие спам-роботы устанавливают автономный механизм SMTP, а затем начинают генерировать и рассылать непрошеные сообщения. SMTP-ретранслятор имитирует почтовый SMTP-сервер с открытым ретранслятором. Благодаря специальному открытому ретранслятору автору спама не нужно искать уязвимый SMTP-сервер — он только что был создан. Автор спама посылает свои сообщения из источника новому открытому ретранслятору SMTP, который затем передает их в место назначения.

Находчивые администраторы блокируют порт 25 (SMTP) брандмауэра для трафика, исходящего с настольных компьютеров, так как SMTP должен действовать только на корпоративных почтовых серверах. В Microsoft Outlook для связи с серверами Microsoft Exchange Server используется RPC. Однако порт 80 почти всегда открыт для исходящих сообщений, чтобы пользователи могли обращаться в Internet. Чтобы воспользоваться этим всегда открытым портом, спам-роботы часто устанавливают HTTP-proxy или ретранслятор-посредник. HTTP-proxy представляют собой Web-серверы, которые перенаправляют трафик на другой порт или пункт назначения с помощью команды CONNECT. Первоначально задачей команды CONNECT было обеспечение гибкости соединений HTTP Secure (HTTPS). Если автор спама обнаруживает Web-посредник или ретранслятор (который часто оказывается работающей частью обычного Web-сервера), разрешающий передачу анонимных команд CONNECT другим серверам и портам, то он достиг своей цели. В настоящее время взломщики охотно используют HTTP-ретрансляторы вместо SMTP-ретрансляторов. Авторы спама и спам-роботы пытаются отыскать открытые ретрансляторы в Web-серверах чаще, чем любые другие уязвимые места HTTP. Кроме того, спам-робот может установить ретранслятор-посредник, который принимает команды и направляет трафик на любой порт или адрес.

Все четыре механизма обеспечивают удобные способы рассылки сообщений от подставного источника. Если сервер-получатель посылает ответное сообщение NDR (nondelivery report — отчет о неудачной доставке), то его получает подставной отправитель, а не спам-робот по действительному адресу. К сожалению, в результате постоянных фальшивых рассылок сообщения NDR поступают на серверы SMTP, доставляя дополнительные хлопоты и без того загруженным администраторам. Опытные администраторы распознают истинную природу этих NDR и игнорируют их. Если администраторы не уверены в безопасности своего сервера или сети, то им придется потратить время, чтобы отсортировать ложные сообщения об ошибках.

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

Примеры спам-роботов

Сложные и полнофункциональные спам-роботы — наиболее опасные автоматизированные программы, с которыми приходится сталкиваться администратору. Далее приводится описание типичных спам-роботов и их поведения.

Proxy Guzu. «Троянский конь» Proxy Guzu — далеко не самый опасный из современных спам-роботов. После запуска Proxy Guzu устанавливает SMTP-механизм, подключается к почтовому серверу Microsoft Hotmail и посылает почтовое извещение по заранее заданному адресу, содержащее адрес пораженной машины и номер порта, через который можно установить связь с «троянским конем». Proxy Guzu — программа-невидимка, которая скрывается от Windows Task Manager.

Sobig. Семейство «червей» Sobig признано первым полноценным гибридом традиционного «червя» и спам-робота. Большинство «червей» просто посылают свое тело по электронным адресам, собранным на пораженном компьютере, но Sobig создает открытый proxy-сервер. По этой причине с появлением Sobig вновь стала популярной идея загрузки программного кода «на ходу».

Sobig пересылается как типичное вредоносное почтовое вложение. После самоустановки программа загружает свою новую версию с заданного Web-узла. Затем новая версия может загрузить еще более новую версию с другого Web-узла. На другом этапе «червь» использует Wingate Proxy Server (законную proxy-программу, нарушая лицензию) для установки открытого proxy-сервера. Различные версии Sobig активизируют и прекращают работу по разным датам.

Специалисты по вирусным программам подозревают Sobig в распространении спама по двум причинам. Во-первых, хотя Sobig распространяется по электронной почте, начальная рассылка была проведена через фальшивые открытые proxy (типичный прием авторов спама). Во-вторых, после появления Sobig началось массовое распространение сетей спам-роботов и зомби. Возможно, первоначально Sobig и не был спам-роботом, но спамеры с готовностью воспользовались программой для своих целей.

Jeem. Jeem — «троянский конь», проникающий в компьютер через «черный ход» и обнаруженный в ноябре 2002 г. Он был одной из первых программ, в которой специалисты обнаружили функции распространения спама. Jeem работает как несанкционированный SMTP-сервер и HTTP-посредник. Он самоустанавливается в каталоге \%system% под именем msrexe.exe и изменяет раздел автозапуска реестра HKEY_LOCAL_MACHINESOFTWARE MicrosoftWindowsCurrentVersionRun, добавляя в него строку System Service=»%system%msrexe.exe».

Jeem открывает три TCP-порта, генерируемые произвольным способом в зависимости от операционной системы и временной зоны. Порт с самым маленьким номером может применяться как SMTP-сервер, средний порт — как HTTP-proxy, а порт с самым большим номером — для обмена данными. Jeem входит в состав более крупного «троянского коня» Maz, и считается, что выявить его трудно. Многие антивирусные продукты обнаруживают родительскую программу, но не дочерний процесс Jeem, запускаемый Maz.

Anymail. «Троянский конь» Anymail загружает файл конфигурации (config.cfg) с жестко заданного URL, а затем использует его для рассылки почтовых сообщений целевым получателям. Файл конфигурации зашифрован и содержит ссылки на удаленный Web-узел, в котором другой файл конфигурации содержит необходимую информацию об используемом SMTP-сервере; список получателей спама; тему, тело и присоединенные файлы почтового сообщения; временной интервал, указывающий сроки рассылки сообщений. Для обновления конфигурационной информации «троянский конь» периодически считывает удаленный файл конфигурации. Связанный с ним файл sended_count.cfg представляет собой зашифрованный журнал, содержащий число отправленных сообщений.

Приманка для спам-роботов

Спам получил очень широкое распространение, поэтому функции для борьбы с ним предусмотрены во многих программах-приманках. Для тестирования была установлена приманка Windows, имитирующая открытые ретрансляторы SMTP и HTTP. Спустя 26 минут появился первый запрос от спам-робота: два пакета, посланные в порт 80, использовали команду CONNECT, чтобы выяснить, разрешены ли в посреднике анонимные соединения и перенаправление. Были посланы тестовые сообщения по произвольным адресам Hotmail, вероятно, с целью проверки функциональности ретранслятора. Я позаботился о том, чтобы тест был успешным, и автор спама или спам-робот подтвердили, что новый захваченный ретранслятор может передавать почтовые сообщения намеченным жертвам. В предыдущих тестах с приманкой я не разрешал передачи успешных соединений, и за пробными запросами дальнейшие действия не следовали.

Спустя шесть минут появился и самоустановился другой спам-робот с тем же исходным IP-адресом. По истечении трех минут еще один спам-робот с другого IP-адреса самоустановился, даже не проведя тестирования перед установкой. Теперь я располагал двумя спам-роботами. Оба спам-робота установили связь с удаленными сайтами, чтобы загрузить дополнительный программный код, а затем установить дополнительные исполняемые файлы. Кроме того, оба спам-робота установили шпионские программы и изменили Microsoft Internet Explorer (IE). Один из них изменил файл HOSTS приманки. Затем хлынул поток спама: каждую секунду стали поступать сотни сообщений для ретрансляции (на серверы и адреса электронной почты Hotmail). Я настроил приманку таким образом, чтобы не транслировать спам, но извещать удаленный источник спама о его успешной доставке. В течение нескольких минут полоса пропускания сети-приманки была полностью занята, и если бы сообщения действительно покидали демилитаризованную зону (DMZ), то трафик бы удвоился. Менее чем за час спам-роботы создали десятки тысяч сообщений. Я мог видеть спам, который генерировали спам-роботы, и его получателей (произвольные адреса hotmail.com). Сообщений было так много, что между отдельными роботами началась борьба за соединения с приманкой. Всего за день в приманке скопились сотни мегабайтов сообщений. Такое происходит на тысячах зараженных машин во всем мире.

Спам-роботы атакуют не только электронную почту, но и другие каналы распространения информации. Уже несколько лет нападениям подвергаются системы мгновенного обмена сообщениями (Instant Messaging — IM). В 2004 г. спам начал поступать на сайты Web-журналов, блогов. К сожалению, спам-роботы — не единственная проблема. Все большее распространение получают атаки с подменой URL, или «фишинг», и шпионские программы. По данным исследования, проведенного компанией Gartner, на уловки со спуфингом URL поддаются примерно 3-10% получателей. Шпионское программное обеспечение и загружаемые из сети «троянские кони» есть почти на всех компьютерах, подключенных к Internet. Долгосрочные, эффективные решения могут обеспечить более надежные операционные системы, усовершенствованные программные инструменты защиты, аутентификация по умолчанию и более строгое соблюдение закона.

Современные меры защиты

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

  • Использовать новейшие антивирусные программы.
  • Задействовать блокировщики спама и шпионских программ.
  • Понять механизм и свести к минимуму вероятность загрузки несанкционированных программ в списки автозапуска компьютера, а также загрузить и применять утилиту Autoruns компании Sysinternal.
  • Блокировать порт 25 (еще лучше — все порты) для передачи любых исходящих сообщений с компьютера, которые не были явно разрешены. Некоторые администраторы разрешают исходящий трафик из порта 25 для любых сетевых компьютеров, но лучше санкционировать только работу почтового сервера. Следует соответствующим образом настроить выходные фильтры по всему периметру.
  • Исследовать подозрительный исходящий трафик портов. Более подробно об этом рассказано во врезке «Инструменты привязки портов».
  • Блокировать потенциально опасные присоединенные файлы.
  • Не разрешать пользователям обращаться в Internet или выполнять неадминистративные действия, будучи зарегистрированными с правами администратора.
  • Не разрешать пользователям обращаться в Internet или выполнять неадминистративные действия с сервера.
  • Своевременно применять программные исправления.

Для успешной борьбы со спам-роботами полезно использовать приманку как ловушку или средство раннего предупреждения внутри информационной инфраструктуры предприятия. Ловушка для спама представляет собой приманку, которая выглядит как открытый ретранслятор. Привлечь одного автора спама или спам-робот к фальшивому ретранслятору — значит помешать отправке миллионов спам-собщений. Спам-приманка внутри периметра предприятия может предупредить администратора об активном спам-роботе. Некоторые администраторы безопасности используют ловушки для отслеживания авторов спама, и иногда им даже удается довести дело до суда.

Чтобы найти десятки решений, достаточно просто ввести в поисковый механизм Google слова spam trap или spam tarpit. SMTP-ловушки описаны в статье «Intrusion Detection, Honeypots and Incident Handling Resources» (http://www.honeypots.net/ honeypots/products). Как при использовании любой новой технологии безопасности, необходимо провести предварительное исследование.

Будьте бдительны!

Целая армия мошенников и авторов шпионских программ использует в своей деятельности спам-роботы и сети, и численность этой армии все растет. Рано или поздно автоматическая аутентификация процессора, операционной системы и прикладных платформ сведет к минимуму угрозу спам-роботов и других разрушительных программ, но пока необходимо постоянно проявлять бдительность.


Инструменты привязки портов

Если выясняется, что исходящие фильтры на периметре сети блокируют соединения с несанкционированных портов, нужно обязательно обследовать эти порты, чтобы определить цель соединения. В журналах исходящих фильтров содержится информация о компьютере, с которого была предпринята попытка несанкционированного доступа, после чего можно установить программу-виновника. Процесс привязки программы или службы к используемому ими порту TCP/IP называется «перечислением» портов. Существует несколько бесплатных и сравнительно недорогих инструментов для выполнения этой операции, в том числе Netstat компании Microsoft (попытайтесь ввести команду Netstat -ano или Netstat -b из Windows XP Service Pack 2-SP2), Fport (http://www.foundstone.com), TCPView (http://www.sysinternals.com) и Port Explorer (http://www.diamondcs.com). Обзор этих инструментов приведен в статье «11 утилит для поиска активных портов», опубликованной в Windows IT Pro/RE № 1 за 2004 год. Кроме того, распознать приложения можно с помощью системы определения попыток несанкционированного доступа (Intrusion Detection System — IDS) или анализатора сетевых протоколов. Обзор анализаторов можно найти в статье «Анализаторы сетевых протоколов» в Windows IT Pro/RE № 6 за 2004 год.


Редактор Windows IT Pro и консультант по проблемам безопасности. Имеет сертификаты CPA, CISSP, CEH, CHFI, TICSA, MCT, MCSE: Security и Security+. roger@banneretcs.com

Поделитесь материалом с коллегами и друзьями