miércoles, 21 de mayo de 2008

Pandemonium Debian



Mucho se ha escrito sobre el reciente bug en el OpenSSL, que afectan las distribuciones Debian y sus derivados, descubierto por Luciano Bello (un desarrollador de Debian autóctono), bug que ha tomado la dimensión de cuasi desastre por las consecuencias derivadas de éste.
No es mi intención profundizar en detalles, soluciones y consecuencias del mismo. Mucho se ha escrito ya en la web y para buscar esto, nada mejor que San Google que todo lo encuentra.




Lo que si me llamó mucho la atención y me motivó a este posteo son unos comentarios que escribió un lector anónimo en el blog de Luciano, haciendo referencia a un posteo del mismo Bello sobre lo acontecido con el OpenSSL.
Realmente sin desperdicio. Léanlo y saquen sus propias conclusiones...

Aqui va:


Fuente: http://lbello.livejournal.com/52684.html

gracias y comentarios sobre debian
(Anónimo)
2008-05-14 04:14 am UTC
Gracias Luciano por el dato y felicitaciones, un orgullo que sea argentino el que contribuyo alertando este problema.

Quiero expresar algunos comentarios sobre este incidente, por favor no interpretar como que quiero hacer lena del arbol caido...

Leyendo el infaltable post de slashdot sobre este tema [1] mi sensacion fue de estar viviendo algo irreal ....

Yo, que me considero un programador de cuarta, antes de comentar/eliminar cualquier codigo:

i) analizo cuidadosamente quien y como usa cada una de las variables a eliminar

ii) corro rigurosos tests que yo le llamo de "continuidad de normalidad" ... es decir, que todo el codigo afectado por la modificacion se siga comportando como lo hacia antes

Y me falta algo que no hago pero que deberia hacer: que alguien mas revise lo que hice para tener una segunda( si fuera tercera, cuarta mejor ! ) opinion.

Yo, repito , que soy un "aprendiz" en comparacion a los programadores que hay en el mundo hago esto y hoy me entero que Kurt Roeckx, el "encargado de paquete", de ni mas ni menos que openssl hace dos cambios al fuente md_rand.c , a saber:

i) comenta intencionalmente una linea de codigo con el objeto de que un debuggeador ( valgring ) no se "queje" , pero con el efecto secundario ( sabido por Kurt ) de que se disminuira la entropia en la generacion de claves criptograficas.

Me pregunto. Como puede ser que una persona decida tan facilmente que debian va a generar de golpe y porrazo claves criptograficas con menos entropia que las demas distribuciones linux? Como puede ser que la mayoria de los usuarios de Debian ni se hayan enterado de tamano cambio de comportamiento en un paquete tan pervasivo.

ii) comenta ( quiero creer inintencionalmente ) otra linea de codigo que tiene el efecto secundario de desactivar completamente la incorporacion de entropia efectiva a la generacion de claves criptograficas en openssl

Y no puedo dejar de preguntar: como puede ser que la reputacion, imagen e historia de una distribucion tan buena como Debian quede en las manos de una sola persona, que como todas puede cometer errores ( aun errores de programador amateur como estos ) ?

Leyendo el bug que motivo este desafortunado patch, no veo en ningun momento que el equipo debian de openssl haya "consensuado" el cambio , porque se commiteo el patch entonces ?

En el mismo sentido a lo que dijiste en tu post, creo que esto debe servir para que Debian incorpore politicas de testeo de codigo y auditorias tipo "peer review", por lo menos en paquetes delicados y pervasivos como estos.

Un saludo desde cordoba

Orlando

[1] http://it.slashdot.org/article.pl?sid=08/05/13/1533212&from=rss


Re: gracias y comentarios sobre debian
lbello
2008-05-14 05:39 pm UTC
El problema no surge de los regression test. El bug original por las que aquellas lineas fueron comentadas es público, y el mantenedor preguntó en la lista de desarrolladores de OpenSSL sobre el tema y tuvo una respuesta ambigua.

El error no fue evidente y estuvo durante 2 años. A diferencia de lo que ocurre en RL, puede pasar que errores sencillos en cuanto a lineas pero no-triviales en cuanto a sus efectos lleven a catástrofes.

Debian tiene un compromiso con los usuario de no ocultar los problemas y, una vez más, cumplió. Los errores ocurren y lo importante es reaccionar bien ante ellos. Como submitter del problema, puedo decir que el proceso fue realmente corto y expeditivo. Eso habla muy bien de esta excelente distribución.

Un consejo, si no sos un gran programador (e incluso si lo fueses), no deberías tratar de "aprendices" a las personas. Es solo mi opinión.


