Функціонал сучасних систем захисту додатків (WAF) повинен бути набагато ширшим за список уразливостей з OWASP Топ 10

Ретроспектива

Масштаб, склад та структура кіберзагроз для додатків швидко еволюціонують. Протягом багатьох років користувачі отримували доступ до веб-додатків через інтернет за допомогою популярних веб-браузерів. У кожний момент часу необхідно було підтримувати 2-5 веб-браузерів, і набір стандартів розробки та тестування веб-додатків був достатньо обмежений. Наприклад, майже всі бази даних були побудовані за допомогою SQL. На жаль, через деякий час хакери навчилися використовувати веб-програми для крадіжки, видалення або зміни даних. Вони отримували незаконний доступ та зловживали можливостями додатків з використанням різних прийомів, включаючи обман користувачів додатків, впровадження та віддалену відпрацювання коду. Незабаром на ринку з'явилися комерційні засоби захисту веб-застосунків, названі Web Application Firewalls (WAF), а суспільство відреагувало створенням відкритого проекту для забезпечення безпеки веб-додатків, Open Web Application Security Project (OWASP), з метою визначення та підтримання стандартів та методологій розробки безпечних програм.

Базовий захист додатків

Список OWASP Топ 10 є відправною точкою забезпечення захисту додатків і містить перелік найнебезпечніших загроз та неправильних налаштувань, які можуть призвести до вразливостей додатків, а також тактик виявлення та відображення атак. OWASP Топ 10 є визнаним орієнтиром в індустрії кібербезпеки додатків у всьому світі і визначає базовий список можливостей, які повинна мати система захисту веб-додатків (WAF).

Крім того, функціонал WAF повинен враховувати інші поширені атаки на веб-застосунки, включаючи підробку міжсайтових запитів (CSRF), клікджекінг (Clickjacking), веб-скрапінг (web scraping) та включення файлів (RFI/LFI).

Загрози та завдання забезпечення безпеки сучасних програм

На сьогоднішній день далеко не всі програми виконані в мережевому варіанті. Існують хмарні програми, мобільні програми, API, а новітніх архітектурах навіть індивідуальні програмні функції. Всі ці види програм необхідно синхронізувати та контролювати, оскільки вони створюють, змінюють та обробляють наші дані. З появою нових технологій та парадигм виникають нові складності та завдання на всіх етапах життєвого циклу додатків. Це включає інтеграцію розробки та експлуатації (DevOps), контейнери, Інтернет речей (IoT), інструменти з відкритим вихідним кодом, API та ін.

Розподілене розміщення додатків та різноманітність технологій створює складні та комплексні завдання не лише для фахівців з інформаційної безпеки, але й для виробників рішень безпеки, які більше не можуть покладатися на уніфікований підхід. Засоби захисту додатків повинні враховувати їхню бізнес-специфіку для запобігання помилковим спрацьовуванням та порушення якості сервісів для користувачів.

Кінцевою метою хакерів зазвичай є або крадіжка даних, або порушення доступності сервісів. Зловмисники теж отримують переваги у ході технологічної еволюції. По-перше, розвиток нових технологій створює більше потенційних проломів та вразливостей. По-друге, в їхньому арсеналі з'являється більше інструментів та знань для обходу традиційних засобів захисту. Це набагато збільшує так звану «поверхню атаки» і схильність організацій до нових ризиків. Політики безпеки повинні постійно змінюватися за змінами в технологіях та програмах.

Таким чином, додатки повинні бути захищені від різноманіття методів і джерел атак, що постійно зростає, а відображення автоматичних атак повинно здійснюватися в реальному часі на основі поінформованих рішень. В результаті збільшуються операційні витрати та ручна праця на тлі ослаблених позицій у безпеці.

Завдання №1: Управління ботами

Більше 60% інтернет-трафіку генерується ботами, половина з якого відноситься до «поганого» трафіку (відповідно до даних звіту з безпеки Radware). Організації інвестують у збільшення пропускної спроможності мережі, по суті, обслуговуючи фіктивне навантаження. Точне розмежування між реальним користувальницьким трафіком і трафіком ботів, а також «хорошими» ботами (наприклад, пошукові роботи та сервіси порівняння цін) та «поганими» ботами може виразитися у значній економії коштів та підвищенні якості сервісів для користувачів.

Боти не збираються полегшувати це завдання, і вони можуть імітувати поведінку реальних користувачів, оминати CAPTCHA та інші перешкоди. Більше того, у разі атак з використанням динамічних IP-адрес захист на основі фільтрації по IP-адрес стає неефективною. Найчастіше, засоби розробки з відкритим вихідним кодом (наприклад, Phantom JS), які можуть відпрацьовувати клієнтський JavaScript, використовуються для запуску брутфорс-атак (brute-force), стаффінг-атак (credential stuffing), DDoS-атак та автоматичних бот-атак .

