OpenSSL Heartbleed dag två

broken-heartbleedDet har nu gått över två dagar sedan nyheten släpptes om sårbarheten i , som går under namnet Heartbleed. Det börjar bli dags att sammanfatta samt dra några slutsatser om sårbarheten.

OpenSSL is not developed by a responsible team.

– Theo de Raadt (Källa)

  • Huruvida privata nycklar kan läckas är ännu oklart men för att vara på den säkra sidan så bör nya certifikat utfärdas och privata nycklar skapas.
  • Det har verifierats att åtminstone på FreeBSD så går det att få ut privata nycklar. Uppdatering: Om systemet nyligen startats. Källa
  • Sessionsnycklar dvs cookies är lätt att exfiltrera via .
  • Nätverkstrafik bör sparas ner i en cyklisk buffer (FIFO) för att ges möjlighet att gå tillbaka och se om sårbarheten nyttjas. Hur lång tid tillbaka begänsas av lagringsutrymmet. Även bra för att se vad som företaget eller organisationen blivit av med. Uppdatering: Så klart ej möjligt att se vad för data som exfiltrerats om du använder PFS som Jimmy Bergman påpekar i en kommentar.
  • Regler till IDS:er finns ut såsom Snort.
  • Finns även en Heartbleed Honeypot.
  • Stora drakarna såsom Google, Twitter och Facebook var ute tidigt och patchade mycket snabbt.
  • Några hundra av Internets topp 1000 största sajter är fortfarande sårbara.
  • Röster höjs över att C är ett skräpspråk som tillåter detta fel. Varför inte skriva om allt i Go, Python eller [sätt in valfritt språk här]?
  • Byta lösenord kan vara bra om du loggat in på någon https-tjänst de senaste dagarna.
  • OpenSSL finns inbakat i en hel del hårdvara som ännu ej uppdaterats.
  • Anonymiseringsnätverket Tor såg tidigt att antagonister försökte nyttja svagheten.
  • Prioriteringarna hos de som släppte informationen kan frågasättas. Exempelvis varför domänregistrering av heartbleed.com, skapande av logotyp etc kom före att informera mjukvaru-utvecklare.
  • Diversering bland mjukvaror är bra. Läs Dan Geers rapport om monoculture.
  • Det finns oneliners, script till och Nmap samt modul till för att nyttja sårbarheten.
  • Flertalet tjänster gör det säkra före det osäkra och stänger helt ner tills de patchat och bytt nycklar. Exempelvis Mojang/Minecraft.
  • Många skiter i att eventuella privata nycklar röjts, exempelvis Swedbank. Uppdatering: De var troligtvis aldrig sårbara i första hand.
  • Buggen introducerades Sun, 1 Jan 2012 00:59:57 +0200 (22:59 +0000), se git.
  • Använd tvåfaktorsautentisering och Perfect Forward Secrecy (PFS).
  • Revokera nuvarande certifikat.

 

 

Finns säkert en hel till. Lämna gärna en kommentar nedan. Och avslutar med följande bild:

Heartbleed honeypot

5 comments

  1. Pingback: Heartbleed CVE-2014-0160 | Kryptering
  2. Trackback: TkJ.se - Allt om datorer & Internet
  3. Jimmy Bergman

    Ok, så du föreslår alltså att man ska:
    1. Använda Perfect Forward Secrecy (PFS)

    2. Jag antar att du då också menar att man ska byta session key regelbundet, så att röjda privata nycklar inte ska kunna användas för att dekryptera gamla sessioner.

    3. Nätverkstrafik (förtydligen: alltså trafik krypterad med en sessionsnyckel som förhoppningsvis inte längre är känd) bör sparas ner i en cyklisk buffer (FIFO) för att ges möjlighet att gå tillbaka och se om sårbarheten nyttjas.

    Du får nog välja två av dessa tre, de är inte kompatibla. :-)

    Iaf inte om du inte menar att folk bör spara sessionsnycklar för alltid, men det tror jag inte – för det tar liksom bort nästan hela vitsen med PFS.

  4. admin

    Förstår inte riktigt hur du menar. 1-2 är samma som du skriver. Tre har inget med 1-2 att göra, och genom att spara nätverkstrafik så sparar du förhoppningsvis ej sessionsnycklar.

  5. Jimmy Bergman

    Du kan inte gå tillbaka i sparad krypterad trafik och kolla om en sårbarhet nyttjas om du inte sparar sessionsnycklarna. Anledningen till att du använder PFS är just detta, att man inte ska kunna dekryptera gamla sessioner även om du vet den privata nyckeln som användes för att generera (nu glömda) sessionsnycklar.

Skriv en kommentar

Du kan använda följande HTML HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>