Pro Вирусы - Валентин Холмогоров 9 стр.


Наиболее часто административный интерфейс управляющего сервера ботнета реализован в виде набора сценариев на языке PHP или с использованием другого скриптового языка, и в целом напоминает административный раздел стандартных систем управления контентом (CMS, Content Management Systems). Авторизовавшись на сервере, злоумышленник получает доступ к статистике ботнета - на специальной страничке, как правило, отображается общее количество установленных и активных ботов, перечень последних выполненных ботами команд, данные об успешности/провале завершения этих операций, в некоторых случаях (если ботнет связан с какой-либо "партнерской программой") - полученный злоумышленниками совокупный доход. В отдельном разделе "админки" киберпреступник может отдать ботам соответствующие команды, просто набрав их в специальной экранной форме.

Однако способ трансляции команд ботнету может значительно различаться в зависимости от используемого бот-сетью для передачи данных протокола. Все команды можно условно разделить на две категории:

директивы, общие для всего ботнета;

команды, отдаваемые отдельным подсетям или ботам.

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

SYN Flood - отсылка определенным образом сформированных пакетов на атакуемый узел до тех пор, пока тот не перестанет отвечать на запросы.

UDP Flood - бот устанавливает соединение с атакуемым сервером по протоколу UDP, после чего отправляет ему большое количество "мусорных" дейтограмм.

Ping Flood - троянец формирует эхо-запрос с использованием протокола ICMP, который направляется с определенным временным интервалом на атакуемый узел.

DNS Amplification - троянцы отсылают массированные запросы на указанные злоумышленниками серверы DNS с целью вызвать их отказ.

NTP Amplification - отправка массированных запросов на серверы NTP с целью вызвать их отказ.

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

Существуют и оригинальные виды команд, которые могут выполнять некоторые вредоносные программы. Например, предназначенный для рассылки спама и организации DDoS-атак многокомпонентный троянец Trojan.Tofsee обладает некоторыми функциями антивируса: он умеет искать на диске зараженного компьютера файлы по полученному с управляющего сервера списку, отслеживать запущенные в Windows процессы и проверять содержимое системного реестра с одной любопытной целью: отыскания и уничтожения конкурирующих угроз. Таким образом, создатели троянца реализуют своего рода естественный отбор в экосистеме инфицированной машины - устраняя "чужие" вредоносные программы, так или иначе проявляющие активность, Trojan.Tofsee борется за собственную "выживаемость". Следует отметить, что это далеко не единственный подобный случай: специалистам антивирусных компаний известно множество вирусов и троянцев, способных устранять на зараженном ПК другие работающие вредоносные программы в целях конкурентной борьбы за аппаратные ресурсы машины, а также в попытках скрыть от пользователя сам факт заражения.

Методика перехвата управления ботнетами (sinkhole)

Как уже упоминалось ранее, технология DGS обладает рядом архитектурных особенностей, позволяющих специалистам по информационной безопасности успешно перехватывать управление ботнетами. При этом под "перехватом" понимается получение полного управления и контроля над бот-сетью с возможностью не только осуществлять мониторинг и отслеживать состояние сети, но и отдавать команды ботам. Один из наиболее распространенных методов носит наименование sinkhole (англ., "выгребная яма").

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

В частности, с использованием этого метода сотрудникам российской антивирусной компании "Доктор Веб" удалось перехватить управление несколькими подсетями ботнета Rmnet, бот-сетью Linux.Sshdkit, а также угрожавшим пользователям компьютеров Apple обширным ботнетом BackDoor.Flashback.39.

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

В случае с бот-сетями, использующими пиринговые технологии, использование описанного здесь метода, безусловно, невозможно. Вместе с тем, у специалистов по информационной безопасности остается возможность отправлять таким ботам различные команды, например, запрос, в ответ на который вредоносная программа вернет список IP-адресов других зараженных машин, что позволяет оценить размеры ботнета и его географию. Также можно передать ботам список IP-адресов, принадлежащих вирусным аналитикам компьютеров, выполняющих в такой бот-сети функцию маршрутизаторов (узлов Node) с тем, чтобы к ним обращались инфицированные машины, не имеющие выделенного IP-адреса или расположенные в сети, использующей NAT. Это нельзя назвать "перехватом управления" бот-сетью, однако подобный метод позволяет получить достоверное представление о масштабах распространения угрозы.

