Hvad er SAST (Statisk Applikationssikkerhedstest)?
SAST er en type applikationssikkerhedstest, der kontrollerer en applikations kildekode (den oprindelige kode skrevet af udviklere), afhængigheder (eksterne biblioteker eller pakker, som koden er afhængig af), eller binære filer (kompileret kode klar til at køre) før den kører. Denne tilgang kaldes ofte white-box test, fordi den undersøger den interne logik og struktur af koden for sårbarheder og fejl, i stedet for blot at teste applikationens adfærd udefra.
Hvorfor SAST er vigtigt i cybersikkerhed
At sikre kode er en vigtig del af DevSecOps. SAST hjælper organisationer med at finde sårbarheder som SQL Injection, Cross-Site Scripting (XSS), svag kryptering og andre sikkerhedsproblemer tidligt i softwareudviklingslivscyklussen. Dette betyder, at teams kan løse problemer hurtigere og til en lavere omkostning.
Hvordan SAST fungerer
- Analyser kildekode, binære filer eller bytekode uden at udføre dem.
- Identificerer sårbarheder i kodningspraksis (f.eks. manglende validering, eksponeret API-nøgle)
- Integrer i udviklerens arbejdsgang (CI/CD)
- Generer en rapport over de fundne sårbarheder og giv vejledning i, hvordan de kan løses (afhjælpning)
Almindelige sårbarheder fundet af SAST
- SQL Injection
- Cross-site scripting (XSS)
- Brug af usikre kryptografiske algoritmer (f.eks. MD5, SHA-1)
- Eksponerede API-nøgleoplysninger i hardkodet form
- Buffer overflow
- Valideringsfejl
Fordele ved SAST
- Billigere omkostninger: at rette sårbarhedsproblemer tidligt er mindre omkostningsfuldt end efter implementering
- Tidlig opdagelse: finder sikkerhedsproblemer under udvikling.
- Overholdelsesstøtte: tilpasning til standarder som OWASP, PCI DSS og ISO 27001.
- Shift-left sikkerhed: integrer sikkerhed i udviklingsarbejdsgangen fra starten
- Udviklervenlig: Giv udvikleren handlingsrettede trin til at løse sikkerhedsproblemer.
Eksempel
Under en SAST-test finder værktøjet sikkerhedsproblemer, hvor udviklere bruger usikker MD5 til at hashe adgangskoder. SAST-værktøjet markerer det som en sårbarhed og foreslår at erstatte MD5 med bcrypt eller Argon2, som er stærkere algoritmer sammenlignet med MD5.