Artikel top billede

(Foto: Computerworld)

Sikker software – er i konstant udvikling ...

Med måleværktøjet BSIMM kan virksomheder indtænke softwaresikkerhed fra starten og følge med udviklingen.

Af Tom Madsen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Vi har tidligere på disse sider kigget på OWASP, der er en metode for sikker udvikling af webapplikationer (kig i boksen på næste side for en hurtig opdatering om OWASP). Denne gang tager vi fat i BSIMM, som er en tilsvarende metode for de virksomheder, som bruger Capability Maturity Model (CMM) i deres udviklingsmetodik. Hvis vi tager et hurtigt blik nedover en liste af de virksomheder, der bruger BSIMM, vil vi finde firmaer som f.eks. Cisco, VMWare, F-Secure og Symantec.

 

Hvad er BSIMM


BSIMM blev startet tilbage i 2008 og består af et sæt målinger, som de virksomheder, der tilslutter sig, kan bruge i deres daglige udvikling. Målingerne fra virksomhederne bliver alle sammen samlet, så de enkelte virksomheder kan sammenligne sig med de andre deltagere i BSIMM. I sin nuværende form har BSIMM 112 aktiviteter, som de måler på. Målingerne består af interviews med nøglepersonale i de deltagende virksomheder. Så det er ikke indsamling af data via spørgeskemaer, der er tale om.

BSIMM står for ’Building Security in Maturity Model’, og i skrivende stund er BSIMM ude i en version 6. Som nævnt består BSIMM af en række af målinger af de deltagende firmaer. Disse målinger for det enkelte firma er naturligvis fortrolige og er anonymiserede i de statistikker, som bliver frigivet af BSIMM-organisationen. De data, der bliver indsamlet, er kun en del af datamaterialet i maksimum 42 måneder. Hvis ikke firmaet, der har bidraget med disse data, har deltaget i en ny indsamling inden for denne tidsramme, så bliver de indsamlede data fjernet fra statistikken. På den måde sikres det, at de data, der bliver brugt af firmaerne til sammenligning, er så opdaterede som muligt.


Konstant udvikling

Samtidigt kommer der til stadighed nye metoder til at fremme softwaresikkerheden. Hvis disse nye metoder skal gøres til en del af BSIMM, så kræver det, at der er mere end ét firma, der har valgt at bruge denne nye metode. Hvis det er tilfældet, bliver metoden integreret ind i BSIMM som en del af målingerne. BSIMM bliver derved hele tiden holdt opdateret med de nyeste landvindinger inden for softwaresikkerhed.

Figur 1: BSIMM er delt ind i fire hovedområder med tolv underområder. Figur 1: BSIMM er delt ind i fire hovedområder med tolv underområder.


Uafhængig observatør

Som det nok fremgår nu, så er BSIMM primært brugt som en uafhængig observatør i de deltagende virksomheder. De compilerer selvfølgeligt rapporter, men de kommer ikke ind i en virksomhed og fortæller, hvad virksomheden skal gøre for at blive BSIMM-godkendte. Det betyder, at det at deltage i BSIMM er nemt, eftersom man kun behøver at have en vilje til at begynde at bruge de metoder, som BSIMM måler på. Udgangspunktet er naturligvis, at man bruger CMM i sin udvikling, men derefter er det bare at komme i gang. Husk at hvis man ikke kan måle på en proces, så kan man ikke styre denne proces.

På figur 1 kan du se de tolv områder inden for sikker softwareudvikling, som der bliver målt på i BSIMM. Inden for disse tolv områder bliver der målt på de individuelle processer, der findes på området. Det kan f.eks. være uddannelse af ledere, under ’Strategy and Metrics’.  Hvorfor er det en parameter? Det er den, for hvis ikke lederne er indstillet på at bruge målingerne, så vil hele udviklingen af sikker software være handicappet i forhold til de ressourcer, der vil blive allokeret af lederne. Målingerne inden for de forskellige områder er delt ind i tre niveauer med adskillige målinger inden for hvert niveau.

