Эвристический анализ

Введение

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

Общие сведения о процессе функционирования модуля эвристического анализа

Система производит сбор параметров входящего/исходящего/транзитного трафика на всех интерфейсах системы с заданной частой - 1 час, 1 сутки, 1 неделя. В данном случае система оперирует часовыми отсчетами. Часовой отсчет - 1 час. Например, 1 сутки - 24 часовых отсчета и т.д. Для сбора статистики по сетевому трафику используется широкий набор параметров, который представлен в Таблице раздела Контролируемые параметры. Накопление статистики производится в течении 42 дней. По окончанию данного периода формируется первичная эталонная модель сетевого трафика, которая включает максимальные и минимальные значения контролируемых параметров, а также средневзвешенные значения всех контролируемых параметров за следующий период - час, сутки, неделя. Для каждого контролируемого параметра в эталонной модели на основе эвристических алгоритмов рассчитываются прогнозируемые диапазоны значений на период в одну неделю. Фиксированный период в одну неделю связан с необходимостью прогнозировать сетевую активность для каждого дня недели. Система позволяет регистрировать аномалии не только при сформированной эталонной модели, но и во время действующего процесса формирования эталонной модели. Регистрация аномалии трафика производится в случае, если значение одного из контролируемых параметров выходит за пределы максимального значения с учетом заданного коэффициента в конфигурации.

../../../../_images/about_function_heuristic_analysis.png

Общие принципы функционирования системы с модулем эвристического анализа.

Контролируемые параметры

Эвристическая модель выполняет учёт и контроль следующего трафика:

Контролируемый трафик

Системное описание (используется при журналировании аномалий трафика)

Количество принятых IP пакетов

ip_total_packets_received

Количество IP пакетов с некорректным адресом

ip_packets_with_invalid_addresses

Количество транзитных IP пакетов

ip_packets_forwarded

Количество входящих отфильтрованных IP пакетов

ip_incoming_packets_discarded

Количество доставленных IP пакетов

ip_incoming_packets_delivered

Количество отправленных IP пакетов

ip_requests_sent_out

Количество отброшенных отправленных IP пакетов

ip_outgoing_packets_dropped

Количество отброшенных IP пакетов в связи с потерей маршрута

ip_dropped_because_of_missing_route

Количество принятых ICMP сообщений

icmp_messages_received

Количество ошибочных входящих ICMP сообщений

icmp_input_message_failed

Количество входящих ICMP сообщений типа ответ

icmp_input_echo_replies

Количество входящих ICMP сообщений типа запрос

icmp_input_echo_requests

Количество входящих ICMP сообщений destination_unreachable

icmp_input_destination_unreachable

Количество отправленных ICMP сообщений

icmp_messages_sent

Количество ошибочных ICMP сообщений

icmp_messages_failed

Количество отправленных ICMP сообщений типа ответ

icmp_output_echo_replies

Количество отправленных ICMP сообщений типа запрос

icmp_output_echo_requests

Количество отправленных ICMP сообщений destination_unreachable

icmp_output_destination_unreachable

Количество активных TCP соединений

tcp_active_connection_openings

Количество пассивных TCP соединений

tcp_passive_connection_openings

Количество ошибочных попыток TCP соединений

tcp_failed_connection_attempts

Количество разрывов TCP соединений типа reset

tcp_connection_resets_received

Количество установленных TCP соединений

tcp_connections_established

Количество принятых TCP сегментов

tcp_segments_received

Количество переданных TCP сегментов

tcp_segments_sent_out

Количество переданных повторно TCP сегментов

tcp_segments_retransmitted

Количество «плохих» принятых TCP сегментов

tcp_bad_segments_received

Количество отправленных пакетов типа reset

tcp_resets_sent

Сконфигурированные правила фильтрации netfilter копят статистику для передачи эвристической модели по следующим параметрам:

Контролируемый трафик

Системное описание (используется при журналировании аномалий трафика)

принятые пакеты TCP HTTP с DstPort 80

in_tcp_http_port80

транзитные пакеты TCP HTTP с DstPort 80

fwd_tcp_http_port80

принятые пакеты TCP с DstPort 443

in_tcp_http_port443

транзитные пакеты TCP с DstPort 443

fwd_tcp_http_port443

входящие UDP DNS датаграммы с DstPort 53

in_udp_dns_dport53

транзитные UDP DNS датаграммы с DstPort 53

fwd_udp_dns_dport53

принятые пакеты TCP с флагом RST

in_tcp_flag_rst

транзитные пакеты TCP с флагом RST

fwd_tcp_flag_rst

принятые пакеты TCP с флагом SYN

in_tcp_flag_syn

транзитные пакеты TCP с флагом SYN

fwd_tcp_flag_syn

принятые пакеты TCP с флагом FIN

in_tcp_flag_fin

транзитные пакеты TCP с флагом FIN

fwd_tcp_flag_fin

принятые пакеты TCP с флагом ACK

in_tcp_flag_ack

транзитные пакеты TCP с флагом ACK

fwd_tcp_flag_ack

принятые пакеты TCP с флагами SYN и ACK

in_tcp_flag_syn_and_ack

транзитные пакеты TCP с флагами SYN и ACK

fwd_tcp_flag_syn_and_ack

входящие TCP пакеты с данными

in_tcp_with_data

транзитные TCP пакеты с данными

fwd_tcp_with_data

входящие TCP пакеты с DstPort _standard

in_tcp_dport_standard

транзитные TCP пакеты с DstPort _standard

fwd_tcp_dport_standard

входящие TCP пакеты с DstPort _not_standard

in_tcp_dport_not_standard

транзитные TCP пакеты с DstPort _not_standard

fwd_tcp_dport_not_standard

входящие ICMPv4 Echo пакеты

in_icmpv4_type8

транзитные ICMPv4 Echo пакеты

fwd_icmpv4_type8

транзитные ICMPv4 не-Echo пакеты

fwd_ipv4_icmpv4_not_type8

входящие UDP DNS датаграммы имеющие слишком большой рамер

in_udp_stddns_gt520

транзитные UDP DNS датаграммы имеющие слишком большой рамер

fwd_udp_stddns_gt520

входящие TCP DNS пакеты имеющие слишком большой рамер

in_tcp_stddns_gt576

транзитные TCP DNS пакеты имеющие слишком большой рамер

fwd_tcp_stddns_gt576

входящие TCP пакеты с флагом SYN и размером менее 64 бит

in_tcp_syn_lt64

транзитные TCP пакеты с флагом SYN и размером менее 64 бит

fwd_tcp_syn_lt64

входящие UDP датаграммы с нулевым портом назначения

in_udp_port0

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

fwd_udp_port0

входящие TCP пакеты с комбинацией флагов SYN+FIN

in_tcp_syn_fin

транзитные TCP пакеты с комбинацией флагов SYN+FIN

fwd_tcp_syn_fin

входящие TCP пакеты с комбинацией флагов SYN+RST

in_tcp_syn_rst

транзитные TCP пакеты с комбинацией флагов SYN+RST

fwd_tcp_syn_rst

входящие TCP пакеты без флагов (0 attack)

in_tcp_sfrpau_to_f

транзитные TCP пакеты без флагов (0 attack)

fwd_tcp_sfrpau_to_f

входящие TCP пакеты с флагами FIN+PSH+URG (x-mas attack)

in_tcp_sfrpau_to_fpu

транзитные TCP пакеты с флагами FIN+PSH+URG (x-mas attack)

fwd_tcp_sfrpau_to_fpu

входящие IPv6 пакеты

in_ipv6

транзитные IPv6 пакеты

fwd_ipv6

входящие IPv6 TCP пакеты

in_ipv6_tcp

транзитные IPv6 TCP пакеты

fwd_ipv6_tcp

входящие IPv6 UDP пакеты

in_ipv6_udp

транзитные IPv6 UDP пакеты

fwd_ipv6_udp

входящие IPv6 ICMPv6 пакеты

in_ipv6_icmpv6

транзитные IPv6 ICMPv6 пакеты

fwd_ipv6_icmpv6

Аномалии трафика делятся на следующие типы:

  • hour_anomaly - аномалии сетевого трафика за час. Например, объем контролируемого трафика текущего часового отсчета значительно отличается от значений предыдущего часового отсчета.

  • day_anomaly - аномалии сетевого трафика за день. Например, объем контролируемого трафика часового отсчета текущего дня значительно отличается от значений аналогичного часового отсчета предыдущих дней.

  • week_anomaly - аномалии сетевого трафика за неделю. Например, объем контролируемого трафика за неделю значительно отличается от значений предыдущей недели.

Описание параметров конфигурации модуля Эвристического анализа

Конфигурация модуля Эвристического анализа производится в разделе Службы - Обнаружение вторжений - Эвристический анализ.

../../../../_images/services_heuristic_analysis.png

Раздел Службы - Обнаружение вторжений - Эвристический анализ.

На вкладке Общие настройки производится основная конфигурация модуля Эвристического анализа. На вкладке Журнал аномалий фиксируется список зарегистрированных аномалий.

../../../../_images/services_heuristic_analysis_all.png

Параметры конфигурации модуля Эвристического анализа.

../../../../_images/services_heuristic_analysis_anomaly.png

Журнал аномалий.

Параметры конфигурации модуля Эвристического анализа.

Параметр

Описание

Включить

Запуск службы эвристического анализа.

Состояние модели

Режим сохранения эвристической модели:

  • Вкл - сохранение данных эвристической модели после сбоя или перезагрузки службы/устройства;

  • Выкл - сброс данных эвристической модели после сбоя или перезагрузки службы/устройства.

Режим взвешенного окна

Режим работы эвристической модели после завершения этапа накопления статистики. Существует два режима:

  • Ординарный - данные по параметрам трафика будут записаны в БД без дополнительного расчёта;

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

Множитель для нового отсчёта;

Множитель для первого отсчёта;

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

Режим сравнения

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

Порог аномалий

Коэффициент учета регистрации аномалии.

Режим детектирования аномалии

Определяет режим учёта аномалии в статистике:

  • Отключить - не учитывать аномалию;

  • Невзвешенный - учитывать без веса;

  • Весовой коэффициент - учитывать с весом;

Важно

Пример учёта аномалии с Весовым коэффициентом. Допустим, Текущее_значение = 300, Прошлое_максимальное = 100, Порог_аномалий = 2, Весовой_коэффициент = 0,7.

Поскольку Текущее_значение[300] больше, чем (Прошлое_максимальное[100] * Порог_аномалий[2])[200], то это аномалия и будет применён коэффициент.

В базу будет внесено (Прошлое_максимальное[100] + (Текущее_значение[300] - Прошлое_максимальное[100]) * Весовой_коэффициент[0,7]) = 240