it-swarm-es.com

¿Alguien puede sugerir buenas herramientas de código abierto para escanear el código fuente en busca de vulnerabilidades?

Estoy buscando particularmente los que detectan vulnerabilidades en el código C/C++. He visto un montón de herramientas propietarias pero no de código abierto.

11
Magnus

Fortify lanzó RATS: http://code.google.com/p/rough-auditing-tool-for-security/ . Puede probarlo, sin embargo, no estoy muy satisfecho con los resultados de las herramientas comerciales y de código abierto. Probablemente las herramientas comerciales muestran resultados un poco mejores. El problema es que hoy en día muchos errores obvios se extinguen debido a varias razones. Sí, todavía hay software defectuoso y malo (y siempre lo será), y esas herramientas encontrarán esos errores, pero no los más complicados. La mayor parte del trabajo aún tiene que hacerlo manualmente.

5
anonymous

David Wheeler de FlawFinder tiene una gran lista de (30) OSS/FS y (14) herramientas de análisis estático patentadas:

http://www.dwheeler.com/flawfinder/#othertools

7
Josh Brower

No.

"Bueno" en este caso es contradictorio con las "herramientas para escanear el código fuente". Especialmente los gratuitos, sin tocar código abierto aquí, la mayoría de los comerciales también apestan.

La mejor herramienta (comercial) que he visto (y he investigado esto bastante) fue Checkmarx por un amplio margen. (Divulgación: aunque no trabajo para ellos, he trabajado con ellos en el pasado).
Más abajo en la lista estaría IBM/Ounce (ahora llamado IBM Rational Appscan Source Code Edition, o algo así ...).
Más abajo están las herramientas comerciales de "segundo nivel", como Klockworcks y mucho ... Mucho, mucho más abajo en mi lista está el titular, Fortificar (ahora propiedad de HP) .

Tenga en cuenta que todos esos son comerciales, y bastante caros.

Más abajo en la lista están las herramientas gratuitas/de código abierto, simplemente porque hacen búsquedas simples de texto, más o menos lo que podría hacer, por ejemplo grep.
En esta lista: RATS, ITS4, FlawFinder, algunos otros ... pero son bastante equivalentes, no tienen mucha lógica, no hay compilación, etc.

Si estaba buscando fuera de C y C++, no es muy diferente, a excepción de algunas herramientas OWASP, p. O2 para .NET, LAPSE para Java ...

6
AviD