¿ Alguien sabe de un .dll
escáner que busca vulnerabilidades conocidas?
En el trabajo, tenemos un proyecto que usa paquetes Nuget y otras .dll
dependencias. Sé que hay bases de datos de vulnerabilidades conocidas ( 1 , 2 ), pero ¿alguien sabe de una herramienta que escaneará una carpeta de salida de compilación en busca de .dll
nombres/versiones/etc. para detectar .dll
s con vulnerabilidades conocidas?
El objetivo será que esta herramienta se ejecute periódicamente y me avise si se encuentra una vulnerabilidad en una de nuestras dependencias para que podamos actualizarla. Estar siempre actualizado es una carga de prueba (¡todavía estamos trabajando en pruebas automatizadas integrales!), por lo que no actualizar nuestras dependencias más de lo necesario todavía es muy necesario para nosotros.
Otra información sobre el medio ambiente:
Habiendo desarrollado software a nivel empresarial, siempre estoy buscando herramientas que ayuden a mi equipo a crear un mejor código que sea lo más seguro posible. Hay varias herramientas diferentes que querrás ver para profundizar en tus necesidades y presupuesto.
Una herramienta que he usado para hacer pruebas de penetración (que buscará cosas como ataques de inyección de DLL) es Metasploit Toolkit . Es una plataforma de pruebas de penetración que hace un buen trabajo al informarle si tiene un problema. Viene en varios sabores diferentes, incluidas las versiones comunitarias. Pero si no está al tanto de este tipo de cosas, probablemente valga la pena pagar por la versión "comercial" del producto. Como parte de las soluciones comerciales de Rapid7, es posible que también desee ver AppSpider si necesita cumplir con la verificación de cumplimiento.
También puede consultar las herramientas de análisis de vulnerabilidades y aplicaciones de Veracode . El conjunto de herramientas de Veracode se puede implementar en varios niveles diferentes a través de un ciclo de desarrollo de software según sus necesidades.
Otra solución de desarrollo de código que consideraría son las herramientas de análisis estático y de código fuente de Checkmarx . Ofrecen el conjunto más grande de escáneres de idiomas que conozco. Esto es para el desarrollo de código activo y cuando tiene acceso a algún nivel de código fuente en su cadena de desarrollo.
[EDITAR]
Esta es una adición a la lista de herramientas.
Si desea ver solo los archivos .dll o buscar las dependencias de .dll durante el desarrollo para ayudar a comprender cómo están vinculados, consulte PE Explorer o SpyDllRemover .
Mire BlackDuck Software, proporcionan escaneo de código abierto con integración con Visual Studio para el cumplimiento de licencias y vulnerabilidades de seguridad. https://www.blackducksoftware.com/products/black-duck-hub
Black Duck también administra https://www.openhub.net/ que indexa código fuente abierto para identificar código por fragmentos y código reutilizado por otros proyectos. Así que incluso en el proyecto no tiene vulnerabilidades conocidas, el código utilizado por el código podría.
Ver también: https://www.blackducksoftware.com/products/knowledgebase y https://en.wikipedia.org/wiki/Black_Duck_Software
He usado sus servicios, pero no he usado sus herramientas.
Después de buscar durante más de una semana, me parece que la mejor opción es en realidad una opción de código abierto en github . Parece que las bases de datos que mencioné no almacenan los nombres de .dlls, por lo que todo lo que puede hacer una herramienta es recopilar la mayor cantidad posible de metadatos sobre .dll y hacer una verificación cruzada con una base de datos de vulnerabilidades conocidas.
La herramienta DependencyCheck parece la mejor que he encontrado.
CUIDADO : para nuestro gran proyecto, se encontraron muchos falsos positivos para las vulnerabilidades (pero esos son mejores que los falsos negativos). Sin embargo, hay una manera de marcar un falso positivo con la herramienta para que una vez que los identifique una vez, la herramienta los omita en el futuro.
CUIDADO #2 : para nuestro gran proyecto, esto también es bastante lento . Eventualmente, haré que esto se ejecute diariamente o semanalmente en un servidor de compilación, pero para las pruebas, lo ejecuté localmente y fue muy lento. Eventualmente hice una VM localmente solo para limitar los ciclos de CPU/RAM que podía consumir en mi PC.
En el lado positivo: una cosa muy buena sobre el proyecto es que tiene soporte de línea de comando y soporte para compilaciones Ant y Maven.
Gracias a kenjikato por su respuesta también. Quizás una de esas herramientas ayude a alguien más.
EDITAR: Estaba siendo injusto por encima de su velocidad. Mi computadora que descubrí ayer tenía algún tipo de virus. ¡Después de solucionar el problema del virus, el software funcionó perfectamente bien!
No sé si esto sigue siendo relevante para su búsqueda de un escáner de vulnerabilidades, pero si todavía está buscando, le sugiero que eche un vistazo a la lista de herramientas de seguridad de aplicaciones en IT Central Station. Todas las reseñas en el sitio han sido escritas por personas que han usado las herramientas, lo que realmente puede ayudarlo a tener una buena idea de cómo es trabajar con las soluciones y cuál tiene las funciones que necesita. Por ejemplo, en una revisión de HPE Fortify on Demand, un usuario comentó "el servicio en sí funciona para mantenerse al tanto y conocer las amenazas emergentes. En lugar de tener un equipo de seguridad dedicado a ese esfuerzo, no tenemos que lidiar con eso en un requiere mucho tiempo, de manera directa. No necesitamos tener estas habilidades internas".
guassa
franco bryce
.dll
s en mi salida de compilación y una base de datos de vulnerabilidad. Por ejemplo, si un.dll
resultado de mi compilación tiene una vulnerabilidad conocida en una fuente de vulnerabilidad , me gustaría saberlo :)