Fejlfri og sikker software vil forblive en drøm

Større fokus på sårbarheder i softwaredesign og kode samt bedre test skal gøre software mere sikker. Men fejlfri og usårlig software forbliver en drøm.

Artikel top billede

Da sikkerhedsorganisationen SANS offentliggjorde en top 25-liste over de mest almindelige softwarefejl, var det for at skabe fokus på et af it-branchens største problemer: Fejl og sårbarheder i software.

Hvor galt står det til

I Danmark fik SANS' liste ekstra aktualitet, da Danske Spil i samme uge blev ramt af voldsom kritik for manglende sikkerhed på websiden "DM i Oddset". Her blev brugerindtastede CPR-numre sendt ukrypterede over internettet; en sikkerhedsfejl som falder ind under "Fortrolig information sendes ukrypteret" på top 25-listen.

SANS mener, at den slags fejl opstår, fordi der ikke er nok fokus på sikkerhed og minimering af fejl i softwarebranchen.

Ikke nok fokus på fejl

"De fleste af disse fejl er ikke noget, programmørerne forstår særligt godt; hvordan man undgår dem er ikke noget som uddannelserne gør meget ud af; og tilstedeværelsen af fejlene er ikke noget som softwarefirmaerne tester regelmæssigt for," hedder det blandt andet i en udtalelse, som SANS udsendte sammen med top 25-listen.

Selvom Danske Spils sikkerhedsfejl kunne indikere, at SANS har ret i sin udtalelse, mener danske it-eksperter og branchefolk ikke, at det står så slemt til.

Computerworld har talt med en datalogiprofessor, Microsofts udviklingscenter i Vedbæk samt interesseorganisationen Dansk IT for at høre deres bud på hvor langt vi er kommet med at realisere drømmen om fejlfri software.

De giver deres bud på, hvad der skal til for at minimere fejl og gøre softwaren mere robust.

Datalogi-professor: Vi indtænker sikkerhed i undervisningen

Uddannelsesmæssigt står det ikke så slemt til som SANS' udtalelse ellers giver anledning til at tro.

I hvert fald meldes der hus forbi på Aarhus Universitet. Michael Schwartzbach, professor i programmeringssprog og formelle modeller, mener, at de studerende på datalogistudiet bliver godt rustede til at indtænke sikkerhed i deres programmer.

Grov misfortolkning

"At sige at man ikke lærer den slags, det er en grov misfortolkning i forhold til hvordan uddannelserne ser ud," mener Michael Schwartzbach, der understreger, at SANS top 25-liste blot er nogle få af de mange fejl som software kan indeholde.

"Det er ikke de eneste fejl som man kan lave. Det kunne have været 25 andre fejl. Det er 25 gode eksempler på fejl, men de dækker ikke hele området. De er alle instanser af mere generelle principper som at definere og overholde invarianter i kode og data. Det gør vi meget ud af," forklarer Michael Schwartzbach.

En invariant specificerer hvilke betingelser kode og data skal overholde.

"Man bør checke, at man hele tiden overholder specifikationen. Udvikleren skal tænke over, hvordan det sikres, at en ny metode overholder invarianten. Den tankegang skal overholdes gennem hele udviklingen. Der er nok omkring 20 fejl på top 25-listen, der kan reddes med passende brug af invarianter i programudviklingen," vurderer Michael Schwartzbach, der mener, at de datalogi-studerende på Aarhus Universitet bør have kendskab til de fleste af fejlene på top 25-liste.

"Der er ikke noget kursus, der gennemgår listen fra ende til anden, men SQL indsættelse lærer man om på database-kurset, race conditions hører under vores Concurrency-kursus og hele sektionen om Porøst forsvar undervises der om på vores sikkerhedskursus. Mange af problemerne er web-relaterede; dem kommer vi ind på via vores webteknologi-kursus. Det er altsammen på vores bachelor-del," siger Michael Schwarzbach, der dog ikke kan garantere, at Århus-datalogerne ikke laver fejl:

"Jeg kan ikke love, at enhver der har bestået kurserne, ikke vil lave nogle af fejlene."

