OWASP staat eigenlijk voor het Open Web Application Security Project, Het is een non-profit wereldwijde online gemeenschap bestaande uit tienduizenden leden en honderden hoofdstukken die artikelen, documentatie, tools en technologieën produceert op het gebied van Web application security.
elke drie tot vier jaar herziet en publiceert OWASP zijn lijst van de top 10 kwetsbaarheden van webapplicaties., Deze lijst bevat niet alleen de meest voorkomende top 10 kwetsbaarheden, maar bevat ook de potentiële impact van elke kwetsbaarheid en hoe ze te voorkomen. De OWASP Top 10 web applicatie beveiligingsrisico ‘ s is het meest recent bijgewerkt in 2017 en het biedt in principe begeleiding voor ontwikkelaars en security professionals op de meest kritieke kwetsbaarheden die het meest worden gevonden in webapplicaties, en zijn ook gemakkelijk te exploiteren. OWASP ‘ s top 10 wordt beschouwd als een essentiële gids voor webapplicatie beveiliging best practices.,
de top 10 OWASP kwetsbaarheden in 2020 zijn:
- injectie
- gebroken authenticatie
- gevoelige gegevens blootstelling
- XML externe entiteiten (XXE)
- gebroken Toegangscontrole
- veiligheids misconfiguraties
- Cross-Site Scripting (XSS)
- onveilige deserialisatie
- gebruik van componenten met bekende kwetsbaarheden
- onvoldoende logging en monitoring.,
injectie
injectie kwetsbaarheden optreden wanneer een aanvaller een query of commando gebruikt om niet-vertrouwde gegevens in de interpreter in te voegen via SQL, OS, NoSQL of LDAP injectie. De gegevens die via deze aanvalsvector worden geïnjecteerd, doen de applicatie iets waarvoor het niet is ontworpen. Niet alle toepassingen zijn kwetsbaar voor deze aanval, alleen de toepassingen die parameters accepteren als input zijn kwetsbaar voor injectie aanvallen.,
injectieaanvallen kunnen worden voorkomen door
- met behulp van een veiliger API die het gebruik van de interpreter
- vermijdt met behulp van geparametreerde query ’s bij het coderen van
- scheiden van commando’ s van gegevens om blootstelling aan aanvallen te voorkomen
gebroken authenticatie
gebroken authenticatie is een kwetsbaarheid die een aanvaller in staat stelt handmatige of automatische methoden te gebruiken om te proberen controle te krijgen over elk account dat ze willen in een systeem. In slechtere omstandigheden kunnen ze ook volledige controle over het systeem krijgen., Deze kwetsbaarheid is ook gevaarlijker omdat websites met gebroken authenticatie kwetsbaarheden zijn zeer gebruikelijk op het web. Gebroken authenticatie vindt normaal plaats wanneer toepassingen functies met betrekking tot sessiebeheer onjuist uitvoeren, waardoor indringers wachtwoorden, beveiligingssleutels of sessietokens in gevaar kunnen brengen.,Gebroken authenticatieaanvallen kunnen worden voorkomen door
- implementatie van multi-factor authenticatie
- bescherming van gebruikersreferenties
- verzenden van wachtwoorden over versleutelde verbindingen
blootstelling aan gevoelige gegevens
deze kwetsbaarheid is een van de meest voorkomende kwetsbaarheden op de OWASP-lijst en treedt op wanneer applicaties en API ‘ s gevoelige gegevens zoals financiële gegevens, sofinummers, gebruikersnamen en wachtwoorden, of gezondheidsinformatie niet goed beschermen, en dit maakt aanvallers in staat om toegang te krijgen tot dergelijke informatie en fraude te plegen of identiteiten te stelen.,
gevoelige gegevensbelichtingsaanvallen kunnen worden voorkomen door
- met behulp van de beveiligde URL ‘ s
- met behulp van sterke en unieke wachtwoorden
- versleutelen van alle gevoelige informatie die moet worden opgeslagen
XML externe entiteiten (XXE)
deze kwetsbaarheid treedt op voor webtoepassingen die XML-invoer ontleden. Dit gebeurt wanneer slecht geconfigureerde XML-processors externe entiteitverwijzingen binnen de XML-documenten evalueren en gevoelige gegevens verzenden naar een niet-geautoriseerde externe entiteit, d.w.z. een opslageenheid zoals een harde schijf., Standaard zijn de meeste XML parsers kwetsbaar voor XXE aanvallen.
XXE aanvallen kunnen worden voorkomen door
- met behulp van minder complexe dataformaten zoals JSON
- XML-processors en bibliotheken geüpgraded
- met behulp van SAST-tools
verbroken toegangscontroles
deze kwetsbaarheid treedt op wanneer er sprake is van verbroken toegang tot bronnen, het betekent dat er een aantal onjuist geconfigureerde ontbrekende beperkingen zijn voor geverifieerde gebruikers die hen in staat stellen toegang te krijgen tot ongeautoriseerde functionaliteit of gegevens zoals toegang tot andere accounts, vertrouwelijke documenten, enz., Voor deze aanval, aanvallers nemen de hulp van sessiebeheer en proberen om toegang te krijgen tot gegevens van de nog niet verlopen sessie tokens, die hen toegang geeft tot vele geldige ID ‘ s en wachtwoorden.,
verbroken Toegangscontrole-aanvallen kunnen worden voorkomen door
- accounts verwijderen die niet langer nodig zijn of niet actief zijn
- onnodige services Afsluiten om de last op servers te verminderen
- gebruikmakend van penetratietesten
verkeerde configuratie van de beveiliging
naar schatting zijn tot 95% van de cloudbreuken het gevolg van menselijke fouten en dit feit leidt ons naar de volgende kwetsbaarheid genaamd veiligheid Misconfiguratie. Deze kwetsbaarheid verwijst naar de onjuiste implementatie van beveiliging bedoeld om applicatiegegevens veilig te houden., Zoals we weten dat het werk van de ontwikkelaar is in principe om te werken aan de functionaliteit van websites en niet op de veiligheid en deze fout stelt hackers in staat om bij te houden van de configuratie van de beveiliging te houden en nieuwe mogelijke manieren om websites in te voeren vinden. De meest voorkomende reden voor deze kwetsbaarheid is niet patchen of upgraden van systemen, frameworks, en componenten.,
beveiligingsfoutconfiguratieaanvallen kunnen worden voorkomen door
- met behulp van Dynamic application security testing (DAST)
- het gebruik van standaardwachtwoorden uitschakelen
- cloudbronnen, toepassingen en servers
Cross-Site Scripting (XSS)
Dit is ook een wijdverbreide kwetsbaarheid die bijna 53% van alle webtoepassingen treft. XSS kwetsbaarheid kan een hacker om kwaadaardige client-side scripts te injecteren in een website en vervolgens gebruik maken van de webapplicatie als een aanval Vector om gebruikersessies te kapen, of omleiden van het slachtoffer naar kwaadaardige websites.,
Cross-site scripting-aanvallen kunnen voorkomen worden door
- met Behulp van de juiste response headers
- het Filteren van de input en het coderen van de uitgang
- het Gebruik van de content security policy
- het Toepassen van een nul-trust benadering op invoer van de gebruiker
Onzeker Deserialisatie
Onzeker Deserialisatie kwetsbaarheid kan een aanvaller op afstand uitvoeren van code in de applicatie, te vervalsen of te verwijderen met serienummer (naar de schijf geschreven) objecten, gedrag injectie aanvallen, replay-aanvallen, en verheffen privileges. Deze aanval staat ook bekend als niet-vertrouwde deserialisatie., Het is een ernstige applicatie beveiliging probleem dat de meeste van de moderne systemen beïnvloedt.,alization aanvallen kunnen voorkomen worden door
- de Implementatie van digitale handtekeningen
- Met penetratie testen
- het Isoleren van de code die deserializes en uitgevoerd in lage voorrecht omgevingen om te voorkomen dat ongeautoriseerde acties
met Behulp van de Bestanddelen met bekende kwetsbaarheden
Tegenwoordig zijn er vele open-source en vrij beschikbare software-componenten (bibliotheken, kaders) die beschikbaar zijn voor ontwikkelaars en als er treedt een onderdeel dat heeft een bekende kwetsbaarheid in dan wordt het een zwakke schakel die van invloed kunnen zijn op de veiligheid van de gehele applicatie., Het komt ook voor omdat ontwikkelaars vaak niet weten welke open source en componenten van derden aanwezig zijn in hun applicaties en dit maakt het moeilijk voor ontwikkelaars om componenten bij te werken wanneer nieuwe kwetsbaarheden worden ontdekt in hun huidige versies.,
deze aanval kan worden voorkomen door
- alle onnodige afhankelijkheden te verwijderen
- gebruikmakend van virtuele patching
- gebruikmakend van componenten alleen uit officiële en geverifieerde bronnen
onvoldoende Logging en Monitoring
Er wordt geschat dat de tijd van aanval tot detectie tot 200 dagen kan duren, en vaak langer. In de tussentijd, aanvallers kunnen knoeien met servers, corrupte databases, en stelen vertrouwelijke informatie. Onvoldoende logging en ineffectieve integratie van de beveiligingssystemen toestaan aanvallers om te draaien naar andere systemen en aanhoudende bedreigingen te handhaven.,
onvoldoende logging en monitoring aanvallen kunnen worden voorkomen door
- implementatie van logging en audit software
- opzetten van een effectief monitoring systeem
- denken als een aanvaller en gebruik maken van een pen testing aanpak