Firewall webových aplikací ( anglicky Web application firewall , WAF) je sada monitorů a filtrů určených k detekci a blokování síťových útoků na webovou aplikaci . WAF patří do aplikační vrstvy modelu OSI [1] .
Webová aplikace může být chráněna vývojáři samotné aplikace bez použití WAF. To vyžaduje dodatečné náklady na vývoj. Například obsah oddělení informační bezpečnosti . WAF absorboval schopnost ochrany proti všem známým informačním útokům, což vám umožňuje delegovat na něj ochrannou funkci. To umožňuje vývojářům soustředit se na implementaci obchodní logiky aplikace , což jim poskytuje více času na opravu zranitelných míst [2] .
Web Application Firewall se používá jako překryvná ochrana. To znamená, že sedí před hlavní webovou aplikací a analyzuje příchozí a odchozí provoz. V reálném čase se rozhodne povolit nebo zakázat přístup [1] .
WAF může podporovat jakýkoli model zabezpečení: pozitivní, negativní nebo jejich kombinace. Moderní WAF podléhají požadavkům popsaným v PCI DSS . Kontrolují také HTTP/HTTPS požadavky a odpovědi protokolu přenosu dat v souladu s bezpečnostní politikou [3] . Otevřený projekt OWASP navíc sbírá data o kompromisech z celého světa a tvoří hodnocení vektorů útoků pro webové aplikace - OWASP Top Ten [4] . WAF jsou navrženy tak, aby úspěšně reagovaly na hrozby popsané v tomto hodnocení [3] .
Je třeba poznamenat, že WAF nejsou absolutním prostředkem ochrany informací. Obvykle jsou zahrnuty do celkového bezpečnostního systému webových aplikací v kombinaci s dalšími prvky, například s prvky, které řeší problémy jiných protokolů než HTTP / HTTPS, systémy kontroly incidentů, služby proti podvodům [5] .
SQL injekce byly dlouho hlavním vektorem úspěšných útoků [6] . Pro práci s různými daty - mazání, změny, přidávání, aplikace využívá databázi . Při přístupu k databázi aplikace vytvoří text dotazu, který může být podvržený útočníkem [7] . V důsledku toho může například dojít k úniku dat, jejich smazání nebo zápisu. Pro ochranu jsou data přijatá od uživatele pečlivě kontrolována, používají se černé nebo bílé seznamy sekvencí znaků, text požadavku je escapován [8] .
Pro rozlišení uživatelů, když je uživatel na webu autorizován , je nastaven soubor cookie relace nebo je vydán autorizační token, který prohlížeč pokaždé uloží a odešle na server, aby potvrdil, že se jedná o správného uživatele. Tento klíč může útočník získat a použít k přístupu k účtu [9] . Kvůli ochraně jsou spolu s klíčem kontrolovány související informace, jako je IP adresa, prohlížeč. Klíč relace má také relativně krátkou životnost [10] .
Tento typ útoku spočívá v tom, že útočník předá Java-Script nebo Html kód do prohlížeče uživatele, kde je tento kód spuštěn [7] . Útočník tak může získat soubory cookie nebo data zadaná ve formě infikované stránky. Pro ochranu jsou vstupní a výstupní data úniková. Regulární výrazy se používají k ověření polí [11] .
Tento typ útoku je určen ke krádeži citlivých dat. Nejčastěji se tak děje v okamžiku jejich přenosu z klienta na server přes nezabezpečený protokol HTTP nebo FTP. Na cestě k serveru, na nějakém uzlu, po získání přístupu k němu může útočník přečíst otevřený, nechráněný požadavek s důvěrnými informacemi o uživateli [12] . K přenosu těchto informací se používají zabezpečené přenosové protokoly HTTPS, TLS. Pokud je navíc potřeba taková data ukládat, pak se ukládají v zašifrované podobě [12] .
Zranitelnosti řízení přístupu jsou spojeny s nedostatečnou důkladností při kontrole přístupových práv k určitým datům. Pokud máte nějaká práva, může útočník získat přístup k datům, která jsou pro tato práva uzavřena [13] .
Pokud má například útočník ID rovné 1 a pomocí odkazu vidí seznam svých zpráv
mysite.com/messages?id=1
poté s nedostatečnou kontrolou práv nahrazením hodnoty id 2
mysite.com/messages?id=2
server bude vydávat zprávy od uživatele s id = 2. Whitelisty slouží jako ochrana pro kontrolu přístupu. Ačkoli některé WAF přebírají takové ověřovací funkce, tyto akce se provádějí převážně na serveru [14] .
Ve zprávě OWASP za rok 2017 patřil mezi největší možná rizika pro webové aplikace takový vektor útoku, jako je XML External Entities (XXE) [15] . Možnost takových útoků vzniká, když aplikace umožňuje uživateli používat k přenosu dat XML dokumenty, jejichž obsah je analyzován špatně nakonfigurovaným parserem. V důsledku toho může útočník předat v XML odkaz na externí entitu, což může vést ke ztrátě dat nebo jiným nežádoucím efektům na serveru [16] [17] . Pro ochranu se používá pečlivě nakonfigurovaný XML serializátor nebo je nahrazen jiným, například JSON. Nebo je zakázána podpora pro externí entity XML [18] .
Útoky hrubou silou jsou typem útoku na webovou aplikaci, při kterém se útočník pokouší získat přístup k webové aplikaci nebo datům hrubou silou (účty, hesla, data relace).
Například tříděním podle hodnoty parametru hesla může útočník určit úspěšnou autorizaci podle kódu odpovědi [19] :
GET /vulnerabilities/brute/?username=admin&password=123456&Login=Login
Je třeba poznamenat, že některým standardním útokům lze čelit zahrnutím vhodných hlaviček a příznaků zabudovaných do všech moderních prohlížečů. Například hlavička X-XSS-Protection nebo příznak HTTPonly v hlavičce Set-Cookie [20] [21] .
WAF aktivně využívají analýzu signatur k filtrování provozu. Metoda podpisu ve své implementaci využívá pro srovnání slovník škodlivého provozu [22] . Pokud byla v příchozím provozu nalezena část požadavku (podpis), která odpovídá škodlivému provozu, pak WAF tento požadavek zablokují. Příklad podpisů [23] .
Metoda je založena na bílé a černé listině IP adres a domén. S odkazem na tyto seznamy WAF vyhodnocují příchozí požadavky [2] .
Některé oblíbené blokované seznamy:
Behaviorální analýza je založena na strojovém učení. To vám umožní odhalit anomálie v chování na hlubokých úrovních porozumění. Takový mechanismus lze natrénovat jak s učitelem , tak bez učitele na přístupových identifikátorech. Příchozí parametry mohou být přístupové identifikátory, jako jsou parametry HTTP, identifikátor zdroje (URL, URN), identifikátor relace [1] . Tím je přidělen referenční matematický model platných přístupových identifikátorů. Pokud se tento model neshoduje, další požadavek bude zablokován [5] . To vám umožní odrážet známé útoky i útoky zero-day [2] .
Kromě ochrany informací mohou WAF poskytovat funkce týkající se jejich dostupnosti a bojovat proti útokům DoS. Když je detekován útok, uživatelé, kteří se podílejí na zatížení provozu, jsou omezeni nebo zablokováni. WAF mohou také implementovat captcha do odpovědi serveru, čímž odříznou automatické požadavky a umožní skutečným uživatelům [5] .
Přibalené soubory WAF mohou mít svůj vlastní skener zranitelnosti. Skener upozorňuje vývojáře aplikací na nedostatky, které lze později napravit, případně odpovědnost za ně delegovat na WAF. Během této analýzy může skener generovat požadavky se specifickými hodnotami parametrů, které umožní zneužití nalezené zranitelnosti. S vědomím slabých míst webové aplikace generují WAF virtuální záplaty, které taková místa uzavírají [24] .
WAF poskytuje několik typů zásob.
V každém z těchto případů lze WAF nasadit v jedné z možností: transparentní most , transparentní nebo reverzní proxy server [25] .
S nárůstem počtu webových aplikací na internetu roste potřeba jejich kvalifikované ochrany [26] . To je faktor rozvoje firem v tomto směru. Na rozvoji odvětví se podílí mnoho společností. Provádějte otevřenou analýzu trhu, technologií a hrozeb. Vzhledem k tomu, že bezpečnostní principy a standardy byly vyvinuty během vývoje webové ochrany, jsou produkty WAF od různých společností svou funkčností podobné a liší se pouze grafickým shellem [3] .
Nejoblíbenější řešení:
WAF open source: