Технологии вредоносных программ и угрозы информационной безопасности
Общие тенденции развития вредоносных программ
Троянские программы для шантажа и вымогательства
Инжектирование программного кода как метод скрытого запуска
Новые методы воровства WebMoney
Детектирование отладчиков и виртуальных ПК
Распространение вредоносных программ при помощи интернет-пейджеров
Данная статья посвящена анализу современных технологий, представляющих угрозу для безопасности компьютера, и основных тенденций развития вредоносных программ в 2006 году.
Общие тенденции развития вредоносных программ
За 2006 год автором было обнаружено и проанализировано 49 697 уникальных разновидностей вредоносных программ, причем 47 907 из них принадлежат к основным семействам. По результатам их анализа построена диаграмма, отражающая процентный состав вредоносных программ по семействам за год (рис. 1).
Рис. 1. Процентный состав ITW-образцов по семействам
Как видно из диаграммы, 37% всех исследованных программ составляют вредоносные программы типа Trojan-Downloader. Это устойчивая тенденция, которая прослеживается с 2005 года и связана с тем, что Trojan-Downloader применяются для установки вредоносных программ, обновления их версий и восстановления в случае удаления антивирусом. Большинство исследованных случаев поражения компьютера вредоносным ПО влечет за собой именно запуск Trojan-Downloader, вследствие применения эксплойта или методов социальной инженерии. Следующими по распространенности являются почтовые и сетевые черви, троянские программы различных типов и программы класса Dialer.
Статистический анализ динамики обнаружения ITW (in the Wild) образцов показывает, что разработчики вредоносных программ взяли на вооружение и активно применяют новую технологию борьбы с сигнатурными сканерами. Методика ее крайне проста и заключается в том, что разработчик создает сотни вариантов одной и той же вредоносной программы в течение небольшого промежутка времени. Наиболее простые методы получения различных вариантов следующие:
- переупаковка различными упаковщиками и криптерами — может выполняться периодически или в момент запроса файла, набор упаковщиков и их параметров может варьироваться случайным образом. Нередко авторы вредоносных программ применяют модифицированные упаковщики и криптеры, что затрудняет их проверку;
- перекомпиляция файла с внесением модификаций, достаточных для того, чтобы изменились сигнатуры файла, по которым производится его детектирование;
- помещение вредоносного файла в инсталляционный пакет, созданный при помощи инсталляторов типа NSIS (Scriptable Installation System). Наличие открытого исходного кода инсталлятора позволяет немного его модифицировать, что сделает невозможным автоматическую распаковку и анализ в ходе антивирусной проверки.
Перечисленные методики давно известны и могут применяться в различных сочетаниях, что позволяет автору вредоносной программы без особого труда создавать сотни вариантов одной и той же программы без применения классических полиморфных методик. Проследить это можно на примере Trojan-Downloader. Win32.Zlob. Рассмотрим статистику его обнаружений за последние 40 дней (рис. 2).
Рис. 2. Динамика обнаружения Trojan-Downloader.Win32.Zlob за 40 дней
За этот период автором было обнаружено 2198 ITW-образцов Trojan-Downloader.Win32. Zlob, из которых 1213 — уникальные. На графике показаны две кривые: количество обнаружений в день и количество уникальных разновидностей файлов. Из графика видно, что примерно каждый второй обнаруженный ITW-образец является уникальным файлом, и эта зависимость стабильно сохраняется в течение месяца. Если опираться на классификацию «Лаборатории Касперского», то рассмотренные 1213 образцов принадлежат к 169 подразновидностям данной вредоносной программы. Подобная статистика весьма показательна: существует множество вредоносных программ, для которых ежедневно обнаруживаются десятки новых модификаций.
Другую характерную тенденцию можно проследить на примере почтового червя Warezov. За месяц автором зафиксировано 5333 ITW-образцов, из них 459 — уникальные. График распределения активности показан на рис. 3.
Рис. 3. Активность почтового червя Warezov
Зубцы на графике — это периоды эпидемий, которые связаны с появлением новых разновидностей червя (в данном случае: Email-Worm.Win32.Warezov.gj, Email-Worm.Win32. Warezov.fb, Email-Worm.Win32.Warezov.hb). Из графика видно, что активная эпидемия длится в среднем 2-5 дней, после чего количество обнаружений Warezov падает до «фонового» уровня — 10-30 образцов в день. Появление подобных всплесков вполне объяснимо — новая разновидность червя не детектируется антивирусами, в результате червь поражает массу ПК и начинается эпидемия. Она быстро развивается, однако в течение дня сигнатуры червя попадают в базы антивирусов и эпидемия быстро идет на спад.
Отдельно следует отметить активное распространение троянских программ категории Trojan-SPY — шпионов, ворующих персональные данные пользователей. Среди них выделяется знаменитый Goldun, осуществляющий кражу информации об учетных записях системы e-gold. Последние варианты этой троянской программы активно применяют руткит-технологии для маскировки и шпионажа (рис. 4).
Рис. 4. График активности Trojan-SPY за последний месяц
Анализ технологий, используемых создателями вредоносных программ, показывает, что за 2006 год не придумано никаких революционно новых технологий — разработчики вредоносного ПО берут количеством, а не качеством. Тем не менее появилось несколько новинок, которые заслуживают более подробного обсуждения.
В заключение рассмотрим сводный усредненный график, построенный по данным авторской системы автоматического мониторинга вирусной активности (рис. 5).
Рис. 5. Статистика системы автоматического поиска вредоносных программ за последние 40 дней
Из графика видно, что автоматической системой в день регистрируется в среднем около 400 новых уникальных разновидностей вредоносных программ.
Rootkit-технологии
В 2006 году наблюдалось развитие и совершенствование различных типов руткитов и руткит-технологий. Эти технологии применяют многие вредоносные программы, причем существует несколько их направлений:
- руткит-технологии для маскировки, основное назначение которых — маскировка присутствия вредоносной программы и ее компонентов на диске и в памяти, а также маскировка ключей в реестре. Для решения этой задачи чаще всего используется перехват API-функций, причем в современных руткитах встречаются весьма изощренные методики перехвата, например внедрение кода в неэкспортируемые функции ядра, перехват прерывания Int2E, модификация SYSENTER. Отдельно следует отметить DKOM-руткиты (Direct Kernel Object Manipulation), которые приобретают все большую популярность;
- руткит-технологии для шпионажа — как следует из названия, они применяются для слежения за работой пользователя и сбора конфиденциальной информации. Наиболее характерный пример — Trojan-Spy.Win32.Goldun, который по руткит-принципу перехватывает обмен приложений с Интернетом для поиска в потоке передаваемой информации реквизитов кредитных карт пользователя.
Рассмотрим подробнее DKOM-руткиты. Принцип их работы основан на модификации системных структур, описывающих процессы, драйверы, потоки и дескрипторы. Подобное вмешательство в системные структуры, естественно, является недокументированной и весьма некорректной операцией, однако система после подобного вмешательства продолжает более или менее стабильно работать. Практическим последствием такого вмешательства является то, что у злоумышленника появляется возможность манипулирования структурами ядра в собственных целях. Например, для каждого из запущенных процессов в ядре заводится структура EPROCESS, хранящая массу информации о процессе, в частности его идентификатор (PID) и имя процесса. Эти структуры образуют двусвязный список и используются API-функциями, возвращающими информацию о запущенных процессах. Для маскировки процесса DKOM-руткиту достаточно удалить его структуру EPROCESS из списка. Реализация подобной маскировки крайне проста, и в Интернете можно найти десятки готовых реализаций с исходными текстами. Более сложные руткиты не ограничиваются удалением структуры маскируемого объекта из списка — они искажают содержащиеся в ней данные. В результате даже если антируткит сможет найти замаскированный процесс или драйвер, то он получит о нем неверную информацию. Ввиду простоты реализации подобные руткиты приобретают все большую популярность, и бороться с ними становится все сложнее. Исследования показали, что наиболее эффективным методом противодействия им является установка в систему монитора, следящего за запуском/завершением процессов и загрузкой/выгрузкой драйверов. Сравнение собранной подобным монитором информации с данными, возвращаемыми системой, позволяет обнаружить произведенные DKOM-руткитом модификации, понять их характер и обнаружить замаскированные процессы и драйверы.
Hoax-программы
Направление Hoax-программ продолжает активно развиваться, поэтому можно уверенно прогнозировать рост этого семейства в 2007 году. В буквальном переводе Hoax — это обман; ложь, мистификация, неправда. Идея Hoax-программ — обман пользователя, чаще всего с целью получения прибыли или похищения конфиденциальной информации. В последнее время наблюдается тенденция криминализации этой отрасли: если еще год назад большинство Hoax-программ производили сравнительно безобидные действия, имитируя заражение компьютера вирусами или SpyWare-кодом, то современные все чаще нацелены на похищение паролей или конфиденциальной информации. Пример такой программы показан на рис. 6.
Рис. 6. Окно программы Hoax.Win32.Delf
Как следует из окна программы и ее описания, это генератор лицензий для «Антивируса Касперского». Программа предлагает для получения сгенерированной лицензии ввести адрес своей электронной почты и пароль на доступ к почтовому ящику. Если доверчивый пользователь сделает это и нажмет кнопку «Получить шифр», то введенные им данные будут переданы злоумышленнику по электронной почте. Подобных программ за прошедший год обнаружено более сотни: это разнообразные «креки», генераторы карт оплаты сотовых операторов, генераторы номеров кредитных карт, средства «взлома» почтовых ящиков и т.п. Общая черта подобных программ — обман пользователя, нацеленный на то, чтобы он самостоятельно ввел некую конфиденциальную информацию. Вторая характерная черта Hoax-приложений — их примитивность: они содержат массу ошибок и некорректностей в программном коде. Подобные программы зачастую создают начинающие вирусописатели.
Тенденцию развития Hoax-программ можно рассмотреть на примере Hoax.Win32.Renos (рис. 7).
Рис. 7. Динамика обнаружения Hoax.Win32.Renos за последние 30 дней
Из графика видно, что автором в день обнаруживается, как минимум, одна новая уникальная разновидность этой вредоносной программы, а всего за месяц наблюдается 60 новых уникальных вариантов, входящих в 18 подразновидностей по классификации «Лаборатории Касперского».
Троянские программы для шантажа и вымогательства
Программы данной разновидности впервые появились пару лет назад. Их основная цель — прямой шантаж пользователя и вымогание у него денег за восстановление работоспособности компьютера или расшифровку информации, закодированной троянской программой. Наиболее часто автору приходится получать отчеты и запросы о помощи от пользователей, пострадавших от трояна Trojan.Win32.Krotten, вымогавшего 25 WMZ за восстановление работоспособности компьютера. Эта троянская программа крайне примитивна по устройству, и вся ее работа сводится к модификации сотни ключей в реестре (с подробным описанием одной из ее разновидностей можно ознакомиться по адресу: http://www.z-oleg.com/secur/virlist/vir1180.php). Особенность троянских программ этого семейства состоит в том, что для лечения компьютера не достаточно поиска и уничтожения трояна — необходимо еще восстановить повреждения, нанесенные им системе. Если создаваемые трояном Krotten повреждения реестра устранить довольно легко, то зашифрованную информацию восстановить гораздо сложнее. Например, создатель шифрующей данные пользователя троянской программы Gpcode постепенно увеличивает длину ключа шифрования, бросая тем самым вызов антивирусным компаниям. Подробнее о данном трояне можно прочитать в статье «Шантажист» по адресу: http://www.viruslist.com/ru/analysis?pubid=188790045.
Инжектирование программного кода как метод скрытого запуска
Данная технология наиболее ярко прослеживается в современных Trojan-Downloader, однако постепенно она начинает внедряться в других вредоносных программах. Методика ее сравнительно проста: вредоносная программа условно состоит из двух частей — «инжектора» и троянского кода. Задача «инжектора» заключается в распаковке и расшифровке троянского кода и его внедрении в некий системный процесс. На этой стадии изученные вредоносные программы различаются методикой внедрения троянского кода:
- внедрение путем подмены контекста — принцип такого внедрения предполагает подготовку и расшифровку троянского кода (шаг 1), запуск любого системного процесса, причем при создании процесса он создается в «спящем» (suspended) режиме (шаг 2). Далее инжектор внедряет троянский код в память процесса (причем такое внедрение может производиться поверх машинного кода процесса), после чего модифицирует контекст главного потока таким образом, чтобы управление получал троянский код (шаг 3). После этого запускается главный поток и выполняется троянский код. Данный метод интересен тем, что любой диспетчер процессов будет показывать выполнение легитимной программы (скажем, svchost.exe), но при этом вместо машинного кода легитимной программы в памяти будет находиться и исполняться троянский код. Данный метод позволяет обходить брандмауэры, не обладающие средствами контроля за модификацией памяти процесса и контекста его потоков (рис. 8);
Рис. 8. Внедрение подменой контекста
- внедрение троянских потоков — данный метод идеологически похож на предыдущий, но вместо замены машинного кода процесса троянским и его выполнения в главном потоке производится создание дополнительного потока, в котором выполняется троянский код (шаг 2). Этот метод часто применяется для инжектирования троянского кода в уже существующий процесс без нарушения его работы (рис. 9).
Рис. 9. Внедрение методом создания троянского потока
Новые методы воровства WebMoney
В конце 2006 года был обнаружен новый, достаточно оригинальный метод воровства денег в системе WebMoney. Он основан на внедрении на компьютер пользователя небольшой троянской программы, которая отслеживает, открыто ли окно программы WebMoney. В случае если оно открыто, осуществляется мониторинг буфера обмена. При обнаружении в буфере текста, начинающегося с «Z», «R» или «E», троянская программа считает, что это номер кошелька получателя, который пользователь скопировал в буфер обмена для ввода в окне WebMoney. Этот номер удаляется из буфера и заменяется на номер «Z», «R» или «E» кошелька злоумышленника. Метод крайне прост в реализации и может быть достаточно эффективным, поскольку номера кошельков действительно чаще всего не вводятся, а копируются через буфер и далеко не все пользователи тщательно проверяют, тот ли номер кошелька вставился из буфера. Данный троян является наглядной демонстрацией изобретательности разработчиков троянских программ.
Детектирование отладчиков и виртуальных ПК
Методики борьбы с отладчиками, эмуляторами и виртуальными компьютерами известны давно. Их применение затрудняет анализ вредоносной программы для начинающего специалиста, поэтому подобные технологии давно и достаточно успешно применяются разработчиками вредоносного ПО. Однако за прошедший год наметилась новая тенденция: вредоносные программы стали пытаться определять тип компьютера — реальное это железо или эмуляция, созданная программами типа Virtual PC или VMWare. Подобные виртуальные ПК довольно активно применялись и применяются администраторами для изучения подозрительных программ. При наличии проверки в случае запуска на виртуальном ПК (как вариант — под отладчиком) вредоносная программа может просто аварийно завершить свою работу, что помешает произвести ее изучение. Кроме того, подобная проверка нанесет удар по системам типа Norman Sandbox, поскольку их принцип эвристического анализа, в сущности, состоит в запуске изучаемой программы на эмуляторе и исследовании ее работы. В конце года специалисты института SANS Том Листон (Tom Liston) и Эд Скудис (Ed Skoudis) опубликовали весьма интересный отчет с описанием техники обнаружения виртуальных машин и борьбы с методами обнаружения. Документ можно скачать с сайта SANS — http://handlers.sans.org/tliston/ThwartingVMDetection_Liston_Skoudis.pdf.
Спам-боты и троянские прокси
Спам-бот — это автономная троянская программа, предназначенная для автоматической рассылки спама с пораженного компьютера. Троянский прокси — это вредоносная программа с функциями прокси-сервера, ее функционирование на пораженном компьютере позволяет злоумышленнику использовать его как прокси-сервер для рассылки спама, проведения атак на другие компьютеры и совершения иных противоправных действий. Многие современные спам-боты активно маскируют свое присутствие по руткит-технологиям и защищаются от удаления. Статистика показывает, что в месяц обнаруживается более 400 ITW-разновидностей подобных программ, из которых порядка 130 являются новыми, уникальными.
Спам-бот представляет большую угрозу для корпоративных сетей, поскольку его работа приводит к следующим последствиям:
- большому расходу сетевого трафика — в большинстве городов России пока отсутствуют безлимитные тарифы, поэтому наличие в сети нескольких пораженных компьютеров может привести к ощутимым финансовым убыткам за счет расходования трафика;
- многие корпоративные сети для выхода в Интернет используют статические IP-адреса и собственные почтовые серверы. Следовательно, в результате деятельности спам-ботов эти IP-адреса быстро попадут в черные списки антиспам-фильтров, а значит, почтовые серверы в Интернете перестанут принимать почту от корпоративного почтового сервера компании. Исключить свой IP-адрес из черного списка можно, но достаточно сложно, а в случае наличия в сети работающих спам-ботов это будет временной мерой.
Методы противодействия спам-ботам и троянским прокси весьма просты: необходимо блокировать порт 25 для всех пользователей, а в идеале — вообще запретить им прямой обмен с Интернетом, заменив его работой через прокси-серверы. Например, в Смоленскэнерго все пользователи работают с Интернетом только через прокси с системой фильтров, причем ежедневно производится полуавтоматическое изучение протоколов, которое выполняется дежурным администратором-системщиком. Применяемый им анализатор позволяет легко обнаружить аномалии в трафике пользователей и своевременно принять меры по блокированию подозрительной активности. Кроме того, отличные результаты дают IDS-системы (Intrusion Detection System), изучающие сетевой трафик пользователей.
Распространение вредоносных программ при помощи интернет-пейджеров
По собранной в течение года статистике интернет-пейджеры все чаще применяются для внедрения вредоносных программ на компьютеры пользователей. Методика внедрения представляет собой классическую социальную инженерию. С зараженного компьютера от имени ICQ его владельца вредоносная программа рассылает сообщения, призывающие под тем или иным предлогом открыть указанную ссылку. Ссылка ведет на троянскую программу (обычно со смысловым именем типа picture.pif или flash_movie.exe) или на сайт, страницы которого содержат эксплойты. Следует особо отметить тот факт, что распространяются именно ссылки на вредоносные программы, а не их тела.
За прошедший год было зафиксировано несколько эпидемий, основанных на таком принципе. В России пострадавшими в основном были пользователи ICQ, а распространялись таким образом чаще всего программы категории Trojan-PSW — троянские программы, ворующие пароли пользователя. Автор в среднем получает от одного до десяти сообщений в день, причем к концу года наблюдается активизация подобных рассылок.
Защита от вредоносных программ данного типа крайне проста — не следует открывать подобные ссылки. Однако статистика показывает, что любопытство пользователей нередко перевешивает, там более если сообщения приходят от имени хорошо известного им человека. В корпоративной среде эффективной мерой является запрет на применение интернет-пейджеров, поскольку в плане безопасности они являются идеальным каналом утечки информации.
USB flash-носители
Существенное падение цен на flash-носители (а также рост их объема и быстродействия) привело к закономерному эффекту — бурному росту их популярности среди пользователей. Соответственно разработчики вредоносных программ стали создавать программы, заражающие flash-диски. Принцип работы таких программ крайне прост: в корне диска создаются два файла — текстовый файл autorun.inf и копия вредоносной программы. Файл autorun применяется для автозапуска вредоносной программы при подключении диска. Классическим примером такой вредоносной программы является почтовый червь Rays. Важно отметить, что в качестве носителя вируса могут выступать цифровой фотоаппарат, многие сотовые телефоны, MP3-плееры и КПК — они, с точки зрения компьютера (и соответственно червя), неотличимы от flash-диска. При этом наличие вредоносной программы никак не сказывается на работе этих устройств.
Мерой защиты от подобных программ может служить отключение автозапуска, применение антивирусных мониторов для своевременного обнаружения и удаления вируса. Перед угрозой притока вирусов и утечки информации многие компании идут на более жесткие меры — блокируют возможность подключения USB-устройств при помощи специализированного ПО или блокировки USB-драйверов в настройках системы.
Заключение
В данной статье были рассмотрены основные направления развития вредоносных программ. Их анализ позволяет сделать несколько прогнозов:
- можно предположить, что будет активно развиваться направление маскировки от сигнатурных сканеров и защиты от запуска на виртуальных компьютерах и эмуляторах. Следовательно, для борьбы с такими вредоносными программами на первое место выходят различные эвристические анализаторы, брандмауэры и системы проактивной защиты;
- наблюдается явная криминализация отрасли разработки вредоносных программ, растет доля спам-ботов, троянских прокси, троянских программ для воровства паролей и персональных данных пользователей. В отличие от вирусов и червей, подобные программы могут нанести пользователям ощутимый материальный ущерб. Развитие отрасли троянских программ, осуществляющих шифровку данных пользователям, заставляет задуматься о целесообразности периодического резервного копирования, которое сводит фактически к нулю ущерб от подобного трояна;
- анализ случаев заражения компьютеров показывает, что нередко злоумышленники осуществляют взлом web-серверов для размещения на них вредоносных программ. Такой взлом гораздо опаснее так называемого дефейса (подмены стартовой страницы сайта), поскольку компьютеры посетителей сайта могут подвергаться заражению. Можно предположить, что данное направление будет развиваться весьма активно;
- flash-диски, цифровые фотоаппараты, MP3-плееры и КПК становятся все большей угрозой для безопасности, поскольку могут выступать носителями вирусов. Многие пользователи недооценивают опасность, исходящую, скажем, от цифрового фотоаппарата, — однако автору за 2006 год довелось изучить не менее 30 инцидентов, связанных с подобными устройствами;
- анализ устройства и принципов работы вредоносных программ показывает, что защититься от них можно без антивируса — они просто не смогут функционировать в грамотно настроенной системе. Основное правило защиты — это работа пользователя под ограниченной учетной записью, которая, в частности, не имеет привилегий на запись в системные папки, на управление службами и драйверами, а также на модификацию системных ключей реестра.