Webbapplikationsbrandvägg

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 19 maj 2021; kontroller kräver 7 redigeringar .

Webbapplikationsbrandvägg ( engelsk  Web application firewall , WAF)  är en uppsättning monitorer och filter utformade för att upptäcka och blockera nätverksattacker på en webbapplikation . WAF tillhör OSI-modellens applikationslager [1] .

En webbapplikation kan skyddas av utvecklarna av själva applikationen utan användning av WAF. Detta kräver ytterligare utvecklingskostnader. Till exempel innehållet i informationssäkerhetsavdelningen . WAF har absorberat förmågan att skydda mot alla kända informationsattacker, vilket gör att du kan delegera skyddsfunktionen till den. Detta gör att utvecklare kan fokusera på att implementera applikationens affärslogik , vilket ger dem mer tid att åtgärda sårbarheter [2] .

Beskrivning

Webbapplikationsbrandväggen används som ett överlagringsskydd. Det betyder att den sitter framför huvudwebbapplikationen och analyserar inkommande och utgående trafik. I realtid bestämmer han sig för att bevilja eller neka tillgång [1] .

Alla säkerhetsmodeller kan stödjas i en WAF: positiv, negativ eller kombinationer därav. Moderna WAF:er är föremål för kraven som beskrivs i PCI DSS . De inspekterar också HTTP/HTTPS-förfrågningar och svar från dataöverföringsprotokollet i enlighet med säkerhetspolicyn [3] . Dessutom samlar det öppna OWASP- projektet in data om kompromisser från hela världen och bildar en klassificering av attackvektorer för webbapplikationer - OWASP Top Ten [4] . WAF:er är utformade för att framgångsrikt svara på de hot som beskrivs i denna klassificering [3] .

Det bör noteras att WAF inte är ett absolut sätt att skydda information. De ingår vanligtvis i det övergripande säkerhetssystemet för webbapplikationer i kombination med andra element, till exempel med element som löser problemen med andra protokoll än HTTP/HTTPS, incidentkontrollsystem, antibedrägeritjänster [5] .

Attackvektorer

Injektioner

SQL-injektioner har länge varit huvudvektorn för framgångsrika attacker [6] . För att arbeta med olika data - radering, ändring, tillägg, använder applikationen en databas . När du kommer åt databasen skapar programmet en frågetext som kan förfalskas av en angripare [7] . Som ett resultat kan till exempel data läcka, raderas eller skrivas. För skydd kontrolleras data som tas emot från användaren noggrant, svarta eller vita listor med teckensekvenser används, begäranstexten escapes [8] .

Utnyttja sårbarheter i sessionslagring

För att skilja på användare, när en användare är auktoriserad på sajten, sätts en sessionscookie eller utfärdas en auktoriseringstoken, som webbläsaren sparar och skickar till servern varje gång för att bekräfta att detta är rätt användare. Denna nyckel kan erhållas av en angripare och användas för att komma åt kontot [9] . För skydd, tillsammans med nyckeln, kontrolleras relaterad information, såsom IP-adress, webbläsare. Sessionsnyckeln ges också en relativt kort livslängd [10] .

XSS (Cross Site Scripting)

Denna typ av attack består i att angriparen skickar Java-Script eller HTML- kod till användarens webbläsare, där denna kod exekveras [7] . Således kan en angripare få cookies eller data in i form av en infekterad sida. För skydd escapes in- och utdata. Reguljära uttryck används för att validera fält [11] .

Exponering av konfidentiell data

Denna typ av attack är utformad för att stjäla känslig data. Oftast sker detta vid tidpunkten för överföringen från klienten till servern via ett osäkert HTTP- eller FTP-protokoll. På väg till servern, på någon nod, efter att ha fått tillgång till den, kan en angripare läsa en öppen, oskyddad begäran med konfidentiell användarinformation [12] . För att överföra sådan information används säkra överföringsprotokoll HTTPS, TLS. Dessutom, om det finns ett behov av att lagra sådana uppgifter, lagras de i krypterad form [12] .

Utnyttja sårbarheter i åtkomstkontroll

Sårbarheter i åtkomstkontroll är förknippade med otillräcklig noggrannhet vid kontroll av åtkomsträttigheter till viss data. Om du har vissa rättigheter kan en angripare få tillgång till data som är stängda för dessa rättigheter [13] .

Till exempel, om en angripare har ett id lika med 1 och kan se en lista över hans meddelanden med hjälp av länken

mysite.com/messages?id=1

sedan med otillräcklig kontroll av rättigheter, ersätt id-värdet med 2 

mysite.com/messages?id=2

