Security+ Academy · Lektion

Sikker SDLC samt SAST- og DAST-værktøjer

Integrér sikkerhed i softwareudviklingens livscyklus ved hjælp af statisk analyse (SAST), dynamisk analyse (DAST) og threat modeling tidligere i udviklingen.

Lektion 4 af 413 trin

Sikker SDLC samt SAST- og DAST-værktøjer er en gratis Security+ Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Security+ Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Security+ Academy-kurset indeholder 4 lektioner i alt.

Hvad er den sikre SDLC?

Secure Software Development Lifecycle (SSDLC) integrerer sikkerhedsaktiviteter i alle faser af softwareudviklingen — fra krav gennem design, kodning, test, implementering og vedligeholdelse. Den traditionelle SDLC behandler sikkerhed som en kontrol i den sidste fase, hvilket er dyrt og ineffektivt. Filosofien bag en sikker SDLC er at finde og rette sårbarheder så tidligt som muligt, fordi fejl, der opdages under design, koster langt mindre at rette end fejl, der opdages i produktion.

Flyt sikkerheden til venstre i udviklingen

Shift left betyder, at sikkerheden flyttes tidligere i udviklingsforløbet (til venstre på tidslinjen) i stedet for at blive føjet til sidst. I praksis betyder det, at sikkerhedskrav medtages i brugerhistorier, trusselsmodellering udføres under design, kodegennemgang og SAST udføres under udviklingen, og DAST køres før udgivelsen. Teams, der flytter sikkerheden til venstre, opdager sårbarheder, når de er billigst at rette — under udviklingen og ikke i produktionen.

Trusselsmodellering: STRIDE og PASTA

Trusselsmodellering identificerer og dokumenterer systematisk sikkerhedstrusler under designfasen. Modellen STRIDE kategoriserer trusler i: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service og Elevation of Privilege. PASTA (Process for Attack Simulation and Threat Analysis) er en risikocentreret metode, der simulerer angriberes mål. Trusselsmodeller resulterer i prioriterede modforanstaltninger, før en eneste kodelinje er skrevet.

# STRIDE threat categories (mnemonic)
# S - Spoofing identity
# T - Tampering with data
# R - Repudiation of actions
# I - Information disclosure
# D - Denial of service
# E - Elevation of privilege

Statisk test af applikationssikkerhed (SAST)

SAST (white-box-test) analyserer kildekode, bytekode eller binære filer uden at køre applikationen og søger efter kodemønstre, der forbindes med kendte sårbarheder. SAST-værktøjer kan hurtigt scanne hele kodebasen og rapportere problemer som hardkodede legitimationsoplysninger, steder, der kan føre til SQL-injektion, og usikker deserialisering. De kører i IDE'en eller CI-pipelinen og rapporterer fund med fil- og linjenumre, så de er enkle at afhjælpe.

# Example: running Semgrep SAST in CI
semgrep --config=auto --error src/

# Common SAST tools:
# - Checkmarx, Veracode, Fortify (commercial)
# - Semgrep, SonarQube, Bandit (open source)
# - GitHub CodeQL (integrated with GitHub Actions)

SAST-begrænsninger: falske positiver

En vigtig begrænsning ved SAST er tendensen til at producere falske positiver — kode markeres som sårbar, selv om den faktisk er sikker. Denne alarmtræthed får udviklere til at afvise fund uden at undersøge dem. SAST-værktøjer kan heller ikke opdage problemer i runtime-konfigurationen, godkendelsesfejl, der afhænger af adfærd under kørsel, eller sårbarheder i kald til tredjeparts-API'er. SAST er mest effektivt, når det kombineres med træning af udviklerne, så fundene triageres korrekt.

Dynamisk test af applikationssikkerhed (DAST)

DAST (black-box-test) tester en kørende applikation ved at sende angrebspayloads til dens HTTP-slutpunkter og analysere svarene for tegn på sårbarheder. DAST kræver ikke adgang til kildekoden — applikationen testes, som en angriber ville teste den. Det er særligt effektivt til at finde problemer under kørsel som omgåelse af godkendelse, XSS, der afspejles i svar, og forkert konfiguration af serveren. DAST-værktøjer omfatter OWASP ZAP, Burp Suite og Netsparker.

# Running OWASP ZAP baseline scan against a URL
docker run -t owasp/zap2docker-stable zap-baseline.py \
  -t https://staging.example.com \
  -r zap-report.html

# ZAP sends probe requests and analyzes responses
# without requiring source code access

SAST kontra DAST: supplerende tilgange

