Y vuelta a la carga. Ayer leí en The Register la noticia sobre una nueva vulnerabilidad en OpenSSL.
Resumiendo mucho (muuuuuuuuucho), se trata básicamente de un ataque lateral en el que, mediante la inyección de fluctuaciones de alimentación eléctrica, provocan situaciones «rarunas» en el procesador durante los cálculos del algoritmo. Si alguien está interesado en saber más sobre este tipo de ataques, que escarbe un poco por el blog de Eloi, que de esto sabe un rato largo.
Mientras lo leía, estaba pensando en las dificultades de llevar a la práctica este tipo de ataques contra un servidor real. No sólo necesitas acceso físico, sino acceso libre a los componentes electrónicos del hardware, y mucho tiempo. No obstante, los investigadores se han tirado inyectando fallos durante 104 horas para obtener una clave de 1024 bits…
Pues bien, como me esperaba, no ha tardado en desatarse nuevamente el sensacionalismo. En menéame podemos leer que «logran romper cifrado RSA de 1024 bits«. ¡Toma ya! Y sin vaselina. Consultando la fuente (me niego a enlazarla; si alguien le interesa, está en la entrada de menéame), podemos leer perlas como las siguientes:
- «Esto se logró variando los niveles de tensión enviados al destinatario para generar cifrados defectuoso«. ¿Variando los niveles de tensión enviados al destinatario? Dicho así, cualquiera pensaría que cambian una codificación Manchester por Manchester diferencial. Los investigadores, en realidad, inducen fluctuaciones en la fuente de alimentación. No se envía nada.
- «The university scientists found that they could deduce tiny pieces of a private key by injecting slight fluctuations in a device’s power supply as it was processing encrypted messages«.
- «Esto hace tambalear uno de los pilares del RSA«. ¡Arrepentíos!
- «An OpenSSL official […] stressed the attack is difficult to carry out in real-world settings«.
- «Se espera que se realicen cambios en la aplicación de RSA en poco tiempo». Difícilmente van a cambiar RSA, amigüito. Sí van a parchear OpenSSL, pues parece que es relativamente fácil hacer más resistente el software a este tipo de ataques, añadiendo sal.
- «An OpenSSL official, who asked that his name not be published, said engineers are in the process of pushing out a patch«.
¿Entonces es peligroso? Pues depende…
«This is probably not as much of a threat to a server system as it is to a consumer device,» said Todd Austin, one of the scientists who devised the attack. «The place where this would be more applicable would be if you want to attack a Blu-ray player (where) you have an environment where someone is giving you a device that has a private key to protect intellectual property and you have physical access to the device.»
En fin, que otra vez lo mismo. Cuando leo algo, prefiero leerlo con calma y analizar las implicaciones reales. Y si no lo entiendo, pregunto a alguien que sepa más o busco opinión de expertos (como Eloi). Pero parece que es más productivo lanzarse a la piscina y vaticinar -una vez más- el fin del mundo criptográfico.
Joder, y luego que somos unos putos frikis, pero esto ya roza lo irreal…
Aunque siempre hay gente que dice: «para que voy a proteger mi sistema, como no me quieran ver las fotos del sabado», que tampoco es, pero esto ya me parece que es pasarse.
En fin, faaaaaaaaaaaiiiiiiiiiiilllllllllll
Gracias por lo de experto ;)
Tal y como dices, estos ataques ante un servidor sirven de mas bien poco.
Lo unico que anyadiria es que es mas que posible que algunos dispositivos tipo consolas, set top boxes para Pay TV o similares utilicen implementaciones basadas en OpenSSL y sin protecciones ante este tipo de ataques.
Ahi, el usuario del sistema es el atacante interesado en obtener la clave para saltarse las restricciones. En ese caso, el propio usuario controla todo el entorno del dispositivo: alimentacion, lineas de reloj, etcetera y seria factible realizar este tipo de cosas.
En un servidor es mucho mas peligroso un timing attack a OpenSSL desde la red (ha habido varias publicaciones al respecto) que una inyeccion de fallos.
Un saludete!
PD: Siento las enyes y los acentos, ando con teclado en ingles.
Estoy melon, no habia leido la parte final del post y la he repetido jajaja
Sorry!
Eso me parecía… :P