1 of 43

Softwaresikkerhed

En introduktion til KTL-modellen

7. semester, PBA i It-sikkerhed 2022

András Ács Pedersen, anac@zealand.dk

2 of 43

Agenda

  1. Intro og teoretiske modeller
  2. Kultur, tooling og ledelse (KTL-modellen)
    1. Udviklingsteamets udviklingskultur
    2. Ledelsen
    3. Tolling
  3. Øvelsesopgave

András Ács Pedersen 2022

3 of 43

Baggrund for appsec

s. 187-198 i “It-sikkerhed i praksis”

András Ács Pedersen 2022

4 of 43

5 of 43

Temaer indenfor softwaresikkerhed

6 of 43

ISO 25010

System og softwareudvikling – Kvalitetskrav til og evaluering af systemer og software (SQuaRE) – Kvalitetsmodeller vedrørende systemer og software

  • Funktionalitet
  • Pålidelighed
  • Brugervenlighed
  • Effektivitet
  • Vedligeholdelse
  • Portabilitet
  • Kompatibilitet
  • Sikkerhed

7 of 43

8 of 43

András Ács Pedersen 2022

9 of 43

Softwareudviklingslivscyklussen (SDLC)

  • Forsøge at forebygge fejl og sårbarheder i udviklingsprocessen�
  • Finde og repare fejl, hvis de opstår�
  • Indbygge kontroller i applikationen, som opfanger og logger fejl og misbrug, og evt. sender alarmer

10 of 43

Modenhedsmodellen OWASP SAMM

András Ács Pedersen 2022

11 of 43

SAMM ift. din egen praksis

András Ács Pedersen 2022

12 of 43

13 of 43

KTL-modellen�Kultur, trolling og ledelse

s. 198-226 i “It-sikkerhed i praksis”

András Ács Pedersen 2022

14 of 43

Vores teori er, at udvikling af sikker software afhænger af 3 væsentlige parametre: �

  1. Kulturen i udviklingsteamet,
  2. teknisk tooling samt
  3. ledelsesopbakning.

Det er kun muligt at udvikle tidssvarende og sikker software, hvis der arbejdes med alle tre områder sideløbende.

15 of 43

KTL-modellen�Kulturen i udviklingsteamet

András Ács Pedersen 2022

16 of 43

Ikke alle teams har fokus på sikkerhed

  • Features first!
  • Deadlines has to be met!
  • “Vi plejer at gøre det sådan.”�
  • Security by design er en tilgang, hvor sikkerheden tænkes med i designet i alle faser af SDLC.

17 of 43

18 of 43

19 of 43

Security champions

  1. Definer rollen efter virksomhedens og teamets behov.
  2. Find og udnævn en eller flere security champions i teamet.
  3. Aftal, hvordan der kommunikeres sikkerhed i teamet.
  4. Opbyg en stærk, relevant vidensbase om sikkerhed.
  5. Sørg for løbende at stimulere interessen for sikkerhed i teamet.

Appsec skal skabe værdi, og en security champion skal være en “enabler”.

20 of 43

Fokus på opdatering af softwarekomponenter

21 of 43

22 of 43

23 of 43

Tidssvarende kryptering

DES, TripleDES, WEP, WPA1, MD5 er eksempler på kryptoteknologier, som er forældede og anbefales ikke længere at bruge

AES, RSA, SHA-2, SHA-3 er eksempler på teknologier, som er den dag i dag betragtes som sikre.

Udviklingen af kvantecomputere truer dog også nogle af de nuværende moderne algoritmer, så du bør løbende holde øje med udviklingen på området. Se kapitel 7 i “Hvad er kryptologi for noget?!

24 of 43

KTL-modellen�Krav fra organisationes ledelse

25 of 43

ISO 27034 - ISO-retningslinjer for appsec

  • ISO 27034-1 – Overview and concepts
  • ISO 27034-2 – Organization normative framework
  • ISO 27034-3 – Application security management process
  • ISO 27034-4 – Application security validation
  • ISO 27034-5 – Protocols and application security controls data structure
  • ISO 27034-6 – Case studies
  • ISO 27034-7 – Assurance prediction framework

Senest opdateret i 2011.

26 of 43

Risikovurderingen og knowledge frameworks

Organisationen kan stille krav om kendskab til:

  • Det aktuelle trusselsbillede (fx OWASP Top Ten og CFCS)
  • Risikovurderinger

Security knowledge frameworks kan understøtte virksomhedens best practices indenfor sikker softwareudvikling.

Virksomheden kan også stille krav om at anvende threat modelling i softwareudviklingen.

András Ács Pedersen 2022

27 of 43

28 of 43

Bug bounty program

  • rapidly invite many specialists with different expertise to work on detecting vulnerabilities;
  • save money since they do not need to employ large internal cybersecurity staff;
  • test the security of their products between or in parallel with conducting other forms of security assessments.

29 of 43

KTL-modellen�Tooling / redskaber til appsec

András Ács Pedersen 2022

30 of 43

31 of 43

32 of 43

33 of 43

34 of 43

35 of 43

  • Software composition analysis vil automatisk undersøge, hvorvidt softwarens dependencies (dvs. tredjepartssoftwarekomponenter) har kendte sårbarheder, og advare herom, hvis det er tilfældet.�
  • Compliance tests vil tjekke, at softwaren lever op til relevante regelsæt som fx GDPR, anden lovgivning eller standarder. Disse processer kan ikke altid automatiseres, da de ofte omhandler komplekse overvejelser, som det (end- nu) ikke er muligt at udføre automatisk.�
  • Container vulnerability checks kan anvendes i de pipelines, som anvender containerteknologi i udviklingen.

36 of 43

ASVS

The OWASP Application Security Verification Standard (ASVS) Project provides a basis for testing web application technical security controls and also provides developers with a list of requirements for secure development.

37 of 43

38 of 43

Yderlige værktøjer i appsec

  • Unit tests og integration tests
  • Test af kildekoden (SAST) og den eksekverbare software (DAST)
  • Obfuscation
  • Code-signing
  • Checklister og guidelines

András Ács Pedersen 2022

39 of 43

“Securenote” �- et softwareudviklingsprojekt

András Ács Pedersen 2022

40 of 43

Krav til securenote

En simpelt notetagnings-applikation, hvor man kan dele noter med hinanden.

  • /notes/1 - vis og rediger note 1 (CRUD) /notes?notenummer=1
  • /notes/2 - vis og rediger note 2 (CRUD)

Forslag til teknologistak: �(VS Code) → HTML, CSS, VanillaJS → Python / Django eller Flask → PostgreSQL eller SQLite

András Ács Pedersen 2022

41 of 43

42 of 43

Delopgaver

  • Lav en lille webapplikation i Flask med endpoints som node/1 (eller Django)
  • Lav en frontend som på forrige slide
    • Undersøg, hvordan den kan kobles på Flask
  • Lav en SQLite database (eller Postgres)
    • Lav en dummy på, hvordan den kan kobles på Flask
  • Lav en repo og brug evt. real time cooperative coding tools

András Ács Pedersen 2022

43 of 43

Tak for jeres opmærksomhed.

Spørgsmål og kommentarer til anac@zealand.dk.

It-sikkerhedsbogen.dk