SAST og DAST supplerer hinanden i stedet for at konkurrere. SAST finder problemer på kodeniveau tidligt og integreres med IDE'en, men har ingen indsigt i adfærd under kørsel. DAST finder sårbarheder under kørsel og kræver ingen kildekode, men kan ikke scanne kodestier, som ikke udløses af de automatiserede sonder. Ved at bruge begge dele — SAST i CI-pipelinen og DAST mod et testmiljø — maksimeres dækningen af sårbarheder på tværs af SDLC'en.

Interaktiv test af applikationssikkerhed (IAST)

IAST kombinerer aspekter af både SAST og DAST ved at instrumentere applikationen under kørsel. En IAST-agent kører inde i applikationen (på serveren) og observerer kodeudførelsen, mens testtrafikken bevæger sig igennem den. Den kan følge kompromitterede brugerinput gennem kodestier til følsomme sink-punkter og dermed finde sårbarheder med færre falske positiver end ren SAST. IAST er særligt effektivt i Java- og .NET-applikationer og integreres naturligt i funktionelle testkørsler.

Analyse af softwaresammensætning (SCA)

Software Composition Analysis (SCA) identificerer open source-biblioteker og tredjepartsafhængigheder i en applikation og kontrollerer dem mod sårbarhedsdatabaser (NVD, OSV). Moderne applikationer kan trække hundredvis af afhængigheder ind — mange transitivt — så SCA-værktøjer som OWASP Dependency-Check, Snyk og Renovate er afgørende for at opdage kendte CVE'er, før angribere udnytter dem i din forsyningskæde.

# OWASP Dependency-Check (scans project dependencies)
dependency-check --project myapp --scan ./target --format HTML

# Snyk CLI
snyk test  # finds vulnerabilities in package.json / requirements.txt
snyk monitor  # continuously monitors for new CVEs

Sikkerhed i CI/CD-pipelines

Integration af sikkerhedsværktøjer i CI/CD-pipelines sikrer, at ingen kode når produktionen uden at bestå sikkerhedskontroller. En typisk DevSecOps-pipeline kører: SAST ved hver commit, SCA ved ændringer i afhængigheder, scanning af containerafbildninger før de sendes til et register, IaC-scanning for Terraform/CloudFormation og DAST mod en implementering i et testmiljø. Mislykkede sikkerhedskontroller blokerer buildet og håndhæver en kultur, hvor sikkerhed er standardindstillingen.

# GitHub Actions example — security gate in CI
jobs:
  security:
    steps:
      - uses: actions/checkout@v4
      - name: Run SAST
        run: semgrep --config=auto --error .
      - name: SCA check
        run: snyk test --severity-threshold=high
      - name: Container scan
        run: trivy image myapp:latest --exit-code 1

Praksis for sikker kodegennemgang

Automatiserede værktøjer kan ikke erstatte menneskelig kodegennemgang med fokus på sikkerhedslogik. En fagfællebedømmelse bør kontrollere, at godkendelses- og autorisationskontroller er placeret korrekt, at fejlhåndtering ikke lækker følsomme oplysninger, at kryptografiske funktioner bruger godkendte algoritmer og parametre, og at forretningslogikken ikke kan omgås. Sikkerhedsambassadører i udviklingsteams — udviklere med sikkerhedstræning — bygger bro mellem sikkerhedsteamet og udviklingen.

Hurtigt tjek

Test din forståelse af begreberne fra denne lektion i CompTIA Security+ (SY0-701).

Opsummering af lektionen

I denne lektion har du lært, at den sikre SDLC integrerer sikkerhed i alle udviklingsfaser i stedet for at føje den til sidst, at SAST analyserer kode uden at køre den, mens DAST tester kørende applikationer, og at SCA identificerer sårbare open source-afhængigheder, mens CI/CD-sikkerhedskontroller automatisk håndhæver fund. Næste emne er katalogtjenester med LDAP og Active Directory.

Gratis at komme i gang

Lær Security+ Academy med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Sikker SDLC samt SAST- og DAST-værktøjer” gratis?

Ja — alle 3 lektioner i læringssporet Security+ Academy, inklusive “Sikker SDLC samt SAST- og DAST-værktøjer”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Security+ Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Sikker SDLC samt SAST- og DAST-værktøjer”?

Integrér sikkerhed i softwareudviklingens livscyklus ved hjælp af statisk analyse (SAST), dynamisk analyse (DAST) og threat modeling tidligere i udviklingen. Du øver dig i Security+ Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Security+ Academy?

Der kræves ingen tidligere erfaring. Security+ Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Sikker SDLC samt SAST- og DAST-værktøjer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Security+ Academy-lektion?

Ja. Alle Security+ Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. SQL-injektion og command injection
  2. Cross-Site Scripting (XSS) og CSRF
  3. Defekt godkendelse og usikker deserialisering
  4. Sikker SDLC samt SAST- og DAST-værktøjer
← Tilbage til Security+ Academy