В этой статье я покажу вам пошаговый процесс предотвращения атак на систему безопасности с помощью машинного обучения K-Means Clustering.
Что такое кластеризация?
Кластеризация — один из наиболее распространенных методов анализа данных. Он используется для получения структуры данных. Это идентификация и группировка похожих точек данных в больших наборах данных.
Что такое кластер K-средних?
Кластеризация K-средних — это простой алгоритм обучения без учителя, который используется для решения проблем кластеризации. Его основная цель состоит в том, чтобы разделить набор наблюдений на несколько кластеров.
Алгоритм K-средних работает следующим образом:
- Укажите количество кластеров K.
- Инициализируйте центроиды, а затем случайным образом выберите K точек данных для центроидов.
- Назначьте все точки данных ближайшему k.
- После этого пересчитываются положения k центроидов
- Шаги 3 и 4 повторяются до тех пор, пока положения центроидов не перестанут двигаться.
Что такое атака на безопасность (DDoS)?
Распределенная атака типа «отказ в обслуживании» — это кибератака, при которой злоумышленник пытается сделать компьютер или сетевой ресурс недоступным для предполагаемых пользователей, временно или на неопределенный срок прервав работу служб хоста, подключенного к Интернету.
Этот тип атаки использует определенные ограничения пропускной способности, которые применяются к любым сетевым ресурсам, таким как инфраструктура, обеспечивающая работу веб-сайта компании. DDoS-атака будет отправлять множественные запросы к атакуемому веб-ресурсу.
Шаг, чтобы следовать:
Создайте систему, которая будет полезна для сервера с точки зрения следующих функций:
- Эта система будет вести журнал информации о клиенте или запросе к серверу, например, мы можем получить файл журнала веб-сервера по адресу /var/log/httpd/
2. Эти данные журнала клиентов будут использоваться для поиска необычного шаблона клиентского запроса.
Теперь нам нужно создать программу для кластеризации данных.
Приведенный ниже код получит журнал и преобразует его в формат CSV с помощью библиотеки pandas.
Приведенный ниже код прочитает журнал, получит столбцы IP и Status_code, удалит ненужные столбцы и преобразует их в кадр данных pandas.
В приведенном ниже коде мы будем масштабировать данные в фиксированном диапазоне.
Вот основная часть, в которой мы собираемся создать кластеры разных IP-адресов с разными кодами состояния, используя алгоритм K-Means, который поможет нам заблокировать атакующие IP-адреса.
Создание точечной диаграммы для визуализации IP-адреса и кода состояния в виде кластеров.
Создание гистограммы для визуализации того, с какого IP приходит MAX запросов
Github Repo для полного кода — https://bit.ly/3Big5YN
до сих пор мы обсуждали вариант использования кластеризации методом k-средних.
Еще один вариант использования кластеризации K-средних —
~ Подробный анализ записи звонков
~ Классификация документов
~ Сегментация клиентов
~ Оптимизация магазина доставки