Ново автоматизирано изследване на ETHIACK разкри, че настоящите защити на уеб приложенията – включително широко използваната защитна стена за уеб приложения (WAF) са уязвими към нов тип атака, която съчетава инжектиране на JavaScript с техники за замърсяване на HTTP параметрите. Тестовете, обхващащи продукти на основните доставчици на облачни платформи и информационни системи, показват, че повече от 70% от WAF конфигурациите могат да бъдат заобиколени със специално създадени заявки.
Ключът към атаката се крие в различията в логиката на обработка на дублиращи се параметри в HTTP заявките между приложенията и системите за защита.
По-специално, уязвимостта е забелязана за първи път в ASP.NET приложение, защитено от строго конфигуриран WAF. Особеност на ASP.NET е, че ако има няколко параметъра с едно и също име, техните стойности се обединяват с помощта на запетаи. Това поведение става критично, ако такива параметри се използват в контекста на JavaScript – дори невинно изглеждащ набор от стойности може да се превърне в изпълним код.
Като пример, ето една заявка с /?q=1’&q=alert(1)&q=’2. След обединяването сървърът генерира низа 1′,alert(1),’2, който, бидейки вграден в низ на JavaScript става синтактично правилен и води до изпълнение на вложения код. Виновник за това е операторът запетая в JavaScript, който позволява последователното изпълнение на няколко израза. Това отваря пътя за инжектиране на злонамерени скриптове, заобикаляйки сигнатурните филтри на повечето WAF.
Използваната техника (HTTP Parameter Pollution) вече е известна, но комбинацията ѝ с инжектиране на JavaScript я направи още по-ефективна.
Експертите тестваха 17 различни WAF конфигурации от AWS, Google Cloud, Microsoft Azure, Cloudflare и други. Простите натоварвания заобикаляха около 17% от системите, но сложните, които използват замърсяване на параметрите, бяха успешни в 70% от случаите.
Само 5 конфигурации успяха да отблъснат всички тестови атаки – един от наборите от правила на Azure WAF, Google Cloud Armor и 3 open-appsec конфигурации. Трите тествани набора от правила на AWS WAF бяха особено уязвими – те се провалиха на всички тестове, като пропуснаха всяко от натоварените работни натоварвания. Общата тенденция разкри значително превъзходство на системите, базирани на машинно обучение, над традиционните решения, базирани на сигнатури: поведенческите модели се оказаха много по-чувствителни към фини изкривени конструкции.
Въпреки това сред усъвършенстваните решения също бяха открити слабости. Автономният хакбот на изследователите идентифицира друга уязвима конфигурация в Azure WAF, която беше заобиколена с примитивна заявка test\\’;alert(1);// query. Това подчертава, че дори облачните решения, позиционирани като флагмани в областта на сигурността, остават податливи на елементарни техники за заобикаляне.
Авторите подчертават, че WAF не може да служи като независима защита, ако в приложението има несигурен код. Самото съществуване на подобна уязвимост показва фундаментален пропуск в логиката на обработка на входящите данни между системите за сигурност и уеб средата. Без преразглеждане на архитектурните решения и надеждно филтриране от страна на приложението скъпите WAF решения не могат да гарантират надеждна защита срещу атаки, базирани на трикове за обработка на данни.
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!