Принципи електротехніки
Роль брандмауера в захисті від крос-сайтових сценаріїв (xs) атак
Table of Contents
Розуміння скриптів крос-сайта (XSS) – Детальніше Than Просто ін'єкційний скрипт
Списання крос-сайтів (XS) залишається одним з найбільш поширених вразливостей веб-додатків, послідовно з'являються в OWASP Top Ten. На його основі XSS дозволяє атакувати на ін'єкційні шкідливі сценарії клієнта в веб-сторінки, видане іншими користувачами. Введений скрипт виконує в контексті браузера жертви, що дозволяє дані крадіжки (cookies, сеансові токени), схилкування сеансу, розпад або перенаправлення на сайти для фішингу. Щоб зрозуміти, як допомагає брандмауера – і де вони розрізняються:
- Сторед (Persistent) XSS – Малікий скрипт постійно зберігається на цільовому сервері (наприклад, в базі даних, коментаря поля або поштового форуму). Кожен користувач, який відвідує постраждалу сторінку, виконує завантаження.
- Reflected (Non‐persistent) XSS - Введений скрипт відобразиться на веб-сервері, як правило, через ремеслану URL або форму подання. Завантажувальний навантаження не зберігається, він тільки виконує, коли жертва натискає на шкідливе посилання.
- DOM‐на основі XSS – Уразливість є повністю в клієнтському коді браузера. Заборонено навантаження атаки ніколи не надіслав на сервер, замість цього він змінює середовище DOM і виконує звідти. Ці атаки можуть бути невидимими до серверно-назалежних захистів.
Кожен тип представляє унікальні виклики для контролю безпеки. Ламбані – особливо Web Application Firewalls (WAFs) – можуть запропонувати надійний захист від відображених і деяких збережених XSS, але DOM‐на основі XSS вимагає додаткових заходів, які є потенційними.
Що таке Firewall в сучасному веб-безпекі?
Спочатку брандмауери були мережевими, які фільтрують трафік на основі IP-адрес, портів та протоколів. Сьогодні термін об'єднує низку систем безпеки:
- Network Firewalls – Оперте на шарах 3–4 (IP, TCP/UDP). Вони можуть блокувати відомі шкідливі IP-адреси або обмежити порти, але вони не перевіряють мало даних додатків.
- Web Application Firewalls (WAFs) – пристрої Layer‐7 призначені для перегляду трафіку HTTP /HTTPS, аналізу вмісту запиту (головки, тіло, параметри URL) для шкідливих шаблонів. WAFs є основним інструментом брандмауера проти XSS.
- Хмарно-флюорні брандмауери (включаючи WAF‐as‐a‐Service)] - Приклади включають AWS WAF, Cloudflare WAF і Azure Application Gateway. Вони пропонують масштабованість, низька надійність і часто інтегруються з CDNs.
Всі брандмауери працюють на множині правил, але тільки застосунки-посудоми (WAFs) можуть сенсу суперечать XSS. Навіть тоді девіл знаходиться в методології та виявлення правила.
Як брандмауери (WAFs) Виявлення та блокування XSS
Signature-Знеділок
Більшість суден WAFs з попередньо визначеними підписами, які відповідають відомими навантаженнями XSS – наприклад, візерунки, такі як , , , або закодовані варіанти. Брандмауер блокує будь-яке прохання, чиє завантаження, що викликає підпис. База даних підписів регулярно оновлюються постачальниками, щоб обкладигати нові вектори атаки.
Однак, виявлення підписів можна випаровувати простим обфускуванням: використовуючи різні кодування, розщеплення ключових слів або введення небажаних символів. Атакери часто мутують навантаження, поки він не відповідає підпису, залишаючись функціональними в браузері.
Аномалі-Мега-Дилекція з аномалії
Розширені WAFs використовують машинне навчання або статистичні моделі для виявлення аномалійних шаблонів. Вони вивчають типову структуру дійсних запитів для кожного кінцевого пункту та відхилень прапора – наприклад, звичайний немерічний параметр раптом містить HTML теги. Хірістичні правила можуть зловити нульовий день векторів XSS, які не відомі підписи, але також ризикувати помилковими позитивами.
Аналіз лімітів та обов’язків
Деякі WAFs контроль за запитом швидкість. Атакатор, що провадить багато корисного навантаження в швидкому успіху, може бути тимчасово заблокований. Хоча це не безпосередньо виявляє XSS, він уповільнює автоматизоване сканування і може змусити атакуючих, щоб pivot уповільнювати, ручне тестування.
Механізми бетонного захисту на рівні брандмауера
- Вхідна перевірка та фільтрування] – УФ перевіряє кожен параметр, cookie та заголовок. Знайте небезпечні символи () кодуються або блокуються до моменту виходу на сервер програми.
- Output Encoding Awareness – Сучасні WAFs можуть переселити, де введення користувача закінчується у відповідь (наприклад, всередині тега скрипта проти. всередині атрибута HTML) і застосувати контекстно-специфічні правила. Цей рівень інтелекту є рідкісним, але провідні постачальники, такі як F5 і Imperva пропонують його.
- Virtual Patching] – Коли серверна вразливість XSS відкривається, але не можна відразу ж зафіксувати, WAF може створити віртуальний патч: користувацький правило, який блокує шлях експлуатації без зміни коду програми.
- Реєстр Нормалізація] – WAFs часто декодують декілька шарів кодування (URL‐encode, Unicode, double‐encode) перед перевіркою підписів, витертий базовий обфускій обфускації.
Обмеження брандмауера проти XSS – де вони несуть
Обхід WAF
Визначені атаки регулярно обезуть обходи. До поширених методів відносяться:
- / комплекти – наприклад, .
- Leveraging SVG , , або інші елементи HTML, які можуть виконувати сценарії.
- Витративши символи, встановіть невідповідні значення між WAF та браузером (наприклад, UTF‐7 атаки історично об’єднані фільтри ASCII‐only).
- Перервувати навантаження через кілька параметрів запиту або за допомогою HTTP роз'ємного коду передачі до вмісту Smuggle минулого двигуна перевірки.
DOM‐Based XSS - Невидимий до більшості брандмауерів
DOM‐на основі XSS ніколи не торкається сервера. Уразливий клієнт-навтик JavaScript читає дані з , , або локальне сховище і пише його небезпечно в DOM. Серверна стійка брандмауер бачить тільки законне прохання; шкідливе виконання відбувається повністю в браузері. Оборони вимагають, щоб клієнт-посередник заходи безпеки, такі як сувора політика безпеки контенту (CSP) і надійні бібліотеки зонд-за межами санітарії.
Зашифровані виклики трафіку (HTTPS)
У той час як сучасні WAF можуть розшифровувати TLS для перевірки простого тексту, це додає затримки та вимагає належного управління сертифікатом. Деякі менші розгортання можуть здійснювати контроль за високою ‐traffic кінцевими точками, залишаючи сліпе місце.
Кращі практики: брандмауери як частина шарованої оборони
Стратегія запобігання XSS поєднує в собі чотири лінії оборони:
1. Безпечний розвиток та амперимент; Санітація серверних мереж
Усі дані, які надходять на роботу, повинні бути втілені, санітарні або втечувані перед вставкою в HTML-репортажі. OWASP надає Java Encoder Project і керівництво для кодування вихідних в різних контекстах (HTML тіло, атрибут, URL, JavaScript, CSS). Не брандмауер може виправити слабкий вхідний хід на шарі програми.
2. Політика безпеки вмісту (CSP)
CSP - це механізм безпеки на рівні, який розповідає про браузер, який дозволяється джерела сценаріїв, і чи є дозволені сценарії. Хірий CSP може блокувати всі, але найбільш стійкий DOM‐на основі XSS. WAF може допомогти використовувати CSP шляхом ін'єкцій або модифікації головного редактора, але сам CSP є оборонним шаром, який WAF не може замінити.
3. Регулярні патчінги та оновлення
Основи правильного брандмауера повинні оновлюватися як нові варіанти XSS. Аналогічно, програмне забезпечення сервера (web серверів, бази додатків) повинні бути патчовані для усунення першопричини вразливостей XSS. Віртуальна патчовка купує час, але це не замінник для фіксації коду.
4. Освіта та тестування безпеки
Розробники та інженери безпеки повинні розуміти, як працює XSS за межами WAF. Регулярне тестування проникнення (включаючи ручне тестування) та відгуки кодів будуть розкриті візерунки обходу, які пропущені WAF. Інструменти, такі як OWASP ZAP або Burp Suite, можуть доповнювати журнали брандмауера.
Вибір правого брандмауера для захисту XSS
Не всі брандмауери рівні. При виборі WAF враховуйте:
- ]Стисифікація виявлення – Чи використовують як підписи, так і поведінкові гемалістики? Чи підтримує автоматичне помилкове точне тюнінг?
- Зразок віртуального патчінгу – Ви можете легко додати спеціальні правила для блокування нововідкритого CVE?
- Попередня дія] – A WAF, яка додає до них >5 мс, що відповідає за кожен запит, може бути не придатним для високотетрафних сайтів.
- Керований проти самохідним] – Хмарні WAFs (Cloudflare, AWS WAF) часто мають нижчу операційну накладку і автоматично оновлювати їх правило. Напрямки WAFs (F5, Imperva) дають більш гранульований контроль, але вимагають виділених інженерів.
Приклад реального світу: 2022 Twilio XSS інцидент
У 2022 році зберігалася вразливість XSS у Twilio SendGrid електронної панелі дозволили атакувати атаки на в'язання підроблених підказок, які закріплюють облікові дані від внутрішніх користувачів. Завантажувальний навантаження було обфусковано до підписів WAF від SendGrid. Про це свідчать про те, що навіть великі компанії з зрілими розгортаннями WAF можуть бути вражені XSS, коли атакуючий користувальницький апарати перезавантаження та WAF не вистачає глибокої перевірки JavaScript‐context. Постомічний аналіз висвітлено необхідність поєднання CSP, сильного сервера, що знаходиться поруч, і WAF.
Висновок
Firewalls – спеціально Веб-додаткові брандмауери – це незамінна складова стратегії оборонного глибинного використання на основі сценаріїв перехресного розміщення. Вони виділяють автоматично фільтруючи добре відомі навантаження XSS і можуть забезпечити швидкі віртуальні патчі для незапланованого коду. Однак вони не срібні кулі. Атакери продовжують шукати творчі способи, щоб обійти правила підпису, і DOM‐на основі XSS значно виявляються на сервері, що знаходяться на стороні огляду. Найбільш стійким підхід поєднує добре налаштований WAF з безпечними практиками кодування, сувору Політику безпеки контенту, регулярні оновлення програмного забезпечення та безперервне тестування безпеки.