servern kommer att skicka meddelanden från användaren med id = 2. Vitlistor används som skydd för att kontrollera åtkomst. Även om vissa WAF:er tar på sig sådana valideringsfunktioner, utförs dessa åtgärder övervägande på servern [14] .

Använda externa XML-enheter

I OWASP-rapporten för 2017 var en sådan attackvektor som XML External Entities (XXE) [15] bland de största möjliga riskerna för webbapplikationer . Möjligheten för sådana attacker uppstår när en applikation tillåter användaren att använda XML-dokument för dataöverföring, vars innehåll tolkas av en dåligt konfigurerad parser. Som ett resultat kan en angripare skicka i XML en referens till en extern enhet, vilket kan leda till dataförlust eller andra oönskade effekter på servern [16] [17] . För skydd används en noggrant konfigurerad XML-serializer, eller så ersätts den med en annan, till exempel JSON. Eller så är stöd för externa XML-enheter inaktiverat [18] .

Brute force attacker

Brute-force-attacker är en typ av attack mot en webbapplikation där en angripare försöker få tillgång till en webbapplikation eller data med brute force (konton, lösenord, sessionsdata).

Till exempel, genom att sortera igenom värdet på lösenordsparametern, kan en angripare avgöra framgångsrik auktorisering genom svarskoden [19] :

GET /vulnerabilities/brute/?username=admin&password=123456&Login=Logga in

Det bör noteras att vissa standardattacker kan motverkas genom att inkludera lämpliga rubriker och flaggor inbyggda i alla moderna webbläsare. Till exempel X-XSS-Protection-huvudet eller HTTPonly-flaggan i Set-Cookie-huvudet [20] [21] .

Försvarsmetoder

Signaturanalys

WAF:er använder signaturanalys aktivt för att filtrera trafik. Signaturmetoden i sin implementering använder en ordbok över skadlig trafik för jämförelse [22] . Om en del av begäran (signaturen) hittades i den inkommande trafiken, vilket motsvarar skadlig trafik, blockerar WAF:er denna begäran. Ett exempel på signaturer [23] .

Ryktefilter för IP-adresser

Metoden bygger på vita och svarta listor med IP-adresser och domäner. Med hänvisning till dessa listor utvärderar WAF:er inkommande förfrågningar [2] .

Några populära blockeringslistor:

Beteendeanalys

Beteendeanalys bygger på maskininlärning. Detta gör att du kan upptäcka anomalier i beteende på djupa nivåer av förståelse. En sådan mekanism kan tränas både med en lärare och utan en lärare på åtkomstidentifierare. Inkommande parametrar kan vara åtkomstidentifierare som HTTP-parametrar, resursidentifierare (URL, URN), sessionsidentifierare [1] . Således tilldelas en matematisk referensmodell av giltiga åtkomstidentifierare. Om denna modell inte matchar kommer nästa begäran att blockeras [5] . Detta gör att du kan reflektera både kända attacker och nolldagsattacker [2] .

Ytterligare funktioner

DoS-skydd

Förutom att skydda information kan WAF:er tillhandahålla funktioner för dess tillgänglighet och bekämpa DoS-attacker. När en attack upptäcks begränsas eller blockeras användare som deltar i trafikbelastningen. WAF:er kan också implementera captcha i serversvaret, och därigenom skära av automatiska förfrågningar och tillåta riktiga användare [5] .

Sårbarhetsskannrar

Medföljande WAF kan ha sin egen sårbarhetsskanner. Skannern uppmärksammar applikationsutvecklare på brister som senare kan åtgärdas, eller så kan ansvaret för dem delegeras till WAF. Under denna analys kan skannern generera förfrågningar med specifika parametervärden som gör det möjligt att utnyttja den hittade sårbarheten. Genom att känna till de svaga punkterna i en webbapplikation genererar WAF:er virtuella patchar som stänger sådana platser [24] .

Typer av tillbehör

WAF tillhandahåller flera typer av förnödenheter.

I vilket som helst av dessa fall kan WAF:er distribueras i ett av alternativen: transparent brygga , transparent eller omvänd proxyserver [25] .

Marknad

Med ökningen av antalet webbapplikationer på Internet växer behovet av deras kvalificerade skydd [26] . Detta är en faktor för företagens utveckling i denna riktning. Många företag är involverade i utvecklingen av branschen. Genomför öppen analys av marknaden, teknologier och hot. Eftersom säkerhetsprinciper och standarder har utvecklats under utvecklingen av webbskydd, är WAF-produkter från olika företag lika i sin funktionalitet och skiljer sig endast i det grafiska skalet [3] .

De mest populära lösningarna:


WAF öppen källkod:

