Wat is het verschil tussen SAST en DAST?

Vandaag wil ik de verschillen tussen twee bekende DevSecops termen toelichten, SAST en DAST. Het is me helaas niet helemaal gelukt om jargon te vermijden maar daar wordt aan gewerkt.
SAST en DAST zijn varianten van Application Security Testing. Je gaat in beide gevallen het security nivo van een software applicatie vaststellen. Maar ze verschillen in hoe en wanneer je dat doet.
🔍 SAST – Static Application Security Testing
Wat het is: Statische code-analyse.
Hoe het werkt: Je analyseert de broncode of binaire bestanden zonder de applicatie uit te voeren.
Wanneer: Vroeg in de ontwikkelcyclus, in een optimale situatie is het een vast onderdeel tijdens het coderen. In de praktijk komt het voor dat er alleen wordt gescand als een auditor erom vraagt, of net voor een grote release. Dat is niet ideaal omdat je dan wel eens voor vervelende verassingen kan komen te staan.
Voordelen:
- Kan kwetsbaarheden al detecteren vóórdat de app draait.
- Integreert goed met CI/CD pipelines.
- Helpt ontwikkelaars fouten vroeg te vinden.
Nadelen:
- Sommige tooling kan veel false positives geven. Dat kan er toe leiden dat álle bevindingen worden genegeerd.
- Ziet geen runtime issues zoals configuratiefouten of afhankelijkheden.
Voorbeeld kwetsbaarheden:
- SQL-injectie in code
- Hardcoded wachtwoorden in code, en ja ...dat gebeurt nog steeds
- Onveilige API-aanroepen
🧪 DAST – Dynamic Application Security Testing
Wat het is: Dynamische analyse tijdens runtime.
Hoe het werkt: Je test de applicatie als een black-box door interactie via de gebruikersinterface of API’s.
Wanneer: Later in de ontwikkelcyclus of tijdens/na implementatie.
Voordelen:
- Detecteert kwetsbaarheden die alleen zichtbaar zijn tijdens uitvoering.
- Je simuleert hoe een aanvaller de applicatie ook zou zien.
Nadelen:
- Ziet de broncode niet, dus kan de exacte locatie van het probleem missen.
- Moeilijker te integreren in vroege ontwikkelingsfases.
Voorbeeld kwetsbaarheden:
- Onveilige serverconfiguraties
- Verkeerde foutafhandeling
De verschillen tussen SAST en DAST kort samengevat:
Kenmerk | SAST | DAST |
---|---|---|
Wat analyseert het? | Broncode / binaries | Draaiende applicatie |
Waar in fase in SDLC? | Vroeg (shift-left) / tijdens coderen | Later / testfase / voor livegang / in productie |
Toegang tot code nodig? | Ja (source of gecompileerd) | Nee |
Invalshoek? | White-box | Black-box |
Als je meer wil weten over de verschillen tussen SAST en DAST, of als je aanvulingen hebt op deze blogpost, neem gerust contact met ons op via info@macanta.nl of +31 76 205 5000.