Security tooling in de ontwikkelstraat

Auteur: Martijn Roosenboom

Voor de ontwikkeling van software is het gemeengoed om gebruik te maken van een ontwikkelstraat waarbij nieuwe stukken gemaakte code automatisch worden opgebouwd en uiteindelijk worden gereleased naar een nieuwe live versie. Wat echter vaak nog mist in deze ontwikkelstraten is security tooling. Met security tooling worden kwetsbaarheden al ontdekt tijdens het build/release proces. Dat geeft voordelen. Om dit te bewerkstelligen zijn er verschillende oplossingen beschikbaar. Hieronder worden een aantal van deze security oplossingen uitgelicht.

Sonarqube

Sonarqube is een tool welke statische code analyse uitvoert op de source code, waarmee Sonarqube op code niveau al veel kwetsbaarheden kan ontdekken. Naast het ontdekken van kwetsbaarheden is Sonarqube in staat om bugs en code smells te detecteren. Daardoor maakt Sonarqube de applicatie een stuk veiliger en voorkomt het dat andere code ongeregeldheden in de code terecht komen.

In een ontwikkelstraat kan Sonarqube het beste worden afgetrapt na het builden van de Source code. Sonarqube zal deze nieuwe build scannen op bekende kwetsbaarheden en de rapportage hiervan doorsturen naar de ontwikkelstraat. Ook kan er aan de hand van deze resultaten geacteerd worden, bijvoorbeeld door het falen van de build pipeline. Hierdoor moeten de ontwikkelaars eerst de kwetsbaarheden en bugs oplossen voordat er tot een succesvolle release gekomen kan worden.

Bron: https://wiki.eclipse.org/SonarQube

OWASP DC

OWASP DC (dependency check) is een programma welke de softwaresamenstelling van sourcecode analyseert. Deze tool kan verschillende kwetsbaarheden ontdekken binnen de verschillende dependencies van een project. Door te kijken of er bekende CPE (Common Platform Enumeration) nummers aanwezig zijn binnen de dependencies van een project. Wanneer deze aanwezig zijn wordt er onderzocht of er kwetsbaarheden tussen zitten. Dit doet het door te controleren of het CPE nummer CVE (Common Vulnerability and Exposure) nummers bevat. Een CPE nummer is een gestructureerd naamgevingsschema voor informatietechnologie systemen, software en pakketten. Hiermee kunnen deze onderdelen aan een nummer worden gekoppeld. CVE is een lijst met publiekelijk bekende computer kwetsbaarheden. Een CVE nummer verwijst naar een bepaalde kwetsbaarheid. In een CPE nummer kunnen dus verschillende CVE nummers (kwetsbaarheden) zitten. OWASP DC kan in een buildstraat na de Sonarqube analyse worden afgetrapt.

Bron: https://deshanigeethika.medium.com/containerizing-owasp-dependency-check-security-tool-e282d6d237d4

OWASP ZAP

OWASP ZAP (Zed Attack Proxy) is een populaire opensource web applicatie scanner. Deze tool kan nadat een applicatie is gereleased én live draait hier een scan op uitvoeren. Dit doet ZAP door als een man-in-the-middle proxy te functioneren. Dit betekent dat ZAP tussen de testende browser/scanner en de web applicatie staat. Dit stelt ZAP in staat om berichten te onderscheppen, te veranderen en weer door te sturen. ZAP is handmatig te besturen door middel van een browser of automatisch via een scanner. In een release pipeline, kan er het beste gebruik worden gemaakt van de automatische scanner. Hiervoor zijn docker containers die het gemakkelijk maken om een OWASP ZAP scan uit te voeren in een release pipeline.

Een ZAP scan begint meestal met het in kaart brengen van de applicatie. Dit wordt gedaan door middel van een spider. Een spider volgt als het ware alle links op de website om zo nieuwe pagina’s te ontdekken. Tijdens het ophalen van deze pagina’s wordt er ook passief gescand, waardoor de standaard responses van de web applicatie worden bekeken. Met het passief scannen zullen vooral kleinere kwetsbaarheden worden gevonden. Zoals het missen van beveiligingsattributen in een cookie, missende security headers, etc. Na deze scan is het gebruikelijk om een actieve scan uit te voeren. Hiermee zal de ZAP scan kwetsbaarheden vinden door bekende aanvallen uit te voeren op de web applicatie. Zo zal ZAP gebruik maken van onder andere SQL injecties, cross site scriptie, external redirects en buffer overflow. Met als doel te detecteren of een web applicatie kwetsbaar is.

In de ontwikkelstraat kan ZAP goed geïmplementeerd worden door deze na de release af te trappen. Nadat een applicatie gereleased is en live draait, kan er naar ZAP het commando worden gestuurd om een nieuwe scan te starten.

Bron: https://technology.amis.nl/security-2/owasp-zap-a-quick-introduction/

Onderwerpen

Delen
Share on linkedin
Share on email

Contact

Andere technische blogs
Blazor
SAST Tools vergelijking
Svelte, een populair front-end framework

Word jij onze nieuwe Carthago expert?

Alle ruimte voor ontwikkeling en fun!

Carthago ICT maakt gebruik van cookies om je ervaring te verbeteren. We gaan er van uit dat je hiermee akkoord gaat. Lees meer.