Taggad: openssl

Akamais patch till OpenSSL

Akamai-logoSom vi skrev om i går så släppte Akamai en patch till OpenSSL som gör att de skyddsvärda p q och d delen av den privata nyckeln skyddas med hjälp av dess secure_malloc().

Dock så innehåller denna patch ett antal olika fel som Willem Pinckaers påpekar. Bland annat så skyddas ej parametrarna för den kinesiska restsatsen. Samt så innehåller minnet fortfarande p q och d parametrarna:

Start the server, do one SSL request to it. Dump all memory, search for p/q/d and CRT parameters. You will find one copy of p,q, and d in the secure area. Outside of the 'secure' area you will find p,q, and the CRT parameters.

Du kan läsa Willems samtliga synpunkter på patchen i följande dokument:

Eller läsa ytterligare diskussion på HackerNews.

Heartbleed dag sex

broken-heartbleedYtterligare ett antal dagar har nu passerat sedan OpenSSL-buggen Heartbleed offentliggjordes och det är dags att göra ett antal till reflektioner.

Det har visat sig att buggen går att nyttja till att erhålla den privata nyckeln, framförallt via Hearbleed Challenge.

The bad news is that [discovery] changes our recommendation from: reissue and revoke as a medium priority to reissue and revoke as a high priority.

Skrev Matthew Prince, CEO på CloudFlare till Ars Technica.

Akamai har släppt en patch för att säkra upp minnesallokeringen i OpenSSL. Deras implementation går under namnet secure_malloc (OpenSSL använder sig av OPENSSL_malloc). Läs även mer här av Alex Clemmer.

Även oklart huruvida denna sårbarhet nyttjas innan den blev offentligt känd. EFF hävdar dock att så är fallet och har bevis på detta.

Bra saker som händer efter Heartbleed

OpenSSL får mer donationer som går att granska kodbasen samt så kontrollerar generellt fler ögon OpenSSL efter buggar.

Revokeringen av certifikat ses över då exempelvis Chrome har revokeringskontroll avstängt som standard.

Forward-secrecy eller PFS som det också kallas blir mer använt.

Uppdatering: Bra blogginlägg av Einar Otto Stangvik om hur han gick till väga för att hitta den privata nyckeln.

OpenSSL Heartbleed dag två

broken-heartbleedDet har nu gått över två dagar sedan nyheten släpptes om sårbarheten i OpenSSL, 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 Heartbleed.
  • 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 Nessus och Nmap samt modul till Metasploit 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

.SE:s Internetfonden finansierar tre kryptoprojekt

I år delar .SE:s Internetfonden ut 12 miljoner kronor till fristående, icke-kommersiella projekt som verkar för en positiv utveckling av Internet i Sverige. I den senaste ansökningsomgången fick 14 projekt dela på nästan 2,8 miljoner kronor.

Sedan starten av Internetfonden år 2004 har över 150 projekt finansierats och i år får 14 projekt dela på nästan 2,8 miljoner kronor.

Av årets projekt så hittade vi tre stycken som ser att direkt vara relevant för Kryptera.se:s läsare:

Better-Than-Nothing-Security

Michael Cardell Widerkrantz, Malmö

BTNS är teknik för att på IP-nivå automatiskt kryptera, skydda integritet och garantera att vi fortfarande kommunicerar med samma motpart.

Beviljad summa: 200 000 kronor
Hemsida: http://hack.org/mc/hacks/btns/

Transparent e-postkryptering

Björn Påhlsson, Malmö

Beskrivning av projektet: Underlätta användningen av krypterad e-post genom att skapa ett automatiskt system som kan hantera kryptering av e-post utan slutanvändarens inblandning.

Beviljad summa: 70 000 kronor

Forskningsuppdrag om DANE för OpenSSL

Chalmers Tekniska Högskola AB, Göteborg

Beskrivning av projektet: Implementering av krypterad säkerhet i OpenSSL så att det kan användas både i existerande programvaror och med tiden inlemmas i OpenSSL för att öka säkerheten på Internet.

Beviljad summa: 260 000 kronor

Mer information om Internetfonden:
www.internetfonden.se

Uppdatering: Fixat ett fel gällande BTNS.

