Против лома есть приём.

Бабах!! Ещё одна торпеда, пущенная кибер-негодяями в офисное пространство Микрософт увязла в нашей цепкой защите.

А именно: недавно была обнаружена вроде обычная себе атака — при открытии документов Word незаметно для пользователя в систему внедрялся вредоносный код. Вряд ли это событие добралось до заголовков, кабы не одно обстоятельство: это была атака класса «зеродей» – использовалась ранее неизвестная уязвимость в MS Office, для которой нет «заплатки», при этом большинство антивирусов тоже в упор не видели угрозу. А мы отработали на «отлично»!

Да! – технология автоматической защиты от эксплойтов (AEPAutomatic Exploit Prevention) вычислила аномальное поведение и проактивно блокировала атаку. Никаких обновлений и ожиданий. Сразу и наповал.

С «зиродеями» можно и нужно бороться. Это самое острие атак кибер-атак – зачем нужен антивирус, который работает исключительно сигнатурами, а от будущих угроз защищает только на бумаге (пусть очень красивой бумаге)? Ну, да, разработка таких технологий требует мозгов и инвестиций. Не каждый вендор первое имеет, а второе может себе это позволить. Это не детект у соседа тырить, ага..

Вообще, мы всегда считали, что в IT-секъюрити нельзя жить сегодняшним днём – нужно постоянно заглядывать за горизонт и предвидеть поворот мысли кибер-негодяев. Потому «проактивка» была у нас на повестке дня с бородатых 90-х – среди прочего мы тогда отличились разработкой эвристика и эмулятора. Технологии оттачивались, прокачивались и изобретались, и вот, где-то 2,5 года назад, фичи для защиты от эксплуатации известных и неизвестных уязвимостей были объединены под зонтиком AEP. И очень вовремя! С его помощью мы впоследствии  проактивно накрыли целый зоопарк целевых атак, в том числе Red October, MiniDuke и Icefog.Тогда же случился всплеск нездорового интереса к Java и AEP снова оказался кстати. И одну из первых скрипок здесь играл модуль Java2SW для детекта атак через Java.

О нём сейчас и пойдёт речь.

Программный ландшафт типичного компьютера напоминает лоскутное одеяло с кучей заплаток и не меньшим количеством дыр. После выпуска каждого продукта в нём регулярно находятся уязвимости (чем популярнее продукт, тем чаще и больше) и вендоры их регулярно же латают, выпуская «патчи». Но#1: вендоры выпускают «патчи» не сразу — кое-кто, бывает, ковыряет в носу месяцами. Но#2: большинство пользователей всё равно, пардон, забивает на установку этих «патчей» и продолжают работать на дырявом софте. Зато#1: практически на каждом компьютере есть… антивирус!

Тут на сцену выходит тот самый Java2SW, который в Java домене убивает сразу двух зайцев.

Вообще, с точки зрения безопасности архитектура Java достаточно продвинутая. Каждая программа выполняется в изолированном пространстве (JVM – Java Virtual Machine), под присмотром секюрити-агента. Увы, Java пала жертвой популярности – какой бы защищённой ни была система, рано или поздно (пропорционально популярности) в ней найдутся уязвимости. К этому должен быть готов каждый вендор — своевременно развивать технологии противодействия, скорость реакции и обучать пользователей. У Oracle это как-то не очень получилось. Не получилось настолько не очень, что пользователи начали массово удалять Java с компьютеров даже несмотря на ограничения при просмотре сайтов.

Судите сами: количество обнаруженных уязвимостей в Java в 2010г. – 52, 2011г. – 59, 2012г. – 60, 2013г. – уже 180 (год продолжается!). А число атак на Java росло по вот такой грустной кривой:

Рост количества атак на уязвимости в Java

Так чем же прекрасен Java2SW и как он спасает от атак на уязвимости в Java?

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

Сложность реализации этого метода в том, что нам пришлось не «оборачивать» Java, а внедряться непосредственно в платформу. Почему? Потому что снаружи Java как черный ящик – что-то происходит, но непонятно почему. Например, Java запускает некий процесс, но почему она решила его запустить, какие другие действия с этим связаны — неясно. Если же «заглянуть» внутрь то можно узнать что за код сейчас исполняется в Java-машине, какие у него привилегии, каков его источник и т.п. и на основании этого уже делать хорошо обоснованные выводы.

Благодаря своей архитектуре Java обеспечивает кросс-платформенность (Java-программы без модификации могут работать на очень широком спектре операционных систем). Но, с другой стороны, это требует большого объёма серых клеток для разработки защиты – ведь приходится внедряться прямо в саму «кухню» Java-интерпретатора. Немудрено, что далеко не в каждом антивирусе реализован такой подход, а сама технология сейчас стоит в очереди на патент.

Любопытная особенность Java2SW – совместная работа с другими подсистемами защиты от уязвимостей (AEP). При обнаружении нарушений и подозрительных действий модуль передаёт сигнал вместе с его контекстом на уровень System Watcher – компонента, который собирает сведения с других антивирусных сенсоров, видит общую картину и способен принимать наиболее информированные (точные) решения о самых сложных атаках.

Java2SW - техгнология "Лаборатории Касперского" для защиты от Java-эксплойтов

Таким образом, даже если происходит атака на секюрити-менеджер Java (ох, как кибер-негодяи любят это делать!), мы всё равно сможем её отследить и блокировать.

Является ли Java2SW панацеей против неизвестных уязвимостей?

Тут важно отметить следующее: Java2SW не детектит «зеродеи» и не выявляет уязвимости. Это не его «сфера интересов» и, как ни странно, от этого его эффективность только выигрывает. Java2SW выявляет эксплойты – аномальное поведение кода, а уж куда эти эксплойты бьют – нам всё равно. Продукт будет защищать не от «дыр» в упоминавшемся выше лоскутном одеяле, а от атак на них. Таким образом, мы абстрагируемся от конкретных уязвимостей и защищаем пользователей более универсальным подходом. Ну а сами «дыры» можно централизованно отслеживать и патчить, например, с помощью systems management.

Каков же практический результат от использования Java2SW?

Во-первых, с высокой долей вероятности мы можем защищать пользователей от неизвестных атак через уязвимости Java. Иными словами – даём запас прочности на время между обнаружением уязвимости и доступностью «патча». Во-вторых, даже если пользователь принадлежит к полку игнорантов и вовремя не устанавливает «патчи», то мы всё равно спасём его от таких атак.

На этом о костылях для современного программного ландшафта всё (на сегодня).

Прочитать комментарии 3
Комментарии 3 Оставить заметку

    Юрий

    Да, я всегда говорил что Kaspersky Lab выпускает отличный программный продукт. С 2008 года KAV и KIS были неоднократно проверены в «бою». Антивирусы лаборатории Касперского действительно развиваются и становятся лучше.

    Дмитрий

    Ребята, вы круты, но почему на карточке продления Касперский Антивирус нет числа «2014»?

Оставить заметку