Código abierto: ¿Cuál es la mejor / peor práctica de revelar vulnerabilidad de seguridad para un proyecto de software de código abierto?

Su visión es correcta, los piratas informáticos pueden y aprovecharán las vulnerabilidades de seguridad conocidas.

Sin embargo, la mejor manera de lidiar con esto es revelar todos los problemas de seguridad en detalle y proporcionar una solución.

No hay forma de evitar que las vulnerabilidades de seguridad se utilicen indebidamente para atacar a los usuarios de software, porque, como usted dice, el código fuente abierto está abierto a todos.

Desde mi punto de vista, el principal problema es que, aunque todas las compañías de software están utilizando el código abierto como su principal componente (70-80% del código de productos de software comerciales es de código abierto según las encuestas de Gartner y Forresters), no lo entienden con gran El poder (código abierto) viene con la responsabilidad.

Asumir la responsabilidad significa rastrear las bibliotecas de código abierto que usa y actualizar cada vez que se descubre una vulnerabilidad de seguridad importante (o un error crítico). La mayoría de las empresas ni siquiera saben exactamente qué están usando, sin mencionar si han conocido vulnerabilidades de seguridad en su código. ¡Esto es muy problemático!

Pero la solución no es detener y revelar vulnerabilidades de seguridad. La solución es educar al mercado de que las empresas que usan código abierto, necesitan rastrearlo y actualizarlo en consecuencia.

En todas las principales vulnerabilidades de seguridad, la vulnerabilidad se publicó varios meses después de que se descubrió para garantizar que se revele una vez que haya una solución. Obviamente, esta es la mejor práctica, pero DEBE revelarse para mejorar la calidad de los proyectos de código abierto.

Por el contrario, tener un alias de correo electrónico de seguridad dedicado u otro medio para informar vulnerabilidades mejora la credibilidad de un proyecto de código abierto.

La fundación Apache Software y la comunidad JBoss tienen equipos dedicados de respuesta de seguridad. Soy activo en estas dos comunidades OSS.

La credibilidad también aumenta cuando el proyecto emite soluciones rápidas y notificaciones sobre vulnerabilidades de seguridad.

El software es creado principalmente por humanos. Los errores y los problemas de seguridad son parte del ciclo de vida. La forma en que el OSS maneja los problemas de seguridad es una señal de madurez de ese proyecto.

Cuando un proyecto de código abierto encuentra un problema de seguridad, lo ideal sería obtener una solución lo antes posible y notificar a la comunidad lo antes posible.

También eche un vistazo a CVE y la National Vulnerability Database (NVD) para un manejo adecuado.