Sikker udvikling

Sikker udvikling handler om at integrere sikkerhed i hele softwareudviklingens livscyklus. I stedet for at teste sikkerhed til sidst bygges den ind fra kravspecifikation og design, gennem kodning og test, til drift og vedligeholdelse.

Tilbage til ordbog

Indholdsfortegnelse

    Hvad er sikker udvikling?

    Sikker udvikling (Secure Software Development Lifecycle, Secure SDLC) er en tilgang, hvor sikkerhed er en integreret del af softwareudviklingen fra dag ét. Det er tæt forbundet med applikationssikkerhed, men fokuserer specifikt på udviklingsprocessen og -kulturen.

    Traditionelt blev sikkerhed først adresseret i testfasen eller efter deployment. Problemet er, at sikkerhedsfejl, der opdages sent, er dyre og tidskrævende at rette. En sårbarhed fundet i designfasen koster en brøkdel af, hvad den koster at rette i produktion.

    Sikker udvikling kræver en kombination af processer (trusselmodellering, kodereviews), værktøjer (sårbarhedsscanning, SAST) og kultur (sikkerhedsbevidsthed hos udviklere, security champions).

    Sikkerhed i hver fase

    • Kravspecifikation: Definér sikkerhedskrav sammen med funktionelle krav. Identificér, hvilke data der behandles, og hvilke regulativer der gælder (GDPR, DORA).
    • Design: Gennemfør trusselmodellering (f.eks. STRIDE) for at identificere angrebsvektorer. Anvend principper som mindst privilegium og forsvar i dybden. Planlæg kryptering, adgangskontrol og logning.
    • Implementering: Brug sikre kodningsretningslinjer (OWASP, CERT). Automatisér SAST i CI/CD-pipelinen. Gennemfør kodereviews med fokus på sikkerhed. Scanner for hardkodede credentials.
    • Test: Kør DAST mod testmiljøer. Gennemfør penetrationstest før større releases. SCA-værktøjer checker tredjepartsbiblioteker for kendte sårbarheder.
    • Deployment og drift: Brug sikker konfiguration af driftsmiljøer. Overvåg med SIEM. Hold afhængigheder opdaterede med patchstyring.

    DevSecOps i praksis

    DevSecOps bringer sikkerhed ind i DevOps ved at automatisere sikkerhedstjek i CI/CD-pipelinen:

    Pre-commit: Secret scanning forhindrer, at credentials committes til kodebasen. Linting-regler fanger usikre kodemønstre.

    Build: SAST scanner kildekoden for sårbarheder. SCA checker afhængigheder mod databaser over kendte sårbarheder (CVE). Container-scanning checker baseimages.

    Test: DAST og sårbarhedsscanning tester det deployede artefakt i et testmiljø. Automatiserede sikkerhedstests validerer kritiske sikkerhedsfunktioner.

    Release: Security gates sikrer, at kritiske sårbarheder er adresseret, før kode releases til produktion. Compliance-checks verificerer, at regulatoriske krav er opfyldt.

    Security champions i hvert udviklingsteam fungerer som bindeled til sikkerhedsteamet og fremmer sikker kodningspraksis i hverdagen. Regelmæssig sikkerhedstræning holder udviklernes viden opdateret.

    Regulativer og standarder

    ISO 27001 og Annex A indeholder kontroller for sikker systemudvikling (A.8.25-A.8.28), herunder sikre kodningsregler, test og beskyttelse af testdata. Et ISMS skal adressere sikker udvikling.

    DORA kræver, at finansielle virksomheder har sikre udviklingsprocesser for deres IKT-systemer. NIS2 stiller tilsvarende krav til sikker systemudvikling.

    CIS 18 kontrol 16 er dedikeret til applikationssikkerhed og sikker udvikling. Under GDPR understøtter sikker udvikling princippet om databeskyttelse by design og by default (artikel 25), som er en del af de tekniske og organisatoriske foranstaltninger.

    Ofte stillede spørgsmål om sikker udvikling

    Hvad er DevSecOps?

    DevSecOps integrerer sikkerhed i DevOps-processen. I stedet for at sikkerhed er en separat fase, er det en del af alle faser: planlægning, kodning, build, test, release og drift. Sikkerhed automatiseres i CI/CD-pipelinen.

    Hvad er trusselmodellering?

    Trusselmodellering er en struktureret metode til at identificere potentielle sikkerhedstrusler mod en applikation allerede i designfasen. Metoder som STRIDE og DREAD hjælper med at kategorisere trusler og prioritere modforanstaltninger.

    Hvad er security champions?

    Security champions er udviklere med særlig interesse og træning i sikkerhed. De fungerer som bindeled mellem sikkerhedsteamet og udviklingsteamet, fremmer sikker kodningspraksis og hjælper med at løse sikkerhedsproblemer i dagligdagen.

    Hvilke værktøjer bruges i sikker udvikling?

    SAST-værktøjer scanner kildekode for sårbarheder. SCA-værktøjer checker tredjepartsbiblioteker. DAST-værktøjer tester kørende applikationer. Secret scanners finder hardkodede credentials. Disse integreres typisk i CI/CD-pipelinen.

    +400 virksomheder bruger .legal
    Region Sjælland
    Aarhus Universitet
    aj_vaccines_logo
    Realdania
    Right People
    IO Gates
    PLO
    Finans Danmark
    geia-food
    Vestforbrænding
    Evida
    Klasselotteriet
    NRGI1
    BLUE WATER SHIPPING
    Karnov
    VP Securities
    AH Industries
    Ingvard Christensen
    Lægeforeningen
    InMobile
    AK Nygart
    DEIF
    DMJX
    KAUFMANN (1)
    qUINT Logo
    Axel logo
    SMILfonden-logo
    skodsborg_logo-1
    nemlig.com
    Molecule Consultancy
    Novicell