Re: gracias y comentarios sobre debian
(Anónimo)
2008-05-15 12:37 pm UTC

[[ post en dos partes, parte 1 /2 ]]

>El problema no surge de los regression test.

no me referia especificamente a un regression test. Me explico: si estas tocando el codigo que afecta el RNG y ademas *sabes* que estas tocando codigo que puede afectar la entropia en dicha generacion ( Kurt lo sabia ) o como cualquier toque puede meter algun efecto secundario no deseado ( esto, cualquier programador con experiencia lo sabe , el codigo es "traicionero" ;-), *tenes* que correr un test que asegure que el RNG *sique* funcionando igual que antes. Kurt no lo hizo.

Un test podria haber sido el siguiente ( extraido de http://mag.entropy.be/blog/2008/05/13/how-badly-debianubunutu-openssl-is-fscked-up ):

for i in `seq 100000`; do openssl rand -base64 40 >> test; done

$ wc -l test; cat test | sort| uniq -c | sort | tail

En debian no parchado ese tail final te muestra una cantidad grande de claves repetidas

>El bug original

AFAIK no habia ningun "bug" en md_rand.c . Solamente una asignacion de memoria no inicializada *intencional* y ademas comentada con un #ifdef PURIFY para permitir compilar sin esa asignacion para satisfacer debuggeadores quejosos. Una de las respuestas en la lista openssl-dev a Kurt fue clara al respecto

"There's your first clue, build with -DPURIFY :-)

Cheers,
Geoff [Thorpe] " ( http://marc.info/?l=openssl-dev&m=114654760312453&w=2 )

>y el mantenedor preguntó en la lista de desarrolladores de OpenSSL
>sobre el tema y tuvo una respuesta ambigua.

veo dos problemas aca, ambos graves:

i) el mantenedor debian de openssl pregunta y admite en una lista publica que no sabe que efecto va a causar comentar esas lineas ( "But I have no idea what effect this really has on the RNG" ). Mi respuesta para Kurt es: si no sabes analizar el codigo de openssl, *no toques* mas codigo openssl, el riesgo es demasiado grande. Deja a los upstream hacer este tipo de modificaciones, que se supone que ellos si saben.

ii) tal como vos decis, Kurt recibio una respuesta "ambigua" en openssl-dev, por lo tanto _con mas razon_ no deberia haber committeado ningun cambio y asegurar un total consenso, pre-analisis de impacto y peer review de un cambio tan importante

( me hace acordar de una pelicula "Carlito Way", donde el personaje que hacia Sean Penn era instado por Al Pacino en joda a prepear a unos mafiosos y Sean Penn se lo cree en serio y sale a prepearlos y casi lo matan ... es una conducta tipo exceso-de-cafeina-y-confianza-en-uno-mismo muy peligrosa ... salvando las distancias y valga la analogia )


>El error no fue evidente

porque la correccion no fue evidente ... este tipo de correcciones *tienen* que ser evidentes . Como sabras, no todos las modificaciones de codigo provocan problemas evidentes ... como decis mas adelante hay bugs muy oscuros provocados por cambios "sencillos"; justamente este tipo de errores es mas facil prevenirlos analizando cuidadosamente lo que se modifica, haciendo tests, consensuando los cambios y peer reviewing


Re: gracias y comentarios sobre debian
(Anónimo)
2008-05-15 12:37 pm UTC

[[ post en dos partes, parte 2 /2 ]]

>Debian tiene un compromiso con los usuario de no ocultar los problemas y,
>una vez más, cumplió.

por supuesto y eso es una de las cosas que nos diferencian del software propietario, no estoy para nada criticando eso, pero lamentablemente , eso no le quita gravedad a lo que paso

> Los errores ocurren

pero pueden no ocurrir, o por lo menos tenemos que tratar de que no sea cierta la frase que escuche decir a alguien en slashdot ( estupendo slogan para la gente de marketing de Microsoft ):
"el software abierto es tan bueno y seguro como lo sea el ultimo programador de la cadena"

En Debian no tiene que haber un unico ultimo programador en la cadena. Repitiendo lo que dije antes: "como puede ser que la reputacion, imagen e historia de una distribucion tan buena como Debian quede en las manos de una sola persona, que como todas puede cometer errores"

>Un consejo, si no sos un gran programador (e incluso si lo fueses),

no , justamente si lees mi comentario me considero un aprendiz ( en relacion a "la media" de programadores en el mundo )

>no deberías tratar de "aprendices" a las personas.

en este caso, me trate a mi mismo de aprendiz :-) y siempre fui modesto

Si te referis a Kurt Roeckx, mi opinion con respecto a esa persona ( y seria la misma opinion si fuera yo el que cometio el "accidente" ) es que