Глава 5. Технологии проникновения

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

Сменные носители информации

Файловые вирусы и черви умеют распространяться самостоятельно, заражая переносные накопители информации - флэшки, sd-карты, даже мобильные телефоны и планшеты, подключаемые к зараженному компьютеру для обмена файлами, например, чтобы скачать на ПК фотографии, или, наоборот, закачать на переносное устройство музыку. Впоследствии достаточно подключить такое инфицированное устройство к компьютеру, и его заражение с большой долей вероятности произойдет автоматически. Выбор устройства для заражения троянец обычно осуществляет путем перечисления имен дисков, содержащих значение "USB", а также смонтированных в системе разделов и логических дисков в поисках съемных накопителей.

Некоторые вредоносные программы просто копируют себя на съемный носитель, а затем создают в его корневой папке файл autorun.inf, автоматически запускающий троянца или червя при обращении к такому накопителю. В некоторых версиях Windows (например, ранних версиях Windows XP) запуск мог осуществиться и вовсе в момент подключения такого устройства к компьютеру.

Другие вредоносные программы могут, например, переместить в Корзину (или скрытую папку с атрибутами "system" и "hidden") все находящиеся на съемном носителе файлы и директории, а затем создать вместо них ссылающиеся на исполняемый файл троянца пусковые ярлыки с теми же именами, по щелчку мышью на которых сначала запускается троянец, а потом открывается уже исходный файловый объект. Щелкнув мышью на таком ярлыке в попытке, например, открыть папку или просмотреть фотографию, не слишком искушенный пользователь запустит троянца на исполнение.

Некоторые черви, активно распространявшиеся ранее, аналогичным образом заражали системную папку Windows, использовавшуюся в качестве буферной при записи компакт-дисков (%userprofile%\Local Settings\Application Data\Microsoft\CD Burning\). Таким образом, все CD или DVD-диски, записанные на зараженном компьютере, также автоматически оказывались инфицированными и содержали файл autorun.inf, запускавший троянца при помещении диска в оптический привод. В наши дни, в связи с распространением флэш-накопителей и карт памяти, технология CD/DVD постепенно отмирает, и этот вектор атак сейчас уже можно назвать архаичным.

Вредоносные почтовые рассылки

Пожалуй, это самый популярный на сегодняшний день метод распространения вредоносных программ. Злоумышленники рассылают червей и троянцев под видом каких-либо документов: счетов, извещений о почтовых отправлениях, сообщений с просьбой подтвердить заказ в интернет-магазине, даже уведомлений о штрафах и судебных исках. Нередко вирусы и троянские программы приходят по электронной почте под видом предложения о знакомстве с приложенными "фотографиями", вместо которых, как правило, оказывается вредоносное вложение. При этом в тексте таких сообщений нередко присутствует ссылка якобы на профиль отправителя на сайте знакомств или в социальной сети. Переход по такой ссылке, как правило, также чреват заражением компьютера.

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

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

Тема: Процесс №315

Уведомление о начале судебного разбирательства

Здравствуйте.

Поскольку ваша финансовая задолженность не была урегулирована в добровольном порядке, новый кредитор вынужден прибегнуть к принудительным мерам взыскания, предусмотренным законодательством Российской Федерации: направлению выездных групп по адресу регистрации, судебному разбирательству, инициированию исполнительного производства до полного погашения задолженности. Напоминаем Вам, что в случае Вашего неучастия в процессе, решение суда может быть вынесено заочно, что может повлечь за собой принудительное исполнение решения суда. Всю информацию о ходе предварительного судебного производства и сроках рассмотрения, включая копию искового заявления, Вы можете получить ознакомившись с приложенной к настоящему письму документацией или перейдя по ссылке находящейся в конце этого письма.

