На конференции одним из трендов стала тема Security Analytics, что по сути представляет собой реинкарнацию SIEM. Берутся данные, много разных данных из разных источников, и анализируются с точки зрения информационной безопасности. Раньше это делали SIEM (и сейчас делают), но теперь модно называть это красивым термином Security Analytics. Но… если уйти в сторону от маркетинга и задуматься над тем, что реально предлагается на рынке, то картина будет не столь радужная, как она представляется производителям и интеграторам, продающим SIEM-решения.
Что такое SIEM, если убрать оттуда безопасность? Хранение больших объемов данных, управление ими и, самое-то главное, извлечение из них знаний и получение ответов на нужные вопросы. И вот тут и кроется основная засада. А какие ответы вы хотите получить? Известно, что правильно заданный вопрос — это уже половина ответа. Так вот при покупке или внедрении SIEM, как мне кажется, многие просто не знают, какие вопросы задавать. SIEM рассматривается как панацея, которая позволить управлять зоопарком средств защиты, купленных в разное время и установленных в разных местах. Но это не так. Если попытаться автоматизировать хаос, то получится автоматизированный хаос. Если пытаться SIEM внедрить в зоопарке, зоопарк же останется. Просто к нему добавится еще один продукт, который будет шуршать, собирать кучу разных данных, нормализовать их, хранить где-то. Но как он повысит качество ИБ? Что он должен делать, кроме сбора логов?
Вопрос заказчика должен звучать не «Что может ваш SIEM?» и не «Что я могу получить от SIEM?». Вопрос должен быть иным: «Что меня интересует в тех данных, которые генерятся десятками средств защиты информации?» Число атак? Последовательность действий злоумышленника или attack chain? Возможность использования имеющихся уязвимостей? Хакерские кампании, направленные против меня? Обнаружение подготовки к совершению противоправного действия со стороны инсайдера? Пропуск атак со стороны какого-либо средства защиты? Неэффективная работа службы ИБ или ИТ? Что конкретно вам нужно от имеющихся у вас данных и почему имеющиеся у вас средства защиты не могут эту информацию вам предоставить?
Допустим странное — вы не можете ответить на эти вопросы и не можете сформировать свои собственные. Вы ждете, что консультант/интегратор/вендор вам поможет. Увы, вынужден разочаровать, не поможет. Если вы сами не знаете, какие вопросы вы будете задавать SIEM, то никто за вас эти вопросы не придумает. Точнее придумать-то можно, но насколько они будут релевантны для вас.
Вообще, возьмите за правило. Если только приглашенный консультант/интегратор может запустить купленную/арендованную/построенную вами систему защиты/аналитики/управления, то вы сделали не самую лучшую ИБ-инвестицию. Чтобы понимать, что вам будет говорить/делать консультант, вы должны разбираться в этом. Если вы не разбираетесь, то система вам не особо нужна. Вспоминается история с Heartbleed в сертифицированных в РФ средствах защиты. Из десяти, в которых была найдена эта уязвимость, разработчики половины из них не смогли устранить ее, ссылаясь на то, что у них нет специалистов по Linux, способных разобраться в коде этой операционной системы. То есть сделать форк, выдать его за отечественную ОС и продавать за деньги они смогли, а устранить дыру — нет. Вот с SIEM ровно такая же ситуация. Если вы не знаете, что именно вы хотите получить на выходе SIEM, то лучше даже не вступать на путь выбора, приобретения и эксплуатации данного решения — это будут на ветер выброшенные деньги.
Но допустим вы ответили на вышеозвученные вопросы или сформировали свои собственные. Значит ли это, что надо брать и внедрять SIEM? Тоже нет. Помимо вас, в этом процессе участвует еще, как минимум, разработчик SIEM, который (или его сейлы) зачастую тоже не понимает, что и, главное, почему делает его продукт. Да-да, вот такой парадокс. Он может вам спеть песню про число источников данных, которые «заводятся» на SIEM, и про скорость их подключения. Он вам споет песню с магическим словом «корреляция», но как только вы попросите его рассказать, что за ним скрывается, у продавца/производителя наступит коллапс. Мало кто из них говорит про математику в своих продуктах. Когда я ходил по стендам на RSAC, я всем разработчикам SIEM и средств Security Analytics задавал вопрос про то, как они коррелируют события безопасности и какие модели они для этого используют? И никто не мог ответить на этот, казалось бы простой, вопрос.
В году этак 2008-м в Москву на один из первых CISO Summit приезжал Антон Чувакин, которому задали вопрос, как он относится к количественному измерению рисков. Его ответ прозвучал примерно так: «У нас есть данные, но нет для них моделей. У нас есть модели, но нет для них данных». Думаю, это высказыванием замечательно подходит и для SIEM. У нас есть для них данные, но совершенно непонятно, какие модели должны быть использованы для обработки этих данных. Отсутствие моделей компенсируется красивыми трехмерными графиками, картами сети (полезная штука, но не за такие деньги), динамической инфографикой и т.п. Но как это все помогает решать конкретные проблемы конкретной компании? На чем базируются корреляционные правила в конкретной системе?
Прежде, чем вбрасывать данные в аналитический контур системы ИБ, нужно разработать математическую модель, которая поможет эти данные правильно интерпретировать. Иначе не получится ничего, кроме игрушки для менеджеров и для построения красивых отчетов для руководства. Поэтому глядя на красивые модели прежде всего стоит поинтересоваться, на основании какой теории они построены. Или хотя бы гипотезы. Или хотя бы предположения.
У российских разработчиков SIEM ситуация вообще странная. Берется какой-нибудь open source движок (либо SIEMовский OSSIM, либо для работы с данными — Kibana, Elasticsearch, Hadoop), навешивается русскоязычный dashboard (а то и англоязычный) и все, русский SIEM готов. С эргономикой и удобством использования полная беда. А еще и вопрос с моделями остается открытым.
Резюмирую: многие SIEM бесполезны потому, что они переполнены (и объем этих данных будет только расти) информацией, собранной неизвестно с какой целью. Без понимания того, что мы хотим получить от SIEM, как это получить и как это использовать, любое SIEM-решение — это профанация и пустая трата денег.
ЗЫ. Тоже самое касается, кстати, и всяких сканеров исходных кодов, ищущих подозрительные или явно вредоносные конструкции в программное коде. Правда, тут давно разрабатывается теория формальных языков и грамматик, которая позволяет формализовать работу сканеров. Но и в данном случае надо понимать, что такой сканер выдает на выходе. В противном случае эффективность такого решения будет не очень высокой.
С описанными тезисами о необходимости понимания установки и применения системы СИЕМ согласен. Сам являюсь администратором подобной системы с осени прошлого года. При покупке СИЕМ было желание получать логи и события ИБ с критичных информационных ресурсов. При внедрении системы в голове были несколько десятков правил, которые хотелось бы увидеть, в итоге они были сразу же настроены интегратором. Далее работа проходила в следующем режиме: появлялся инцидент, после чего настраивалось соответствующее правило оповещения. В таком режиме СИЕМ проработала около 3 месяцев, но понимание того, что система используется не на 100%, заставило вновь обратиться к настройке всех модулей используемых в системе СИЕМ и пониманию механизма правил.
Поскольку мне интересна тематика использования математических моделей при просмотре событий безопасности, решил изучить возможность применения марковских цепей при при рассмотрении событий безопасности отдельно взятого информационного ресурса. Как будут результаты могу поделиться.
Известно, что правильно заданный вопрос — это уже половина ответа.
И тут уже можно было бы дальше не писать 🙂 Собственно — золотые слова…
Касательно модели. По идее очень простой алгоритм получения комплекта правил корреляции, позволяющих максимально четко и полно выявлять инциденты ИБ конкретной организации есть:
Шаг 0 (инициализация). Говорим, что любое событие ИБ есть инцидент и нужно проводить разбор по нему
Шаг 1 (обнаружение). При выявлении инцидента ИБ выполняется все, что предусмотрено стандартной процедурой: заводится "дело", выделяется команда, проводится расследование
Шаг 2 (расследование). По ходу расследования все события, имеющие отношение к инциденту "подшиваются" в "дело"
Шаг 3 (закрытие). Расследование инцидента может завершиться одним из следующих образов:
а) инцидент ложный. В этом случае соответствующее правило корреляции удаляется
б) инцидент дублирует другой инцидент. В этом случае правила корреляции объединяются
в) инцидент успешно расследован. В этом случае правило корреляции дополняется теми событиями, которые были "подшиты" в "дело"
Проблема ровно одна — никаких ресурсов не хватит на реализацию этого алгоритма 🙂
Потому его надо дополнять более адекватной базой (например, попробовать взять за основу действующие рекомендации и стандарты по ИБ в части регистрации событий ИБ) + большим числом эвристик (не отрабатывать на 100% расследование и прочую бюрократию, а пытаться действовать гибче).
Не скажу, что готов привести пример, где такой путь пройден от начала и до конца, но определенные подвижки есть.
К слову, этот пост можно писать в отношении любой системы автоматизации (не только процессов ИБ) — если нет понимания как систематизировать деятельность, то средства автоматизации тут бессильны.
А попытаться спрятать лавину информации за графиками и прочими веселыми картинками — это, конечно, не метод 🙂
Алексей, замечательный пост! Полностью согласен. Правда многие скажут: "С таким настроением ты слона не продашь", ведь продают-то систему, а не результат анализа. Да, идея создать всеобъемлющую модель информационной безопасности — хорошая, но, на мой взгляд утопическая, так же, как создать всеобъемлющую модель мироздания. Здесь, мне кажется, правильнее говорить о семействе моделей по предметным областям, по тем вопросам, которые ты ставишь. Но, к сожалению, это совсем не интересует разработчика SIEM. В принципе, это дело специализированных компаний (кто-то делает компьютеры, кто-то пишет прикладные программы) и это, мне кажется, хороший бизнес с большой перспективой…
Автоматизация никогда хорошо не решала задачи, требующие квалификации и творчества. Но эффективно решает рутинные задачи, которые до того проработаны с точки зрения математики на 99%. Суть развития состоит в том, чтобы постепенно формализовать сложное и "откусывать" это автоматизацией от нагрузки человека, оставляя человеку более сложное. Потому потребность в квалифицированных мозгах всегда остаётся, если есть развитие.
А с WAF'ами тоже самое? Kibana+libinjection = profit ?
Вообще это похоже на игру "вычеркните лишнее":
"ибо для работы с данными — Kibana, Elasticsearch, Hadoop"
Это все вообще разные продукты, которые делают разные вещи.
Более того — можно даже все три вместе поюзать, например kibana+ https://www.elastic.co/products/hadoop
Spark или Flink, вот в чем вопрос 🙂
Еще не редкость такое: вопрос задаёшь, а ответить на него некому. И половина ответа есть, а вторую ищешь сам.
Алексей, признавайтесь, разработали таки свою модель данных и систему корреляции?:) Будет второй пост, вроде "Почему меньшинство SIEMов — эффективны"?:)
Все перечисленные решения и все что на скриншотах это НЕ класс SIEM это отдельный класс Security Intelligence/Threat Intelligence, тот же Anomali например. И да, по большей части SI/TI профанация. Тем не менее классический SIEM — не профанация,
"Когда я ходил по стендам на RSAC, я всем разработчикам SIEM и средств Security Analytics задавал вопрос про то, как они коррелируют события безопасности и какие модели они для этого используют? И никто не мог ответить на этот, казалось бы простой, вопрос."-может быть это были вовсе не разработчики, а маркетологи.
По части моделей и всего что про siem мне нравятся материалы от СПИИРАН'а без маркетинга http://proceedings.spiiras.nw.ru/ojs/index.php/sp/issue/archive
Конкретные не буду приводить.По siem и моделированию у них достаточно много.Прошерстить архив с 2016-2002 не составит труда.
Про базу и математические модели это вы правильно, такие вещи всплывают и заставляют задуматься тех кто только начинает делать siem 🙂
Так можно про любые инструменты написать. Ибо инструменты вторичны для целей вопрошающего. Универсальных инструментов не бывает, но чем они универсальнее, тем лучше для вопрошающего. А вопросов бесконечное множество.
Предлагаю тему следующего поста: "Почему Аудит ИБ — это профанация"
Да, хорошая тема. Я подумаю
Алексей, и согласен и нет. Говорить что SIEM бесполезен я бы не стал. Все остальное в общем и целом правильно. 😉 Я б немного иначе изложил — основная беда — проект ради проекта, т. е. главное внедрить, а как с этим жить это потом разберёмся. К сожалению в начале пути не у многих есть понимание "зачем это все нужно и что мы от этого получим". Увы и ах, это касается не только ИБ и SIEM 😉
А аудит ИБ тема реально интересная.
С уважением Олег!