Меняет ли машинное обучение сферу ИБ и насколько ?
Информационная безопасность Информационная безопасность

Машинное обучение — ни в коем случае не лекарство от всех болезней, но при правильном применении эта технология может существенно помочь.

Главная>Информационная безопасность>Меняет ли машинное обучение сферу информационной безопасности
Информационная безопасность Тема номера

Меняет ли машинное обучение сферу информационной безопасности

Дата публикации:
20.09.2019
Посетителей:
712
Просмотров:
702
Время просмотра:
2.3

Авторы

Спикер
Владимир Кочетков Руководитель группы отдела разработки анализаторов исходных кодов компании Positive Technologies
Спикер
Ольга Иноземцева Старший менеджер по продуктовому маркетингу Positive Technologies

Машинное обучение — ни в коем случае не лекарство от всех болезней, но при правильном применении эта технология может существенно помочь. Нужно четко понимать специ­фику данных и среды работы, задач, которые необходимо решить, и только потом выбирать из великого множества существующих алгоритмов машинного обучения те, которые наиболее эффективны для решения этих задач. Так, какие-то алгоритмы отлично работают в одних случаях и совершенно непригодны для других. Иногда для решения конкретной задачи их использовать и вовсе нецелесообразно. Скажем, нет смысла использовать машинное обучение для задач, решаемых формальными методами: подтверждением корректности программного кода (верификацией), автоматическим доказательством теорем, построением вычислительных моделей по исходному коду и т.п. Машинное обучение применимо в областях, слабо поддающихся формализации или обладающих множеством неизвестных факторов, влияющих на искомый результат. Среди задач верхнего уровня, хорошо ложащихся на этот подход, следует выделить две: кластеризацию и классификацию данных. В первом случае, не требующем этапа обучения с учителем, алгоритм группирует поступающие на вход данные исходя из критерия их похожести. Во втором — этап обучения с учителем необходим, поскольку задача, решаемая алгоритмом, существенно сложнее: отнесение поступающих на вход данных к одному из заранее определенных классов по каким-либо критериям. Именно эти два типа задач играют решающую роль в предметной области защиты любых приложений.

 

Зачем WAF’у машинное обучение

 

Отчет Verizon, Data Breach Investigations Report (DBIR) относит атаки на веб-приложения к основным причинам взломов и утечек данных на протяжении предыдущих нескольких лет. Что собой представляют веб-атаки и почему они так популярны? Это серия зловредных HTTP-запросов к веб-приложению, с помощью которых можно, к примеру, вывести его из строя через DDoS-атаку, получить доступ к важной информации в базе данных с помощью SQL-инъекции, проникнуть внутрь периметра организации и т.д. Популярность веб-атак объясняется очень просто: все веб-приложения уязвимы. наша собственная статистика за 2017 г. показывает, что уязвимости разной степени риска содержатся в 100% веб-приложений, более половины из них содержат уязвимости максимального уровня риска, а доля успешных попыток проникновения с использованием атак на веб-приложения составляет аж 72%! На смещение фокуса злоумышленника в сторону поиска уязвимостей в приложениях и их эксплуатации влияют современная культура быстрой гибкой разработки, частота обновлений приложений, рост их сложности и критичности для бизнеса. Традиционно для защиты веб-приложений используются межсетевые экраны уровня приложений (Web Application Firewalls, WAF), и ниже мы поговорим о применении технологий машинного обучения именно для этого класса средств защиты.

Нельзя просто взять и запретить все «плохое»

 

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

 

Создавая свой продукт, мы задались вопросом: если нельзя описать все вариации плохого, чтобы запретить, возможно, нужно пойти от обратного и смоделировать хорошее? Здесь и пришло на помощь машинное обучение ― с его помощью PT Application Firewall учится на веб-трафике и создает позитивную модель работы приложения, которая описывает состояние, когда веб-приложению «хорошо», т.е. оно работает правильно, в штатном режиме. По отклонению значений параметров запроса от значений из модели можно выявлять аномалии в трафике ― «плохие» запросы и атаки. Это на порядок эффективнее, поскольку описать правила блокировок для всех «плохих» запросов и поддерживать такую базу в актуальном виде в каждый момент времени если и возможно, то нецелесообразно (с точки зрения ресурсоемкости этой задачи).

 

Не все машинное обучение одинаково полезно для защиты от веб-атак

 

