Een moderne applicatie bestaat al snel uit tienduizenden tot miljoenen regels code, geschreven door teams van developers met uiteenlopende ervaring. Die codebase is het fundament van uw belangrijkste systemen en verwerkt gevoelige gegevens, financiële transacties en vertrouwelijke bedrijfsinformatie. In die enorme hoeveelheid code kunnen kwetsbaarheden verstopt zitten die u via de interface van de applicatie niet ziet.
Denk aan hardcoded inloggegevens, SQL-injectie in oude endpoints of fouten in de bedrijfslogica. Zulke zwakke plekken blijven bij een blackbox-test vaak onzichtbaar, maar zijn met toegang tot de broncode goed te vinden.
Een secure code review is een grondige analyse van uw broncode door ethische hackers. We combineren een geautomatiseerde statische analyse met handmatige review door OSCP-gecertificeerde pentesters. Zo brengen we kwetsbaarheden, hardcoded secrets en ontwerpfouten in kaart voordat de code in productie gaat.
Een code review geeft u volledig zicht op de beveiliging van uw applicatie. Een blackbox-pentest test alleen wat via de interface bereikbaar is. Bij een code review nemen we elke regel code, elke functie en elk endpoint onder de loep. Daardoor vinden we kwetsbaarheden die anders jarenlang onopgemerkt zouden blijven.
Een code review is verstandig in de volgende situaties:
Een code review is vooral waardevol naast een pentest. De code review legt diepere kwetsbaarheden en ontwerpfouten bloot, de pentest laat zien welke daarvan een aanvaller echt kan misbruiken.
Wat een code review precies omvat, hangt af van de programmeertaal, het framework en de architectuur van uw applicatie. De scope loopt uiteen van een blik op een paar belangrijke onderdelen tot een onderzoek van de volledige codebase.
Statische code-analyse is de basis van elke code review. We bekijken de broncode zonder die uit te voeren. Door naar de structuur en de patronen in de code te kijken, vinden we kwetsbaarheden, hardcoded secrets en zwakke plekken in de codekwaliteit.
We voeren de volgende statische analyses uit:
Webapplicatie kwetsbaarheden - We analyseren de code op de OWASP Top 10, de meest voorkomende webkwetsbaarheden. Denk aan SQL-injectie, waarbij gebruikersinvoer rechtstreeks in een databasequery belandt en een aanvaller gegevens kan uitlezen of aanpassen, of cross-site scripting (XSS), waarbij kwaadaardige scripts in een pagina terechtkomen en in de browser van andere gebruikers worden uitgevoerd. Ook controleren we op zwakke inloglogica, ontbrekende rechtencontroles en onveilige standaardinstellingen.
Hardcoded secrets - Wachtwoorden, API-sleutels of versleutelingssleutels die in de broncode staan in plaats van in een veilige opslag.
Cryptography issues - Zwakke algoritmen, onveilige willekeurige getallen of zelfbedachte versleuteling die niet standhoudt.
Data exposure - Gevoelige gegevens in logbestanden, persoonsgegevens zonder versleuteling of foutmeldingen die te veel verraden.
CI/CD pipeline - Geheimen in bouwscripts of onveilige deploy-stappen die de codebase blootstellen.
Dependencies - Verouderde pakketten met bekende kwetsbaarheden of dubieuze licenties.
Bij dynamische code-analyse bekijken we de code terwijl de applicatie draait. Met debuggers en runtime-analyse zien we hoe de code zich tijdens de uitvoering echt gedraagt.
We voeren de volgende dynamische analyses uit:
Analyse met de debugger - We plaatsen breakpoints op belangrijke plekken zoals het inloggen, de rechtencontroles en de gegevensverwerking, en volgen stap voor stap wat er met gebruikersinvoer en sessiegegevens gebeurt.
Gecontroleerde aanvalssimulatie - We voeren bijvoorbeeld SQL-injectie of XSS uit terwijl we in de code meekijken. Zo zien we precies waar de filtering faalt of waar een aanvaller de inlogcontrole kan omzeilen.
Bedrijfslogica - We controleren of betalingsflows, goedkeuringsprocessen of berekeningen te manipuleren zijn, bijvoorbeeld door prijzen aan te passen of stappen over te slaan.
Een code review met dynamische analyse combineert u goed met een webapplicatie pentest of mobiele app pentest. De code review vindt de ontwerpfouten en logische fouten, de pentest laat zien wat een aanvaller daar echt mee kan.
Meer over onze aanpak en expertise leest u op onze over ons-pagina.
Wij lezen uw broncode door op kwetsbaarheden die geautomatiseerde scanners structureel missen, met focus op authenticatie, autorisatie en data-flow. Vraag een voorstel op maat aan.
Neem contact opOf mail ons direct via [email protected]
Een code review en een webapplicatie pentest vullen elkaar aan, maar kijken op een andere manier naar uw applicatie.
Code review (whitebox):
Webapplicatie pentest (blackbox of greybox):
De twee werken het best samen. De code review legt diepere kwetsbaarheden en ontwerpfouten bloot, de pentest laat zien welke daarvan een aanvaller echt kan misbruiken. Voor een belangrijke applicatie raden we beide aan.
Onze pentesters hebben ervaring met de gangbare programmeertalen en frameworks:
Backend:
Frontend:
Mobile:
Werkt u met een andere taal of een ander framework? Neem dan contact op, we hebben een breed netwerk van specialisten.
We combineren geautomatiseerde tools met handmatige analyse van de code.
Static Application Security Testing (SAST):
Geautomatiseerde tools vinden snel veel kwetsbaarheden. Voor lastige logische fouten en ontwerpfouten blijft handmatige review nodig.
De doorlooptijd hangt af van de omvang en de complexiteit van de codebase:
We kunnen de belangrijkste onderdelen, zoals inloggen, betalingsverwerking en API’s, naar voren halen, zodat u sneller weet hoe het met de grootste risico’s staat.
Bij een code review komen we regelmatig dezelfde kwetsbaarheden tegen:
Veel van deze kwetsbaarheden komen bij een blackbox-test niet aan het licht. Daarvoor is een blik op de code zelf nodig.