Это письмо создано автоматической системой и не требует ответа.

Как правило, вредоносные сообщения содержат вложение либо в виде zip-архива (в целях затруднения его детектирования некоторыми антивирусными программами, которые способны анализировать почтовый трафик), либо в виде исполняемого .exe, .bat или .scr-файла. В ряде случаев сообщение может содержать крошечный VBS-скрипт, который скачивает исполняемый файл троянца из Интернета и запускает его на исполнение. Также злоумышленники нередко рассылают настоящие документы в формате Microsoft Office (.doc/.docx, .xls/.xlsx) или PDF-файлы, запускающие вредоносный компонент с использованием уязвимостей в прикладном ПО.

Уязвимости

Общеизвестно, что и операционные системы, и прикладные программы создаются программистами, а программистам, как и всем людям, свойственно допускать ошибки. Некоторые скрытые ошибки в коде приложений или самой системы, называемые уязвимостями, злоумышленники и используют в своих целях, при этом заражение зачастую происходит автоматически, без участия жертвы, при выполнении каких-либо рутинных действий, например, в момент открытия веб-страницы в окне браузера или текстового документа - в окне Microsoft Word. Яркий пример - уязвимость в ранних версиях Android, позволявшая сохранять внутри установочного .apk-файла с дистрибутивом программы два элемента с одинаковым именем, при этом сама ОС Android в процессе инсталляции такой программы проверяла первый элемент, а устанавливала и запускала - второй. С помощью эксплуатации этой уязвимости у вирусописателей появилась возможность заражать троянцами множество устройств, работающих под управлением ОС Android.

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

Злоумышленники специально выискивают уязвимости в операционных системах и прикладных программах с целью распространения вирусов и троянцев. Самый простой метод такого поиска - анализ выпускаемых производителями софта обновлений. Например, киберпреступник может проанализировать содержимое опубликованного корпорацией Microsoft критического обновления безопасности для ОС Windows, заменяющего несколько системных динамических библиотек. Сравнив "старую" версию этих файлов с обновленной, злодей может без труда выяснить, в чем именно заключалась ликвидируемая обновлением уязвимость. До тех пор, пока все пользователи Windows не установят это обновление, они являются беззащитными для целевой атаки в данном направлении. А это сотни миллионов компьютеров по всему миру.

Программа, файл, электронный документ, фрагмент исполняемого кода или последовательность команд, использующая ту или иную уязвимость для реализации различных вредоносных функций, называется эксплойтом, эксплоитом, или сплоитом (от англ. exploit, "эксплуатировать"). Например, возможность устаревших версий текстового редактора Microsoft Word автоматически запускать встроенные в документы .doc макросы - это уязвимость. А сам документ, в момент открытия сохраняющий при помощи макроса на диск компьютера и запускающий опасного троянца - это эксплойт.

В качестве еще одного примера можно назвать уже давно устаревший метод атаки, при которой злоумышленники рассылали пользователям Outlook письма в формате HTML, "прячущие" в себе скрытый фрейм. Поскольку эта почтовая программа ранних версий не умела правильно обрабатывать такие письма, из скрытого фрейма вызывался вредоносный скрипт, который загружал из Интернета троянца на пользовательскую машину и запускал его на выполнение. Это и был эксплойт - один из самых распространенных, с которыми многие наши соотечественники сталкивались на практике в начале "нулевых". Можно сказать, что притчей во языцех стали и многочисленные эксплойты, реализованные в виде документов в формате Adobe PDF или встраиваемых в веб-страницы интерактивных элементов в формате Adobe Flash - подобные творения злоумышленников появляются с завидной регулярностью, поскольку некоторые (особенно устаревшие) продукты корпорации Adobe с точки зрения информационной безопасности являются лакомой приманкой для злоумышленников.

Назад Дальше