Firewall webových aplikací

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 19. května 2021; kontroly vyžadují 7 úprav .

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] .

Popis

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] .

Útočné vektory

Injekce

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] .

Zneužití zranitelností úložiště relací

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] .

XSS (Cross Site Scripting)

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] .

Vystavení důvěrných údajů

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] .

Zneužívání zranitelností řízení přístupu

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] .

Použití externích entit XML

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

Ú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] .

Metody obrany

Analýza podpisu

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] .

Filtr reputace pro IP adresy

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

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] .

Další funkce

DoS ochrana

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] .

Skenery zranitelnosti

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] .

Druhy zásob

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] .

Trh

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:

Poznámky

  1. ↑ 1 2 3 Ochranné systémy brány firewall webových aplikací (WAF) . Anti-Malware.com. Staženo 11. prosince 2019. Archivováno z originálu 11. prosince 2019.
  2. ↑ 1 2 3 Alexander Antipov. Jak chrání webové stránky nebo proč je potřeba WAF? . www.securitylab.ru Staženo 11. prosince 2019. Archivováno z originálu 11. prosince 2019.
  3. ↑ 1 2 3 Přehled trhu zabezpečení webových aplikací (WAF) v Rusku a ve světě . Anti-Malware.ru (12. srpna 2015). Staženo 11. prosince 2019. Archivováno z originálu 11. prosince 2019.
  4. Kategorie:OWASP Top Ten Project – OWASP (odkaz dolů) . www.owasp.org. Staženo 11. prosince 2019. Archivováno z originálu 1. prosince 2019. 
  5. ↑ 1 2 3 Zabezpečení webových aplikací v krabicích. Vnitřek brány firewall webových aplikací . Anti-Malware.ru (5. října 2015). Staženo 11. prosince 2019. Archivováno z originálu 11. prosince 2019.
  6. OWASP Top10 2017  // OWASP. Archivováno z originálu 26. července 2018.
  7. ↑ 12 Michael Cross . Příručka vývojáře k zabezpečení webových aplikací. ISBN 1-59749-061-X .
  8. PHP: SQL Injection – Manuál . www.php.net. Staženo 12. prosince 2019. Archivováno z originálu 18. prosince 2019.
  9. Katy Anton, Jim Manico, Jim Bird. 10 kritických oblastí zabezpečení, kterých si musí být vývojáři softwaru vědomi  // https://www.owasp.org  : průvodce zabezpečením webových aplikací. — 2018. Archivováno 12. prosince 2019.
  10. Co je a jak zabránit Broken Authentication and Session Management | OWASP Top 10 (A2)  (anglicky) . hdivsecurity.com. Staženo 11. prosince 2019. Archivováno z originálu 11. prosince 2019.
  11. Cross Site Scripting Prevention OWASP Cheat Sheet Sheet Series . cheatsheetseries.owasp.org. Staženo 12. prosince 2019. Archivováno z originálu 19. prosince 2019.
  12. ↑ 1 2 Top 10-2017 A3-Sensitive Data Exposure – OWASP . www.owasp.org. Staženo 11. prosince 2019. Archivováno z originálu 19. září 2019.
  13. Top 10-2017 A5-Broken Access Control - OWASP . www.owasp.org. Staženo 13. prosince 2019. Archivováno z originálu dne 23. prosince 2019.
  14. Kategorie:Osvědčené postupy OWASP: Použití brány firewall webových aplikací/verze 1.0.5 - OWASP . www.owasp.org. Získáno 11. prosince 2019. Archivováno z originálu dne 7. listopadu 2016.
  15. Top 10-2017 Top 10 - OWASP . www.owasp.org. Staženo 11. prosince 2019. Archivováno z originálu 6. listopadu 2019.
  16. Carrie Roberts. Praktický modul školení o zranitelnosti externích entit XML. — 2013.
  17. Zpracování externí entity XML (XXE) - OWASP . www.owasp.org. Získáno 11. prosince 2019. Archivováno z originálu 8. května 2013.
  18. XXE (Xml eXternal Entity) – Národní knihovna. N. E. Bauman . en.bmstu.wiki. Staženo 11. prosince 2019. Archivováno z originálu 11. prosince 2019.
  19. Obrana proti útokům hrubou silou . waf.pentestit.ru. Získáno 15. listopadu 2020. Archivováno z originálu dne 18. listopadu 2020.
  20. Bezpečnostní hlavičky - OWASP . www.owasp.org. Staženo 15. prosince 2019. Archivováno z originálu 15. prosince 2019.
  21. HttpOnly - OWASP . www.owasp.org. Získáno 15. prosince 2019. Archivováno z originálu dne 26. prosince 2008.
  22. S. I. Makarenko. Informační bezpečnost: učebnice pro vysokoškoláky.
  23. Nemesida WAF rules.bin . rlinfo.nemesida-security.com. Staženo 12. prosince 2019. Archivováno z originálu 11. prosince 2019.
  24. Virtuální patchování | Nemesida WAF (14. září 2017). Staženo 11. prosince 2019. Archivováno z originálu 11. prosince 2019.
  25. Porovnání firewallů pro ochranu webových stránek (Web Application Firewall - WAF) . Anti-Malware.ru (3. října 2017). Staženo 11. prosince 2019. Archivováno z originálu 11. prosince 2019.
  26. ↑ Digital 2019 : Globální používání internetu se zrychluje  . Jsme sociální (30. ledna 2019). Staženo 12. prosince 2019. Archivováno z originálu 14. prosince 2019.