Her er de farligste programmeringsfejl

Softwarefirmaer, sikkerhedsfirmaer og efterretningstjenester har identificeret de 25 farligste programmeringsfejl. Listen forventes at få indflydelse på projektkontrakter fremover.

Artikel top billede

Sikkerhedsorganisationen SANS har offentliggjort en liste over de 25 farligste og oftest forekommende programmeringsfejl.

Mere end 30 virksomheder og organisationer har været med til at udpege de alvorligste problemer, som findes i software i dag.

Ofte forekommende fejl

Kigger man listen igennem, er det en lidt forstemmende oplevelse i betragtning af, at vi skriver år 2009.

Bufferoverflow er stadig et ofte forekommende problem, ligesom der ofte ikke foretages inputvalidering i softwaren, der udvikles i dag.

Som folkene bag top 25-listen, skriver i forbindelse med offentliggørelsen af listen:

"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.

Fejlene har vidtrækkende betydning. Blot to af dem førte til mere end 1,5 millioner sikkerhedsbrister på websites i løbet af 2008 - og de sikkerhedsbrister medførte, at folk, der besøgte de berørte websites, fik omdannet deres computere til zombier."

Liste som kontraktgrundlag?

Håbet er, at listen vil få it-branchen til at udvikle mere stabile programmer med færre fejl.

Men listen er ikke kun beregnet til at skærpe udviklernes opmærksomhed på at undgå farlige programmeringsfejl.
Listen skal også bruges i forbindelse med kontraktindgåelse. Det håber SANS' forskningsdirektør Alan Paller bliver tilfældet.

"Top 25-listen er den slags, som bør indføjes i dine kontrakter," siger Alan Paller til IDG News Service.

Tidligere forsøg på at gøre softwareindustrien mere opmærksom på problemerne og få kunder til at stille krav til leverandørerne har dog ikke haft den store succes.

Alan Paller erkender eksempelvis, at SANS' Top 20-liste over sikkerhedsrisici fra 2007 ikke fik leverandørerne til at levere mindre fejlbehæftet software.

Den nye liste er dog mere gennemarbejdet, og håbet er, at efterretningstjenester som NSA og andre regeringsmyndigheder, som har været med i udarbejdelsen af top 25, vil medvirke til at få listen indarbejdet i kontrakter mellem leverandører og kunder.

Fokus på forebyggelse fremfor afhjælpning

"Offentliggørelse af en liste over programmeringsfejl, som gør cyberspionage og cyberkriminalitet muligt, repræsenterer et vigtigt skifte i sikkerhedsbevidstheden, et skifte væk fra en systemadministrator synsvinkel [detect/respond/patch] til fokus på softwareudvikling [design/implementer/verificer]," lyder det eksempelvis fra Konrad Vesey, fra NSA's Information Assurance Directorate.

"Når forbrugerne ser, at de fleste sårbarheder er forårsaget af bare 25 svagheder, så vil en ny standard for passende omhyggelighed i produktudvikling formentlig opstå. Softwaresikkerhed ændres fra at handle om, hvad leverandøren tester for, til hvad leverandøren indbygger i produktet."

De 25 farligste programmeringsfejl

De 25 programmeringsfejl er inddelt i tre kategorier:
Usikker interaktion mellem komponenter, risikofyldt ressourcehåndtering og porøst forsvar.

For hver enkelt programmeringsfejl gives en risikovurdering og det beskrives hvordan man kan undgå at introducere fejlen under arkitekturarbejde, design, implementering og build af systemer. Samtidig gives råd til hvordan man tester for softwarefejlene.

Usikker interaktion mellem komponenter

Mangelfuld inputvalidering

Mangelfuld output-encoding

SQL indsættelse

Cross-site scripting

Kommando indsættelse

Fortrolig information sendes ukrypteret

Cross-site request forfalskning

Race conditions

Fejlmeddelelser med læk af systeminformation

Risikofyldt ressourcehåndtering

Buffer overflow

Manglende kontrol med kritiske data

Mangelfuld kontrol af filnavne

Upålidelig søgesti

Code injection

Download uden integrity check

Mangelfuld frigivelse eller fjernelse af ressource

Mangelfuld initialisering

Mangelfuld beregning

Porøst forsvar

Mangelfuld adgangskontrol og authorisation

Anvendelse af svag kryptering

Hard-coded passwords

Kritiske ressourcer uden passende permission assignment

Tilfældige tal er ikke tilfældige nok

Eksekvering med unødvendige privilegier

Klient, der håndhæver serversikkerhed

Den samlede top 25-liste findes her

Annonceindlæg fra Cornerstones

Hvorfor tøver virksomheder, når teknologien er klar, og gevinsterne er tydelige?

Mange virksomheder sidder fast i et forældet ERP-system, selvom det begrænser dem langt mere, end de ofte vil erkende.

Københavns Universitet

Identity management specialist

Københavnsområdet

Netcompany A/S

IT Consultant

Midtjylland

Capgemini Danmark A/S

SAP Engagement Manager

Københavnsområdet

Banedanmark

Senior Service Delivery Manager / PMO Lead

Københavnsområdet

Navnenyt fra it-Danmark

Idura har pr. 5. januar 2026 ansat Arjuna Enait, 34 år,  som software engineer. Han skal især beskæftige sig med videreudvikling af Verify-systemet samt arbejde på implementeringen af CIBA i Norsk BankID. Han kommer fra en stilling som software engineer hos Lasso X. Han er uddannet civilingeniør med speciale i geoteknik. Han har tidligere beskæftiget sig med at bygge microservices til dataindsamling og -processering, samt opdatere legacy-systemer. Nyt job

Arjuna Enait

Idura

Connexa A/S har pr. 1. januar 2026 ansat Ivan Nielsen som IT Konsulent. Han skal især beskæftige sig med IT Infrastruktur og services. Han kommer fra en stilling som IT Konsulent hos IT Forum Gruppen A/S. Han har tidligere beskæftiget sig med IT Infrastruktur og konsulentopgaver. Nyt job

Ivan Nielsen

Connexa A/S

Circle Of Bytes ApS har pr. 1. maj 2025 ansat Jeanette Kristiansen som Account Manager. Hun skal især beskæftige sig med at opbygge og styrke relationer til kunder og samarbejdspartnere, samt sikre det rette match mellem kunder og konsulenter. Nyt job

Jeanette Kristiansen

Circle Of Bytes ApS