Wat is het verschil tussen SAST en DAST?

blog-post-image

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.