Hos Microsofts udviklingscenter i Vedbæk tager man også softwarefejl alvorligt, selvom man heller ikke her vil garantere nul fejl.

Microsoft og Dansk IT: Mere fokus på test

I Microsoft udviklingscenter i Vedbæk, hvor Microsofts Dynamics-systemer udvikles, genkender man ikke SANS beskrivelse af, at softwarefejl ikke tages seriøst.

"Vi kan ikke genkende det billede. For 5-10 år siden uddannede man ikke folk med fokus på det. Men uddannelserne i dag tager det meget alvorligt," siger udviklingsdirektør Michael Nielsen fra Microsoft Development Center Copenhagen.

Mere fokus på test

Selvom det tilsyneladende ikke står så galt til som SANS mener, så er der stadig plads til forbedringer. Både på uddannelsesinstitutionerne og i it-virksomhederne. Der bør eksempelvis gøres mere ud af test-disciplinen.

"Uddannelsesinstitutionerne har ikke samme fokus på test, som de har på udvikling. Vi ville ikke have noget imod en decideret testuddannelse på DTU eller ITU," lyder det fra Microsofts Director for Program Management, Kim Ibfelt.

Microsoft har selv taget initiativ til at sætte mere fokus på test-disciplinen i de danske it-uddannelser. De sidste fem år har Microsoft afholdt et kursus om softwaretest og kvalitetssikring på DTU.

Ønsket om større fokus på test-disciplinen er noget som bifaldes hos Dansk IT.

"Der bør være mere fokus på softwaretestning. Uddannelsesmæssigt og projektmæssigt er det et underprioriteret område. Der er rigtig god grund til at opprioritere softwaretest som fagdisciplin, både som undervisning og i virksomhederne. Der bliver ikke testet nok i forbindelse med udvikling af software," mener Tony Franke, direktør i Dansk IT.

Ifølge Tony Franke er det både it-leverandørerne og kunderne som skal have mere fokus på softwarekvalitet.

"Både kunder og leverandører skal have større fokus på det. Kunderne skal med deres købsadfærd påvirke markedet. De skal ikke genkøbe hos dem, der ikke leverer en god vare," mener Tony Franke.

Er fejlfri software uopnåeligt?

Men selvom virksomhederne opprioriterer softwaretest og uddannelserne fokuserer mere på sikker softwareudvikling, så vil den fejlfri og sikre software være så godt som uopnåelig, mener de danske it-folk.

Uanede fejlmuligheder

"Uanset hvor meget man uddanner folk, så vil der altid være en liste med de 25 mest almindelige fejl. Man får aldrig udryddet fejl," mener Michael Schwartzbach, der stiller spørgsmålet:

"Fejlfri software? Hvad er det? Hvis programmet overholder specifikationen og specifikationen ikke passer med virkeligheden, er der så fejl i softwaren eller i specifikationen?"

Hos Microsoft prøver man at undgå specifikationer, der ikke tager højde for sikkerhedstrusler. I designfasen udarbejdes trusselsanalyser, hvor potentielle sårbarheder i det fremtidige system identificeres, så de kan undgås eller afbødes.

Tænk som hacker

"Threat-analysis udarbejdes samtidigt med design, inden der kodes en linje. Threat-analysis undersøger, hvordan man kan undgå, at hackere udnytter produktet til ondsindede formål," forklarer Michael Nielsen.

"Det er en god designstrategi, men det vil ikke kunne afhjælpe alle fremtidige trusler, mener Michael Schwarzbach og uddyber:

"Man kan aldrig uddanne folk på et niveau, så de kan forudse samtlige trusler. Den dag kommer aldrig. Pludselig skal programmet køre i en ny kontekst, som man ikke havde forestillet sig. Selvom specifikationen er på plads, så er der nogle der vil bruge det i en anden kontekst og det var man ikke klar over, da specifikationen blev lavet. Verden er for dynamisk til at man kan gardere sig mod alt," mener Michael Schwartzbach.

