CSIRTCV

Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es

10/04/2014

Heartbleed i el caos de seguretat en Internet

Imagen de Heartbleed Des que es va publicar l’error d’Heartbleed ha sigut un dia dur en Eleven Paths, com en moltes altres companyies d’Internet per a aconseguir tindre els sistemes actualitzats sense patir interrupcions de servici, per a això va caldre tensar els procediments d’emergència i treballar moltes hores i amb intensitat.

Si no vos heu assabentat encara d’este error, intentaré fer-vos entendre la seua magnitud perquè prengueu les mesures de seguretat.

On es troba l’error d’HeartBleed?

L’error es troba en una de les implementacions més populars de SSL, la capa de xifratge i autenticitat que dóna seguretat a molts dels protocols d’Internet, com són HTTP, FTP, SSTP, o molts altres. Segons Shodan hi ha més de 5 milions de servidors que tenen instal·lat OpenSSL exposat a Internet encara que només una part d’estos tenen alguna versió vulnerable, que com sabeu ja és la 1.0.1.

En concret, l’error es troba en la implementació que fa esta capa de xifratge del "batec del cor" o HeartBeat, que s’usa per a mantindre la sessió SSL activa després del "salutació de mans" o Handshake. El funcionament si voleu una explicació detallada, la teniu en el llibre de Xifratge de les comunicacions digitals, però diguem que quan un client vol establir una sessió segura usant SSL amb un servidor, la primera cosa que fa és negociar una clau de xifratge simètric amb el servidor que li permeta enviar tota la informació de forma segura.

Perquè eixa clau de xifratge simètric s’intercanvie de forma segura s’usa un negociació, anomenada HandShake, per a la qual cosa s’usa el certificat digital i les claus PKI que té configurades el servidor. És a dir, el servidor compta amb la seua clau privada i la seua clau pública per a firmar les comunicacions i realitzar processos de xifratge asimètric. Com sabeu, la gràcia de PKI és que el que es xifra amb la clau pública només pot ser desxifrat amb la clau privada. Per això el servidor envia la seua clau pública al client i este usarà la clau pública per a xifrar la informació que enviarà al servidor, la qual cosa garantix que encara que algú intercepte la comunicació no podrà desxifrar-la si no té la clau privada.

Una vegada que el client ja té la clau pública del servidor per a xifrar les comunicacions ja passa a negociar la clau de xifratge simètric, usant diferents possibles esquemes en funció de les característiques que tinguen servidor i client. Este procés permetrà al client generar una clau simètrica i comunicar-se amb el servidor de forma segura cosa que conclou amb el fet que tant servidor com client coneixen la clau simètrica de xifratge que s’usarà en eixa sessió sense que ningú haja pogut interceptar-la.

A partir d’eixe moment es començaran a transmetre les dades del protocol d’aplicació que s’estiga protegint, que serà HTTP, Telnet, FTP o els protocolosVPN en la xarxa privada virtual, tot això xifrat sempre amb la clau simètrica negociada.

Com este procés de salutació és costós computacionalment, es va crear el "batec del cor" o HeartBeat, que permet al client dir-li al servidor "no tanques la sessió i forces una altra salutació, que continue treballant amb tu en esta sessió". Per a això en SSLv3 s’envia una estructura de dades TLS1_HB_REQUEST de 4 bytes en on hi ha una càrrega útil d’1 byte que permet dir quina grandària té el missatge d’HeartBeat, a la qual el servidor respon amb un missatge TLS1_HB_RESPONSE que es compon a partir del missatge original.

Per a ampliar esta notícia podeu visitar el següent enllaç.

Font: El lado del mal

CSIRT-CV