Статистика появления правил IDS/IPS Suricata для новых угроз

Обязательный атрибут защиты для большой компании — IDS/IPS (система обнаружения и предотвращения вторжений). На рынке большое количество коммерческих и open-source решений, и каждое из них имеет свои достоинства и недостатки. Но общее во всех решениях — необходимость своевременного обновления правил обнаружения угроз. Большинство IDS/IPS позволяют использовать правила, разработанные для Snort. Одним из самых известных поставщиков правил является компания Emerging Threats, ставшая частью Proofpoint.
Мы решили собрать статистику по выпуску правил для наборов pro (коммерческая версия) и open (open-source версия) Emerging Threats для Suricata, так как их синтаксис аналогичен Snort, но при этом немного расширен, что дает больше возможностей.

Со страницы rules.emergingthreats.net/changelogs были собраны журналы обновлений правил suricata и suricata-1.3 начиная с 2015 года. Первое, что нас интересовало, — какое количество правил выпускалось для выявления эксплуатации уязвимостей. В эту категорию попали правила с привязкой к CVE, правила классов attack response и exploit.

Для привязки CVE к правилам мы распарсили актуальный файл sid-msg.map, а также журнал его изменений. Файл содержит маппинг sid-правил на их метаинформацию и имеет строки такого вида:

2021138 || ET WEB_SERVER ElasticSearch Directory Traversal Attempt (CVE-2015-3337) || cve,2015-3337
2021139 || ET TROJAN H1N1 Loader CnC Beacon M1 || url,kernelmode.info/forum/viewtopic.php?f=16&t=3851


CVE-идентификатор может содержаться как отдельно, так и в поле msg. Отсюда был получен маппинг CVE на правила.
Поскольку одной атаке могут соответствовать несколько схожих правил, необходимо было делать выборку по уникальности правил. Правила, незначительно отличающиеся друг от друга полем msg (имеющие сходство больше 0,99 по алгоритму Джаро—Винклера), в выборку добавлены не были. В итоге были выбраны правила, содержащие маппинг с CVE или содержащие в поле msg один из следующих маркеров: attack response, exploit.

780affb413e345bc931c4ed430006ae6.png

Статистика по набору ET open за 2015 год

9262b0a5c4c3442fb3454be8b773c2a1.png

Соотношение правил из набора ET open за 2015 год

b9c57cc7dbfd4cfdbcba7f520bb365ea.png

Статистика по набору ET pro за 2015 год

33f9d7cf36394cd9a9f0ea388906e3b8.png

Соотношение правил из набора ET pro за 2015 год

Как видно, в 2015 году количество правил, выпущенных для выявления эксплуатации уязвимостей, не превысило 10%. Наибольшую площадь на диаграмме занимают правила для выявления сетевой активности вредоносных программ.

Следующим шагом был сбор статистики покрытия правилами уязвимостей, опубликованных в 2015 году. Были отобраны уязвимости, имеющие удаленный вектор эксплуатации (AV: N) и CVSSv2-рейтинг больше 7,8. Из них мы отобрали те, для выявления эксплуатации которых были выпущены правила.

На диаграмме видно, что правилами покрывается лишь малая часть уязвимостей. Первая причина заключается в том, что часть CVE выпускается для случаев, которые невозможно (шифрованный трафик) или бессмысленно покрывать правилами (с выявлением и предотвращением эксплуатации уязвимостей в веб-приложениях лучше справиться WAF, для правил же придется использовать громоздкие регулярные выражения, что приведет к замедлению системы). Вторая причина в том, что не всегда известны подробности эксплуатации уязвимости, и у экспертов нет образцов, на основе которых можно разработать правила.

70d154fc123843a18867c3cca7579a14.png

Статистика покрытия правилами уязвимостей 2015 года

Итак, существует острая нехватка правил для актуальных уязвимостей. Одна из причин — нежелание вендоров, а также экспертов, находящих уязвимости и создающих правила для IDS/IPS, делиться техническими деталями обнаруженных уязвимостей. Для разработки правил требуются образцы трафика с эксплуатацией уязвимости; при их наличии покрытие новых уязвимостей правилами увеличится в разы, и положение дел не будет таким плачевным.

Автор: Алексей Леднёв, Positive Technologies

© Habrahabr.ru