I det danske Microsoft-udviklingscenter får det konsekvenser for Michael Nielsen og hans udviklingsorganisation, hvis der er fejl i den udviklede software.

"Vi bliver gjort ansvarlige for fejl internt i Microsoft. Er der fejl i vores software, så kommer det på vores karakterblad," siger Michael Nielsen.

Derfor stræber den danske udviklingsorganisation da også efter fejlfri software, men det er tvivlsomt, om det er et reelt opnåeligt mål.

Vil det lykkes at lave fejlfri software?
"Det har jeg svært ved at forestille mig," siger Kim Ibfelt og han suppleres af Michael Nielsen:
"Du spørger, om man kan lave fejlfri produkter. Der findes heller ikke fejlfri biler eller køleskabe endnu."

Så drømmen om fejlfri og sikker software forbliver tilsyneladende en drøm.

"Vi skal stile efter at minimere antallet af fejl og ikke lave den samme fejl to gange," lyder den mere beskedne, men måske også mere realistiske melding fra Michael Schwartzbach.

Computerworld Events

Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

Sikkerhed | Højbjerg, Aarhus

Cyber Security Summit 2026 - Aarhus

Lær om organisationers evne til at modstå, håndtere og komme videre efter alvorlige digitale hændelser, herunder ledelsesansvar, forretningskritiske afhængigheder og de valg, der afgør, om plan B holder, når systemer eller leverandører svigter.

Digital transformation | Aarhus

AI i det offentlige - Aarhus

Hør hvordan offentlige AI-løsninger skaleres til stabil drift med reel effekt. Få erfaringer, arkitekturvalg og styringsgreb fra frontløbere. Lær at bygge fælles AI-infrastruktur med ansvarlighed, sikkerhed og compliance.

Digital transformation | Køge

Derfor skal du videre fra Dynamics AX – og sådan gør du

Computerworld giver klar viden om vejen videre fra Dynamics AX. Du ser forskellen mellem AX og moderne cloud-ERP og får et konkret beslutningsgrundlag for næste skridt. Tilmeld dig og få styr på skiftet til Dynamics 365 FO eller BC.

Se alle vores events inden for it

Politiets Efterretningstjeneste

Specialist til IT-kontraktstyring i PET's IT-Afdeling

Københavnsområdet

AL Sydbank

Automation Developer - Digital & Processes

Københavnsområdet

KMD A/S

Senior Mainframe Developer

Københavnsområdet

Politiets Efterretningstjeneste

Netværksspecialist der vil være med, når det gælder til PET

Københavnsområdet

Navnenyt fra it-Danmark

Freja Egelund Grønnemose, junior automation developer hos WITRICS A/S, har pr. 16. juni 2026 fuldført uddannelsen diplomingeniør i softwareteknologi (B.Eng Software Technology) på Danmarks Tekniske Universitet - DTU. Færdiggjort uddannelse
Oliver Dirks-Steinmoen, softwareudvikler hos Folketingets administration, har pr. 30. juni 2026 fuldført uddannelsen Master i it, linjen i softwarekonstruktion på Aarhus Universitet via It-vest-samarbejdet. Færdiggjort uddannelse

Oliver Dirks-Steinmoen

Folketingets administration

TDC Erhverv har pr. 1. maj 2026 ansat Peter Bjerregaard Harden som Senior Vice President (SVP), Enterprise Sales. Peter skal især beskæftige sig med at drive transformationen mod at blive en førende, kundecentreret partner inden for Cloud, Cyber og integrerede ICT-løsninger. Peter kommer fra en stilling som Country Manager hos Google Cloud Danmark. Peter er uddannet Cand. Merc (AU), HD, Organisation og Ledelse (CBS), Bestyrelsesuddannelse (CBS). Peter har tidligere beskæftiget sig med at opbygge Google Cloud i Danmark samt roller hos Microsoft, Salesforce og i management consulting. Nyt job
Netip A/S har pr. 1. april 2026 ansat Claus Berg som Account Manager ved netIP's kontor i Esbjerg. Han kommer fra en stilling som Client Manager hos itm8. Nyt job

Claus Berg

Netip A/S