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

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

Network Edge — это место, где пользователи подключаются к сети. Здесь также подключаются устройства IoT (Интернет вещей). Большое количество эксплойтов и уязвимостей безопасности, связанных с устройствами IoT, попало в новости в недавнем прошлом. Устройства IoT — это устройства специального назначения, встроенные в систему или рабочий процесс. После того, как устройства IoT развернуты в производстве, очень неохотно обновляют программное обеспечение, в отличие от мобильных телефонов/ноутбуков. Это связано с тем, что устройства IoT обычно не рассчитаны на бесперебойные обновления. Чаще всего обновления программного обеспечения требуют ручного вмешательства и приводят к простою устройства. Тем не менее, хорошая новость заключается в том, что целенаправленная цель этих устройств создает ограниченный набор действий, которые можно наблюдать в сети, и это составляет уникальную сетевую сигнатуру IoT-устройства (см. ниже).

На рисунке 2 видно, что коммутатор Belkin WeMo имеет сетевую подпись только тогда, когда он переходит из состояния ON в состояние OFF и наоборот. Сетевая подпись Amazon Echo запускается только при использовании крылатой фразы Alexa. Если это устройство будет скомпрометировано вредоносным ПО, шпионским ПО или программой-вымогателем, изменение сетевой подписи может быть быстро обнаружено и отправлено соответствующее оповещение. Для этого обнаружения аномалий на границе сети нам потребуется машинное обучение.

Набор данных

Чтобы лучше проиллюстрировать этот метод, рассмотрим трассировки пакетов IoT, доступные на UNSW IoT. Эти трассировки пакетов относятся к 21 различному устройству IoT, например устройствам чтения бейджей, лампочкам, переключателям с интеллектуальными розетками и т. д. является производным.

Подготовка данных

Рассмотрим цель определения того, принадлежит ли запись потока определенному устройству IoT или нет, например, Переключатель Smart Plug Switch WeMo от Belkin. Для этого всем записям потоков присваивается одна из двух меток — IoT-Smart-Plug-Switch, для всех записей потоков, имеющих исходный MAC-адрес коммутатора Belkin WeMo Smart Plug и Not-IoT-Smart-Plug-Switch на все остальные записи потока. Этот набор данных после маркировки и с выбором конкретных функций (количество пакетов — tx и rx, количество байтов — tx и rx, TTL пакета, протокол и т. д.) стал готов для использования в методе контролируемого машинного обучения. Простое объяснение контролируемого обучения слушайте здесь.

Классификация данных

В качестве метода классификации выбрано дерево решений, поскольку проблема заключается в классификации двоичных классов (либо IoT-Smart-Plug-Switch, либо Not-IoT-Smart -Вилка-Переключатель). Результирующее дерево решений имеет 29 узлов и 15 листьев. Из них 7 листьев имели метку IoT-Smart-Plug-Switch, а остальные 8 листьев имели метку Not-IoT-Smart-Plug-Switch. Самое главное, это дало четкие правила (пути от узлов к листьям), которые определяли бы, является ли устройство умным коммутатором IoT-Smart-Plug-Switch или нет. Правила для этого случая были -

Если (скорость потока данных ≤ 70 КБ/с) и (длительность потока ≤ 55 с), метка – IoT-Smart-Plug-Switch.

Если (скорость потока данных >70 КБ/с) или (длительность потока > 55 с), метка Not-IoT-Smart-Plug-Switch.

Программирование правил

Удобство получения четких правил заключается в том, что их можно запрограммировать как максимальные пороги на ASIC сетевых коммутаторов на границе (см. рис. 3). IPFIX, основанный на стандартах и ​​поддерживаемый ASIC нескольких поставщиков, поддерживает конструкции для программирования пороговых значений, таких как Максимальная скорость передачи данных и Максимальная продолжительность потока. Когда трафик, поступающий на такой ASIC, превышает запрограммированные пороги, инициируются прерывания, чтобы уведомить программу, работающую на процессоре коммутатора.

Обнаружение аномалий

Сравнение графиков на рис. 4 показывает ожидаемый трафик IoT-Smart-Plug-Switch в сети на основе обучающего набора данных и смоделированный трафик, указывающий на скомпрометированное устройство IoT. Этот смоделированный трафик, когда инцидент на сетевом коммутаторе вызвал прерывание (от ASIC), поскольку превышено пороговое значение для Maximum Flow Duration. Это приводит к правильному определению смоделированного трафика как Not-IoT-Smart-Plug-Switch и впоследствии помечается как аномалия.

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