------------------------
Kurt Roeckx no tiene que hacer committ de ninguna linea mas de codigo en debian ( por lo menos en paquetes pervasivos y core como openssl ) hasta que (esperemos) se fijen politicas que manden el testeo previo de impacto , regresion test, claro consenso del cambio en el equipo de mantencion, peer review , firma obligatoria del patch de por lo menos una persona mas ademas del originador del patch y una clara publicacion en debian de los cambios debian-particulares en paquetes upstream sensibles.
------------------------

>Es solo mi opinión.

gracias por contestar y te pido que no tomes mi respuesta como un ataque a debian. En mi casa tengo 3 ubuntus instalados, y en server siempre admire a Debian. ( aunque ahora no estoy en mi casa y esto lo estoy escribiendo en un puppy linux fire hydrant :-)

Un saludo


Re: gracias y comentarios sobre debian
lbello
2008-05-15 10:46 pm UTC

Es realmente mucho lo analizable acá y entenderás que son días complejos.

Si no te molesta, voy a tomarte el tiempo para responderte con detalle en un par de días, cuando baje el agua. Mandame un correo así te aviso cuando te tenga la respuesta.

saludos, luciano

domingo, 11 de mayo de 2008

“Con el software libre crece también el empleo”




El experto italiano vaticina el fin de los programas cerrados y advierte que la Argentina corre el riesgo de quedarse afuera de la próxima revolución digital. El papel del Estado y de las empresas.

http://www.criticadigital.com/impresa/index.php?secc=nota&nid=4236


El italiano Roberto Di Cosmo no reproduce ni los tics ni el look de los nuevos chicos ricos de internet que se despachan con sus Facebooks, Mozillas, YouTubes y demás empresas jóvenes que mueven la red. Este investigador en ciencias de la computación de la Universidad de París VII, en cambio, es mucho más profundo en su pensamiento. Como el gurú informático Richard Stallman y el hacker Eric S. Raymond, Di Cosmo es un entusiasta promotor del software libre, es decir, aquellos programas que respetan cuatro libertades: “la de ser usados con cualquier propósito”, “la de poder estudiar su funcionamiento y adaptarlos a las propias necesidades”, “hacer y distribuir copias” y “realizar mejoras”. “El movimiento del software libre no es únicamente una comunidad que se enfrenta a los cibermonopolistas de la información y el conocimiento como Microsoft –advierte–. Detrás de él hay una revolución mayor: una enorme economía que se está moviendo. El tren está
pasando y el futuro tecnológico dependerá de quién se haya subido a él.”

–Para la consultora Gartner, en 2012 el 80% del software comercial contendrá software libre y de código abierto. ¿Cree que en la Argentina se tiene conciencia del peso actual de esta industria en el mundo?

–La verdad que no. Existe una confusión. Se cree que porque el software libre es sinónimo de software gratuito, que no vale nada y por ende no se puede hacer negocios con él. Y no es así. El matemático Marc Fleury vendió su empresa de software libre jBoss por 420 millones de euros. Es un ejemplo más de que el software libre se está convirtiendo en un fenómeno masivo.

–¿Y cuál es la situación en el mundo?

–Europa tiene un papel de liderazgo. En América Latina, en cambio, es un fenómeno emergente. Hasta antes de 2003 el volumen de software libre era chico. Desde entonces creció un 69%. En 2007 movió 730 millones de euros. Y se dobla cada año. Con el software libre crece también la generación de
empleo. Es un fenómeno de ruptura.

–En 2005 se creó un polo de competitividad en París que reúne a empresas, laboratorios y universidades. Usted dirige el grupo de trabajo de software libre. ¿Cómo lo ven las demás ramas de la industria que allí se congregan?

–Por primera vez, el software libre está a la par de la industria automotriz, de la seguridad y la comunicación. Desde entonces estrechamos vínculos con cincuenta socios entre los que hay veinte laboratorios y grandes empresas como Alcatel, Motorola, France Telecom. Esto es una prueba concreta de que el software libre es una tecnología madura, que tiene un impacto económico y que
puede llegar a ser reconocido por el poder público de un país.

–¿Cree que se podría dar lo mismo en la Argentina?

–A mí me enseñaron en la Argentina que si uno quiere probar que algo está bueno, tiene que decir que viene de afuera o que funciona afuera. En Francia, por ejemplo, el software libre comenzó a ser visible para el poder público en 2003 con el Proyecto Copernic, es decir, con la mayor reforma de software en los servicios de administración tributaria francesa. Ahí tomaron conciencia
de que era un negocio.

–En la Argentina, el software libre para muchos es mala palabra.

