SAST tooling: Onze ervaring
Bij YieldDD maken we gebruik van tooling om delen van ons proces te automatiseren of om te helpen bij onze assessments. Als onderdeel van onze code-first beveiligingsbeoordeling gebruiken we Static Application Security Tests (SAST) om beveiligingsproblemen en risicovolle beveiligingsimplementaties te identificeren. Maar hoe goed identificeert SAST-tooling beveiligingsproblemen op basis van geautomatiseerde codeanalyse?

Hoe we onze beveiligingstools en training testen en ontwikkelen
Als onderdeel van ons interne proces evalueren we voortdurend de tools die we gebruiken om ervoor te zorgen dat ze aan onze behoeften voldoen, controleren we op geweldige nieuwe functies, zorgen we ervoor dat de tools nauwkeurig genoeg zijn en bepalen we of we delen van ons proces goed kunnen automatiseren. Dit proces omvat ook de SAST-tools (Static Application Security Testing) die we gebruiken voor onze Security Assessments.
Daarnaast hebben we - voor educatieve doeleinden - een applicatie geïmplementeerd die een groot aantal beveiligingsproblemen bevat, hierna te noemen de kwetsbare applicatie. De kwetsbare applicatie bevat problemen die gebaseerd zijn op de OWASP Top 10, de CWE Top 25 en beveiligingsproblemen die we hebben gezien in softwareoplossingen voor meerdere klanten. De code base wordt vooral gebruikt om bewustzijn te creëren en ontwikkelaars en testers te trainen om zelf problemen te identificeren. Op het moment van schrijven bevat de codebase meer dan 53 beveiligingsproblemen.
Beveiligingsproblemen detecteren
We gebruikten de kwetsbare toepassing om een goed inzicht te krijgen in de snelheid waarmee de SAST-tooling beveiligingsproblemen kan detecteren. We lieten de SAST-tooling zoveel mogelijk beveiligingsproblemen identificeren. Bij in totaal vier verschillende SAST-aanbieders waren de tools in staat om gemiddeld 9 beveiligingsproblemen te identificeren (valse positieven niet meegerekend) die aan een rapport zouden worden toegevoegd. Deze problemen hadden betrekking op achtergebleven geheimen in code, configuratieproblemen en injectie.
Dit geeft een goed inzicht in de uitdaging van het identificeren van beveiligingsproblemen binnen applicaties. Veel beveiligingsproblemen worden beschouwd als een probleem in de context van de applicatie. Een geautomatiseerde tool zal bijvoorbeeld nooit kunnen weten of een endpoint alleen toegankelijk moet zijn voor beheerders of openbaar; hiervoor is domeinkennis nodig. Naast de vereiste domeinkennis, kan de complexiteit van beveiligingsproblemen sterk variëren. SAST tooling is goed in het blootleggen van eenvoudigere problemen, maar heeft nog ruimte voor verbetering als het gaat om complexe problemen die context vereisen. Dit is niet om iemand de schuld te geven, want zelfs getrainde professionals kunnen veel tijd nodig hebben voordat ze het probleem identificeren of zelfs een probleem helemaal over het hoofd zien. Daarom bestaan er zero-day kwetsbaarheden - een kwetsbaarheid die al sinds de eerste release aanwezig is.
Een vals gevoel van veiligheid
In de huidige staat van geautomatiseerde beveiligingstooling kan het gebruik van dergelijke tooling een vals gevoel van veiligheid creëren. In het ergste geval wordt de applicatie als veilig beschouwd, maar lekken er continu gegevens en kunnen kwaadwillenden toegang krijgen tot de servers van het bedrijf. Dit betekent niet dat geautomatiseerde tooling niet moet worden gebruikt; het tegendeel is waar. Ze helpen je voortdurend om problemen te identificeren en de beveiliging van je applicaties te verbeteren.
Om er echter zeker van te zijn dat u zo veilig mogelijk bent, is het belangrijk om regelmatig handmatige beveiligingsbeoordelingen uit te voeren. Op dit moment is de kennis van beveiligingsexperts nog onvervangbaar.
AI
Nieuwe SAST-tooling die wordt aangedreven door Artificial Intelligence biedt goede hoop voor de toekomst dat ze steeds meer beveiligingsproblemen zullen gaan identificeren. AI heeft de kracht om context te begrijpen, wat enorm zal helpen bij het identificeren van beveiligingsproblemen. De eerste onderzoeken naar het identificeren en uitbuiten van beveiligingsproblemen met behulp van AI hebben al laten zien dat dit iets is wat we de komende jaren zouden kunnen zien. Het is belangrijk om bij te blijven, vooral met ontwikkelingen zoals AI.
Opgemerkt moet worden dat nieuwe technologieën nieuwe beveiligingsrisico's met zich meebrengen. Deze risico's moeten zo snel mogelijk worden geïdentificeerd. Nieuwe technologieën worden niet alleen door jou gebruikt, maar ook door kwaadwillende actoren, dus als je achterloopt, verhoog je het risico op beveiligingsgebeurtenissen in de toekomst.
Ontvang het laatste nieuws
Meld u aan voor onze driemaandelijkse nieuwsbrief en blijf op de hoogte van de nieuwste ontwikkelingen op het gebied van cybersecurity en software due diligence.
