Existe un mito en torno a que el desarrollo de software privativo es más 
"fiable" que el proceso de desarrollo de software libre, aunque algunos toman 
partido en esta disputa, yo particularmente me limitaré a pegar aquí un apunte 
que ha puesto hace un tiempo Ricardo Galli,   creador de menéame y que ha 
participado en varios proyectos de desarrollo; el artículo fue tomado de [1] 
para los que tengan internet y deseen verlo online, además pueden ver los 
comentarios de los lectores del blog y por supuesto para aquellos que no tengan 
internet aquí les va el post:

__BEGIN__

Los bugs increíbles de las máquinas de votar: no arrastre el dedo que se cuelga
Guardado en: seguridad, software libre — gallir @ 3:09 am

Vía Joel on software veo el artículo Can You Count on Voting Machines?. En él 
relatan un bug descubierto en las Diebold AccuVote-TSX después que el estado de 
California se quejase en 2005 de que las máquinas se colgaban cada pocos 
cientos de votos.

Luego de bastantes estudios han descubierto que al momento de poner el voto si 
el usuario arrastraba el dedo el sistema operativo lo consideraba un drag&drop, 
como el programa no trataba ese evento directamente se colgaba. ¿Cuál era el 
sistema operativo? Windows CE.

El tema es alucinante y preocupante a la vez. Por un lado esos programas de 
votaciones, además de simples y pequeños (poco más de 50.000 líneas en C++ en 
2002), pasaron por todas las etapas formales de especificaciones, diseño, 
programación, aduitorias y certificaciones. Además asumimos que los 
programadores deben ir con mucho cuidado y no deben ser los más tontos de la 
profesión. Igualmente se cometen errores graves aunque muy estúpidos.

Lo que alucino en primer lugar es en cómo el sistema operativo y sus 
herramientas de desarrollo porculeen de esta manera. El programa está en C++. 
Aunque no conozco el sistema de desarrollo del Windows CE supongo que debía ser 
muy similar a las MFC que se usaron al menos hasta el Visual Studio 6. En estas 
los eventos se tratan en clases, donde cada programa deriva esas clases para 
tratamientos específico. Si el programa no crea subclases el comprotamiento 
debe, o debía, ser un “noop”, o sea no hacer nada.

Sin embargo en este caso parecía que se llamaba a una rutina inexistente y el 
programa se colgaba. ¿Fallos de las librerías o fallos de los programadores?

En todo caso parece culpa de ambas partes. En 2002 por un error de empleados de 
Diebold el código fuente llegó a manos de Avi Rubin, profesor de la universidad 
John Hopkins. Enseguida encontró muchos errores: se podían emitir varios votos, 
un usuario normal podía realizar operaciones administrativas, etc. etc., 
incluso algunas tan absurdas como que los votos eran almacenados cifrados 
localmente –con algo tan débil como el DES–, pero cuando se enviaban a la 
“autoridad central” por la red se enviaban en texto plano.

Además encontró que se usaban librerías de audio de otras empresas, que también 
pueden introducir problemas de seguridad. Y un largo etcétera de chapuzas que 
fueron fácilmente detectadas cuando unas pocas personas tuvieron acceso al 
código.

¿Todavía alguien duda de que los mejores programadores cometen errores 
estúpidos aún en programas relativamente simples? ¿todavía alguien duda que no 
te puedes ni fiar de las librerías de desarrollo de un sistema privativo?

A mí también me impresiona, aunque era de esperar, cómo es que esos programas 
pasaron procesos de certificación con auditorias “profesionales” de empresas 
independientes sin que hayan detectado ninguno de estos problemas que detectó 
un profesor universitario en poco tiempo y sin que nadie le haya pedido.

Para aquellos que no están convencidos del software libre, vale, pero después 
de ver estas chapuzas encadenadas desde el SO hasta las “auditorías oficiales”, 
¿todavía les queda dudas de que hay software que sí debe ser libre y estar 
publicado para que todos los interesados puedan analizarlo?

Con tantas evidencias ni siquiera sirve la manida excusa de que se “contratan 
auditorías externas”. Ninguna consultora o auditora podrá igualar a los buenos 
programadores que están interesados y motivados en analizar el programa. Y eso 
porque no quiero suponer que haya corrupción en todo el sistema de 
“auditorías-certicaciones”…

__END__


slds
--
El conocimiento humano pertenece al mundo, como Shakespare o la Aspirina.
_______________________________________________
Cancelar suscripción
https://listas.softwarelibre.cu/mailman/listinfo/linux-l
Buscar en el archivo
http://listas.softwarelibre.cu/buscar/linux-l

Responder a