Gå til innhold

Betaler millioner for å hindre ny Heartbleed-krise


Anbefalte innlegg

Videoannonse
Annonse

Dette er et bra og høyst nødvendig initiativ. Jeg er blant mange som har ønsket noe som dette i lang tid, og det er flott at kapitalsterke selskaper endelig har forstått alvoret og er med på spleiselaget. SSL-implementasjoner er én av flere essensielle komponenter for PCer, servere og mobiltelefoner, som må ha ypperste kvalitet siden annen sikkerhet er bygget på toppen av disse.

 

De fleste feilene som har vært i SSL-implementasjoner er faktisk amatørfeil som ville vært fanget opp av enkel kvalitetskontroll av koden. Her er en kort oppsummering av noen få historiske bemerkningsverdige feil: (datoene er ikke helt sikre)

 

2008-05-13 - Debians SSL-bug (CVE-2008-0166)

Debian-utviklere ødela random-generatoren til OpenSSL og reduserte entropien til ~32.768.

Årsak: utvikler hos Debian forstod ikke den kryptografiske kildekoden.

Fiks: Tilbakekalling av endring.

Unngått: Hadde vært unngått om Debian-utviklere kontaktet OpenSSL-utviklere eller ikke rørte kode de ikke forstod.

 

2014-02-21 - Apples SSL/TLS-bug (CVE-2014-1266)

Apples utviklere har gjort en tabbe i sitt Secure Transport-bibliotek som gjør det sårbart for man-in-the-middle-angrep.

Årsak: En feilrutine ble kjørt uten feilkode som resulterte at ugyldige sertifikater ble godkjent. Dette er egentlig to feil; feil i feilhåndtering og feil bruk av feilhåndteringsrutinen.

Fiks: Apple kaller kun feilrutinen med feilkode. Men feilen i feilhåndteringsrutinen er der fremdeles.

Unngått: Hadde vært ungått av enkel funksjonstest av rutiner.

 

2014-03-03 - GNU/TLS (CVE-2014-0092)

Red Hat fant en lignende men urelatert bug i GnuTLS under en gjennomgang av koden. Ugyldige sertifikater kan slippe gjennom.

Årsak: En feil i feilhåndtering som slipper gjennom utgyldige sertifikater.

Fiks: Forbedret feilhåndtering.

Unngått: Hadde vært ungått av enkel funksjonstest av rutiner.

 

2014-04-01 "Heartbleed" (CVE-2014-0160)

OpenSSL kan manipuleres til å lekke små mengder tilfeldig data, hvis primærnøkkel skaffes og noen har fysisk tilgang til trafikk kan dette misbrukes ennå mer.

Årsak: En manglende lengdesjekk på en buffer medfører lekkasje av etterfølgende data.

Medvirkende:

- OpenSSL har egne implementasjoner av minneallokering med feil.

- Koden er svært rotete og vanskelig å vedlikeholde.

- Utviklerteamet er svært lite og har for stor tro på egne ferdigheter.

Fiks: Legge til sjekk for bufferlengde.

Unngått: Enkel kvalitetskontroll på lesbar kode hadde hindret dette.

Notis: Heartbleed-fokuset har også avdekket andre allokeringsfeil i OpenSSL, hvor data blir frigjort, allokert på nytt og deretter brukt.

 

For den som er spesielt interessert:

En lang liste over OpenSSL-bugs

En lang nok liste over GnuTLS-bugs

 

Hensikten med å nevne slike feil er å understreke at alle de overnevnte feilene skyldes amatørfeil som lett kunne vært unngått. Dårlig kodepraksis og arrogante holdninger blant utviklere har skyld i desse og langt flere problemer. Dette er tross alt ikke snakk om feil som er nesten umulig å finne. Dersom midlene til Core Infrastructure Initiative brukes fornuftig kan de fange opp svært mange av slike feil.

 

Utover dette så kan som kjent systemadministratorer gjøre tiltak for å fange opp mulige feil. Noe så enkelt som rate-limiting og varsling vil kunne oppdage systematiske avvik i normale trafikkmønster, som ved nærmere undersøkelser kan avdekke feil som er kjent av kriminelle men ikke offentligheten.

 

For den som lurer, så kunne faktisk feil som "Heartbleed" og andre ukjente feil blitt oppdaget på andre vis også. Hvis f.eks. Google bestemte seg for å duplisere 1% av sin Gmail-trafikk til en egen server som kun sammenligner autentisering gjennom to-tre ulike SSL-implementasjoner så ville de blitt varslet dersom noen prøver å utnytte feil i én implementasjon. Med et slikt oppsett ville de raskt fanget opp dersom noen sender tusenvis av heartbleed-lignende pakker, selv om dette skulle skje over lang tid.

  • Liker 2
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...