El teu blog de Linux en català

De com una línia de codi embolica la troca de valent

Què ha passat amb Debian i OpenSSL? OpenSSL serveix, entre d’altres coses, per generar contrasenyes. Per això, és necessari que el programa sigui capaç de generar nombres aleatoris que difícilment es puguin preveure. Es tracta que sigui complicat que, aplicant algorismes i mètodes matemàtics, algú pugui descobrir la forma de trobar una contrasenya.

El que ha passat és que una de les eines que ajuda als programadors a programar (els depuradors o debuggers, permeten trobar errors) es queixava per aquesta línia de codi: MD_Update(&m,buf,j);. Per això, els encarregats del codi font d’OpenSSL la van eliminar. I, en eliminar aquesta línia, el que s’ha produït és que totes les claus generades des de setembre de 2006 poden ser descobertes per gent malintencionada, aprofitant l’existència d’aquest forat de seguretat per crear eines que els permetin fer-ho. De fet aquesta eina ja ha estat creada i s’ha demostrat molt eficaç.

Qui ho va eliminar va ser la persona que s’encarrega de fer el paquet per a Debian, no els programadors originals d’OpenSSL, i és per això que l’error només afecta a sistemes operatius Debian i derivats, entre ells Ubuntu. De tota manera, cal dir que el responsable de la catàstrofe va actuar amb les espatlles cobertes. I és que, abans d’eliminar la línia en qüestió, va preguntar als programadors d’OpenSSL què passaria si ho feia:

Kurt Roeckx (encarregat del paquet de Debian):

No tinc ni idea de com afectarà això realment a la generació aleatòria de nombres.

Ulf Möller (programador d’OpenSSL):

No afectarà massa. Si això ajuda a la depuració, estic a favor d’eliminar-la.

Aquesta conversa va tenir lloc el maig de 2006. El setembre de 2006, es publica a Debian el paquet OpenSSL amb la línia de marres ja eliminada. I no és fins la semana passada que Luciano Bello descobreix l’error, avisa a Debian i es publica l’alerta de seguretat i la notícia comença a passar de bloc en bloc. En parlen en Xavier Caballé o Kriptópolis, per exemple.

Queda demostrat: una sola línia de codi pot embolicar la troca de valent.

    • Aljullu on 20 de maig de 2008 at 14:35

    Reply

    Per fi una explicació que tothom pot entendre. Mercès per l’article!

  1. Reply

    M’alegro que t’hagi semblat esclaridora l’explicació, Aljullu. Mercès a tu per llegir-la i pel comentari 😉

    • Josep Ma. Ferrer on 20 de maig de 2008 at 22:08

    Reply

    El problema més greu és que les claus generades amb la versió problemàtica del SSL de Debian estan escampades per servidors i altres màquines (amb altres sistemes operatius). Per tant, aquestes màquines ara són més vulnerables perquè pots entrar-hi amb una clau dèbil generada amb el paquet SSL erroni de Debian.

  2. Reply

    Exactement, Josep Ma. Ferrer, el text només explica què causa tot l’enrenou. Una de les pitjor conseqüències és aquesta, que les claus estan escampades arreu!

Deixa un comentari

Your email address will not be published.