Skal man implementere det hele?

Nu melder spørgsmålet sig nok, skal man implementere alle de processer, som BSIMM måler på? Nej og man behøver ikke engang at have processer inden for alle tolv områder for at deltage. Det er en forretningsbeslutning, hvilke processer der giver mening i virksomhedens regi. Så hvis virksomheden ikke mener, at penetrationstest vil bidrage med noget til virksomhedens softwareudvikling, så vælger man bare det område fra, når man deltager i BSIMM-målingerne.

På figur 2 kan du se et ‘Spider Chart’ over de seneste målinger fra BSIMM. Figuren er lavet, så den yderste kant svarer til niveau tre, og den inderste svarer til niveau nul. Figuren viser den gennemsnitlige score inden for de tolv områder. Læg mærke til at der ikke er nogen områder, der er oppe på niveau tre i figuren. Det er naturligvis pga. den gennemsnitlige natur for grafen. Men også fordi det ikke er alle organisationer, der har fundet det nødvendigt at implementere den fulde BSIMM-model i deres softwareudvikling.

Figur 2: Den gennemsnitlige score i den seneste BSIMM-måling. Figur 2: Den gennemsnitlige score i den seneste BSIMM-måling.

BSIMM fungerer som målestok

Det vigtige formål for BSIMM er at fungere som en målestok, der kan bruges af de deltagende firmaer til at finde ud af, hvor de står i forhold til andre softwareudviklingsfirmaer.
Måden at komme i gang med BSIMM på er for det første at identificere de processer, man allerede har på plads, der svarer til dem, der findes i BSIMM. Dernæst skal man finde ud af, hvilke BSIMM-processer man ikke udfører i dag og tage en beslutning, om disse processer giver mening i forbindelse med den softwareudvikling, man laver.

Det skal ikke være nogen hemmelighed, at det at implementere BSIMM og deltage i målingerne kan være en større proces. Og det kan sagtens være, at det ikke giver nogen mening i din virksomhed. Men når man tænker på, hvor mange sårbarheder, der bliver fundet i software hvert år, så giver det pludselig mening, at en softwareudviklingsvirksomhed begynder at tænke over, hvordan sikkerheden bliver tænkt ind i hele udviklingsprocessen fra starten, i stedet for at tilføje det sidst i processen.

Hvis du gerne vil vide mere om BSIMM- processen og den organisation, der står bag den, så kan du klikke ind på www.bsimm.com og downloade det white paper, der beskriver i detaljer, hvad BSIMM står for, og de målinger inden for de enkelte områder, man laver.

 

Sikker udvikling af web-apps med QWASP

OWASP står for Open Web Application Security Framework. Bag OWASP står der en verdensomspændende gruppe af frivillige med det ene formål at hjælpe andre udviklere med at programmere sikre webapplikationer. Fordi organisationen er frivillig, så er de råd, der kommer fra OWASP, anvendelige i alle webapplikationer. Det gælder uanset hvilken platform man udvikler til eller på. OWASP er blandt andet kendt for at udgive en top 10 med de mest forekommende sårbarheder i webapplikationer. OWASP er en nærmest uundværlig ressource, hvis du/I udvikler applikationer til web.

Så tag et kik på www.owasp.org. Selve metodologien bagved OWASP kan bruges, uanset om du bruger SCRUM eller BSIMM i dit udviklingsarbejde. Har du indsigt i de sårbarheder, der typisk opstår i webapplikationer eller de angreb, som disse applikationer bliver udsat for, så kan jeg kun anbefale dig at stille op som frivillig i OWASP. OWASP bliver hele tiden opdateret efterhånden, som der kommer nye sårbarheder til, og de angreb, som en applikation bliver udsat for, udvikler sig. OWASP er altså et framework, som dynamisk udvikler sig i takt med, at den verden, som webapplikationerne lever i, udvikler sig.