Anteckningar

  1. ↑ 1 2 3 Skyddssystem för brandvägg för webbapplikationer (WAF) . Anti-Malware.com. Hämtad 11 december 2019. Arkiverad från originalet 11 december 2019.
  2. ↑ 1 2 3 Alexander Antipov. Hur skyddar webbplatser, eller varför behövs WAF? . www.securitylab.ru Hämtad 11 december 2019. Arkiverad från originalet 11 december 2019.
  3. ↑ 1 2 3 Översikt över marknaden för webbapplikationssäkerhet (WAF) i Ryssland och i världen . Anti-Malware.ru (12 augusti 2015). Hämtad 11 december 2019. Arkiverad från originalet 11 december 2019.
  4. Kategori:OWASP Top Ten Project - OWASP (nedlänk) . www.owasp.org. Hämtad 11 december 2019. Arkiverad från originalet 1 december 2019. 
  5. ↑ 1 2 3 Boxed webbapplikationssäkerhet. Insidan av brandväggen för webbapplikationer . Anti-Malware.ru (5 oktober 2015). Hämtad 11 december 2019. Arkiverad från originalet 11 december 2019.
  6. OWASP Top10 2017  // OWASP. Arkiverad från originalet den 26 juli 2018.
  7. ↑ 12 Michael Cross . Utvecklarguide för webbapplikationssäkerhet. ISBN 1-59749-061-X .
  8. PHP: SQL Injection - Manual . www.php.net. Hämtad 12 december 2019. Arkiverad från originalet 18 december 2019.
  9. Katy Anton, Jim Manico, Jim Bird. 10 kritiska säkerhetsområden som mjukvaruutvecklare måste vara medvetna om  // https://www.owasp.org  : en guide för att säkra webbapplikationer. — 2018. Arkiverad 12 december 2019.
  10. Vad är och hur man förhindrar trasig autentisering och sessionshantering | OWASP Top 10 (A2)  (engelska) . hdivsecurity.com. Hämtad 11 december 2019. Arkiverad från originalet 11 december 2019.
  11. Cross Site Scripting Prevention OWASP Cheat Sheet Series . cheatsheetseries.owasp.org. Hämtad 12 december 2019. Arkiverad från originalet 19 december 2019.
  12. ↑ 1 2 Topp 10-2017 A3-känslig dataexponering - OWASP . www.owasp.org. Hämtad 11 december 2019. Arkiverad från originalet 19 september 2019.
  13. Topp 10-2017 A5-Broken Access Control - OWASP . www.owasp.org. Hämtad 13 december 2019. Arkiverad från originalet 23 december 2019.
  14. Kategori:OWASP Bästa metoder: Användning av webbapplikationsbrandväggar/Version 1.0.5 - OWASP . www.owasp.org. Hämtad 11 december 2019. Arkiverad från originalet 7 november 2016.
  15. Topp 10-2017 Topp 10 - OWASP . www.owasp.org. Hämtad 11 december 2019. Arkiverad från originalet 6 november 2019.
  16. Carrie Roberts. En praktisk XML External Entity Vulnerability Training Module. — 2013.
  17. Bearbetning för extern enhet för XML (XXE) - OWASP . www.owasp.org. Hämtad 11 december 2019. Arkiverad från originalet 8 maj 2013.
  18. XXE (Xml eXternal Entity) - Nationalbiblioteket. N. E. Bauman . en.bmstu.wiki. Hämtad 11 december 2019. Arkiverad från originalet 11 december 2019.
  19. Försvara sig mot brute-force attacker . waf.pentestit.ru. Hämtad 15 november 2020. Arkiverad från originalet 18 november 2020.
  20. Säkerhetsrubriker - OWASP . www.owasp.org. Hämtad 15 december 2019. Arkiverad från originalet 15 december 2019.
  21. HttpOnly - OWASP . www.owasp.org. Hämtad 15 december 2019. Arkiverad från originalet 26 december 2008.
  22. S. I. Makarenko. Informationssäkerhet: en lärobok för universitetsstudenter.
  23. Nemesida WAF rules.bin . rlinfo.nemesida-security.com. Hämtad 12 december 2019. Arkiverad från originalet 11 december 2019.
  24. Virtuell patchning | Nemesida WAF (14 september 2017). Hämtad 11 december 2019. Arkiverad från originalet 11 december 2019.
  25. Jämförelse av brandväggar för att skydda webbplatser (Web Application Firewall - WAF) . Anti-Malware.ru (3 oktober 2017). Hämtad 11 december 2019. Arkiverad från originalet 11 december 2019.
  26. ↑ Digital 2019 : Global internetanvändning accelererar  . Vi är sociala (30 januari 2019). Hämtad 12 december 2019. Arkiverad från originalet 14 december 2019.