5min

Voor veel bedrijven zijn applicaties een van de belangrijkste middelen om alledaagse werkzaamheden uit te voeren. Deze sterke afhankelijkheid van software maakt organisaties tot op zekere hoogte ook kwetsbaarder. Cybercriminelen zoeken namelijk naar kwetsbaarheden, om binnen het systeem te komen en gevoelige data te stelen. Daarom moeten bedrijfsapplicaties zo goed mogelijk beveiligd worden. Veracode helpt bedrijven met het opsporen van de kwetsbaarheden in hun software.

De afgelopen tijd hebben we meerdere security-experts gesproken over de staat van het securitylandschap. Ze hebben allemaal wel hun eigen visie op wat er speelt en moet gebeuren. Wat ze doorgaans wel gemeen hebben, is het aanwijzen van applicaties als slecht beveiligde bedrijfscomponenten. Ook Julian Totzek-Hallhuber, Principal Solutions Architect bij Veracode, erkent de grote risico’s in gesprek met Techzine.

Veracode analyseert ieder jaar honderdduizenden applicaties van bedrijven en kan dan ook bevestigen dat bijna iedere applicatie minimaal één beveiligingslek bevat. Dat is op zich al een zorgelijke ontwikkeling. Het wordt echter extra alarmerend wanneer je je bedenkt dat de meeste bedrijven in de afgelopen twaalf maanden versneld extra applicaties uitrolden om het nieuwe werken te ondersteunen. Software speelt namelijk vaak een centrale rol in de veranderde werkwijzen als gevolg van de coronapandemie.

Het gaat bij de versnelde adoptie overigens om verschillende soorten apps. Je hebt mobiele- en webapplicaties van softwareleveranciers, zoals e-mailprogramma’s en browser. Aan de beveiliging van deze applicaties besteedt de leverancier van de software uiteraard veel tijd. Maar de eigen software van je organisatie, bijvoorbeeld extensies op het CRM-pakket of de eigen website, zijn ook populairder geworden. Voor de beveiliging van dit type software zijn het ontwikkelteam en de securityexperts verantwoordelijk.

Tip: 3 simpele stappen om met applicatiebeveiliging te beginnen

Inspringen op noodzaak

Met de hoeveelheid bedrijfsapplicaties, de grote rol van de software en de hoeveelheid kwetsbaarheden, is het hoog tijd om extra aandacht te besteden aan de beveiliging. Veel ontwikkelaars en security-teams zullen zich daar ook wel bewust van zijn, maar merken dat er obstakels zijn om het goed aan te pakken. Er is bijvoorbeeld te weinig capaciteit of tijd. Maar het kan ook voorkomen dat security te laat betrokken wordt bij softwareontwikkeling.

De praktijk leert dan ook dat softwarebeveiliging te weinig prioriteit krijgt. En dat is jammer, want hierdoor worden bedrijven slachtoffer van datalekken terwijl de lekken voorkomen hadden kunnen worden.

Artikel gaat verder na onderstaand kader

Van enkele softwareoplossing naar uitgebreid testplatform

Veracode biedt een enkel platform dat de technologie en diensten biedt voor software testen. Naar eigen zeggen is dit inmiddels een van de meest complete testplatformen op de markt, maar het is zo’n 15 jaar geleden wel bescheidener begonnen. De oprichters waren destijds veel bezig met handmatige pentests en code-testing uitvoeren. Het lezen van de code vonden ze een vervelende taak. En dus gingen ze op zoek naar een oplossing om security testing te automatiseren.

Uit deze frustratie ontstond een oplossing die C- en C++-applicaties automatisch test op kwetsbaarheden. Inmiddels worden veel meer programmeertalen ondersteund. Java, JavaScript en .NET zijn momenteel de meest gescande talen. Veracode ondersteunt ook programmeertalen die wat populairder zijn voor specifieke sectoren. Zo gebruiken veel financiële dienstverleners Veracode om RPG- en Cobol-apps te testen. “Ontwikkelaars en security-professionals willen alles testen, zelfs als ze niet meer actief op de applicatie coderen”, stelt Totzek-Hallhuber.

Idealiter omschrijft Totzek-Hallhuber Veracode door de doorgemaakte groei als een ‘application security program’. Je kan verschillende pakketten afnemen bij Veracode. Daarin bevinden zich tools om software te testen, maar ook dienstverlening om persoonlijk advies van Veracode-experts te krijgen.

Gaten dichten

