Вы когда-нибудь задумывались, как ваш компьютер / сеть может избежать заражения вредоносным ПО и плохого трафика из Интернета? Причина, по которой он может его так хорошо обнаруживать, заключается в том, что существуют системы для защиты вашей ценной информации, хранящейся на вашем компьютере или в сетях. Эти системы, которые обнаруживают входящие вредоносные данные трафика, называются системами обнаружения вторжений (IDS) и обучаются на данных записи интернет-трафика. Наиболее распространенным набором данных является NSL-KDD, который является эталоном для современного интернет-трафика.

Набор данных NSL-KDD не первый в своем роде. Кубок KDD был Международным соревнованием по открытию знаний и инструментам интеллектуального анализа данных. В 1999 году это соревнование проводилось с целью сбора рекордов дорожного движения. Задача конкурентов заключалась в создании детектора сетевых вторжений, модели прогнозирования, способной различать «плохие» соединения, называемые вторжениями или атаками, и «хорошие» нормальные соединения. В результате этого соревнования было собрано огромное количество записей интернет-трафика, которые были объединены в набор данных под названием KDD'99, и на основе этого был создан набор данных NSL-KDD в качестве пересмотренного, очищенного версия KDD'99 из Университета Нью-Брансуика.

Этот набор данных состоит из четырех субнаборов данных: KDDTest +, KDDTest-21, KDDTrain +, KDDTrain + _20Percent, хотя KDDTest-21 и KDDTrain + _20Percent являются подмножествами KDDTrain + и KDDTest +. С этого момента KDDTrain + будет называться поездом, а KDDTest + - тестом. KDDTest-21 - это подмножество тестов без самых сложных записей трафика (21 балл), а KDDTrain + _20Percent - это подмножество поездов, количество записей которых составляет 20% от всего набора данных поезда. При этом записи трафика, существующие в KDDTest-21 и KDDTrain + _20Percent, уже проходят тестирование и обучение соответственно и не являются новыми записями, хранящимися в любом наборе данных.

Эти наборы данных содержат записи интернет-трафика, обнаруженного простой сетью обнаружения вторжений, и являются призраками трафика, с которым сталкивается настоящая IDS, и остаются лишь следы его существования. Набор данных содержит 43 функции на запись, 41 из которых относятся к самому входному трафику, а последние две - это метки (нормальный или атакующий) и Score (серьезность самого входящего трафика).

В наборе данных существует 4 различных класса атак: отказ в обслуживании (DoS), зондирование, получение пользователем root-доступа (U2R) и удаленное подключение к локальному (R2L). Краткое описание каждой атаки можно увидеть ниже:

  • DoS - это атака, которая пытается остановить поток трафика к целевой системе и от нее. IDS переполняется чрезмерным объемом трафика, который система не может обработать, и отключается, чтобы защитить себя. Это предотвращает посещение сети обычным трафиком. Примером этого может быть интернет-магазин, наводненный онлайн-заказами в день крупной распродажи, и поскольку сеть не может обработать все запросы, она отключится, не позволяя покупателям что-либо купить. Это самая распространенная атака в наборе данных.
  • Зондирование или наблюдение - это атака, которая пытается получить информацию из сети. Цель здесь - действовать как вор и украсть важную информацию, будь то личная информация о клиентах или банковская информация.
  • U2R - это атака, которая начинается с учетной записи обычного пользователя и пытается получить доступ к системе или сети в качестве суперпользователя (root). Злоумышленник пытается использовать уязвимости в системе, чтобы получить привилегии / доступ root.
  • R2L - это атака, которая пытается получить локальный доступ к удаленному компьютеру. Злоумышленник не имеет локального доступа к системе / сети и пытается «взломать» свой путь в сеть.

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

В таблице ниже показана разбивка различных подклассов каждой атаки, которая существует в наборе данных:

Хотя эти атаки существуют в наборе данных, распределение сильно искажено. Распределение записей можно увидеть в таблице ниже. По сути, более половины записей, которые существуют в каждом наборе данных, являются обычным трафиком, а распределение U2R и R2L чрезвычайно низкое. Хотя этот показатель невелик, это точное представление о распределении современных атак на Интернет-трафик, где наиболее распространенной атакой является DoS, а U2R и R2L практически никогда не встречаются.

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

  • Внутренние функции могут быть получены из заголовка пакета, не заглядывая в саму полезную нагрузку, и содержат основную информацию о пакете. Эта категория содержит функции 1–9.
  • Функции содержимого содержат информацию об исходных пакетах, поскольку они отправляются несколькими частями, а не одним. С помощью этой информации система может получить доступ к полезной нагрузке. Эта категория содержит функции 10–22.
  • Функции, основанные на времени, проводят анализ входящего трафика в течение двухсекундного окна и содержат информацию, например, сколько подключений было предпринято к одному и тому же хосту. Эти функции в основном представляют собой подсчеты и ставки, а не информацию о содержании входящего трафика. Эта категория содержит объекты 23–31.
  • Функции на основе хоста аналогичны функциям на основе времени, за исключением того, что вместо анализа в течение 2-секундного окна он анализирует серию выполненных подключений (сколько запросов к одному и тому же хосту за x-количество подключений). Эти функции предназначены для доступа к атакам, продолжительность которых превышает двухсекундный промежуток времени. Эта категория содержит функции 32–41.

Типы функций в этом наборе данных можно разделить на 4 типа:

  • 4 категориальные (Характеристики: 2, 3, 4, 42)
  • 6 двоичных (возможности: 7, 12, 14, 20, 21, 22)
  • 23 Дискретный (Характеристики: 8, 9, 15, 23–41, 43)
  • 10 непрерывных (функции: 1, 5, 6, 10, 11, 13, 16, 17, 18, 19)

Разбивку возможных значений для категориальных характеристик можно увидеть в таблице ниже. Существует 3 возможных значения Тип протокола, 60 возможных значений Сервис и 11 возможных значений Флаг.

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

Описание каждой функции и разбивку набора данных можно увидеть в таблице Google здесь.