лю нормальної поведінки.
Підсистема отримує на вхід черговий запис траси у внутрішньому поданні, проаналізовану і перетворену предобработчіком траси.
На підставі вступників записів траси будується дерево запитів, в якому семантично вершини глибини 1 відповідають веб-додаткам, вершини глибини 2 - наборам HTTP-параметрів, а вершини глибини 3 - наборам операцій. Як було зазначено вище, веб-додатки розрізняються за URL-адресою.
На малюнку 6.4.1 показано додавання даних записи траси в дерево запитів.
Малюнок 6.4.1 Додавання даних записи траси в дерево запитів
Дерево будується за наступним алгоритмом:
Якщо на вході є чергова запис траси - перехід на крок 2, інакше останов.
Із запису витягується URL-адресу, якому адресовано запит.
Перевіряється, чи є вже в дереві вершина глибини 1 з таким же URL-адресою. Якщо такої вершини немає (малюнок 6.4.2), то:
заводиться вершина глибини 1 з даними URL;
створеної вершині глибини 1 додається дочірня вершина глибини 2 з набором HTTP-параметрів, витягнуті з записи траси;
створеної вершині глибини 2 з набором HTTP-параметрів додається дочірня вершина з набором операцій, витягнуті з записи траси;
перехід на крок 1.
Інакше:
перевіряється, чи є серед дочірніх вершин глибини 2 даної вершини глибини 1 вершина з набором HTTP-параметрів, що збігається з набором HTTP-параметрів, витягнуті з записи траси. Якщо така вершина глибини 2 є (малюнок 6.4.4), то:
знайденої вершині глибини 2 додається дочірня вершина глибини 3 з набором операцій, витягнуті з записи траси;
перехід на крок 1 алгоритму.
Інакше (малюнок 6.4.3):
створюється вершина глибини 2 з набором HTTP-параметрів, витягнуті з записи траси;
створеної вершині глибини 2 додається дочірня вершина глибини 3 з набором операцій, витягнуті з записи траси;
перехід на крок 1 алгоритму.
Побудова дерева завершується в той момент, коли оброблена останній запис траси.
Малюнок 6.4.2 ілюструє ситуацію додавання даних записи траси в дерево запитів у випадку, коли немає відповідної вершини глибини 1. Малюнок 6.4.3 ілюструє ситуацію додавання даних записи траси в дерево запитів у випадку, коли є відповідна вершина глибини 1, але немає відповідної вершини глибини 2. Малюнок 6.4.4 ілюструє ситуацію додавання даних записи траси в дерево запитів у випадку, коли є відповідна вершина глибини 1 і є відповідна вершина глибини 2.
Малюнок 6.4.2 Додавання даних записи траси в дерево запитів у випадку, коли немає вершини глибини 1 з аналогічним URL
Малюнок 6.4.3 Додавання даних записи траси в дерево запитів у випадку, коли є вершини глибини 1 з аналогічним URL, але немає вершини глибини 2 із співпадаючим набором HTTP-параметрів
Малюнок 6.4.4 Додавання даних записи траси в дерево запитів у випадку, коли є вершина глибини 1 з аналогічним URL і є вершина глибини 2 із співпадаючим набором HTTP-параметрів
Далі запускається алгоритм побудови профілів нормальної поведінки на основі сформованого дерева. Алгоритм влаштований таким чином:
Вибирається чергова вершина глибини 1 (тобто, чергове веб-додаток). Якщо вершина є - перехід на крок 2, інакше - останов.
Вибирається чергова дочірня вершина глибини 2 (перша, якщо відбувся перехід з кроку 1). Якщо вершина є - перехід на крок 3, інакше - перехід на крок 1.
Вибирається чергова дочірня вершина глибини 3. Якщо вершини немає - перехід на крок 4, інакше:
. 1 вибирається чергова операція з набору операцій, що міститься в даній вершині. Якщо операції немає - перехід на крок 3. Значення кожної операції вважається черговим значенням для розрахунку статистики за формулою (5.2.1). Для кожної операції кожного об'єкта оточення ведеться своя статистика.
Обхід поточної гілки ( веб-додаток - набір параметрів - безліч операцій ) завершений. Для поточного веб-додатки (поточна вершина глибини 1) і поточного набору HTTP-параметрів (вершина глибини 2) визначено безліч допустимих операцій (об'єднання наборів операцій з усіх дочірніх вершин глибини 3), для кожної з яких прорахована статистика за формулою (5.2.1 ) методу EWMA, і визначені контрольні межі. Отримані дані оформляються у вигляді запису профілю нормального додатки для поточного веб-додатки та зберігаються в базу профілів нормальної по...