Алгоритм (алгоритмы) для определения аномалий (“скачки”) в транспортных данных

Я должен для обработки сетевого трафика, полученного с tcpdump. Чтение трафика не трудно, но что становится немного хитрым, определяет, где существуют "скачки" в трафике. Я главным образом обеспокоен TCP пакеты SYN и что я хочу сделать, дни находки, где существует внезапное повышение трафика для данного целевого порта. Существует довольно мало данных для обработки (примерно один год).

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

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

Так, делает любой знает о хорошем методе или где-нибудь пойти и читать на этом виде вещи.

Скользящее среднее значение я использовал взгляды примерно как:

avg = avg+0.96*(new-avg)

С avg будучи EMA и new будучи новой мерой. Я экспериментировал с тем, какие пороги использовать, но нашел, что комбинация "должна быть данным фактором выше, чем среднее число до взвешивания нового значения" и "должно быть по крайней мере 3 выше" для предоставления наименее плохого результата.

8
задан Vatine 8 February 2010 в 14:02
поделиться

2 ответа

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

Это документ: http://www.usenix.org/publications/library/proceedings/sec98/full_papers/full_papers/lee/lee_html/lee.html здесь используется индукция правила RIPPER система, я думаю, вы могли бы заменить эту старую на что-то более новое, например http://www.newty.de/pnc2/ или http://www.data-miner.com/rik .html

5
ответ дан 5 December 2019 в 18:59
поделиться

Я бы применил к данным два фильтра нижних частот: один с большой постоянной времени T1, а другой - с короткой постоянной времени T2. Затем вы бы посмотрели на разницу величин на выходе этих двух фильтров, и когда она превысит определенный порог, K, это будет всплеск. Самая сложная часть - настроить T1, T2 и K, чтобы вы не получали слишком много ложных срабатываний и не пропускали небольшие всплески.

Ниже приводится однополюсный БИХ-фильтр нижних частот:

new = k * old + (1 - k) * new

Значение k определяет постоянную времени и обычно близко к 1,0 (но <1,0, конечно).

Я предлагаю вам применять два таких фильтра параллельно с разными постоянными времени, например начните с, скажем, k = 0,9 для одного (короткая постоянная времени) и k = 0,99 для другого (длительная постоянная времени), а затем посмотрите на разницу величин в их выходных сигналах. Разница в величинах будет небольшую большую часть времени, но станет большой, когда будет всплеск.

4
ответ дан 5 December 2019 в 18:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: