атки. У ньому фіксуються набори HTTP-параметрів і відповідні набори операцій. Таким чином, профіль несе в собі інформацію про очікувані (або допустимих) операціях у відповідь на кожен набір HTTP-параметрів. Детальніше алгоритм побудови профілю нормальної поведінки описується в ПІДРОЗДІЛИ 6.4.3.
Очевидно, для побудови максимально докладного і адекватного профілю нормального поведінки, функціонування веб-додатки в режимі навчання повинно охоплювати якомога більшу кількість варіантів використання. При цьому також встає традиційна для включають у себе етап навчання методів виявлення аномалій проблема чистоти навчального періоду - необхідно захистити веб-додаток від можливого використання зловмисниками, бо інакше в профілі нормальної поведінки в якості допустимих будуть зафіксовані дії, потенційно такими не є [4, 6].
У режимі виявлення вразливостей відбувається аналіз фактичних дій веб-додатки у відповідь на що надходять HTTP-запити. Шукається профіль нормальної поведінки для даного веб-додатки, що містить інформацію про допустимі операціях для поточного набору HTTP-параметрів. Перевіряється наявність в наборі фактично скоєних операцій елементів, що не входять в безліч допустимих операцій. Якщо такі операції були здійснені - передбачається уразливість. Детальніше алгоритм виявлення аномалій описується в ПІДРОЗДІЛИ 6.4.4.
4.3 Використання значень операцій для більш точного виявлення відхилень у поведінці
Описаний метод, по суті, аналізує поведінку веб-додатки на предмет вчинення неприпустимих щодо профілю нормальної поведінки операцій. Проте, у ряді випадків такого аналізу може виявитися недостатньо. Операція може бути допустима з точки зору профілю нормального поведінки, в той час як характер самої операції, якщо в якості такого розглядати значення операції, може змінитися, що не буде виявлено.
Можна навести такий приклад. Уразливість в файлі modules. php поширеного веб-додатки CMS PHP-Nuke v 7.5 дозволяє провести атаку типу класу SQL injection [3]. При атаках цього класу зловмисник змушує веб-додаток видати СУБД змінений або модифікований запит. Атаки класу SQL injection є як поширеними, так і особливо небезпечними у зв'язку з тим, що можуть потенційно призводити до втрати всіх даних в базі даних. Не менш небезпечними представляються крадіжка або підміна даних в базі даних. Уразливості, що дозволяють проведення атак класу SQL injection, зазвичай пов'язані з недостатньою перевіркою та очищенням вводяться користувачем даних при динамічному формуванні SQL-запиту з використанням цих даних.
Уразливість дозволяє отримати список всіх користувачів системи. Вихідний запит використовується для отримання інформації про використовуваної користувальницької записи. Атака реалізується наступним чином:
- й POST-параметр: name=Your_Account
- й POST-параметр: op=userinfo
третього POST-параметр: username=OR username LIKE%;- -
Результуючий SQL-запит: uname FROM nuke_session WHERE uname=OR username LIKE%;- - '
Таким чином, з точки зору описаного методу в ході атаки веб-додаток здійснить допустиму операцію SELECT над об'єктом оточення сервер MySQL raquo ;. Аномалія буде полягати у зміні значення операції. При нормальному функціонуванні значення даної операції буде дорівнює 1, у той час як в результаті проведення атаки значення операції буде дорівнює кількості рядків у таблиці nuke_session.
Можна навести також наступний приклад уразливості, що приводить до атаки класу SQL injection [3]. У ході виконання скрипта виконується запит, що показує користувачеві список його кредитних карт. В результаті атаки зловмисник може отримати список кредитних карт цікавить його користувача. Атака реалізується наступним чином:
- й POST-параметр: user=Bob
- й POST-параметр: card_type=OR user=Alice
Результуючий SQL-запит: card_id FROM creditcards WHERE user=Bob AND type=OR user=Alice
Таким чином, з точки зору описаного методу в ході атаки веб-додаток здійснить допустиму операцію SELECT над об'єктом оточення сервер MySQL raquo ;. Аномалія буде полягати у зміні значення операції. При нормальному функціонуванні значення даної операції буде дорівнює кількості кредитних карт користувача Bob, інформація про яких міститься в таблиці creditcards, в той час як в результаті проведення атаки значення операції буде дорівнює сукупному кількістю кредитних карт користувачів Bob і Alice.
Ряд авторів [4, 6, 8] описує і обгрунтовує доцільність використання математичних моделей для виявлення аномалій у значеннях випадкових величин, породжуваних деяким процесом, зокрема, для завд...