певні дії в рамках логіки, закладеної розробником. Частина цих дій, можливо, являє собою запити на виконання операцій до об'єктів оточення.
Веб-додаток генерує висновок, який передається компонентами технології підтримки веб-додатки веб-сервера. Веб-сервер відправляє висновок клієнту у вигляді HTTP-відповіді.
Грунтуючись на даній схемі і термінах, введених вище, можна визначити поведінку веб-додатки як взаємодія веб-додатки з об'єктами оточення у відповідь на HTTP-запити від браузера користувача.
Під вразливістю буде розумітися той чи інший недолік в програмній системі, через якого стає можливим небажаний вплив на неї зловмисників або вірусів. Зокрема, вразливість може дозволити зловмиснику змусити веб-додаток виконати одну або декілька операцій над об'єктами оточення, не передбачені логікою, закладеної розробником.
4 Метод виявлення вразливостей веб-додатків
У даному розділі описується пропонований метод виявлення вразливостей веб-додатків на основі контролю поведінки веб-додатки.
4.1 Застосування методу
Як було зазначено у Вступі, існуючі засоби виявлення вразливостей використовують методи білого і чорного ящика. У першому випадку проводиться аналіз вихідних коди та/або файлів конфігурації веб-додатки. Виявляються ділянки коду, потенційно містять уразливість або небезпечні параметри конфігурації [12]. У другому випадку здійснюється пошук вразливостей ззовні - Веб-додатком відсилаються HTTP-запити і аналізуються відповіді. При цьому постають завдання виявлення структури веб-додатки, визначення типу сервера і побудови тестового набору HTTP-запитів і подальшого аналізу HTTP-відповідей [14]. Але дані кошти не здійснюють контроль поведінки веб-додатки в сенсі, визначеному в Розділі 3, в той час як невиявлені уразливості можуть проявитися саме в зверненні до об'єктів оточення. Пропонований метод виявлення вразливостей передбачає порівняння надходить HTTP-трафіку зі внутрішньою роботою веб-додатки. Метод призначений для виявлення вразливостей, що призводять до неприпустимих з точки зору профілю нормальної поведінки операціями веб-додатки над об'єктами оточення і/або зміни значень допустимих операцій.
Метод призначений для виявлення вразливостей довільного числа веб-додатків. Передбачається здійснення контролю поведінки для всіх веб-додатків, інформація про поведінку яких може бути доступна інструментального засобу, який реалізує метод. Для кожного веб-додатки складається профіль нормальної поведінки. Поточне поведінку порівнюється з описаним в профілі нормальної поведінки і в разі відхилення фіксується аномалія і передбачається уразливість. Передбачається зберігання профілів нормальної поведінки у вигляді файлів або записів бази даних для забезпечення можливості спільного використання профілів декількома засобами виявлення вразливостей, побудованими на базі загального методу. Така схема зберігання профілів також дозволяє паралельно виробляти процеси побудови профілів нормальної поведінки і виявлення вразливостей на основі сформованих профілів.
4.2 Опис методу
В основі методу лежить ідея аналізу зв'язків між наборами параметрів, що надходять у веб-додаток через HTTP-запити, та операціями над об'єктами оточення, вчинюваними веб-додатками у відповідь на дані запити. Метод передбачає функціонування реалізує його кошти в двох режимах - в режимі навчання і в режимі виявлення вразливостей. При роботі засоби в кожному з режимів формується траса веб-додатки (траса) - послідовність записів траси , що описують надійшли в HTTP-запитах набори параметрів та набори скоєних веб-додатком операцій над об'єктами оточення у відповідь на запити. Кожному набору HTTP-параметрів відповідає набір скоєних в ході обробки HTTP-запиту операцій над об'єктами оточення.
Залежно від реалізації, траса може формуватися для відкладеного за часом аналізу і для аналізу в режимі реального часу. У першому варіанті траса веб-додатки може являти собою набір записів траси, збережених у вигляді файлу або в базі даних. У другому варіанті записи траси веб-додатки можуть надходити для аналізу в режимі реального часу. Для роботи самого методу вибір способу формування траси не є суттєвим.
Режим навчання призначений для автоматичної побудови профілів нормальної поведінки веб-додатків. У режимі навчання веб-додаток використовується легітимним користувачем строго за призначенням. На етапі навчання траса аналізується, і в результаті аналізу формується профіль нормальної поведінки веб-дод...