Для эффективного применения технологии машинного обучения важно хорошо понимать специфику данных, с которыми мы имеем дело. В качестве примера вспомним атаку, которая эксплуатирует уязвимость ShellShock, которая в конечном счете позволяет атакующему получить неправомерный доступ к компьютерным системам и исполнять произвольные команды. Данный вектор атаки состоит из набора символов, допустимых для параметра User-Agent, т.е. на первый взгляд запрос безобидный. Но здесь важны все обстоятельства: реализация атаки была возможна только при расположении символов в значении параметра в строго определенном порядке и только для приложений, работавших на определенной версии веб-сервера. Последствия ее могли быть самыми серьезными. Например, можно было получить полный контроль над веб-сервером, а это значит, что появлялся шанс для дальнейшей подмены информации на сайте, получения доступа к важным данным, атаки на пользователей сайта и пр. А в некоторых случаях можно было даже проникнуть во внутреннюю сеть организации.

 

Методы, основанные на сигнатурном анализе, исключают возможность обнаружения такой атаки на «0-day»-уязвимость (а это именно тот случай). Более того, не все подходы с использованием машинного обучения позволили бы ее обнаружить и заблокировать. Например, некоторые WAF строят статистическую модель машинного обучения, оценивая только номинальный состав символов в наборе данных, а не их последовательность. И, даже применяя такие алгоритмы построения позитивной модели, невозможно добиться обнаружения атаки на ShellShock.

 

Некоторые алгоритмы машинного обучения позволяют выявлять и блокировать аномальные запросы, ориентируясь не только на состав символов и их последовательность, но и на длину последней. К примеру, с этой задачей отлично справляется метод скрытых моделей Маркова (Hidden Markov’s Models, HMM). Тем не менее многие все еще продолжают выявлять аномалии по принципу статистического машинного обучения, реализуя негативную модель безопасности, которая описывает «как не должно быть» и блокирует все запросы, попадающие под ее значения. Эффективность этого подхода ниже в силу невозможности предугадать и описать заранее все плохое, что может случиться, включая атаки нулевого дня.

 

С учителем или без?

 

В WAF могут использоваться алгоритмы машинного обучения с учителем (supervised machine learning) и без него (unsupervised machine learning). Нельзя утверждать, что какой-то тип работает лучше — они решают различные задачи в разных условиях и скорее являются взаимодополняющими. 

 

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

 

Отмечу, что такой алгоритм работает только на выявление аномалий, по сути решая задачу кластеризации, но он по определению не способен к классификации (т.е. в нашем случае — ответить на вопрос, как именно атакуют приложение). Ответ на этот вопрос очень важен, когда ваше приложение не является конечной целью атакующего, а лишь используется для реализации более сложной таргетированной атаки (Advanced Persistent Threat, APT). Если не вышло с приложением и WAF выявил аномалию, заблокировав запрос, атакующий будет искать другие пути реализации своей атаки. В этом случае знание о том, попытка какой именно атаки была пресечена, может помочь в расследовании с использованием других систем защиты (например, SIEM) и в предотвращении всей цепочки атак.

 

С задачами классификации и распознавания помогут справиться только алгоритмы, требующие учителя. Все хотя бы раз (на самом деле чаще) натыкались на reCAPTCHA от Google — «докажи, что ты не робот». Хитрый Google сначала предлагал написать два слова с картинки, тем самым обучая алгоритмы для использования в своем проекте по оцифровке книг Google Books Library Project, потом предлагал написать текстом номера домов с фотографии для улучшения сервисов Google Maps и Google Street View. И в первом, и во втором случаях мы с вами, как и миллионы других пользователей по всему миру, стали учителями для алгоритмов Google и помогали корпорации решать задачи классификации и распознавания реальных изображений. 

 

В предметной области безопасности приложений для решения этой задачи мы используем рекуррентные нейронные сети (Recurrent Neural Networks, RNN), способные изучать очень длинные зависимости и сложные структурные связи в данных. Используя HMM, мы решили задачу построения модели, способной находить аномалии в потоке необработанных данных. Теперь, когда у нас есть современная, хорошо структурированная база данных известных атак, мы можем сформировать сбалансированный набор данных для алгоритма обучения с учителем, и в качестве этого алгоритма был выбран RNN как наиболее продвинутый сегодня способ классификации данных.

 

Существуют и иные преимущества, делающие RNN более привлекательным, чем другие. Его использование позволяет эффективнее интерпретировать результаты классификации; теперь пользователю можно показать точное местоположение атаки, обнаруженной WAF, определить ее класс и специфичные для атаки параметры. Можно пополнять существующую модель новыми данными в режиме реального времени, что особенно важно для динамических и постоянно обновляемых приложений с большим количеством пользователей с различным поведением в разное время. Очень важной особенностью является то, что RNN позволяет выявлять связи, проявляющиеся лишь спустя какое-то время после начала обучения и связывающие элементы наборов данных из различных промежутков времени. Это делает возможным ретроспективное обучение, учитывающее уже накопленный моделью опыт и промежуточные результаты обучения, полученные ранее.

 

