¿Qué software de escaneo de código es el mejor para encontrar vulnerabilidades de código abierto?

Históricamente, la gestión de código abierto abordaba las cuestiones de licencia y cumplimiento de código abierto, y no la seguridad. La mayoría de los vendedores en este espacio (es decir, Palamida, Black Duck y otros) desarrollaron soluciones basadas en la tecnología de escaneo de código.

En los últimos años, el enfoque se ha movido a asegurar componentes de código abierto. Sin embargo, aunque el escaneo de código intenta adaptarse, la tecnología simplemente no fue diseñada para tratar problemas de seguridad.

La razón de esto es doble:

Primero, el escaneo de código es un proceso largo, que a veces puede tardar días en completarse. No solo eso, también genera una gran cantidad de falsos positivos. Por lo tanto, requiere otra capa de servicios de análisis en la parte superior, antes de que los resultados puedan ser procesables.

¡En promedio, se reportan 10 nuevas vulnerabilidades de seguridad de código abierto todos los días! Por lo tanto, a diferencia del aspecto de licencia y cumplimiento, la seguridad debe administrarse continuamente de forma automática. Los escáneres de código, debido a su rendimiento y sobrecarga operativa, no se pueden usar de manera continua y generalmente se usan periódicamente, por ejemplo, una vez al año, lo que los hace inapropiados para sus necesidades de seguridad.

En segundo lugar, dependiendo del lenguaje de programación, el código abierto se puede entregar y consumir utilizando archivos binarios (en comparación con los archivos fuente). Por ejemplo, Java o .NET están basados ​​en binarios, mientras que C / C ++ están basados ​​en fuentes. Un escáner de código está mejor diseñado para abordar los lenguajes basados ​​en la fuente, aunque se informan muchas vulnerabilidades de seguridad a nivel de componente / biblioteca.

Para concluir, los escáneres de código no son la solución adecuada para la seguridad de código abierto. Puede leer más aquí sobre la tecnología de escaneo de código.

Entonces, la pregunta, “¿Qué software de escaneo de código es el mejor para encontrar vulnerabilidades de código abierto?” No es la pregunta que debe hacerse. En su lugar, debe preguntar “qué tecnología es mejor para encontrar vulnerabilidades de seguridad de código abierto”.

Cuando se trata de seguridad, necesita una solución continua que no solo detecte componentes vulnerables, sino que también le avise en el momento en que lo agregue a su software. Después de todo, se puede descubrir una vulnerabilidad que afecta a un componente que ha estado utilizando durante años. Por lo tanto, debe saberlo tan pronto como se detecte, ya que deberá corregir la vulnerabilidad en sus productos lanzados. Los escáneres periódicos simplemente no pueden hacer esto.

Entonces, ¿cuál es la solución para la seguridad de código abierto? Una tecnología ágil que se puede integrar en su entorno de integración continua.

La solución WhiteSource CI (integración continua) es la primera solución que detecta continuamente componentes de código abierto (incluidas todas las dependencias) y proporciona alertas en tiempo real sobre las vulnerabilidades de seguridad descubiertas en su código. Incluso después del lanzamiento: puede detectar y alertar cada vez que se identifica una vulnerabilidad de seguridad en una versión de producto lanzada.

WhiteSource es la solución de CI líder en el mercado, con la base de datos de vulnerabilidades de seguridad de código abierto más extensa. Al final del día, es probablemente el mejor software para encontrar vulnerabilidades de seguridad de código abierto. Es simplemente lo que está diseñado para hacer.

Descargo de responsabilidad: trabajo en WhiteSource, pero, oye, preguntaste 🙂

OWASP Dependency Check es una solución bastante sólida. Hay una versión de línea de comandos, un complemento de Jenkins y otras opciones disponibles.

Desde el enlace de arriba:

Dependency-Check es una utilidad que identifica las dependencias del proyecto y verifica si hay vulnerabilidades conocidas y divulgadas públicamente. Actualmente, Java y .NET son compatibles; Se ha agregado soporte experimental adicional para Ruby, Node.js, Python y soporte limitado para sistemas de compilación C / C ++ (autoconf y cmake). La herramienta puede ser parte de una solución para OWASP Top 10 2013 A9: uso de componentes con vulnerabilidades conocidas.

Puede descargar el archivo .bat o .sh para ejecutarlo desde la línea de comandos aquí.