El código Open Source, al igual que el comercial, suele contener un defecto de calidad o exposición de seguridad por cada 1.000 lÃneas. Esto es lo que ha mostrado un programa lanzado por el Departamento de Seguridad de los Estados Unidos.
Estos datos se enfrentan a la común aseveración de que los proyectos Open Source tienen menos fallos porque la comunidad vigila atentamente los desarrollos y por ello salen mas a la luz, mientras que por otra parte tenemos a las empresas comerciales que no son tan dadas a la hora de publicar los fallos de su software.
El estudio se llevó a cabo en 180 proyectos de código Open Source, y este serÃa un resumen de los resultados:
– Seguimiento de Fallos – 11
– Número de proyectos Open Source que resolvieron todos los defectos en la primera etapa: Amanda, NTP, OpenPAM, OpenVPN, Overdose, Perl, PHP, Postfix, Python, Samba, and TCL
– Total de defectos solucionados desde el 6 de Marzo de 2006 – 7.826
– Número de fallos por cada 1.000 lÃneas en el Kernel de Linux 2.6 – 0,127
Datos: Coverity
El análisis se llevó a cabo mediante Prevent SQS, un producto de la Universidad de Standford que realiza análisis de código y está diseñado para minimizar los «falsos» devueltos por los escáneres para determinar cada variable existente.
Prevent SQS se apoya en la «satisfacción Booleana» un modo curioso de decir que solo aquellas variables posibles dentro del contexto de la lógica del programa necesitan ser comprobadas. Si no es posible para el programa originar una variable el software no tratará de manejarlo. Esto elimina aproximadamente el 30% de falsos positivos producidos normalmente por otros sistemas de inspección de código
Entonces ¿que es lo que ha descubierto Prevent SQS? Un total de 7.826 defectos fueron identificados y solucionados en el análisis, lo que equivale a uno cada dos horas desde que empezó el programa en 2006.
Se encontraron fallos y vulnerabilidades en la mayorÃa de los proyectos Open Source, lo que no es sorpresa. Lo que si soprende es la velocidad con la que algunos proyectos resolvieron los problemas.
En el Kernel 2.6 de Linux, por ejemplo, se detectaron 913 problemas, y en el momento de publicar el informe se habÃan solucionado 452, se habÃan identificado 48 y habÃa planificación de trabajo para los 413 restantes. Con sus 3.639.322 lÃneas de código, la calidad del Linux está muy por encima de la media, con solo 0,127 defectos por cada mil lÃneas.
También los desarrolladores de Samba fueron aplicados en la corrección de vulnerabilidades según el director del programa. El servidor web Apache, que cubre la mayorÃa de los servicios activos en la red, tiene 135.916 lÃneas de código, con un Ãndice de defectos de 0,14 bugs por cada 1.000 lÃneas.
Otros proyectos como la librerÃa Gnu C o glibc de la FSF tuvieron un ratio de cero fallos.
Por otra parte, FreeBSD, a veces presentado como alternativa a Linux, aparece como lento a la hora de responder. Aceptaron la detección de 200 fallos pero declararon haber obtenido muchos falsos positivos.
Por otra parte, conocer la cantidad de exposiciones de seguridad del software comercial es mas complicado. Las empresas comerciales raramente aceptan defectos de seguridad a menos que se produzca un fallo general. De hecho comentaron que «sus clientes comerciales no estarÃan muy dispuestos a que se aireara la cantidad de defectos encontrados en su código». Otra visión de la atención al cliente, está claro.
VÃa | Information Week