Сетевые аномалии. Что это и как их определить?

Сетевые аномалии. Что это и как их определить?

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

image

Что такое сетевая аномалия?

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

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

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

Что такое система обнаружения аномалий?

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

Существует две основные категории мониторинга сети, которые позволяют обнаруживать аномалии:

Пассивный мониторинг сети

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

Активный мониторинг сети

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

Различия между активным и пассивным сетевым мониторингом

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

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

В целом обнаружение аномалий можно разделить на несколько основных компонентов:

  • Параметризация – отслеживаемые данные отделяются от входных данных в форме, пригодной для дальнейшей обработки;
  • Обучение — при выборе этого режима модель сети (состояние обучения) обновляется. Это обновление может выполняться как автоматически, так и вручную;
  • Обнаружение — созданная (обученная) модель используется для сравнения данных из контролируемой сети. Если они соответствуют определенным критериям, создается отчет об обнаружении аномалий.

Какие аномалии можно обнаружить?

  • Программа-вымогатель — путем поиска сигнатуры исполняемого файла;
  • DDoS-атака — путем сравнения объема текущего трафика с ожидаемым объемом;
  • Активность ботнета — проводится анализ известных серверов управления и контроля (C&C) ботнета, чтобы обнаружить соединения с этими серверами;
  • Атака по словарю — путем сравнения количества попыток входа в систему с пороговыми значениями;
  • Отказ канала — сопровождается заметным увеличением количества подключений по резервному каналу;
  • Неправильная конфигурация приложения — увеличение количества кодов ошибок в соединениях приложений;
  • Перегрузка сервера — подразумевает собой снижение качества работы служб или сервера;
  • Подозрительное поведение устройства — путем создания профилей поведения и проверки поведения устройства за пределами созданных профилей.

Методы обнаружения аномалий

Сигнатуры или методы, основанные на знаниях

Сигнатура точно описывает, какой тип данных ищет система. Примером сигнатуры может быть поиск пакета, который имеет одинаковые IP-адреса отправителя и получателя, или поиск определенного содержимого в пакете.

Базовый (статистический)

Базовый уровень описывает объем передаваемых данных, которые имеют определенные общие характеристики. Например, это может быть количество обнаруженных TCP-соединений за каждые 5 минут. Аномалия возникает, когда текущее значение (количество запросов за последние 5 минут) значительно отклоняется от изученного базового уровня.

Обнаружение аномалий по изменению количества обнаруженных TCP-соединений

Другой пример — поиск изменений в распределении пакетов в соответствии с портами, к которым они направляются. На картинке показан случай, когда аномалия проявляется в увеличении количества пакетов, отправляемых на один порт назначения.

Изменение распределения пакетов по портам назначения. При передаче больших объемов данных в один порт результат распределения значительно меняется.

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

В таблице ниже сравнивается использование сигнатур и базовых показателей.

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

Использование машинного обучения для обнаружения аномалий

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

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

Проблемы обнаружения аномалий

Реальность обнаружения аномалий не так проста, как может показаться. При мониторинге сети может возникнуть опасная проблема, которая существенно ограничит возможности обнаружения.

Ложноположительное обнаружение

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

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

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

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

Мониторинг зашифрованного трафика как замена устаревшего метода обнаружения аномалий

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

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


Мир сходит с ума, но еще не поздно все исправить. Подпишись на канал SecLabnews и внеси свой вклад в предотвращение киберапокалипсиса!