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

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

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

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

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

Есть несколько ключевых идей для создания профиля, упомянутых ниже:

1. Модель обучения на основе статистики
Обнаружение веб-исключений на основе статистики обычно требует численного извлечения и анализа особенностей обычного трафика данных. Функции включают в себя количество параметров URL-адреса, среднее значение и дисперсию длины значения параметра, распределение символов параметра, частоту доступа к URL-адресу и т. д. Кроме того, требуется создание математических моделей посредством статистического анализа распределения признаков в большом количестве выборок и обнаружение исключений с использованием статистических методов.

2. Модель машинного обучения на основе анализа текста
Обнаружение веб-исключений является частью окончательного анализа, основанного на анализе текста журнала, поэтому мы можем изучить некоторые идеи NLP для анализа текста и моделирования. В частности, одним из успешных методов является обнаружение исключений значений параметров на основе скрытой марковской модели (HMM).

3. Модель на основе одного класса
Поскольку черных примеров веб-вторжений немного, трудно проводить обучение традиционным методам контролируемого обучения. Однако обнаружение исключений на основе белых образцов позволяет обучать образцы с помощью неконтролируемых моделей или моделей с одним классом для построения минимальной модели, которая может полностью выразить белые образцы в качестве профиля для обнаружения исключений.

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

Модель обучения на основе статистики

Подход, основанный на модели обучения на основе статистики, в основном включает в себя создание набора функций для данных, а затем выполнение статистического моделирования для каждой функции. Для тестовой выборки сначала рассчитайте степень аномальности каждой функции, затем используйте модель для объединения и оценки выбросов и, наконец, обработайте результаты как окончательную основу для обнаружения исключений.

Здесь мы берем отрывок из курса Стэнфордского университета CS259D: Data Mining for Cyber ​​Security [1] в качестве примера, чтобы представить некоторые эффективные функции и методы обнаружения исключений.

Особенность 1: Длина значения параметра

Модель: распределение длин
Среднее значение – µ, дисперсия – σ2. Используйте неравенство Чебышева для вычисления выброса p

Особенность 2: Распределение персонажей

Модель. Создайте модель распределения символов.
Используйте критерий хи-квадрат для расчета выброса p.

Функция 3: Отсутствует параметр

Модель: Создайте таблицу параметров
Проверьте ошибочные или отсутствующие параметры с помощью метода таблицы поиска.

Функция 4: последовательность параметров

Модель: направленный граф порядка параметров, чтобы определить, есть ли нарушение порядка.

Функция 5: Частота доступа (частота доступа отдельного IP-адреса и общая частота доступа)

Модель: распределение частоты доступа в течение заданного периода.
Среднее значение равно μ, а дисперсия — σ2. Используйте неравенство Чебышева для вычисления выброса p.

Функция 6: Интервал доступа

Модель: интервальное распределение времени. Используйте критерий хи-квадрат для расчета выброса p.
Наконец, используйте выбросы нескольких функций, чтобы объединить модель оценки исключений, чтобы получить окончательный балл исключения:

Модель машинного обучения на основе анализа текста

За вводом параметра URL стоит фоновый анализ кода. Как правило, значение каждого параметра имеет диапазон, а допустимый ввод следует определенной схеме. См. пример ниже:

В этом примере зеленые журналы представляют нормальные потоки трафика, а красные — ненормальные потоки трафика. Поскольку аномальный поток трафика имеет очень похожие параметры, длину значений и распределение символов на параметры обычных потоков трафика, с помощью вышеописанного статистического метода признаков их трудно отличить друг от друга. Кроме того, потоки нормального трафика отличаются друг от друга, но имеют общий шаблон, в то время как ненормальный трафик шаблону не соответствует. В этом примере пример шаблона, который соответствует значению: numbers_letters_numbers, и мы можем использовать конечный автомат для выражения допустимого диапазона значений:

Моделирование шаблонов текстовой последовательности является более точным и надежным, чем числовые признаки. Среди них подходящим приложением является моделирование последовательности на основе скрытой марковской модели (HMM), которую мы кратко представим здесь.

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

В качестве следующего шага мы вычисляем распределение вероятности состояния после каждого состояния. Например, возможный результат показан на рисунке ниже. «^» представляет собой начальный символ. Поскольку все образцы белого цвета начинаются с чисел, вероятность того, что начальный символ (состояние ^) сдвинется на число (состояние N), равна 1. Теперь вероятность следующего состояния числа (состояние N) равна 0,8. число (состояние N) снова, вероятность перехода к знаку подчеркивания 0,1 и вероятность перехода к знаку конца (состояние $) 0,1 и т. д.

Используя эту модель перехода состояний, мы можем определить, соответствует ли входная последовательность образцу белого образца:

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

Одноклассовая модель на основе

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

Успешным применением среди таких методов является одноклассовая машина опорных векторов (одноклассовая SVM). Вот краткое введение в идею McPAD, успешный случай использования этого метода.

Система McPAD сначала векторизует текстовые данные через N-Gram, как в примере ниже:

Сначала разделите текст на последовательности N-грамм с помощью скользящего окна длины N. В этом примере N равно 2, а длина шага скользящего окна равна 1. Вы получите следующую последовательность N-грамм.

На следующем шаге мы преобразуем последовательность N-грамм в вектор. Предположим, что имеется 256 различных символов, и мы получим 256 * 256 видов комбинаций 2-GRAM (таких как aa, ab, ac…). Мы можем использовать длинный вектор размером 256 * 256, и каждый бит подвергается горячему кодированию (1 для старшего бита и 0 для младшего бита), чтобы представить, появляется ли 2-GRAM в тексте. Тогда мы получим вектор размером 256 * 256 длинных 0/1. На следующем шаге мы используем частоту появления этой 2-граммы в тексте, чтобы заменить монотонную «1» для каждой 2-граммы, чтобы предоставить больше информации:

На данный момент мы можем представить каждый текст длинным вектором размером 256 * 256.

Теперь мы получаем 256 * 256-векторный набор обучающей выборки, и нам нужно определить минимальную границу через одноклассовую SVM. Проблема, однако, заключается в том, что размер выборки слишком велик, что создает трудности при обучении. Еще одна проблема, требующая решения, — уменьшение размерности признаков. Существует множество зрелых методов уменьшения размерности признаков, и система McPAD использует подход кластеризации признаков для уменьшения размерности.

Модель кластеризации на основе

В верхней левой матрице черные блоки представляют 0, а красные блоки представляют ненулевые значения. Каждая строка в матрице представляет 2 грамма в каждом входном тексте (выборке). Если мы посмотрим на эту матрицу под другим углом, каждый столбец представляет образцы, существующие в 2-грамме. Следовательно, мы можем выразить каждую 2-грамму вектором выборки. С этой точки зрения мы можем получить 2-граммовую релевантность. В векторной кластеризации 2-Gram указанное количество классов «K» представляет собой количество измерений признаков, присутствующих после уменьшения измерения. Затем мы можем применить уменьшенные векторы признаков к SVM с одним классом для дальнейшего обучения модели.

Кроме того, вы можете заменить процесс принятия McPAD линейного сокращения признаков + SVM одного класса для обучения белой модели на модель углубленного автоматического кодирования в глубоком обучении для проведения нелинейного сокращения признаков. В то же время процесс обучения модели с автоматическим кодированием влечет за собой изучение выражения сжатия обучающей выборки и определение того, соответствует ли входная выборка модели через ошибку восстановления данного ввода.

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

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

Резюме

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

Ссылка:

https://www.alibabacloud.com/blog/Machine-Learning-based-Web-Exception-Detection_p89782