211service.com
Det rigtige softwaresikkerhedsproblem er os
En kollega beskrev for nylig en sjov fredag aften for sin teenagesøn: at blive hjemme og chatte online. Nu og da er der en fest, hvor alle hans venner taler på deres bærbare computere.
Vi vænner os mere og mere til at bo i sådanne virtuelle rum – alligevel er der en vigtig skelnen mellem virtuelle rum og de faktiske fysiske rum, vi går rundt i. Vi forventer normalt, at vi kan gå over en bro eller ind i en bygning uden at strukturen falder sammen. Vi har ikke den form for tillid til softwareprogrammer.
Tro det ikke, vi kunne i en ikke så fjern fremtid faktisk leve i en verden, hvor software ikke fejler tilfældigt og katastrofalt. Vores softwaresystemer kunne modstå angreb. Vores private sociale medier og sundhedsdata kunne kun ses af dem med tilladelse til at se dem. Alt, hvad vi behøver, er de rigtige rettelser.
Problemet med moderne software er, at vi har bygget vores skyskrabere med de samme materialer og teknikker, som bruges til at bygge hytter. Software begyndte som en samling af klodser: simple procedurer, sekvenser af kommandoer til beregninger, spil og kuriositeter. Årtier senere har vi millioner af procedurer, der interagerer med hinanden på sammenkoblede maskiner med adgang til alle slags hemmelige oplysninger. Alligevel bruger vi stadig lignende sprog og værktøjer.
Hvis vi ønsker, at vores systemer skal have færre sårbarheder, skal vi bruge bedre byggematerialer. De sprog, folk bruger i dag, gør det for nemt for programmøren at lave fejl, og de gør det for svært at opdage fejlene.
En bedre måde ville være at bruge sprog, der giver de garantier, vi har brug for. Heartbleed-sårbarheden skete, fordi nogen glemte at tjekke, at en del af hukommelsen sluttede, hvor den skulle. Dette kunne kun ske i et programmeringssprog, hvor programmøren er ansvarlig for at styre hukommelsen. Så hvorfor ikke bruge sprog, der styrer hukommelsen automatisk? Hvorfor ikke få programmeringssprogene til at gøre det tunge løft?
En anden måde ville være at gøre software nemmere at analysere. Facebook havde så mange problemer med at forstå den software, den brugte, at den skabte Hack and Flow, kommenterede versioner af PHP og Javascript, for at gøre de to sprog mere forståelige.
Dette er til dels vores egen skyld. Vi synes, at livet på nettet er sjovt, så vi har en tendens til at lade websteder gøre, hvad de vil med vores personlige data. Softwarevirksomheder reagerer ved at udsende nye funktioner så hurtigt som muligt ved at bruge de mest bekvemme materialer og værktøjer på bekostning af sikkerheden.
Forandring vil ikke ske, før vi kræver, at det sker. Vores software kunne være lige så velkonstrueret og pålidelig som vores bygninger. For at få det til at ske, skal vi alle værdsætte teknisk soliditet frem for nyhed. Det er op til os at gøre livet på nettet lige så sikkert, som det er behageligt.
Jean Yang er assisterende professor i datalogi ved Carnegie Mellon University og medstifter af Cybersecurity Factory, en accelerator med fokus på softwaresikkerhed.