В течение последних месяцев мы не замечали ничего интересного среди червей, написанных на Java и скриптовых языках, таких как JavaScript и VBScript. Основной причиной этого была невысокая квалификация вирусописателей, которые выпускали в свет ничем не примечательные творения. Но не так давно наше внимание привлекла парочка образцов, сложность которых свидетельствует о том, что за дело берутся и профессионалы.
Наши продукты детектируют этих особенных червей как Worm.JS.AutoRun и Worm.Java.AutoRun. Также они детектируются эвристическими методами как HEUR:Worm.Script.Generic и HEUR:Worm.Java.Generic соответственно.
Червей объединяет следующее: сильная обфускация, основной функционал, относящийся к функционалу бэкдора, и способ распространения. Оба зловреда распространяются с помощью копирования себя и конфигурационного файла autorun.inf в корневые каталоги логических томов съёмных носителей и сетевых дисков. Таким образом, открытие заражённых разделов на других компьютерах может приводить к инфицированию последних. Заразив операционную систему и «прописавшись» в ней, вредоносные программы инициируют свой основной функционал.
Из месяца в месяц число обнаруженных у наших пользователей AutoRun-червей было примерно одинаковым. По данным Kaspersky Security Network, таким способом распространяется половина всех скриптовых червей. Что касается Java-червей, то для них такой способ распространения не характерен. Но буквально в последние три месяца мы наблюдаем резкий скачок числа новых модификаций Worm.Java.AutoRun.
Число обнаруженных уникальных скриптовых червей, скриптовых червей AutoRun и обнаруженных эвристическими методами скриптовых червей AutoRun (апрель 2012 года — май 2013 года)
Число обнаружений Java-червей Java, Java-червей AutoRun и обнаруженных эвристическими методами Java-червей AutoRun (август 2011 – май 2013 года)
Оба червя обладают полиморфизмом: при распространении они модифицируют свое тело, усложняя таким образом задачу их обнаружения. Это и послужило одной из причин их бОльшей по сравнению с «обычными» червями распространённости.
Итак, с чем мы столкнулись.
Worm.Java.AutoRun
Резидентных вредоносных программ на платформе Java для ПК вообще довольно мало, а червей и подавно. Поэтому мы решили подробно разобрать этот образец.
Червь располагается на заражённом компьютере в виде четырех файлов:
- Java-архив – основной компонент с изменяемым от заражения к заражению именем; располагается во временном каталоге пользователя %TEMP%jar_cache*.tmp.
- autorun.inf – конфигурационный файл, обеспечивающий автозапуск червя при открытии заражённого внешнего носителя или смонтированного сетевого раздела.
- dll-файл – вспомогательная библиотека (Win 32), берущая на себя часть функционала распространения. Имя данного файла также не фиксировано и определяется при заражении компьютера. Сама библиотека копируется во временный каталог пользователя: %TEMP%hsperfdata_%USERNAME%.
- Java.exe – легальный исполняемый файл предустановленного пакета JAVA, используемый зловредом для обеспечения своей постоянной загруженности в памяти заражённого компьютера. Во время инфицирования данный исполняемый файл копируется из %ProgramFiles% во временный каталог пользователя (рядом с описанной выше библиотекой) с именем, соответствующим имени одного из системных процессов — например, winlogon, csrss, services. Далее он исполняется с параметрами запуска основного компонента – Java-архива.
Фрагмент class-файла вредоносного JAVA-архива
При инициации вредоносного Java-архива последний извлекает из себя dll, сам копируется во временный каталог пользователя, туда же копирует из %ProgramFiles% исполняемый файл Java.exe, дав ему «доверенное» название, и исполняет его с параметрами запуска скопированного Java-архива. Далее Java-архив внедряет в созданный процесс вышеописанную библиотеку, которая распространяет червя по доступным сетевым разделам и съёмным носителям. Запущенный зловред периодически выполняет обращения к командному центру для получения команд от злоумышленника.
Среди особенностей данного червя можно отметить сильную обфускацию. Здесь используется упаковщик вкупе с обфускатором ZelixKlassMaster. Также, как уже было сказано выше, червь является полиморфным, что усложняет его обнаружение антивирусными решениями.
По данным Kaspersky Security Network основной регион распространения червя — Индия и Малайзия. Общую картину можно увидеть на следующей схеме.
Географическое распределение защищенных от Worm.Java.AutoRun пользователей (январь – май 2013 года)
По тем же данным, пик обнаружения червя приходится на конец мая. При этом наибольшее количество срабатываний зафиксировано на его последние модификации, которые и вызвали такой скорый прирост. Червь активно распространяется до сих пор, так что мы пристально следим за его дальнейшей деятельностью.
Кол-во защищенных от Worm.Java.AutoRun пользователей (апрель – май 2013 года)
Worm.JS.AutoRun
Для распространения данный червь использует не только описанный выше метод с autorun.inf, но также FTP-серверы, файлообменники, каталоги общего доступа и CD/DVD диски при их прожиге.
Размножив себя по каталогам и добавив свой запуск в автозагрузку, червь проверяет окружение, в котором он запущен. Если машина, на которой запущен червь, не является виртуальной, он начинает искать активные средства мониторинга и защиты компьютера. При обнаружении таковых червь завершает их работу.
Зловред получает команды через скачиваемый с командного центра файл. В основном, это команды на сбор с зараженной системы интересующей злоумышленников информации. В частности, червь собирает данные о системе, пользователе, установленном антивирусном ПО.
Также как и Worm.Java.AutoRun, данный экземпляр хорошо зашифрован и обладает свойством изменять своё тело от заражения к заражению.
Как и червь на Java, данный зловред распространён преимущественно в Юго-Восточной Азии. Но этот вариант более активен во Вьетнаме и Индонезии.
Географическое распределение защищенных от Worm.JS.AutoRun пользователей (начало 2013 года – конец мая 2013)
По своей активности Worm.JS.AutoRun несколько уступает Worm.Java.AutoRun. Однако сейчас число защищённых от Worm.JS.AutoRun пользователей стремительно растет, и в будущем он вполне может догнать по этому показателю Java-червя.
Кол-во защищенных от Worm.JS.AutoRun пользователей (начало 2013 года – конец мая 2013)
На графике выше представлено кол-во пользователей, защищенных только сигнатурным методом. Кол-во защищенных с помощью эвристистических методов пользователей значительно больше, что видно на самом первом графике.
По данным Kaspersky Security Network, в странах с наибольшим числом детектирований этих зловредов существенную долю используемых операционных систем занимает Windows XP. В более новых операционных системах Microsoft функция автозагрузки по умолчанию запрашивает у пользователя разрешение на выполенение автозапуска, что уменьшает риск заражения. В операционных системах, начиная с Windows 7, автозапуск включён лишь для CD/DVD носителей. При использовании внешнего устройства хранения данных другого типа (например, USB flash drive), автозапуск не работает.
Чтобы обезопасить свой компьютер от заражения, рекомендуется поддерживать актуальным критические обновления операционной системы и базы антивирусной программы, установленной на компьютере. Рекомендации по настройке функции автозапуска и ссылки на соответствующие пакеты обновления можно найти в статье Microsoft.
AutoRun. Перезагрузка