Активное использование эксплойтов 0-day для Java, которое наблюдается и предотвращается нами вот уже целую неделю, чересчур активно и опрометчиво обсуждалось в интернете, а некоторые посты в блогах содержали ссылки на ресурсы, обслуживающие эти эксплойты. В действительности, подобное стремление раньше всех высказать свою точку зрения на проблему безответственно (кстати, уязвимости присвоен номер CVE-2012-4681 – проблема обработки контроля доступа в рамках «защитных доменов»). Скажите, вы бы посоветовали беззащитным прохожим идти по темной улице, на которой, как вы точно знаете, орудуют преступники? Или вы все-таки сообщите «куда следует» о местонахождении опасных элементов и, может быть, даже позаботитесь, чтобы улицы вашего района были хорошо освещены? Ну, или как минимум, вы просто предложите прохожему пойти другим маршрутом? В общем, на этот раз все попытки оказались не вовремя и не к месту…
Но так или иначе, первоначально сайты, на которых размещались эксплойты, были единичны и распространяли уже известные компоненты для APT, в том числе версию Poison Ivy. Ниже представлена карта ранней стадии активности компонента Poison Ivy, несколько удивляющая нас результатами:
А это карта фиксирует первые вспышки заражения Java-эксплойтами посредством веб-страниц и Java-скриптов:
Все вредоносные программы данной тематики, которые мне встречались, были нацелены на Windows. Эскплойты эффективны против Java 7. Со времени первых направленных атак информация об эксплойтах и их экземпляры успели попасть в руки специалистов по IT-безопасности, вот только за дело взялись разработчики Metasploit, которые добавили PoC в свою базу. А авторы BlackHole, в свою очередь, добавили эксплойт в свои пакеты COTS. Таким образом, эти атаки сразу стали распространенным явлением. Первыми жертвами команды Blackhole стали Соединенные Штаты, Россия, Беларусь, Германия, Украина и Молдова. Но, поскольку в пакет от Blackhole входят и разные другие эксплойты, удары по пользователям конкретно с помощью 0-day эксплойтов наносятся не всегда. Чаще всего страдают пользователи Internet Explorer, за ними следуют пользователи Firefox, Chrome и Opera, а замыкают список еще несколько приложений, имеющих дело с URL-ссылками внутри своих файлов и в конечном итоге направляющих вредоносные .jar-файлы в Java-клиенты, например, в Adobe Reader.
Для определения вредоносных сайтов и веб-страниц, кода эксплойта и вредоносного контента, получаемого с таких сайтов, мы используем ряд методик и техник. И хотя конкретно этот 0-day для Java становится повсеместно известным, мы все чаще детектируем и блокируем на системах пользователей и эксплойты постарше, также используемые в пакете Blackhole. Таким образом, пользователи «Лаборатории Касперского» так или иначе защищены от сайтов Blackhole и веб-страниц, обслуживающих 0-day эксплойт для Java, а также от взломанных сайтов, перенаправляющих посетителей на сайты Blackhole; от огромного числа предыдущих эксплойтов Blackhole и их сайтов, и от троянцев, получаемых через эти страницы. Ко всему прочему, модуль Kaspersky Advanced Exploit Prevention создает дополнительный уровень защиты против эксплойтов 0-day с помощью «Exploit.Java.Generic».
Лично для меня это дополнение наиболее интересно – авторы эксплойт-паков всегда концентрировались на улучшении серверного полиморфизма эксплойтов Java, а вышеописанная функция предотвращает эти попытки. Таким образом, доступ наших пользователей к сайтам Blackhole полностью блокируется, а с помощью компонента Advanced Exploit Prevention еще и предотвращаются любые попытки работы эксплойта. Отдельные веб-страницы Blackhole детектируются как «Trojan-Downloader.JS.Agent» в нескольких вариациях, бэкдоры детектируются как «Trojan.Win32.Generic» и т.п. (то есть, 61A3CE517FD8736AA32CAF9081F808B4, DEC9676E97AE998C75A58A02F33A66EA, 175EFFD7546CBC156E59DC42B7B9F969, 0C72DF76E96FA3C2A227F3FE4A9579F3). В свою очередь, Java 0day эксплойт выделяется среди других эксплойтов как «HEUR:Exploit.Java.Agent.gen» (то есть E441CF993D0242187898C192B207DC25, 70C555D2C6A09D208F52ACCC4787A4E2, E646B73C29310C01A097AA0330E24E7B, 353FD052F2211168DDC4586CB3A93D9F, 32A80AAE1E134AFB3D5C651948DCCC7D).
Так что, когда на Virustotal вы встретите неизбежные жалобы, что сканер не может найти часть измененного кода, или неточные выводы вроде «Антивирус неисправен!» или «Антивирус этого не детектирует!», не обращайте внимания. Потому что на самом деле вся эта история с массовыми client-side эксплойтами гораздо сложнее и глубже, чем эти жалобы.
В то же самое время, Oracle не мешало бы принять меры и выпустить специальный патч, что они, по традиции, не делают. Может быть случившееся привлечет внимание разработчиков к проблеме усовершенствования процесса обновлений безопасности. Они привлекли хорошие ресурсы, и теперь лед должен тронуться — лучше поздно, чем никогда.
Новый 0-day эксплойт для Java