Настоящая статья посвящена развитию IM-червей (т.е. червей для систем мгновенного обмена сообщениями, от английского сокращения IM — Instant Messenger, т.е. интернет-пейджер) с начала 2005 года. Статья написана с точки зрения европейца — это значит, что в ней не говорится о некоторых червях, не получивших широкого распространения в Европе. Нет в ней и данных о вредоносных программах, предназначенных для IM-клиентов, в частности ICQ, не пользующихся большой популярностью в Европе.
Первый IM-червь появился в 2001 году, однако широкое распространение этот класс вредоносных программ получил лишь в начале 2005 года. Анализ IM-червей, появившихся за это время, показывает, что очень важно различать цели, которые преследовали авторы при создании того или иного червя.
Такие черви, как Sumom, становились причиной серьезных эпидемий и, как следствие, широко обсуждались в средствах массовой информации.
Авторы подобных червей — кибервандалы, заинтересованные в нанесении любого ущерба и привлечении к себе внимания. Может показаться, что IM-черви в целом — прежде всего инструмент самоутверждения кибервандалов. Но это не так: два из наиболее известных семейств, Bropia и Kelvir, созданы исключительно для извлечения материальной выгоды.
Появление червей Bropia, Kelvir и Prex
Черви семейств Bropia, Kelvir и Prex используют для размножения интернет-пейджер MSN Messenger, рассылая ссылки на файлы, находящиеся на (HTTP) сервере. С появлением в феврале 2005 года семейства Bropia начался новый этап развития IM-червей. С точки зрения программирования эти черви ничего особенного собой не представляют, однако, выбрав неизвестный на тот момент упаковщик, автор продемонстрировал серьезность своих намерений. Ранние разновидности червей Bropia были упакованы утилитой PEspin 1.1. В то время поддержка этого упаковщика отсутствовала во всех распространенных антивирусных продуктах. Когда выяснилось, что автор продолжает использовать тот же упаковщик в новых вариантах червя, поддержка распаковки файлов, упакованных утилитой PEspin 1.1, была добавлена в соответствующие модули антивируса.
В ответ на повышение уровня распознавания червя модулем проактивной защиты, входящим в состав продуктов «Лаборатории Касперского», автор (возможно, авторы) перешел на использование другого, также неизвестного в то время упаковщика UPack. На момент написания настоящей статьи упаковщик UPack был одной из наиболее популярных среди вирусописателей утилит упаковки исполняемых файлов.
Через две недели после появления первого варианта Bropia был впервые обнаружен червь Kelvir. Эти два семейства очень похожи друг на друга, но между ними есть одно важное различие.
Как Bropia, так и Kelvir содержит IRCBot, для установки которого они, собственно, и предназначены.
При этом Bropia загружается в виде одного файла, представляющего собой IM-червь со встроенным IRCBot, а Kelvir обычно распространяется в виде самораспаковывающегося архива (RAR), содержащего два файла — IM-червь и IRCBot.
Ранние варианты Bropia и Kelvir регулярно размещались на голландских серверах. Учитывая тот факт, что Голландия занимает одно из ведущих мест в мире по числу пользователей MSN, а также то, что об угрозе безопасности, которую несли IM-черви, пользователям практически ничего не было известно, неудивительно, что по стране прошла большая волна локальных эпидемий.
Поскольку IRCBot использовались для массовой установки программ класса AdWare (т.е. ПО, предназначенного для демонстрации рекламы) на компьютеры пользователей, очень вероятно, что авторы этих червей хорошо зарабатывали на комиссионных за каждую установку рекламной программы на зараженном компьютере.
В основе червей Prex — третьего из упомянутых выше семейств IM-червей — лежит тот же код, что и в основе семейств Bropia/Kelvir. Поначалу их считали троянскими программами (Trojan-IM), а не IM-червями.
Связано это с тем, что Prex распространяет ссылку не на самого себя, а на IRCBot. По вирусной классификации, принятой в «Лаборатории Касперского» такие программы считаются троянцами, а не червями. Тем не менее, поскольку файлы на веб-сервере всегда можно поменять, было решено причислить это семейство вредоносных программ к категории IM-червей. Дискуссии о том, считать ли эти программы, распространяющиеся через системы мгновенного обмена сообщениями, червями или троянцами, до сих пор не утихли.
Благодаря значительному сходству между семействами Bropia, Kelvir и Prex десятки вариантов червей из всех трех семейств определяются с помощью нашей сигнатуры IM-Worm.Win32.Prex.d.
Социальная революция
В ранних вариантах IM-червей использовались испытанные примитивные методы социальной инженерии, с помощью которых авторы побуждали пользователей пройти по ссылке, рассылаемой червем. Имена файлов (с расширением scr или pif) говорили об их смешном или эротическом содержании, причем особенно активно авторы этих вредоносных программ использовали имя скандально известной красотки Пэрис Хилтон.
Собранные нами данные ясно показывают, что черви, использовавшие расширение pif, вызывали гораздо более масштабные эпидемии, чем те, что использовали расширение scr. Это почти наверняка связано с тем, что пользователи ошибочно считали, что имеют дело с графическим файлом с расширением gif (или tiff).
Вирусописатели более активно использовали расширение pif, поскольку оно представлялось им более перспективным, и число червей, использующих это расширение, значительно возросло. Тем не менее, и черви, использовавшие расширение scr, полностью не исчезли.
Парадоксальным результатом масштабных эпидемий стало снижение эффективности IM-червей. Дело в том, что пользователи стали лучше осведомлены об их опасности, и вероятность заражения уменьшилась. Киберпреступникам пришлось придумывать новые приемы социальной инженерии.
Вирусописатели стали добавлять к ссылке текст, целью которого было убедить пользователей в легитимности сообщения. Свидетельством эффективности такого подхода стал возросший поток информации о заражении пользовательских компьютеров. Однако следующий шаг вирусописателей возымел еще большее действие. В апреле 2005 года нам стали попадаться варианты червя Kelvir, распространявшиеся с помощью ссылки на сервер с поддержкой PHP.
Как в данном случае используется PHP? Прежде всего для создания динамического веб-контента и серверных приложений. Клиент (в данном случае пользователь) может посылать на сервер данные для обработки.
Пример:
Pictures.php это PHP-скрипт, исполняемый на сервере. Все, что находится справа от знака «?», — данные, посылаемые для обработки PHP-скриптом.
Дальнейшее зависит от содержания PHP-скрипта.
В случае IM-червей наиболее распространенный сценарий — включение адреса электронной почты в спамерскую базу данных. Затем пользователю предлагается скачать исполняемый файл — собственно IM-червь.
Kelvir.k распространяется в виде ссылки на [сервер]/pictures.php?email=[адрес электронной почты получателя]. Это пример чрезвычайно изощренной социальной инженерии.
Во-первых, по ссылке не скажешь, что она указывает на исполняемый файл, поэтому вероятность того, что пользователь проследует по ней, возрастает. При этом появляется возможность получить адрес электронной почты пользователя даже в том случае, если предлагаемый для загрузки файл не будет запущен.
Во-вторых, использование адреса электронной почты делает сообщение персонально направленным. В социальной инженерии такая персонализация — ключ к успеху.
В-третьих, у пользователя создается впечатление, что ссылка указывает на размещенную на сервере галерею картинок.
Следующим был обнаружен вариант червя Kelvir с функциональностью «чатбота». Этот червь с помощью стандартных фраз «болтал» с пользователем, прежде чем отправить ему ссылку.
Тем не менее, использование ссылок на PHP-ресурсы было и остается любимым приемом авторов IM-червей, возможно, благодаря своей эффективности. Поскольку такие «php-ссылки» используют массу переменных, которые можно менять, вирусописателям легко использовать эту технологию для целей социальной инженерии.
На сегодняшний день использование IM-червями ссылок на PHP-ресурсы — высшее их достижение с точки зрения социальной инженерии.
AOL Instant Messenger
В первой половине 2005 года стало понятно, что вирусописатели ориентируются прежде всего на MSN, поскольку это дает возможность заразить наибольшее число пользователей. По этой причине, если говорить о социальной инженерии, развитие вредоносного ПО, предназначенного для других интернет-пейджеров, было не столь упорядоченным.
На развитие вредоносных программ для других IM-клиентов один фактор — разбор HTML-документов (HTML parsing) — оказал значительное влияние. Такие клиенты, как AIM (AOL Instant Messenger), поддерживают (на элементарном уровне) HTML-разбор, что дает вирусописателям, прибегающим к социальной инженерии, массу возможностей. HTML-разбор легко использовать для создания «фальшивых» ссылок/URL, по которым получателю захочется пройти.
По всей видимости, тот факт, что MSN не поддерживает HTML-разбор, является одной из трех основных причин явной переориентации вирусописателей с MSN на AIM.
Вторая причина состоит в том, что людей, использующих как MSN, так и AIM, совсем немного. Соответственно, в результате переориентации на AIM вирусописатели получили для своей рыбалки море новых возможностей. А с учетом числа пользователей AIM, особенно в США, потенциальный улов был чрезвычайно велик.
Наконец, третья причина переориентации — в том, что если пользователей AIM ввести в заблуждение оказалось просто, то пользователей MSN обманывать становилось все сложнее. Дело не столько в том, что пользовательское сообщество стало лучше осведомлено о возможных угрозах, сколько в радикальных мерах, принятых самой системой MSN.
Например, в сети MSN стали на уровне сети блокироваться все сообщения, содержащие текст «.pif». Сообщения, в состав которых входит текст «gallery.php» или «download.php», также блокируются. Помимо этих мер, направленных на усиление безопасности, в последних версиях MSN Messenger к пересылке не принимаются файлы, расширение которых указывает на возможную опасность, в частности pif, scr и т.д.
Несмотря на наличие нескольких семейств IM-червей, ориентированных на сеть AIM, их значение в наши дни не слишком велико. Примером может служить достаточно распространенный червь IM-Worm.Win32.Opanki, IRCBot-функциональность которого сводится к загрузке файлов.
Невидимые IM-черви
Несмотря на то, что еще в мае 2005 года нам стали попадаться IM-черви, использующие руткит-технологии для сокрытия своих действий в системе, в этом разделе речь пойдет об иной проблеме.
Одно из интересных различий между вредоносным ПО, распространяющимся через MSN, и вредоносными программами, использующими для размножения AIM, состоит в том, что за распространение MSN-червя обычно отвечает отдельный компонент/файл, в то время как у вредоносных программ, распространяющихся через AIM, эта функция чаще всего интегрирована в тело вредоносной программы, причем процедура распространения часто вторична по отношению к вредоносной составляющей.
Некоторые вредоносные программы такого рода используют для распространения MSN. Например, некоторые варианты червя Mytob также содержат компонент, использующий системы мгновенного обмена сообщениями для размножения. Этот компонент определяется антивирусными программами как Mytob. Тем не менее, число вредоносных программ, использующих для своего распространения AIM, больше. Одно из наиболее примечательных подобных семейств — Backdoor.Win32.Aimbot, типичный IRCBot, способный распространяться через AIM.
Существует также множество SdBot и Rbot, чья способность распространяться через AIM является лишь одним из множества их свойств. Некоторые троянские программы-загрузчики, в частности, семейство Banload, обладают сходным функционалом.
В результате трудно дать точный ответ на вопрос о числе вредоносных программ, способных распространяться с помощью AIM. Ясно одно: таких программ куда больше, чем может показаться на первый взгляд.
Почему же разница в количестве вредоносных программ для MSN и для AIM так велика? В основе практически всех MSN-червей по-прежнему лежит код на Visual Basic, в то время как большинство программ, размножающихся через AIM, написаны на языке C. Использование C дает неопытным вирусописателям возможность копировать исходные коды существующих вредоносных программ при создании IRCBot с сохранением их работоспособности: все популярные IRCBot с открытым исходным кодом написаны на этом языке программирования. Для кодов на Visual Basic подобное копирование не дает результата. Таким образом, большое число вредоносных программ, распространяющихся через AIM — следствие наличия большого количества доступного готового кода.
Развитие технологий
Выше уже шла речь о некоторых аспектах развития технологий, лежащих в основе IM-червей. Далее мы рассмотрим еще несколько интересных особенностей их развития.
В мае 2005 года были обнаружены IM-черви, обладающие расширенной функциональностью. В частности, червь Bropia.ad был способен распространяться через пиринговые (P2P) сети, в то время как в состав червя IM-Worm.Win32.Kelvir.bm входил руткит.
Пакеты из IM-червей и бэкдоров, такие как Kelvir и Bropia, последнее время потеряли былую популярность. По всей видимости, вирусописатели пришли к раздельному использованию этих вредоносных программ по нескольким причинам.
Рассмотрим часто встречающийся в наши дни сценарий.
Пользователь получает ссылку через систему мгновенного обмена сообщениями, проходит по ней и попадает на сайт, содержащий эксплойт, позволяющий автоматически установить вредоносное ПО на его компьютере. Возможен также вариант, когда пользователю предлагается загрузить и/или установить исполняемый файл, т.е. IRCBot.
После запуска бэкдор автоматически загружает IM-червь или получает команду на его загрузку через IRC-канал.
Хотя такие черви по-прежнему очень похожи на Kelvir, есть одно существенное отличие — они распространяются только по команде.
Червь приступает к распространению только после получения через канал от IRC-оператора (бот-мастера) конкретной команды. В частности, он может быть отправлен на конкретный пользовательский компьютер. Необходимо отметить, что в таких случаях червь распространяется в виде ссылки на бэкдор, а не на себя самого.
У такого подхода есть несколько преимуществ.
- Если команда на загрузку передается через IRC-канал, то получение образцов соответствующих файлов специалистами по информационной безопасности — лишь дело времени. Специалисты по безопасности зачастую обращаются к хостинг-провайдерам, на серверах которых размещаются вредоносные файлы, с просьбами о прекращении обслуживания подобных сайтов. Обнаружив, что сайт перестал работать, бот-мастер может загрузить вредоносный файл на другой сервер и изменить ссылку для загрузки этого файла, используемую IRCBot. Это позволяет обеспечить дальнейший рост ботнета.
- Антивирусным компаниям может оказаться сложнее получить образцы IM-червей. В результате на создание и выпуск процедур их обнаружения может уйти больше времени.
Но самое важное достоинство данного подхода — возможность управлять размером ботнета. Первые варианты червя Kelvir распространялись бесконтрольно. А если инструкцию на распространение получают лишь один или два IRCBot, можно избежать масштабной эпидемии, которая привлечет внимание антивирусных компаний, правоохранительных органов и СМИ.
Некоторые варианты червей Kelvir и Opanki способны рассылать динамические сообщения и/или ссылки на доступные для загрузки файлы. Это позволяет ботмастеру полностью управлять информацией, рассылаемой IM-червем. Для распространяемых через AIM бэкдоров такое решение стало вполне стандартным.
Наконец, в январе 2006 года мы столкнулись с IRCBot.lo.
Эта вредоносная программа способна не только рассылать ссылки через разные IM-сети, но и варьировать как текст сообщения, так и саму ссылку. Вероятно, это вершина развития функциональности IM-червей.
Заключение
В настоящей статье не рассмотрены другие вредоносные программы, такие как Trojan-PSW.Win32.PdPinch, распространяющийся через ICQ и вызывающий серьезные проблемы в России и некоторых странах за пределами Европы. Тем не менее, мы постарались дать читателю общее представление об IM-червях.
С тех пор как впервые появились IM-черви, произошли большие изменения в способах их распространения, сложности их кода и выборе IM-сетей для их распространения. Кроме того, использование динамических сообщений позволяет продлить жизненный цикл вредоносных программ и ботнетов, а управляемое распространение помогает вирусописателям не привлекать к себе внимания.
В большинстве случаев IM-черви нужно рассматривать не как отдельные вредоносные программы, а как вспомогательный инструмент для распространения IRCBot.
Появление IRCBot.lo показывает, что сети мгновенного обмена сообщениями еще не исчерпали себя как среда для распространения вредоносного ПО. Кроме того, этот код легко поддается копированию, что может привести к значительному росту числа IRCBot, способных рассылать ссылки во всех крупных IM-сетях. Поэтому вероятно, что в будущем вирусописатели будут все в большей степени ориентироваться и на другие IM-сети.
Способность распространяться через системы мгновенного обмена сообщениями — это свойство, которое вирусописатели, несомненно, продолжат использовать в многофункциональных червях IRCBot. При этом вредоносные программы, созданные только для распространения через сети мгновенного обмена сообщениями (такие как ранние варианты IM-червей), по всей вероятности, продолжат постепенно вымирать.
IM-червь вымирает?