верів і працюючих на них веб-додатків створює благодатний грунт для зловмисників [1, 2, 3].
Програмне забезпечення, що використовується в інфраструктурі веб-додатки (веб-сервер, СУБД тощо), зазвичай створюється компетентними в питаннях безпеки фахівцями і є добре захищеним. Але веб-додатки в ряді випадків розробляється фахівцями, які не володіють аналогічними навичками чи погано розуміючими значимість захищеності системи [3]. Результатом розробки стає слабо захищене веб-додаток, доступне кожному користувачеві мережі Інтернет. Уразливість в такому додатку може призвести до крадіжки або псування даних, що містяться в інших об'єктах інфраструктури, наприклад, бази даних. І протистояти цьому не може навіть те, що сама СУБД спроектована правильно і стійка до дій зловмисників [3].
Під поведінкою далі буде розумітися взаємодія веб-додатки з об'єктами оточення (ресурси операційної системи, СУБД, поштові сервіси) у відповідь на HTTP-запити від клієнта.
Слабка захищеність і широка поширеність веб-додатків робить їх привабливими цілями для зломщиків. Існуючі системи забезпечення безпеки часто неефективні при захисті додатків даного класу [2]. Можна перерахувати такі основні види систем, що використовуються для забезпечення безпеки веб-додатки [3, 12, 14, 17]:
Модулі забезпечення безпеки, вбудовані в додаток
Стратегія пісочниці (sandboxing)
Системи виявлення вразливостей
Міжмережеві екрани рівня програми
Системи запобігання атак
Системи виявлення атак
Як згадувалося вище, розробники веб-додатків не завжди приділяють достатньо уваги забезпеченню безпеки, і модулі забезпечення безпеки у веб-додатках зустрічаються рідко [2].
Суть стратегії пісочниці (sandboxing) полягає у створенні контрольованого середовища виконання веб-додатки, ізольованою від системи, в якому вона працює. Це дозволяє мінімізувати втрати у випадку, якщо уразливість додатка буде використана зловмисником, але не дозволяє виявити і локалізувати самі уразливості [11].
Системи виявлення вразливостей аналізують веб-додатки, використовуючи метод білого або чорного ящика [12, 13, 14, 19]. Система, що використовує метод білого ящика, аналізує вихідні коди та/або файли конфігурації веб-додатки. Система виявляє ділянки коду, потенційно містять уразливість або небезпечні параметри конфігурації [12]. Система, що використовує метод чорного ящика, здійснює пошук вразливостей ззовні raquo ;, посилаючи додатком HTTP-запити і аналізуючи відповіді. При цьому постають завдання виявлення структури веб-додатки, визначення типу сервера і побудови тестового набору HTTP-запитів і подальшого аналізу HTTP-відповідей [14]. Однак аналізу вихідного коду програми може бути недостатньо для виявлення всіх вразливостей, так як код може не містити вразливих з точки зору мови конструкцій і при цьому бути уразливим в цілому через помилки при проектуванні. Крім того, для тієї технології, за допомогою якої створено дане веб-додаток, може не виявитися систем пошуку вразливостей, що використовують метод білого ящика. Аналіз безпеки методом чорного ящика також не може виявити всі можливі уразливості, оскільки немає гарантії, що безліч тестових запитів містить всі необхідні для цього варіанти.
Міжмережеві екрани рівня програми забезпечують безпеку веб-додатків, аналізуючи HTTP-запити від клієнта і HTTP-відповіді додатки [18]. При цьому проводиться пошук аномалій з погляду протоколу (розбіжність контрольних сум, невірна структура заголовка і т.д.), збіги з відомими сигнатурами атак або відхилення поточної моделі трафіку від нормальної. Однак при цьому увага приділяється запитам і відповідей, але не поведінки веб-додатки, чого не завжди достатньо для виявлення уразливості самого додатка [19].
Системи запобігання атак не поширені широко [3]. Для їх коректної настройки і роботи потрібне глибоке розуміння особливостей функціонування як веб-додатки, так і самої системи запобігання атак. Невірне конфігурування може призвести до великої кількості помилкових спрацьовувань системи і, як наслідок, недоступності сервісу для користувачів, що вкрай небажано для багатьох сервісів [3, 19].
Системи виявлення атак (СОА) використовують методи, які прийнято відносити до двох основних категоріях: методи виявлення зловживань (сигнатурні методи) і методи виявлення аномалій [6].
Методи виявлення зловживань використовують сигнатури відомих атак. Основним їх мінусом є нездатність виявляти нові або невідомі види атак. Цей мінус істотно знижує застосовність СОА, заснованих на сигнатурних методах [3]. Веб-додатки часто мають специфічну для даного сервісу функціональність, що робить сиг...