Hvordan fjerner man mest effektivt sikkerhedshuller i software? Efter min mening kan det betale sig at sikre, at de slet ikke er der.
Når et program først er ude hos brugerne, koster det tid og ressourcer at rette fejl i det.
Og hvis der er tale om fejl med betydning for sikkerheden, er det et kapløb med tiden: Man skal nå at lukke sikkerhedshullerne, inden hackere begynder at udnytte dem.
Sikkerhed tænkes ind
Derfor er det godt at se, at flere softwarehuse gør en indsats for at tænke sikkerheden ind i programudviklingen.
For eksempel har Adobe netop offentliggjort, at firmaet er ved at køre sin gamle programkode gennem udviklingsprocessen Secure Product Lifecycle (SPLC).
I denne måned kom Microsoft med et nyt tilbud: Man kan gratis hente en skabelon til Visual Studio Team System.
Skabelonen bygger på Microsofts model for udvikling af sikker software, Security Development Lifecycle (SDL).
Skønt SDL er udviklet af Microsoft, er den ikke begrænset til Windows-verdenen.
Modellen opdeler udviklingsarbejdet i en række processer.
Allerede i kravspecifikationsfasen skal man analysere risici inden for sikkerhed og fortrolighed.
I designfasen bruger man trusselsmodellering til at afdække potentielle trusler.
Under kodeskrivningen anvender man kun sikre funktioner, der ikke indeholder kendte sårbarheder eller risici.
Man gennemfører også statisk analyse af koden.
Den følges senere op af dynamisk analyse og test.
Færre sårbarheder
Hvilken gevinst giver sådan en metode? Kigger man på Microsofts produkter, taler tallene for sig selv:
Windows XP blev udviklet, inden SDL blev indført. I det første år efter udsendelsen blev der fundet 119 sårbarheder.
Windows Vista er udviklet med SDL. Her fandt man 66 sårbarheder i det første år.
Vi er altså tæt på en halvering.
I SQL Server 2000 fandt man 34 sårbarheder i de første tre år efter offentliggørelsen.
I SQL Server 2005, som er udviklet med SDL, er det tilsvarende tal kun tre sårbarheder - eller en tiendedel af mængden før SDL.
SDL er omfattende, og det er ikke sikkert, at alle elementer i den passer til din organisation.
Men enhver organisation, der udvikler software, kan have gavn af at sætte sig ind i den og udvælge de elementer, der giver mening.
DK-CERT (www.cert.dk) er det danske Computer Emergency Response Team.
I samarbejde med tilsvarende CERT'er over hele verden indsamler DK-CERT information om internetsikkerhed.
DK-CERT udsender advarsler og tager imod anmeldelser af sikkerhedsrelaterede hændelser på internettet.
Shehzad Ahmad opdaterer den sidste fredag i hver måned Computerworlds læsere med de seneste tendenser inden for it-sikkerhed.