Software Composition Analysis: Identificeer Risico’s in Open Source Componenten

Naar schatting bestaat 90 procent van uw applicatie-code uit open source en libraries van derden. Hoe verifieert u dat u de nieuwste c.q. juiste versie heeft gebruikt?

Om kwetsbaarheden en de algehele beveiliging van uw web en mobiele toepassingen volledig te kunnen doorgronden, heeft u een grondige kennis nodig van de externe componenten die worden gebruikt. Software Composition Analysis (SCA) stelt u in staat om externe en open source componenten te identificeren die in uw applicaties zijn geïntegreerd. Het informeert u over de licenties voor elk van hen en identificeert verouderde libraries die geüpgraded of gepatcht moeten worden. Software Composition Analysis geeft aan of open source frameworks open CVE’s (Common Vulnerabilities and Exposures) hebben die moeten worden aangepakt.

Door Software Composition Analysis te gebruiken, kunt u gemakkelijk weten welke applicaties een bepaalde bibliotheek gebruiken – hetzij direct, hetzij indirect.

Hier zijn een paar zaken waaraan u aandacht moet schenken bij het zoeken naar de juiste SCA-oplossing:

U moet beveiligingslekken repareren, niet alleen vinden

Doorgaans wordt Software Composition Analysis alleen als een testtool gebruikt, waarbij beveiligingsproblemen worden gemarkeerd. Hierdoor mist u echter de boot. Het uiteindelijke doel is niet om eenvoudigweg de kwetsbaarheden te vinden. We moeten ze oplossen! Het oplossen van kwetsbaarheden moet deel uitmaken van uw plan voor het aanpakken van risico’s in open source-code.

Geïntegreerd in SAST (Static Application Security Testing)

Flexibiliteit is, afhankelijk van uw behoeften, ook een belangrijke functie. Oplossingen die een SCA-dashboard laten zien met CVE’s, versies en licentiedetails, maar ook kwetsbaarheden creëren uit deze CVE’s die kunnen worden geïntegreerd met Application Lifecycle Management (ALM) en Bug Tracking, is de beste keuze.

Zorg ervoor dat uw SCA-oplossing onderlinge afhankelijkheden goed begrijpt

Het begrijpen van afhankelijkheden kan een uitdaging zijn die eenvoudig lijkt, totdat we onder de motorkap gaan kijken. Als u een SCA-oplossing hebt, kunt u vertrouwen op de mogelijkheid om de libraries die u gebruikt te detecteren. Als het toevallig een library mist, kan het kwetsbaarheden missen.

SCA moet beveiligingsteams inzicht geven in ontwikkeling

Gezien de snelheid van ontwikkeling en de acceptatiegraad van DevOps automatiseringsplatforms, zullen beveiligingsteams nooit in staat zijn om alle code volledig te controleren en te beveiligen. Daarom moet de SCA-oplossing die u kiest ontworpen worden om beveiligingsteams inzicht te geven in ontwikkelingsomgevingen.

Kies een oplossing of service die mee kan groeien met uw organisatie

Of het nu in ons persoonlijke of professionele leven is, we hebben allemaal het voortdurend snellere tempo van softwareontwikkeling gezien en ervaren. Dit zal niet veranderen, omdat veel organisaties zich ofwel in het midden van hun reis van digitale transformatie bevinden, of op zoek zijn naar het verhogen van de productiviteit en snelheid in de toekomst. Het handhaven van beveiliging blijft daarom cruciaal.

Conclusie

Het is duidelijk dat de oplossing of service die u kiest, moet passen bij de behoeften die u nu heeft, maar houd er rekening mee dat het net zo belangrijk is om een technologie te kiezen die ook in de toekomst bruikbaar is.

Aangezien de meeste code uit open source bestaat en applicaties een populair object voor attacks zijn en het gegeven dat steeds meer aanvallers zich richten op de kwetsbaarheden in open source code, moet SCA een integraal onderdeel van applicatiebeveiliging en veilige DevOps zijn. We moeten meer denken in DevSecOps!

Dit artikel is geschreven in samenwerking met WhiteHat Security.