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

16/10/2014

SSL tocat i afonat

Hoy despedimos a SSL. El último clavo necesario para la tapa de su ataúd fue amartillado por tres investigadores a nómina de Google. No tuvo una existencia fácil. Ya desde su nacimiento demostró una debilidad que le auguraba un porvenir lleno de complicaciones.

Risc: Crític

La primera versió ni tan sols va veure la llum, es va quedar en la morgue de Netscape. Els seus creadors, que al poc van presentar la versió 2.0 al públic, van veure com l’escrutini de la comunitat va deixar en evidència al protocol amb una llista d’errors de seguretat que minvava la confiança en la seua criatura. En 1996 es publicava la versió definitiva d'SSL, la tercera. A la tercera va la vençuda. I vençuda va ser.

En realitat, SSL ha sobreviscut als nostres dies com un reducte del passat. En 1999 es publicava la versió 1.0 de TLS. No era un protocol que es diferenciara tècnicament d'SSL. Si llegim l'RFC corresponent, veiem que inclús es reflectix en la seua justificació "Les diferències entre TLS 1.0 i SSL 3.0 no són dramàtiques, però prou raonables perquè no interoperen entre ells". El missatge era que TLS no seria un SSL 4.0.

SSL ha anat suportant els distints colps en forma de BEAST, CRIME, etc. Però amb este últim colp, POODLE (GOOGLE?), ja no hi ha remei possible, contramesura o unguentum armarium sobre el qual prolongar la vida d'SSL. Es van acabar les excuses.

POODLE (Padding Oracle On Downgraded Legacy Encryption) basa el seu atac sobre el mode CBC (xifrat per blocs) el que fa que este mode siga vulnerable a un atac variant de Padding Oracle. L’alternativa a CBC és usar un xifrat per flux, RC4, però este últim ja va ser condemnat al desterrament. Al març de 2013 es va publicar un atac que permetia recuperar components d’un missatge xifrat amb RC4 si estos components es repetien amb una certa freqüència. Pensem en una galeta de sessió dins d’un missatge HTTP.

Aleshores, Poodle destruirà Internet?
No, igual que Heartbleed, Shellshock o altres, tampoc va a succeir res d'extraordinari. Simplement s’ha de deshabilitar, sempre que es puga, SSL i si s’usa TLS impedir que s’efectue una renegociació cap a SSL si ambdós parts, client i servidor, suporten TLS.

A hores d’ara, en realitat quasi totes les connexions a llocs "coneguts" o la gran majoria de servidors i clients s’efectuen en TLS. Ara depén dels actuals sistemes o programari suportar una versió o una altra de TLS. SSL, en percentatges, no és un protocol molt usat, però està ací, latent, suportat i preparat per a actuar quan ambdós parts no es posen d’acord amb TLS. I eixe és el problema que els investigadors proposen com a cas d’ús de la vulnerabilitat.

En la pràctica
Imaginem una xarxa local, una víctima, els seus secrets més cobejats i un atacant. La víctima es connecta al seu banc, l’atacant efectua un home en el mig, es fica en la conversació del client amb el banc i decidix "destorbar" prou com perquè el navegador de la víctima i el servidor del banc es cansen de negociar quina versió de TLS, i amb l’embolic acaben usant SSL.

Ara que s’està usant CBC com xifrat, degut entre altres coses perquè en una auditoria al banc li van dir que s’abstinguera de suportar RC4, l’atacant només ha de capturar una bona quantitat de paquets perquè per mitjà d’una anàlisi comence a obtindre "peces" d’eixa conversació privada i faça xixines la privacitat.

Deixem de suportar SSL ja?
Sens dubte ho farem. Però serà un acomiadamentagònic. No podem tallar les amarres i donar la veu d’avant a màquines hui mateix. Fins i tot hi ha un nonbre gen menyspreable de servidors i clients obsolets que s’arrosseguen pels foscos carrerons d’Internet que no coneixen un altre protocol que SSL.

Com a mesura, l’única cosa que podem fer és evitar que TLS es taque les mans i permeta veure’s degradat a un empestat SSL. És a dir, evitar l’escenari que comentàvem anteriorment. Per a això disponemos d’una opció que evita que innecessàriament, a clients i servidors que suporten TLS, s’use SSL en el seu lloc. De esta forma, encara que un tercer estiga interceptant les comunicacions i ficant soroll en el canal no s’acabe usant SSL.

L'opció en qüestió es denomina  TLS_FALLBACK_SCSV, documentada ací. En principi evitaria que en les negociacions i renegociacions de sessió segura es canvie de TLS a SSL. Això per als servidors que tinguem funcionant; dels clients, ja s’estan encarregant els fabricants (es pot verificar en esta web si el navegador és vulnerable ) Per exemple, Chrome implementa esta opció des de febrer d’enguany. Almenys val més això que res.

I tu, TLS, com vas de claus?

Sistemes Afectats:

Todos los sistemas que soporten el protocolo SSL 3.0.

Referències:

None

Solució:

Deshabilitar SSL 3.0 o cifradores en modo CBC con SSL 3.0, aunque se recomienda habilitar TLS_FALLBACK_SCSV para evitar problemas de compatibilidad.

Notes:

This POODLE Bites: Exploiting The SSL3.0 Fallback
This POODLE bites: exploiting the SSL 3.0 fallback
POODLE Test
Vulnerabilidad en el protocolo SSL 3.0 (POODLE)

Font: Hispasec una-al-día

CSIRT-CV