На пути к открытой, независимой от производителя и приветствующей вклад сообщества модели для ускорения обучения в сфере Информационной Безопасности 8 декабря 2019 года Джон Ламберт (John Lambert), JohnLaTwC, Distinguished Engineer, Microsoft Threat Intelligence Center Объединение специалистов по Информационной Безопасности в рамках глобального сообщества позволяет ускорить обучение в предметной области. Знания об атаках, собираемые в рамках MITRE ATT&CK, совместно с логикой обнаружения угроз, описанной правилами Sigma и воспроизводимым анализом, описанным в Jupyter Notebooks, образуют упорядоченный набор практик. Эти практики связывают знания с аналитикой и анализом. Если бы организации вносили свой вклад и делились своим уникальным опытом, а также опирались на опыт других членов сообщества, используя вышеперечисленные инструменты, то специалисты ИБ в каждой организации могли бы воспользоваться преимуществами лучших методов защиты.  Никогда еще так остро не ощущалась необходимость в опытных специалистах информационной безопасности. Каждая организация стремится самостоятельно защититься от целенаправленных атак, вспышек криптовымогателей и других угроз. Считается что, требуется 10 000 часов для того, чтобы стать экспертом. И никуда не деться от того факта, что информационная безопасность — это профессия, в которой мастерство достигается за счет времени, потраченного на обработку алертов, изучение угроз и реагирование на инциденты. Если и есть отрасль, которая может выиграть от резкого сокращения времени, необходимого для овладения мастерством, то это — информационная безопасность. Возможно ли это в условиях постоянной конкуренции коммерческих решений, разнородных и возрастающих по сложности технологий и коммерческих тайн? В настоящее время в индустрии информационной безопасности становится все более распространенным открытый подход, который может дать специалистами ИБ необходимое ускорение. В данной статье описывается, как специалисты ИБ могут учиться вместе и выигрывать время, расширяя свои навыки. Таким образом, каждый специалист может быть настолько хорош, насколько хороши лучшие специалисты. Я называю этот подход "Гитхабификация Информационной безопасности". Он состоит из трех компонентов: знание, аналитика и анализ. Давайте рассмотрим каждый из них и разберем их ценность на конкретных примерах. Защита начинается с осведомленности. В сфере информационной безопасности принято распространять информацию о новых угрозах и техниках проведения атак. Но отсутствие организованности превращает попытки сообщить что-то новое в информационный шум. Следить за трендами, отсеивать лишнее и выбирать то что действительно важно — это очень серьезная задача. На текущий момент каждому специалисту приходится решать эту задачу самостоятельно. Одним из наиболее существенных вкладов в информационную безопасность, с целью изменить сложившуюся ситуацию, вносит фреймворк MITRE ATT&CK. Он представляет собой классификацию тактик и техник атак, которые используют злоумышленники. Рассмотрим технику "Специальные возможности Windows" с идентификатором T1015. Она включает в себя общее описание, примеры использования преступными группировками, способы обнаружения и предотвращения вредоносной активности с использованием данной техники, а также ссылки на публикации с дополнительной информацией. 

 MITRE ATT&CK позволяет упростить распространение знаний посредством следующих принципов: Многие исследователи и большинство ведущих производителей систем информационной безопасности уже взяли на вооружение этот фреймворк. Вот несколько способов его использования: Таким образом, MITRE ATT&CK — это хранилище информации о техниках атакующих, которое помогает специалистам ИБ повысить уровень готовности к противодействию реальным, релевантным угрозам. Знания — это здорово, но это только первый шаг. Специалистам ИБ нужно уметь превращать эти знания в защитные меры. Одним из примеров является поиск следов вредоносной активности в логах различных систем. Специалисты выстраивают системы мониторинга, изучая основные модели данных и способы превращения идей по обнаружению угроз в конкретные поисковые запросы или "правила корреляции". Давайте рассмотрим данный процесс на примере одной из техник MITRE ATT&CK. Техника T1015, к которой мы обращались ранее, включает в себя установку ключей реестра для утилит специальных возможностей, которые изменяют штатное исполнение на запуск этих утилит под отладчиком. Данные ключи позволяют установить на место отладчика утилиту cmd.exe, таким образом, вместо запуска отладчика, winlogon.exe запустит терминал с привилегиями SYSTEM на экране приветствия (входа). После этого злоумышленник сможет сбросить пароль и получить полный доступ к системе. После того, как специалист ИБ изучит теорию об этой технике, ему необходимо будет определить способ ее обнаружения на практике, в реальной инфраструктуре. Обычно для этого нужно написать правило обнаружения на языке используемого инструмента для анализа логов (SIEM/LM системы) в соответствии с используемой в нем моделью данных. Каждый инструмент имеет свой собственный язык: Splunk использует Search Processing Language (SPL), ElasticSearch — Domain Specific Language (DSL), а Microsoft Defender ATP — Keyword Query Language (KQL). Если бы только существовал универсальный язык для поиска в логах, такой как Yara для файлов и Snort для сетевого трафика... Проект Sigma, нацеленный на решение данной задачи, стал популярным в последние годы. Sigma — это проект с открытым исходным кодом, созданный Флорианом Ротом (@cyb3rops) и Томасом Патцке (@blubbfiction), который представляет собой общий формат правил обнаружения угроз ("корреляции") с помощью логов. Он включает в себя набор конвертеров, которые переводят правила обнаружения на языке Sigma в языки популярных инструментов для анализа логов, таких как Splunk, ElasticSearch, QRadar и многие другие. Команда SOC Prime также выпустила онлайн-инструмент https://uncoder.io/, который представляет собой графический интерфейс к конверторам Sigma, упрощающий конвертацию правил. Правила Sigma можно применять даже если инструмент для анализа логов не поддерживает Sigma напрямую. Это делает Sigma универсальным инструментом для работы с логами.  Как выглядит правило Sigma для обнаружения техники ATT&CK T1015, конвертируемое в различные языки запросов? Вот один из вариантов правила для обнаружения изменения ключей реестра и непосредственного выполнения атаки:  Зачем специалисту ИБ писать запрос в формате Sigma, а не на языке своей системы анализа логов? Есть несколько причин: В то время как MITRE ATT&CK предоставляет знания о техниках, применяемых злоумышленниками, Sigma позволяет превратить эти знания в защитные меры, предоставляя способ создания конкретной, само-документированной логики обнаружения атак. Таким образом, эти знания становятся практической, действенной аналитикой. Независимо от того, как начинаются расследования, все они включают в себя поиск по данным. Именно поиск является частью анализа, обеспечивающего решение самых сложных задач. Анализ требует ответов на многие вопросы. Какие опорные точки используют для разработки новых версий расследования? Как обогатить данные, чтобы можно было отфильтровать лишнее? Если кто-то исследовал угрозу и описал свои выводы о ней, каковы были его шаги? Как другой исследователь может повторить анализ, проведенный экспертом на аналогичном наборе данных? Одним из способов повышения доступности анализа может стать раскрытие его сущности и повышение его воспроизводимости. Представьте себе, что лучший в мире специалист по наступательной безопасности мог бы воплотить свои исследовательские ноу-хау таким образом, чтобы другие могли повторить их в своем окружении. Эту задачу нам поможет решить Jupyter Notebook. Jupyter — это набор взаимодополняющих технологий с открытым исходным кодом, который возник в научных кругах, специализирующихся на научных вычислениях и науке о данных. Вот что нужно знать о нем практикующим специалистам по информационной безопасности: Notebook состоит из ячеек. Входная ячейка — это ячейка, в которой вводятся команды, а выходная ячейка выдает результат. Давайте рассмотрим конкретный сценарий: Специалист ИБ обнаружил обфусцированную команду PowerShell, посредством сработавшего правила обнаружения. Злоумышленники используют инструменты обфускации, такие как Magic Unicorn, чтобы скрыть вредоносную активность и обойти механизмы обнаружения. Данный Notebook показывает обработку обфусцированной командной строки, извлечение кодированной Base64 командной строки, ее декодирование и нахождение встроенного шеллкода. Затем он ищет сетевые индикаторы и использует функцию дизассемблирования утилиты CyberChef для описания функциональности шеллкода:   Обфусцированная команда PowerShell, обнаруженная правилом:   После декодирования команды Base64, будет найден следующий шеллкод:  Производим поиск строк, чтобы найти командный домен:   Дизассемблируем шеллкод и описываем API, чтобы выяснить его функциональность:   Итак, шеллкод использует Windows API для подключения к домену (InternetConnectA, HttpSendRequestA, и т.д.) и загрузки команд, которые он запускает напрямую в памяти (VirtualAlloc), что соответствует описанию: "Magic Unicorn — это простой инструмент для использования PowerShell Downgrade Attack и внедрения шеллкода напрямую в память". — Дэйв Кеннеди (Dave Kennedy, @HackingDave). Это показывает, что опыт может быть инкапсулирован в Notebook, чтобы другие специалисты могли запускать его на своих данных. Если вы новичок в этом, Роберто Родригез (Roberto Rodriguez) выпустил серию блогов о том, как использовать Jupyter Notebook для этих целей. Проект ThreatHunterPlaybook Project помогает начать работу с Jupyter с использованием предварительно подготовленных данных. У Netscylla также есть блог, в котором описано использование Notebook для реагирования на инциденты. Есть несколько Notebook, которые можно запустить через браузер в этом репозитории на GitHub, на что указывает иконка binder:  Jupyter поддерживается живой экосистемой профессионалов, работающих в области науки о данных, научных вычислений, машинного обучения, визуализации данных и других областях. Специалисты по информационной безопасности могут опираться на их опыт, адаптируя Jupyter к своим задачам. Jupyter Notebook представляет собой мощный инструмент для инкапсуляции анализа и упрощения его распространения среди других специалистов ИБ. Каждый ключевой элемент упомянутый в этой статье существует благодаря сообществу. Технологии необходимы, но обучение не может происходить без преподавания, а преподавание построено на сотрудничестве. MITRE ATT&CK принимает вклад сообщества, и недавнее обновление, в котором были представлены облачные технологии (включая Office 365), было практически полностью получено от сообщества.    Матрица для Office 365 включенная в MITRE ATT&CK:   Пример облачной техники, разработанной Швета Прабакаран (Swetha Prabakaran). Флориан Рот (Florian Roth, @cyb3rops) создал репозиторий с открытым исходным кодом для правил Sigma на GitHub. Внести свой вклад в них так же просто, как создать "Pull request" — запрос на включение изменений в репозиторий. Вот пример Pull Request нового правила Sigma:  Еще одна активность сообщества — Open Security Collaborative Development (OSCD) — открытая международная инициатива специалистов по компьютерной безопасности. Осенью 2019 года прошел двухнедельный спринт, посвященный разработке правил проекта Sigma с целью улучшения покрытия MITRE ATT&CK. Исследователи со всего мира увеличили набор правил репозитория Sigma более чем на 40%:  Подробнее об инициативе и прошедшем спринте можно прочитать в статье на Хабре. Слишком часто мы обнаруживаем атаки одновременно, но учимся защищаться в одиночку. В данной статье показано, как подходы к информационной безопасности в рамках глобального сообщества могут ускорить обучение для всех. Представьте себе мир, в котором знания об угрозах хранятся в MITRE ATT&CK. Под каждый сценарий реализации угроз разрабатываются правила Sigma. Срабатывания этих правил обнаружения запускают процесс расследования с применением специально подготовленных Jupyter Notebook. Если исследователи, публикуя информацию о новой технике, или CERT, предупреждая о новой атаке, будут предоставлять информацию с использованием описанных инструментов, они значительно ускорят процесс ее применения. Если каждая организация будет делиться своим уникальным опытом и опираться на опыт других членов сообщества, существующая разрозненность в информационной безопасности может быть нивелирована благодаря этому тесному взаимодействию, чтобы позволит быть на шаг впереди злоумышленников. Таким образом специалисты ИБ пойдут далеко, потому пойдут вместе. Что такое Гитхабификация Информационной Безопасности? Это три вещи:  Благодаря организованному знанию, использованию действенной аналитики, воспроизводимого анализа и поддержке сообщества, специалисты ИБ могут предоставить каждому коллеге возможность учиться у лучших мировых экспертов и сократить время, необходимое для становления экспертом. Что делать дальше, спросите вы? Вот несколько шагов: Если вы Специалист ИБ, занимающийся обеспечением защищенности: Если вы инженер по продуктам безопасности: Если исследователь в области безопасности: Если вы менеджер Информационной Безопасности: Если вы из CERT или иной организации, обеспечивающей Информационную Безопасность: Автор выражает благодарности Фредди Дизюру (Freddy Dezeure, @FDezeure), Флориану Роту (Florian Roth, @cyb3rops), Томасу Патцке (Thomas Patzke, @blubbfiction), Лие Лизе (Leah Lease, @LeahLease), Тиму Барреллу (Tim Burrell, @TimbMsft), Иэну Хеллену (Ian Hellen, @ianhellen) и Роберто Родригезу (Roberto Rodriguez, @Cyb3rWard0g) за их комментарии к черновикам данной статьи, а также Сергею Корнееву, Андрею Качалову, Сергею Муралеву, Денису Балану (@denisbalan), Максиму Ильину (@noesall), Тимуру Зиннятуллину (@zinint), Илье Енину (@MazahakaJay), Кириллу Ковтуну, Никите Шаншиеву-Иванову (@SuslikDaRete), Степану Богачеву (@l1c3t), Алине Светловой (@AlienJolka), Oleg Chepurchenko, Michael Tyomkin, Sveta Gaivoronski, Fanta Orr, и Даниилу Югославскому (@yugoslavskiy) за перевод данной статьи на русский язык. Все технологии, упомянутые в этой статье находятся в стадии развития. Ниже приведен список идей, разработку которых может взять на себя любой член сообщества. User