Vad är OWASP?
Open Web Application Security Project (OWASP) är en ideell organisation som grundades 2001, med målet att hjälpa webbplatsägare och säkerhetsexperter att skydda webbapplikationer från cyberattacker. OWASP har 32,000 volontärer runt om i världen som utför Säkerhetsbedömningar och forskning.,
bland OWASPS nyckelpublikationer finns OWASP Top 10, som diskuteras mer detaljerat nedan; OWASP Software Assurance Maturity Model (SAMM), OWASP Development Guide, OWASP Testing Guide och OWASP Code Review Guide.
OWASP Top 10
OWASP Top 10 är ett allmänt accepterat dokument som prioriterar de viktigaste säkerhetsriskerna som påverkar webbapplikationer., Även om det finns många fler än tio säkerhetsrisker är tanken bakom OWASP Top 10 att göra säkerhetspersonal mycket medvetna om åtminstone de mest kritiska säkerhetsriskerna och lära sig att försvara sig mot dem.
OWASP utvärderar regelbundet viktiga typer av cyberattacker med fyra kriterier: enkel exploatering, prevalens, detekterbarhet och affärseffekt och väljer de 10 bästa attackerna. OWASP Top 10 publicerades första gången 2003 och har sedan dess uppdaterats 2004, 2007, 2010, 2013 och 2017.,
förstå och förebygga vanliga OWASP-attacker
nedan finns information från OWASP foundation på fem viktiga webbapplikationsattacker som vanligtvis rankas i den övre halvan av OWASP Top 10, hur de manifesterar sig och hur du kan skydda din organisation mot dem. Kodexempel tas från OWASP Top 10 riktlinjer.
injektion
en insprutningssårbarhet i en webbapplikation gör det möjligt för angripare att skicka fientliga data till en tolk, vilket gör att data som ska sammanställas och exekveras på servern. En vanlig form av injektion är SQL-injektion.,3844d3c3″>
exempel på injiceringsattacker
ett program använder opålitlig data vid konstruktion av ett sårbart SQL-samtal:
String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'";
ett program litar på ett ramverk utan att sanera sina ingångar, i det här fallet Hibernate query language (HQL):
Query HQLQuery = session.createQuery("FROM accounts WHERE custID='" + request.getParameter("id") + "'");
angriparen ändrar parametern ’id’ i sin webbläsare för att skicka kod., Till exempel:
http://example.com/app/accountView?id=' or '1'='1
detta gör att frågorna returnerar alla poster från kontotabellen och kan användas för att utföra andra skadliga åtgärder på servern.
förhindra Injiceringsattacker
- använd ett säkert API som undviker användningen av tolken helt
- använd positiv eller ”vitlista” serversidan validering
- Fly specialtecken
- använd gräns och andra SQL-kontroller inom frågor för att förhindra massupplysning av poster vid SQL-injektion.,entication
en webbapplikation med bruten eller svag autentisering kan lätt upptäckas av angripare och är sårbar för brute force/dictionary-attacker och sessionshanteringsattacker
Exploaterbarhet: hög prevalens: Medium detekterbarhet: Medium Impact: hög exempel på brutna autentiseringsattacker
- credential fyllning angripare använder listor över kända lösenord och prova dem sekventiellt för att få tillgång., Utan automatiserad hot eller credential fyllning skydd, ansökan används av angripare som en valideringsmekanism för alla lösenord de försöker.
- lösenordsbaserade attacker webprogram förlitar sig endast på Lösenord har i sig svaga autentiseringsmekanismer, även om lösenord har komplexitetskrav och roteras. Organisationer bör byta till multifaktorsautentisering.,
mildra bruten autentisering
- implementera multifaktorsautentisering
- distribuera Inte system med standarduppgifter
- kontrollera efter en lista över de 10 000 värsta lösenorden
- använd riktlinjerna i NIST 800-63 B avsnitt 5.1.,1 för memorerade hemligheter
- härda alla autentiseringsrelaterade processer som registrering och credential recovery
- begränsa eller fördröja misslyckade inloggningsförsök
- använd en säker, inbyggd, server-side sessionshanterare
känslig Dataexponering
känsliga data är vanligtvis den mest värdefulla tillgången som är inriktad på cyberattacker. Angripare kan få tillgång till det genom att stjäla kryptografiska nycklar, genomföra” man in the middle ” (MITM) attacker, eller stjäla cleartext data som ibland kan lagras på servrar eller webbläsare.,
Exploaterbarhet: Medium prevalens: hög detekterbarhet: Medium Impact: hög exempel på känslig dataexponering
- inga TLS om en webbplats inte använder SSL / TLS för alla sidor, kan en angripare övervaka trafiken, nedgradera anslutningar från HTTPS till HTTP och stjäla sessionskakan.
- osaltade hashar en webbapplikations lösenordsdatabas kan använda osaltade eller enkla hashar för att lagra lösenord., Om en angripare får tillgång till databasen kan de enkelt knäcka hasharna, till exempel med hjälp av GPU, och få tillgång.
mildra känslig Dataexponering
- identifiera känsliga data och tillämpa lämpliga säkerhetskontroller.
- lagra inte känsliga data om det inte absolut behövs kassera känsliga data, använd tokenisering eller trunkering.
- kryptera all känslig data i vila med hjälp av starka krypteringsalgoritmer, protokoll och nycklar.
- Kryptera data i transit använder säkra protokoll som TLS och HTTP HÖGHASTIGHETSTÅG.
- inaktivera caching för känsliga data.,
- lagra lösenord med starka, saltade hashfunktioner som Argon2, scrypt och bcrypt.
XML External Entities (XXE)
om ett webbprogram använder en sårbar KOMPONENTBEHANDLINGS-XML kan angripare ladda upp XML eller inkludera fientligt innehåll, kommandon eller kod i ett XML-dokument.,2ba97df6″>
en angripare kan få information om ett privat nätverk genom att ändra ENTITETSLINJEN till:
mildra XXE-attacker
- använd enklare dataformat som JSON och undvik serialisering
- Patch eller uppgradera alla XML-processorer och bibliotek
- inaktivera XML extern entity och DTD-bearbetning
- implementera vitlistning och sanering av XML-ingångar på serversidan
- validera XML med XSD eller liknande validering
- använd sast-verktyg för att upptäcka XXE i källkoden, med manuell granskning om möjligt
A5., Bruten åtkomstkontroll
bruten åtkomstkontroll innebär att angripare kan få tillgång till användarkonton och fungera som användare eller administratörer, och att vanliga användare kan få oavsiktliga privilegierade funktioner. Starka tillträdesmekanismer säkerställer att varje roll har tydliga och isolerade privilegier.,ld strong access control mechanisms and reuse them across the application
- upprätthålla postägande tillåter inte användare att skapa, läsa eller ta bort någon post
- upprätthålla användnings-och hastighetsgränser
- inaktivera serverkatalog notering och inte lagra metadata eller säkerhetskopior i mapproten
- logga misslyckade åtkomstförsök och varna administratörer
- Rate limit API och controller access
- validera JWT tokens efter utloggning
andra OWASP topp 10 attacker
- säkerhetsfelkonfigurationer felaktiga säkerhetskontroller är en gemensam ingångspunkt för angripare., Till exempel en databas som distribueras med ett standardadminlösenord.
- XSS-angripare använder XSS för att utnyttja svagheter i sessionshantering och köra skadlig kod på användarwebbläsare.
- osäker deserialisering deserialisering är en komplex teknik, men om den utförs korrekt, tillåter angripare att utföra skadlig kod på en server.
- användning av komponenter med kända sårbarheter de flesta webbapplikationer är starkt beroende av komponenter med öppen källkod, och dessa kan inkludera kända sårbarheter som angripare kan utnyttja för att få tillgång till eller orsaka skador.,
- otillräcklig loggning och övervakning angripare förlitar sig på bristen på övervakning och snabb respons för att lyckas med någon annan attack vektor.
se hur Imperva Web Application Firewall kan hjälpa dig med OWASP Top 10 attacker.
Imperva Application Security
Impervas branschledande Web Application Firewall (WAF) ger robust skydd mot OWASP Top 10 attacker och andra webbapplikation hot. Imperva erbjuder två WAF distributionsalternativ:
- Cloud WAF—tillåta legitim trafik och förhindra dålig trafik., Skydda dina applikationer vid kanten med en företagsklass cloud WAF.
- Gateway WAF—håll applikationer och API: er i ditt nätverk säkert med Imperva Gateway WAF.
förutom WAF ger Imperva flerskiktsskydd för att se till att webbplatser och applikationer är tillgängliga, lättillgängliga och säkra. Imperva application security-lösningen innehåller:
- DDoS—skydd-upprätthålla drifttid i alla situationer. Förhindra någon typ av DDoS-attack, av vilken storlek som helst, från att förhindra åtkomst till din webbplats och nätverksinfrastruktur.,
- CDN—förbättra webbplatsens prestanda och minska bandbreddskostnaderna med en CDN avsedd för utvecklare. Cache statiska resurser vid kanten samtidigt påskynda API och dynamiska webbplatser.
- Bot management—analyserar din bot trafik för att lokalisera anomalier, identifierar dåligt bot beteende och validerar det via utmaningsmekanismer som inte påverkar användartrafik.
- API security—skyddar API: er genom att säkerställa att endast önskad trafik kan komma åt din API-slutpunkt, samt upptäcka och blockera utnyttjande av sårbarheter.,
- Account takeover protection—använder en avsiktsbaserad detekteringsprocess för att identifiera och försvara sig mot försök att ta över användarnas konton för skadliga ändamål.
- RASP—Håll dina program säkra inifrån mot kända och nolldagsattacker. Snabbt och korrekt skydd utan signatur eller inlärningsläge.
- Attack analytics—mildra och svara på verkliga säkerhetshot effektivt och korrekt med angripbar intelligens i alla dina lager av försvar.