Artikel top billede

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.

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.




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Brother Nordic A/S
Import og engroshandel med kontormaskiner.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
ERP-trends 2024

Bliv derfor inspireret til, hvordan du kan optimere dine systemer og processer når af nogle af de fremmeste eksperter på ERP-markedet dele deres iagttagelser af det aktuelle marked og vurderinger af, hvad vi har i vente de kommende 3-5 år. Vi sætter også fokus på, hvordan udviklingen kommer til at påvirke din organisation, hvordan du bedst forbereder og planlægger ERP-indsatsen og om, hvilke faldgruber du skal være opmærksom på.

02. maj 2024 | Læs mere


Datadrevet forretning: Skab enestående kundeoplevelser med viden og data i centrum

Data står i centrum, når du skal styrke kundeoplevelsen – eller det burde det i hvert fald gøre. På denne konference vil du møde eksperter indenfor CX og komme i dybden med, hvordan du sætter data, transparens og viden til at arbejde for dig i din Customer Experience-strategi.

07. maj 2024 | Læs mere


Kunstig Intelligens (AI) Masterclass - fra futuristisk idé til uundværlig ressource

Velkommen til en Masterclass om kunstig Intelligens (AI) og den transformative kraft, som kan tage din organisation og karriere til næste niveau. AI er gået fra at være en futuristisk idé til at blive en uundværlig ressource for virksomheder over hele verden og har allerede sat sit præg på den måde, som vi arbejder på, træffer beslutninger og kommunikerer med vores kunder.

07. maj 2024 | Læs mere