Для управління трафіком ботів потрібна унікальна ідентифікація його джерела (як відбиток пальця). Оскільки у випадку бот-атаки виникає безліч записів, її відбиток дозволяє виявляти підозрілу активність та присвоювати бали, на основі яких система захисту додатків приймає поінформоване рішення – блокувати/дозволити – з мінімальним показником хибно-позитивних результатів.

Функціонал сучасних систем захисту додатків (WAF) повинен бути набагато ширшим за список уразливостей з OWASP Топ 10

Завдання №2: Захист API

Багато програм збирають інформацію та дані від сервісів, з якими вони взаємодіють через API. При передачі конфіденційних даних через API більше 50% організацій не здійснюють ні перевірку, ні захист API для виявлення кібератак.

Приклади використання API:

  • Інтеграція Інтернету речей (IoT)
  • Міжмашинна взаємодія
  • Безсерверні середовища
  • Мобільні додатки
  • Керовані подіями програми

Уразливості API схожі на вразливість додатків і включають ін'єкції, атаки на протоколи, маніпуляції параметрами, редиректи та атаки ботів. Виділені API шлюзи дозволяють гарантувати сумісність додаткових сервісів, які взаємодіють через API. Однак вони не забезпечують наскрізну безпеку додаток, як це дозволяє зробити WAF з необхідними інструментами безпеки, такими як парсинг HTTP-заголовків, список керування доступом Layer 7 (ACL), парсинг та перевірка корисного навантаження JSON/XML, а також захистом від усіх вразливостей списку OWASP Топ 10. Це досягається за рахунок інспекції ключових значень API з використанням позитивної та негативної моделей.

Завдання №3: Відмова в обслуговуванні

Старий вектор атак – відмова в обслуговуванні (DoS) – продовжує доводити свою ефективність в атаках на програми. Зловмисники мають у своєму розпорядженні цілий набір успішних технік порушення роботи сервісів додатків, включаючи HTTP або HTTPS флуди, малопотужні та повільні атаки («low-and-slow», наприклад SlowLoris, LOIC, Torshammer), атаки з використанням динамічних IP-адрес, переповнення буфера, брутфорд -атаки, та багато інших. З розвитком Інтернету речей і появою IoT-ботнетів атаки на програми стали основним напрямом DDoS-атак. Більшість WAF із відстеженням стану з'єднань можуть протистояти лише обмеженому об'єму навантаження. Однак, вони можуть перевіряти потоки HTTP/S трафіку і видаляти трафік атак і шкідливі підключення. Після виявлення атаки немає сенсу повторно пропускати цей трафік. Оскільки пропускна здатність WAF для відображення атак обмежена, необхідно додаткове рішення на периметрі мережі для автоматичного блокування наступних «поганих» пакетів. Для цього сценарію захисту обидва рішення повинні мати здатність взаємодіяти між собою для обміну інформацією про атаки.

Функціонал сучасних систем захисту додатків (WAF) повинен бути набагато ширшим за список уразливостей з OWASP Топ 10
Рис 1. Організація комплексного захисту мережі та додатків на прикладі рішень Radware

Завдання №4: Безперервний захист

Програми часто змінюються. Методології розробки та впровадження, такі як безперервність оновлень, означають, що модифікації здійснюються без людської участі та контролю. У таких динамічних умовах складно підтримувати адекватно працюючі безпекові політики без високої кількості хибнопозитивних спрацьовувань. Мобільні програми оновлюються набагато частіше за веб-програми. Програми сторонніх виробників можуть змінитися без відома. Деякі організації прагнуть отримати більший контроль та візуалізацію, щоб залишатися в курсі потенційних ризиків. Однак це не завжди можливо, і надійний захист додатків повинен використовувати можливості машинного навчання для обліку та візуального представлення наявних ресурсів, аналізу потенційних загроз, створення та оптимізації політик безпеки у разі модифікації додатків.

Висновки

У міру того, як програми грають все більш і більш важливу роль у повсякденному житті, вони стають основною метою для хакерів. Потенційний куш для зловмисників та потенційні втрати для бізнесу величезні. Складність завдання забезпечення безпеки додатків не може бути перебільшена, враховуючи кількість та варіації додатків та загроз.

На щастя, ми знаходимося в такому моменті часу, коли штучний інтелект може допомогти нам. Алгоритми, засновані на машинному навчанні, забезпечують адаптивний захист в режимі реального часу від просунутих кіберзагроз, спрямованих на додатки. Вони також автоматично оновлюють політики безпеки для захисту веб-, мобільних та хмарних програм – а також API – без хибно позитивних спрацьовувань.

Важко з точністю передбачити, яким буде нове покоління кіберзагроз для додатків (можливо також засноване на машинному навчанні). Але організації можуть зробити кроки для захисту даних клієнтів, інтелектуальної власності і гарантії доступності сервісів з великою вигодою для бізнесу.

Ефективні підходи та методи забезпечення безпеки додатків, основні типи та вектори атак, зони ризику та прогалини в кіберзахисті веб-додатків, а також світовий досвід та найкращі практики представлені у дослідженні та звіті Radware “Web Application Security in Digitally Connected World".

Джерело: habr.com

Додати коментар або відгук