Ложные срабатывания: как различать хорошее и плохое?

 

Один из важнейших критериев эффективности различных методов защиты приложений ― процент ложных срабатываний. Несложно представить, к чему может привести прохождение вредоносного трафика в веб-приложение или блокирование HTTP-запросов от рядовых законопослушных пользователей. 

 

Взять, к примеру, распределенные атаки на отказ в обслуживании (Distributed Denial of Service, DDoS). Суть одной из вариаций этого типа атак состоит в отправке веб-приложению множества HTTP-запросов с различных хостов для катастрофического увеличения нагрузки на веб-сервер и, как следствие, отказа в обработке штатного трафика. На прикладном уровне бороться с такой атакой можно двумя способами: либо наращивать вычислительные ресурсы сервера, чтобы обеспечить прохождение и вредоносного, и штатного трафика, либо искать критерий, по которому можно будет отличить один от другого, чтобы обеспечить эффективную фильтрацию «информационного шума». Иными словами, мы возвращаемся к идее классификации. Например, используя подход, основанный на HMM, можно вывести критерий блокировки в том случае, если классифицирующий признак присутствует непосредственно в HTTP-запросе. Это может быть совокупность таких параметров, как значения каких-либо HTTP-заголовков, комбинация значений параметров запроса, адрес запрашиваемого документа и т.п. 

 

Можно пойти еще дальше и попробовать предложить машине рассмотреть в качестве критериев такие характеристики, как интенсивность трафика за предыдущие периоды, география пользовательской базы, используемые браузеры, распределение трафика по времени суток и т.п. С этой задачей неплохо справляются подходы, основанные на RNN и позволяющие учитывать временной контекст за счет того, что применяемые в них модели позволяют «заглянуть в прошлое» как на этапе обучения, так и на этапе функционирования. В случае сложных атак, при которых каждый последующий HTTP-запрос уникален и не имеет ничего общего с предыдущими, RNN является последним рубежом перед принятием решения о наращивании мощностей сервера с целью предотвращения атаки.

 

Зачем машине человек, а человеку машина?

 

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

 

Однако самой важной составляющей был, есть и остается эксперт, ведь машину обучает именно он. Ни один алгоритм не заменит эксперта на 100%, он скорее позволит расширить его возможности и возьмет на себя рутинные задачи. Только обладая глубокой экспертизой и большим опытом в защищаемой области, человек способен создать действительно умную машину, которая частично клонирует его знания и возможности самостоятельного принятия решений.

Уведомления об обновлении тем – в вашей почте

MaxPatrol 8: универсальное решение может быть индивидуальным

MaxPatrol 8 – выдающийся продукт не только на отечественном рынке, но и на мировом. Это решение, которое успешно ...

Специфика внедрения SOC

Некоторыми аспектами специфики внедрения с нами поделились эксперты компании «Инфосистемы Джет»

Кадровый голод в ИБ

Как регуляторы влияют на рынок ИБ? Почему tinkoff.ru не торгуется с соискателями? что общего между Positive Technologies и Гнесинкой?

«Центр оперативного управления ИБ – гарантия и уверенность в уровне обеспечения информационной безопасности»

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

Песочницы под микроскопом: обзор решений (продолжение)

Обзор решений класса Anti-APT с акцентом на наиболее важные критерии по выбору «песочниц»

Самый безопасный SOC

По оценкам отечественных специалистов в области ИБ, в настоящее время уровень информационной безопасности в российских компаниях по сравнению с западными не очень высок, но темпы развития в разы выше

The Standoff: топ-10 самых ярких ИБ-фактов

С 12 по 17 ноября компания Positive Technologies провела киберполигон The Standoff — мероприятие, где на виртуальной платформе проводили киберучения и стримы с ИБ-экспертами со всего мира.

Интервью с Борисом Симисом, заместителем генерального директора компании Positive Technologies

Один день из жизни Ричарда Джилла, специального агента секретной службы США, превратился в кошмар наяву

Спасибо!
Вы подписались на обновления наших статей
Предложить
авторский материал





    Спасибо!
    Вы подписались на обновления наших статей
    Подписаться
    на тему







      Спасибо!
      Вы подписались на обновления наших статей
      Оформить
      подписку на журнал







        Спасибо!
        Вы подписались на обновления наших статей
        Оформить
        подписку на новости







          Спасибо!
          Вы подписались на обновления наших статей
          Задать вопрос
          редактору








            Оставить заявку

            Мы всегда рады ответить на любые Ваши вопросы

            * Обязательные поля для заполнения

            Спасибо!

            Благодарим за обращение. Ваша заявка принята

            Наш специалист свяжется с Вами в течение рабочего дня