OpenSSL Heartbleed

Roy Andre Tollefsen
Butikkeier.no
Published in
4 min readApr 10, 2014
heartbleed

Det har vært veldig mye oppmerksomhet rundt sikkerhetshullet kalt “Heartbleed” de siste dagene. Vi prøver her å gi en forklaring på dette, selv om dette er relativt kompliserte greier.

Merk først av alt at alle våre webservere er patchet og sikret mot dette svært alvorlige sikkerhetshullet.

Først, hva er det som egentlig har skjedd?

Mandag 7.april ble det spredt informasjon ut på nettet om at et svært alvorlig sikkerhetshull i OpenSSL/TLS var blitt oppdaget av et finsk sikkerhetsselskap samt en sikkerhetsingeniør ansatt i Google.

OpenSSL er en programvare som gjør at man kan bruke såkalte SSL-sertifikater på nettsidene sine, slik at man får https:// foran adressen — som igjen betyr at alt som skjer mellom nettleseren din og webserveren/nettsiden du besøker er kryptert, dvs at ingen andre skal kunne lese dette.

Alle nettbanker, epost-tjenester samt en mengde andre nettsider bruker SSL/https til dette formålet, og det ville vært svært alvorlig dersom noen kunne komme seg forbi denne sikkerheten og lese alt dette (passord, kontoutskrifter, epostinnhold, osv).

Det som skjedde var nettopp det. Og enda verre at dette sikkerhetshullet har vært åpent i lang tid, uten at noen (forhåpentligvis) har visst om det.

Hvor mange- og hvilke nettsteder er påvirket?

OpenSSL kjøres normalt oppå en webserver-programvare, som Apache, og som brukes til å kjøre millioner av nettsider rundt i verden. Av disse igjen er det en relativt liten andel som bruker kryptering (med SSL) — og det er kun de som bruker OpenSSL som er påvirket (de som ikke bruker OpenSSL eller alternativ SSL-programvare kjører allerede helt ukryptert trafikk, men har muligens ikke sett behovet for kryptering av dataene mellom nettleseren (brukeren) og webserveren (nettsiden).

Hva er egentlig denne Heartbleed bug`en? Hvordan kan man bruke den til å lese den krypterte trafikken?

Heartbeat (altså ikke Heartbleed — som bare er blitt kallenavnet) er en funksjon i nyere versjoner av SSL-protokollen. En bug i denne programvaren gjør at man kan sende et spesielt “hjertebank”-signal til webserveren, som igjen gjør at man får tilgang til å lese ut deler av det 64kB store minnet OpenSSL bruker for å kjøre (og for å kunne kryptere trafikken).

Inni dette minnet ligger også de hemmelige krypteringsnøklene som brukes for å sikre at trafikken går — nettopp, kryptert. Dersom noen får tak i disse kan man i prinsippet lese all kryptert trafikk mellom nettleseren og nettsidene man besøker (som f.eks en nettbank) — selv om det står https med fin grønnfarge og hele pakken.

Litt sånn flyplass sikkerhetskontroll-aktig, der man tror man er dønn sikker men der realiteten er en helt annen.

Man kan lese mer detaljer om bug`en i den offisielle bug-reporten og det finnes også en Wikipedia-artikkel tilgjengelig som inneholder mye informasjon om den for de spesielt interesserte.

Merk forøvrig at man ikke behøver å bruke OpenSSL for å kjøre SSL, og at nettbanker som Skandiabanken kjører en annen SSL-software enn OpenSSL og er dermed ikke berørt.

Hvordan har Trollweb håndtert dette?

Vi har et omfattende sikkerhets- og oppdateringssystem bak alle Magento nettbutikkene som kjører hos oss, der det hver eneste uke blir kjørt automatisk sikkerhetsoppdateringer samt andre ikke-Magento-relaterte oppdateringer, for å blant annet sikre at alle nettbutikkene er så sikre som overhodet mulig.

Våre teknikere følger løpende med på sentrale registre for sikkerhetsoppdateringer, og kun et fåtall av våre mange hundre servere kjørte en av de aktuelle versjonene som hadde dette sikkerhetshullet. De serverne som kjørte en av de “infiserte” versjonene ble oppdatert i løpet av noen timer etter at bug`en ble offentlig kjent.

Vi kjører forøvrig Debian som operativsystem på alle våre servere, og Debian er kjent for å ha sikkerhetsoppdateringer tilgjengelig veldig raskt, normalt i løpet av noen timer.

Betyr det nå at alt er OK?

Alle webserverne våre er patchet og sikret. Det finnes alltid teoretiske muligheter for at noen har fått tak i krypteringsnøklene, og man må få utstedt nye SSL-sertifikater for å sikre seg mot dette. Det er noe vi gjør løpende, og er ikke noe man behøver å tenke på selv.

Merk også at dette kun gjelder de delene av nettbutikken som har SSL-trafikk (https://), som typisk er kassen og kontosiden. Det mest hemmelige som går her er normalt passordet til brukerkontoen når man logger på, og selv om som sagt sjansen for at noen har anskaffet seg krypteringsnøklene til dine nettsider er mikroskopisk så anbefaler vi å vurdere og bytte passord, ihvertfall til Magento kontrollpanelet.

Alle kortdata håndteres hos PSP`en din (Payment Service Provider), som Nets eller DIBS, og de må eventuelt svare på hvordan de har håndtert dette sikkerhetshullet.

Vil dette kunne skje igjen?

Man vil aldri kunne garantere et 100% sikkert internett, og dersom man har dette som krav så må man la være å bevege seg her ute. Internett er svært kompleks, med tusenvis av komponenter som må fungere for at du skal kunne besøke en gitt nettside — og sikkerhet bygges inn stort sett i alle disse komponetene, som gjør ting enda mer kompleks og sårbart.

Sikkerheten på nettet tas like alvorlig som flysikkerheten (ergo veldig alvorlig)

Det jobbes ekstremt mye med sikkerhet på nettet — og normalt skal man kunne føle seg veldig trygg, men sikkerhetsfeil som den som ble oppdaget mandag 7.april er helt klart med og ødelegger noe av den opparbeidede tryggheten, på lik linje som når man leser i nyhetene om at et fly har styrtet — noe som i teorien skulle være umulig.

Nå er det heldigvis slik at man normalt lærer av sine feil — og de fleste datasystemer (og fly) blir derfor sikrere og sikrere hele tiden, dessverre med ett og annet alvorlig tilbakefall.

Har du flere spørsmål knyttet til Heartbleed bug`en anbefaler vi deg å google ordet “heartbleed”.

Klikk her for å lese tegneserie-versjonen av den enkleste måten å se hvordan bug’en fungerer.

--

--

Roy Andre Tollefsen
Butikkeier.no

Above average knowledge around eCommerce and EDB in general.