Åpen kildekode kan gi bedre sikkerhet

Med økt bruk av Internett følger flere avsløringer av sikkerhetshull i programvare. Noen mener åpen kildekode kan bidra til å minske dette problemet. Andre er ikke så overbevist om et slikt svar.

Debatten har blusset opp i kjølvannet av avslørte sikkerhetshull de siste par ukene i verdens dominerende e-post-håndterere, både Eudora, Microsoft Outlook og Netscape. I en artikkel i New York Times - "Secrecy of Software Code Creates Security Risk", dvs. "Hemmeligholdt programvarekode skaper sikkerhetsrisiko" - heter det at kommersielle programvarehus truer framtiden til elektronisk handel fordi de ikke vil offentliggjøre sin kildekode.

I artikkelen retter konsulent Mark Seiden i datasikkerhetsselskapet Veriguard en bredside mot 10 MB nettlesere generelt, og integreringen av Windows og Internet Explorer spesielt.

- Ingen vet hva som finnes i disse nettleserne, ifølge Seiden. - Ingen har oversikt over alt de gjør. Men vi installerer dem uten å tenke over det, eller, enda verre, i tilfellet Internet Explorer, fordi den er en del av operativsystemet. På toppen kommer alle elementene som er en del av Windows og som ingen har gransket utenom leverandøren selv.

Seiden mener at det hele koker ned til at uavhengige leverandører må tro på det Microsoft sier om systemets sikkerhetsegenskaper. Det samme gjelder kommersiell programvare generelt. At nye sikkerhetshull rammer Netscape som nylig offentliggjorde kildekoden til den kommende utgaven av Communicator 5.0, skyldes at det tar langt mer enn bare noen måneder å avdekke alle feilene.

Reaksjoner jeg har høstet på ulikt hold i Norge har to ting felles: For det første er sikkerheten et stort og tiltakende problem. For det andre er ikke åpent tilgjengelig kildekode noen automatisk løsning på problemet.

Utvikler Arnt Gulbrandsen i Troll Tech AS peker på at kildekoden til Unix-programmet SendMail har vært allment kjent i 20 år, men at det fortsatt rommer notoriske sikkerhetsproblemer.

- Argumentet om at sikkerhetsproblemene blir gradvis borte bare du offentliggjør kildekoden, virker forlokkende, sier Gulbrandsen. - Hos oss gjør vi alltid kildekoden tilgjengelig, fordi vår erfaring som små utviklere i Norge er at fordelene ved å gjøre det er større enn ulempene. Det er ikke det at koden er tilgjengelig som gir god sikkerhet, men det at koden granskes av flere og at disse kommer med tilbakemeldinger om hvordan ting kan gjøres bedre.

Hovedargumentet for ikke å offentliggjøre kildekode, er at det kan avsløre teknologi som man ønsker å beskytte på linje med andre forretningshemmeligheter. Et svar på dette argumentet kan være at dersom all kode må gjøres kjent, vil det være lettere å oppdage når noen ulovlig har kopiert patentbeskyttet kode.

Sikkerhetskonsulent Stein Møllerhaug i Digital (Compaq) sier at diskusjonen bærer preg av å uttrykke holdninger fra motsatte religiøse skoler.

- Praksis varierer sterkt fra miljø til miljø, sier Møllerhaug. - Microsoft slipper for eksempel ingenting fra Windows NT. Om Unix og VMS er derimot alt åpent og kjent. Når kode gjøres kjent, får du vite om en rekke feil, og du får det travelt med å rette dem. Etter en viss tid får du et godt og sikkert system.

Møllerhaug poengterer også at åpenhet i seg selv gir ingen kvalitetsgaranti. En av grunnene til at diskusjonen i dag får formen "åpen" kontra "lukket" kildekode, er at man er kommet over hysterifasen med Linux, mens Windows NT er i en annen og tidligere utviklingsfase, nemlig der hvor lusene for alvor begynner å melde seg.

- Det som er betenkelig, er når du er nødt til å satse din egen eksistens på kode som du egentlig ikke har peiling på hvordan virker. Det som trengs, er en ordning der du får noe mer enn utviklerens eller leverandørens ord på at koden virker som den skal. Med andre ord er det behov for en ekstern kvalitetssjekk og en varefakta-erklæring på programvaren, som opplyser om hvor den kommer fra, hva den gjør, og ikke minst, hva den absolutt ikke skal gjøre.

Berømte programmer som jevnlig kommer i nye utgaver med betydelig større funksjonalitet, er spesielt utsatt for sviktende kvalitet generelt, ikke bare dårlig sikkerhet.

- Feilen er at det man legger inn av nye funksjoner, går langt utover det designet man opprinnelig hadde for produktet. Kravet om ny funksjonalitet betyr at stadig flere utviklere trekkes inn i prosjektet. Etter hvert opplever man at enda flere må inn, for å sørge for at nye funksjoner ikke ødelegger for de gamle. Til slutt er det ingen som har oversikt over helheten, og applikasjonen blir stadig mer sårbar.

Et eksempel på dette fenomenet er Netscape Communicator. Arnt Gulbrandsen har tidligere bekreftet overfor digi.no at Troll Tech har gitt opp å vedlikeholde noen Linux-variant av dette programmet, fordi koden er for dårlig.

Programvarespesialist Bjørn Tore Hoem i IBM bekrefter på sin side at OS/2-versjonen av Communicator nærmest måtte skrives om fra bunnen av.

- Ytterst få leverandører etterlever en politikk med skikkelig design av programvare der målet er effektiv gjenbruk av komponenter, i samsvar med det anerkjente idealet for objektorientert utvikling, sier Møllerhaug. - I noen tilfeller legges det utgangspremisser, for eksempel Microsofts krav om at Windows 98 skal kunne kjøre ethvert gammelt DOS-program, som effektivt hindrer en god og moderne design.

Ole Tom Seierstad i Microsoft Norge bekrefter at Microsoft bare i svært begrenset grad tyr til ekstern og uavhengig gjennomgang av koden. I stedet stoler man på en omfattende betatesting når egne utviklere føler at produktet er godt nok, og i noen tilfeller gir man betatestere - for eksempel studenter - i spesialoppgave å prøve å knekke bestemte sikkerhetsvern.

- Jeg stiller meg tvilende til om sikkerhetsfeilen i Microsoft Outlook, der ondsinnet kode i teorien kunne gjemmes i lange adresser eller filnavn, hadde vært oppdaget noe tidligere dersom vi hadde latt eksterne folk granske kildekoden. Internt er opplegget vårt at egne sikkerhetseksperter gransker all kode som utviklerne mener er god nok.

Seierstad peker på at Microsoft de siste årene aldri har brukt mer enn 48 timer fra en feil ble meldt til en "fiks" ble gjort tilgjengelig for nedlasting.

- Internett fører til at programvare utsettes på en helt annen måte enn tidligere. Vi møter dette fenomenet ved å trekke inn langt flere i uttestingen, samt ved å være raskt ute når forbedringer er påkrevet.

Til toppen