OWASP Top 10 beveiligingsrisico's | Overzicht

Inhoudsopgave

OWASP Top 10 Overzicht

Wat is OWASP?

OWASP is een non-profitorganisatie die zich toelegt op beveiligingseducatie voor webapps. 

Het OWASP-leermateriaal is toegankelijk op hun website. Hun tools zijn handig om de beveiliging van webapplicaties te verbeteren. Dit omvat documenten, tools, video's en forums.

De OWASP Top 10 is een lijst met de belangrijkste beveiligingsproblemen voor web-apps van vandaag. Ze raden alle bedrijven aan dit rapport in hun processen op te nemen om beveiligingsrisico's te verkleinen. Hieronder vindt u een lijst met beveiligingsrisico's die zijn opgenomen in het OWASP Top 10 2017-rapport.

SQL Injection

SQL-injectie vindt plaats wanneer een aanvaller ongepaste gegevens naar een web-app stuurt om het programma in de applicatie te verstoren.

Een voorbeeld van een SQL-injectie:

De aanvaller kan een SQL-query invoeren in een invoerformulier waarvoor een gebruikersnaam in platte tekst is vereist. Als het invoerformulier niet beveiligd is, resulteert dit in het uitvoeren van een SQL-query. Deze wordt verwezen naar als SQL-injectie.

Om webapplicaties te beschermen tegen code-injectie, moet u ervoor zorgen dat uw ontwikkelaars invoervalidatie gebruiken voor door gebruikers ingediende gegevens. Validatie verwijst hier naar de afwijzing van ongeldige invoer. Een databasebeheerder kan ook controles instellen om de hoeveelheid te verminderen informatie dat kan worden onthuld bij een injectie-aanval.

Om SQL-injectie te voorkomen, raadt OWASP aan om gegevens gescheiden te houden van opdrachten en query's. De voorkeursoptie is het gebruik van een beveiligde API om het gebruik van een tolk te voorkomen, of om te migreren naar Object Relational Mapping Tools (ORM's).

Gebroken authenticatie

Verificatieproblemen kunnen een aanvaller in staat stellen om toegang te krijgen tot gebruikersaccounts en een systeem te compromitteren met behulp van een beheerdersaccount. Een cybercrimineel kan een script gebruiken om duizenden wachtwoordcombinaties op een systeem uit te proberen om te zien welke werkt. Zodra de cybercrimineel binnen is, kunnen ze de identiteit van de gebruiker vervalsen, waardoor ze toegang krijgen tot vertrouwelijke informatie.

Er bestaat een gebroken authenticatie-kwetsbaarheid in webapplicaties die geautomatiseerde aanmeldingen mogelijk maken. Een populaire manier om authenticatieproblemen te corrigeren, is het gebruik van multifactorauthenticatie. Ook zou een inlogsnelheidslimiet kunnen zijn worden opgenomen in de web-app om brute force-aanvallen te voorkomen.

Gevoelige gegevensblootstelling

Als webapplicaties geen bescherming bieden, kunnen gevoelige aanvallers er toegang toe krijgen en deze gebruiken voor eigen gewin. Een on-path-aanval is een populaire methode om gevoelige informatie te stelen. Het risico op blootstelling is minimaal wanneer alle gevoelige gegevens versleuteld zijn. Webontwikkelaars moeten ervoor zorgen dat er geen gevoelige gegevens in de browser worden weergegeven of onnodig worden opgeslagen.

XML externe entiteiten (XEE)

Een cybercrimineel kan mogelijk schadelijke XML-inhoud, opdrachten of code uploaden of opnemen in een XML-document. Hierdoor kunnen ze bestanden bekijken op het bestandssysteem van de applicatieserver. Zodra ze toegang hebben, kunnen ze communiceren met de server om server-side request forgery (SSRF)-aanvallen uit te voeren.

XML-aanvallen van externe entiteiten kunnen dat wel worden voorkomen door waardoor webapplicaties minder complexe gegevenstypen zoals JSON kunnen accepteren. Het uitschakelen van de verwerking van externe XML-entiteiten verkleint ook de kans op een XEE-aanval.

Gebroken toegangscontrole

Toegangscontrole is een systeemprotocol dat onbevoegde gebruikers beperkt tot gevoelige informatie. Als een toegangscontrolesysteem kapot is, kunnen aanvallers authenticatie omzeilen. Dit geeft hen toegang tot gevoelige informatie alsof ze geautoriseerd zijn. Toegangscontrole kan worden beveiligd door autorisatietokens te implementeren bij het inloggen van de gebruiker. Bij elk verzoek dat een gebruiker doet terwijl hij geauthenticeerd is, wordt het autorisatietoken bij de gebruiker geverifieerd, wat aangeeft dat de gebruiker geautoriseerd is om dat verzoek te doen.

Verkeerde configuratie van de beveiliging

Verkeerde configuratie van beveiliging is een veelvoorkomend probleem dat internetveiligheid specialisten observeren in webapplicaties. Dit gebeurt als gevolg van verkeerd geconfigureerde HTTP-headers, verbroken toegangscontroles en de weergave van fouten die informatie in een webapp blootleggen. U kunt een verkeerde configuratie van de beveiliging corrigeren door ongebruikte functies te verwijderen. U moet ook uw softwarepakketten patchen of upgraden.

Cross-site scripting (XSS)

XSS-kwetsbaarheid treedt op wanneer een aanvaller de DOM-API van een vertrouwde website manipuleert om schadelijke code uit te voeren in de browser van een gebruiker. De uitvoering van deze kwaadaardige code vindt vaak plaats wanneer een gebruiker op een link klikt die afkomstig lijkt te zijn van een vertrouwde website. Als de website niet is beschermd tegen de XSS-kwetsbaarheid, kan dat wel gecompromitteerd zijn. De kwaadaardige code die is geëxecuteerd geeft een aanvaller toegang tot de inlogsessie van de gebruiker, creditcardgegevens en andere gevoelige gegevens.

Om Cross-site Scripting (XSS) te voorkomen, moet u ervoor zorgen dat uw HTML goed is opgeschoond. Dit kan worden bereikt door het kiezen van vertrouwde frameworks, afhankelijk van de gekozen taal. U kunt talen zoals .Net, Ruby on Rails en React JS gebruiken, omdat deze u helpen bij het ontleden en opschonen van uw HTML-code. Door alle gegevens van geverifieerde of niet-geverifieerde gebruikers als niet-vertrouwd te behandelen, kan het risico op XSS-aanvallen worden verkleind.

Onveilige deserialisatie

Deserialisatie is de transformatie van geserialiseerde gegevens van een server naar een object. Deserialisatie van gegevens is een veel voorkomend verschijnsel bij softwareontwikkeling. Het is onveilig wanneer data is gedeserialiseerd van een niet-vertrouwde bron. Dit kan mogelijk stel uw applicatie bloot aan aanvallen. Onveilige deserialisatie treedt op wanneer gedeserialiseerde gegevens van een niet-vertrouwde bron leiden tot DDOS-aanvallen, aanvallen op het uitvoeren van externe code of omzeilen van authenticatie.

Om onveilige deserialisatie te voorkomen, is de vuistregel om gebruikersgegevens nooit te vertrouwen. Elke gebruiker moet gegevens invoeren behandeld worden as mogelijk kwaadwillend. Vermijd deserialisatie van gegevens uit niet-vertrouwde bronnen. Zorg ervoor dat de deserialisatiefunctie naar worden gebruikt in uw webapplicatie is veilig.

Componenten gebruiken met bekende kwetsbaarheden

Met bibliotheken en frameworks is het veel sneller geworden om webapplicaties te ontwikkelen zonder het wiel opnieuw uit te hoeven vinden. Dit vermindert redundantie in code-evaluatie. Ze maken de weg vrij voor ontwikkelaars om zich te concentreren op belangrijkere aspecten van applicaties. Als aanvallers exploits in deze frameworks ontdekken, zou elke codebase die het framework gebruikt gecompromitteerd zijn.

Componentontwikkelaars bieden vaak beveiligingspatches en updates voor componentbibliotheken. Om kwetsbaarheden in componenten te voorkomen, moet u leren uw toepassingen up-to-date te houden met de nieuwste beveiligingspatches en upgrades. Ongebruikte componenten moeten verwijderd worden vanuit de applicatie om aanvalsvectoren te verwijderen.

Onvoldoende logboekregistratie en monitoring

Logging en monitoring zijn belangrijk om activiteiten in uw webapplicatie in beeld te brengen. Logging maakt het gemakkelijk om fouten op te sporen, controleren logins en activiteiten van gebruikers.

Onvoldoende logboekregistratie en monitoring vinden plaats wanneer beveiligingskritieke gebeurtenissen niet worden vastgelegd naar behoren. Aanvallers profiteren hiervan om aanvallen uit te voeren op uw applicatie voordat er een merkbare reactie is.

Logging kan uw bedrijf helpen geld en tijd te besparen, omdat uw ontwikkelaars dat ook kunnen gemakkelijk bugs vinden. Hierdoor kunnen ze zich meer concentreren op het oplossen van de bugs dan op het zoeken ernaar. In feite kan logboekregistratie u helpen uw sites en servers elke keer weer aan de gang te houden zonder dat ze downtime ondervinden.

Conclusie

Goede code is dat niet voor slechts over functionaliteit, het gaat erom uw gebruikers en applicatie veilig te houden. De OWASP Top 10 is een lijst met de meest kritieke beveiligingsrisico's van applicaties en is een geweldige gratis bron voor ontwikkelaars om veilige web- en mobiele apps te schrijven. Door ontwikkelaars in uw team te trainen om risico's te beoordelen en vast te leggen, kan uw team op de lange termijn tijd en geld besparen. Als je wilt klik hier voor meer informatie over hoe u uw team kunt trainen in de OWASP Top 10.

Het omzeilen van TOR-censuur

Internetcensuur omzeilen met TOR

Internetcensuur omzeilen met TOR Inleiding In een wereld waar de toegang tot informatie steeds meer gereguleerd wordt, zijn tools als het Tor-netwerk cruciaal geworden voor

Lees meer »