Allvarlig sårbarhet identifierad i OpenSSL

Tavis Ormandy som jobbar på Google med säkerhet har identifierat en allvarlig säkerhetsbrist i OpenSSL-funktionen asn1_d2i_read_bio. Som funktionsnamnet antyder så används den för läsning av ASN1-information, och inte konstigt att sårbarheter identifieras i denna typ av funktioner då standarden är en vildvuxen skog.

Enligt den säkerhetsnotis (se nedan) som skickats ut så är SSL/TLS-implementationer ej sårbara men det finns en viss chans att någon implementation använder sig av d2i_X509_bio och kan då vara sårbar.

OpenSSL-teamet vädjar till uppgradering till versionerna 1.0.1a, 1.0.0i eller 0.9.8v.

Källa: https://openssl.org/news/secadv_20120419.txt

Sårbarhet i OpenSSL:s ECDSA-implementation

En ny tidsattack (timing attack) har uppdagats i OpenSSL:s implementation av Elliptic Curve Digital Signature Algorithm (ECDSA). Med hjälp av denna attack så är det möjligt att läsa ut den privata nyckeln via exempelvis protokollet TLS. Sårbarheten hittades av Billy Bob Brumley och Nicola Tuveri:

”For over two decades, timing attacks have been an active area of research within applied cryptography. These attacks exploit cryptosystem or protocol implementations that do not run in constant time. When implementing an elliptic curve cryptosystem that provides side-channel resistance, the scalar multiplication routine is a critical component. In such instances, one attractive method often suggested in the literature is Montgomery’s ladder that performs a fixed sequence of curve and field operations.

This paper describes a timing attack vulnerability in OpenSSL’s ladder implementation for curves over binary fields. We use this vulnerability to steal the private key of a TLS server where the server authenticates with ECDSA signatures. Using the timing of the exchanged messages, the messages themselves, and the signatures, we mount a lattice attack that recovers the private key.”

Läs även:

Remote Timing Attacks are Still Practical:
http://eprint.iacr.org/2011/232.pdf

Ny version av OpenSSL

OpenSSL är ett av världens mest använda krypteringsbibliotek och finns inbyggt i allt från satelliter till bilar och tv-spelskonsoller. Nu har det kommit en uppdatering som får versionsnummer 0.9.8o samt 1.0.0a som åtgärdar ett antal säkerhetsbrister men även innehåller ett antal nya funktioner:

  • Stöd för TLS v1.1
  • Fixar för två säkerhetsbrister, se mer nedan.
  • Stöd för CMAC

Säkerhetbristerna är enligt följande:

CMS structures containing OriginatorInfo are mishandled this can write to invalid memory addresses or free up memory twice.

When verification recovery fails for RSA keys an uninitialised buffer with an undefined length is returned instead of an error code.

Mer information finns som vanligt på OpenSSL.org

OpenSSL version 1.0.0 är nu ute

Nu kommer äntligen OpenSSL i en version ett-utgåva. Detta betyder troligtvis att alla år av utveckling nu gett resultat och utvecklarna känner att OpenSSL håller en hög kvalité nog att släppa en version 1.

o RFC3280 path validation: sufficient to process PKITS tests.
o Integrated support for PVK files and keyblobs.
o Change default private key format to PKCS#8.
o CMS support: able to process all examples in RFC4134
o Streaming ASN1 encode support for PKCS#7 and CMS.
o Multiple signer and signer add support for PKCS#7 and CMS.
o ASN1 printing support.
o Whirlpool hash algorithm added.
o RFC3161 time stamp support.
o New generalised public key API supporting ENGINE based algorithms.
o New generalised public key API utilities.
o New ENGINE supporting GOST algorithms.
o SSL/TLS GOST ciphersuite support.
o PKCS#7 and CMS GOST support.
o RFC4279 PSK ciphersuite support.
o Supported points format extension for ECC ciphersuites.
o ecdsa-with-SHA224/256/384/512 signature types.
o dsa-with-SHA224 and dsa-with-SHA256 signature types.
o Opaque PRF Input TLS extension support.
o Updated time routines to avoid OS limitations.

OpenSSL hittas som vanligt här: http://openssl.org/