Так как браузерные эксплойты, а точнее вирусы на JavaScript уже возглавляют
список угроз, разработчики браузеров пытаются найти эффективный способ защиты
пользователей. Такие способы время от времени появлялись, но Microsoft Research
разработал новый инструмент под названием Zozzle, который может быть установлен
в браузере и с большой эффективностью обнаруживать вирусы на JavaScript.


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

"Zozzle использует статистический классификатор для эффективного обнаружения
вредоносного JavaScript. Классификатору нужны тренировочные данные для точной
классификации источника JavaScript, и здесь мы описываем процесс, который мы
используем для получения этих данных. Мы начинаем с того, что устанавливаем
JavaScript в браузер с "деобфускатором", который извлекает и собирает отдельные
фрагменты JavaScript. Как говорилось выше, эксплойты часто спрятаны в нескольких
уровнях JavaScript. В отличие от Nozzle, который наблюдает за поведением
исполняемого JavaScript кода, Zozzle должен работать с необсфусцированным кодом
для надежного обнаружения вредоносного кода", — написали исследователи в отчете
о Zozzle.

Исследователи говорят, что Zozzle специально создан для обнаружения и защиты
против heap-spray
эксплойтов
, запущенных вредоносным JavaScript. Сегодня очень часто
случается, что подобного рода эксплойты находится на законном сайте, который был
взломан и используется для атак с использование drive-by загрузок. Часто код
хостится на специальных страницах, которые существуют несколько дней или даже
часов, а потом прекращают свое существование либо по решению хакеров либо после
обнаружения владельцем сайта. Исследователи Microsoft говорят, что это, наряду с
многоуровневостью обфускации, используется хакерами для маскировки JacaScript
эксплойтов, что в свою очередь сильно осложняет работу автоматических средств
точного обнаружения.

"Как только мы получили JavaScript контекст, нам необходимо извлечь признаки,
свидетельствующие либо о вредоносности  либо о безвредности содержания. Для
Zozzle, мы создали базу таких признаков на основе иерархической структуры
JavaScript AST (abstract syntax tree). В частности, признак состоит из двух
частей: контекста, в котором он появляется и текста AST узла". В отчете
говорится: "Для данного JavaScript контекста мы только лишь отслеживаем,
появляется ли признак или нет, а не точное количество появлений. Для успешного
извлечения признаков из AST, мы двигаемся по дереву от корня, работая с AST
элементами в стеке по принципу ‘последним вошел, первым вышел’".

Новое средство до сих пор в стадии разработки и не сосем ясно, когда
Microsoft выпустит Zozzle. Но исследователи говорят, что Zozzle имеет
минимальные потери при установке в браузер – порядка 2-5 миллисекунд на каждый
JavaScript файл и менее одного процента ошибок.

Новизна Zozzle заключается в подключении к браузеру для получения финальной
расширенной версии JavaScript кода и решения проблемы деобфускации. По сравнению
с другими средствами, основанными на классификаторе, Zozzle использует
контекстную информацию доступную в программе Abstract Syntax Tree (AST) для
обеспечения быстрого, масштабного обнаружения вредоносных программ. "Мы видим
двоякое применение таким программам, как Zozzle. Во-первых это первая защита для
людей, подвергшихся атаке, основанной на JavsScript, ну а во-вторых – это
оффлайн-исследование, способствующее созданию и поддержанию различного рода
черных списков".

Оставить мнение