–Es una manera más de atacarlo. En una primera etapa, decían que no existíamos. Ahora que reconocen que estamos acá dicen que somos comunistas. Hemos llegado a un momento en el que varias empresas de “software privativo” (programas como el Word que no permiten modificarlos) están tan desesperadas que compran y hunden a otras empresas de software libre. El modelo de
Microsoft es viejo. Y ya se habla de que Microsoft está fuera de la pantalla.

–Muchas empresas de software argentinas están contentas porque trabajan para afuera. ¿Cómo ve la situación a futuro?

–Con la devaluación del peso, la Argentina se volvió competitiva en la plaza mundial y la mano de obra se volvió muy barata. Pero si sigue esta tendencia de aumento de precios, dentro de cuatro o cinco años esta buena racha terminará.

–¿Y qué se debería hacer?

–La Argentina debe plantearse ahora qué industria de software quiere de acá a cinco años. ¿Quieren ser un país de vacas y soja o ser un país creador de tecnología de alto nivel?

–Un país creador de tecnología de alto nivel, definitivamente.

–Tienen todas las condiciones. El software libre es tal vez una de las oportunidades más grandes que tienen desde hace mucho tiempo. No tienen que invertir en infraestructura rara sino en materia gris.

–Pero ¿qué hay que hacer: esperar que el Estado se dé cuenta de la importancia del software libre?

–Me encantaría. No tienen que copiar una estructura de negocios de hace veinte años, como es la del software privativo. Ahora hay un nuevo modelo que está basado en el software libre. Tienen que hacer como Francia, que está invirtiendo millones de euros en tecnología de software libre. Es
estratégico: crear una estructura integrada, no esfuerzos aislados. En Estados Unidos el año pasado se invirtieron mil millones de dólares en software libre. ¿Qué son? ¿Estúpidos? No lo creo.

miércoles, 7 de mayo de 2008

Cuestión de Actitud...




Hace un tiempo me subscribí a una lista de correo, Linux-desde-cero, con la idea de alguna vez resurgir de las cenizas esas maquinolas viejas que juntan mugre en algún rincón de mi casa, utilizando el lfs... (Linux From Scratch, para ser más explícito...). Bueno, esto sigue siendo parte de mis cosas pendientes... pero al menos sigo recibiendo los emilios de la lista y los leo regularmente.

Pero hoy sucedió algo que me llamó gratamente la atención. Alguien comentó en la lista algo sobre utilizar el lfs para revivir máquinas a pedal como thinclients, e inocentemente le sugerí porque no usar el LTSP ya que si eran thinclients, era evidente que inteactuarían con, al menos, un servidor de prestaciones honrosas... algo que ya habíamos usado aquí...

Como respuesta recibo esto:

"Hola querido!
Usamos LTSP!!! pero es una solucion para maquinas Pentium1 con minimo 32MB
de ram... nosotros hacemos funcionar 486 SX - 25MHZ y 8MB ram como clientes
finos, tenemos cientos de esas maquinas aca en las escuelas primarias...
ahora me entendes el porque de una micro distro?, te aclaro que ya tenemos
una micro distro linux q arranca los clientes, pero trato de ir mas alla
todavia.
"

Y a partir de ahí quedé en shock... No podía creer lo que estaba leyendo... Un grupo de gente trabajando en un modelo cliente-servidor con LTSP para aprovechar pc's antigüas (es decir, volverlas a la vida cual Ave Fenix) para escuelas públicas...!!! Esto me resultó fantástico...!!! Wow...!!!

Investigando un poco más me encontré con esta página y mi asombro ya fué total: este grupo humano trabaja en el Ministerio de Educación de la Provincia de Córdoba, y, evidentemente con el vistobueno de este ministerio, avanzaron en un proyecto similar al iniciado por Héctor (y en el cual pude aportar mi granito de arena), que a pesar del tiempo invertido y los esfuerzos nos diera tantas frustraciones con la Escuela 24.

En el caso de Edulin, no solo están bastante avanzados en el proyecto sino que ya tienen varias escuelas con un laboratorio informático de estas características funcionando. Solo puedo decir que los admiro y que felicito a todos los que están involucrados en este proyecto. Evidentemente desde el Gobierno de Córdoba para abajo supieron interpretar los reales beneficios que lograrían con los recursos disponibles. El Software Libre tiene mucho para ofrecer en las comunidades educativas, y esto es un claro ejemplo de ello.

Apenas seiscientos kilómetros nos separan, pero parece un mundo de distancia cuando comparamos a directivos proactivos y que se adaptan a los cambios que se nos vienen en el mundo informático, y a los que por negligencia o ignorancia, se quedaron en el '98....

Evidentemente es una cuestión de actitud...