Om bedrijven enthousiaster te maken voor software testen, wil Veracode het gat tussen developers, operations en security dichten. Hiervoor wordt technologie geboden die ontwikkelaars de mogelijkheid geeft om zo vaak en vroeg mogelijk te scannen op kwetsbaarheden. Maar er is bijvoorbeeld ook ondersteuning voor het securityteam om een governance-strategie te bouwen. Op die manier krijgen ontwikkelaars te zien aan welke policies ze zich moeten houden. “De developers weten dan welke gebreken ze in hun apps aan moeten pakken om compliant te zijn”, aldus Totzek-Hallhuber over het verenigen van de werkzaamheden.

Volgens Totzek-Hallhuber kan je met technologie veel software testing opvangen. Er moet alleen meer gebeuren. “Met technologie vind je veel kwetsbaarheden, maar het helpt niet bij het oplossen van de problemen”, stelt Totzek-Hallhuber. Veracode biedt zodoende diensten aan om ontwikkelaars en security-professionals te ondersteunen. Deze dienstverlening, vaak gesprekken, ondersteunen bijvoorbeeld in het opzetten van een complete ‘application security testing’-strategie of het snel oplossen van gevonden kwetsbaarheden. Voor het aanpakken van zulke zaken is een mens nodig, want artificial intelligence (AI) is er volgens Veracode nog niet ver genoeg voor. Daardoor kan een echt software test platform volgens Veracode niet zonder de mens.

Julian Totzek-Hallhuber, Principal Solutions Architect bij Veracode

Manieren om software te testen

Voor het testen van software zijn volgens Veracode uiteindelijk vier benaderingen noodzakelijk. Ten eerste is er Static Application Security Testing (SAST). Bij SAST wordt de code van de applicatie geëvalueerd. SAST is handig voor het testen van een nieuwe applicatie. Een SAST-scan vindt binnen enkele minuten aanwezige kwetsbaarheden, controleert of de code aan security-policies voldoet en geeft feedback over het oplossen van mogelijke problemen.

Vervolgens maakt Dynamic Application Security Testing (DAST) deel uit van de aanpak van Veracode. Deze methode wordt toegepast voor applicaties die al live zijn. Een DAST-test valt de applicatie aan alsof het een hacker is, met als doel om kwetsbaarheden te vinden die niet direct uit de SAST-codeanalyse naar voren kwamen. DAST brengt de zaken aan het licht die alleen duidelijk kunnen worden wanneer de applicatie live is. Denk hierbij aan een verkeerd geïmplementeerde certificaten.

De derde testoptie die Veracode aanbiedt is handmatige pentesten. Deze optie heeft wel wat overlap met DAST, erkent Totzek-Hallhuber. “Wat manuele pentesters vaak doen is geautomatiseerde DAST-tools draaien en de resultaten handmatig verifiëren. Maar manuele pentest is de enige manier om business logic flaws in je applicatie te vinden. Dat kan niet met de geautomatiseerde SAST- en DAST-tools. Je hebt een mens nodig voor het beoordelen van de business logic flaw”, aldus Totzek-Hallhuber. Hiermee vind je bijvoorbeeld fouten die naar verloop van tijd in een applicatie sluipen of opvallen, zoals cache poisoning.

Tot slot is er nog de Software Composition Analysis (SCA)-test van Veracode. Deze analyse kijkt naar componenten van derde partijen in de bedrijfsapplicatie. Veracode ziet namelijk dat applicaties in toenemende mate gebruikmaken van onderdelen van derden: inmiddels zou meer dan 80 procent van een applicatie geen eigen code meer zijn. Hierbij kan je denken aan SQL-libraries die toegevoegd worden aan .NET-apps of NODE.js-modules in JavaScript-apps. Deze componenten kunnen uiteindelijk ook kwetsbaar zijn, iets waar SCA voor waarschuwt.

Volledig testen is een kwestie van doen

De verschillende softwaretestmethodes van Veracode, waar zowel technologie als mensen een rol in spelen, zorgen ervoor dat het bedrijf naar eigen zeggen een complete benadering aanbiedt voor het opsporen van kwetsbaarheden. Volgens Veracode is dat echt nodig, want veel applicaties bevatten nog fouten. Het aantal kwetsbaarheden is vaak wel afhankelijk met welke taal de app geschreven is. Met een brede ondersteuning, waarbij verschillende testmethodieken geautomatiseerd verlopen, wil en kan Veracode daar bedrijven in helpen.

Tip: Software testen: niemand twijfelt aan nut, toch gebeurt het te weinig