Software que analice el código fuente de un proyecto buscando codigo malicioso

Iniciado por murdock_, 29 Julio 2010, 16:31 PM

0 Miembros y 1 Visitante están viendo este tema.

murdock_

Hola a todos,

¿Conocéis alguna herramienta o conjunto de herramientas que permitan analizar un proyecto de desarrollo software, en Java por ejemplo, en busca de código malicioso y/o vulnerabilidades de todo tipo (p.e. sql injections si se integra con bbdd, crlf, buffer overflow, etc.)?

De momento he encontrado dos posibles soluciones para Java, son PMD y FindBug, aunque algo limitadas ¿que os parecen?

saludos!
Si conoces a los demás y te conoces a ti mismo, ni en cien batallas correrás peligro; si no conoces a los demás, pero te conoces a ti mismo, perderás una batalla y ganarás otra; si no conoces a los demás ni te conoces a ti mismo, correrás peligro en cada batalla.

Maestro Sun Tzu, El arte de la guerra

PHAMTOM

Cita de: murdock_ en 29 Julio 2010, 16:31 PM
Hola a todos,

¿Conocéis alguna herramienta o conjunto de herramientas que permitan analizar un proyecto de desarrollo software, en Java por ejemplo, en busca de código malicioso y/o vulnerabilidades de todo tipo (p.e. sql injections si se integra con bbdd, crlf, buffer overflow, etc.)?

De momento he encontrado dos posibles soluciones para Java, son PMD y FindBug, aunque algo limitadas ¿que os parecen?

saludos!

fuzzers? (Programas de testeo de vulnerabilidades Buffer Overflow)
Miran a cualquier ventana, mientras su pánico emana
y nubla su visión mi calma es pura precisión
cargo munición y miro tranquilo
ya ni respiro desde al ático os vigilo sigo al filo os tengo a tiro!

La kitchner quiere tanto a los pobres,que cada vez,tiene más

Erfiug

Cita de: murdock_ en 29 Julio 2010, 16:31 PM
Hola a todos,

¿Conocéis alguna herramienta o conjunto de herramientas que permitan analizar un proyecto de desarrollo software, en Java por ejemplo, en busca de código malicioso y/o vulnerabilidades de todo tipo (p.e. sql injections si se integra con bbdd, crlf, buffer overflow, etc.)?

De momento he encontrado dos posibles soluciones para Java, son PMD y FindBug, aunque algo limitadas ¿que os parecen?

saludos!
En OWSAP hay buenos proyectos no comerciales de herramientas para buscar vulnerabilidades y bugs para java.

Debci

Cita de: PHAMTOM en  9 Agosto 2010, 00:32 AM
Cita de: murdock_ en 29 Julio 2010, 16:31 PM
Hola a todos,

¿Conocéis alguna herramienta o conjunto de herramientas que permitan analizar un proyecto de desarrollo software, en Java por ejemplo, en busca de código malicioso y/o vulnerabilidades de todo tipo (p.e. sql injections si se integra con bbdd, crlf, buffer overflow, etc.)?

De momento he encontrado dos posibles soluciones para Java, son PMD y FindBug, aunque algo limitadas ¿que os parecen?

saludos!

fuzzers? (Programas de testeo de vulnerabilidades Buffer Overflow)
Creo que se refiere a codigo maligno y no vulnerabilidades...

Saludos

.(sWeEtHaCk).

Dios, Debci, desde que vi el post de este tio pense lo mismo...  Si he oido de algo parecido, ahora mismillo te lo busco, espera.... Quieres una analizador de CODIGO MALICIOSO...
Un Hacker no nace, se hace.

murdock_

Buenas a tod@s, disculpad la tardanza en contestar, he estado de vacaciones... Pues respondiendo un poco a todos, primordialmente me refiero a buscar código maligno, pero también vulnerabilidades.

Se que la búsqueda de código maligno es prácticamente imposible, porque o analizas código ya registrado en las bases de datos de antivirus o poco se puede hacer...

Y el tema de las vulnerabilidades se que se pueden hacer búsquedas de patrones, de hecho yo ya he hecho algún proyecto en busca de patrones (en mi caso de sql injections: http://elblogdecalles.blogspot.com/2010/03/security-module-parte-i.html) y me gustaría también alguna herramienta que me hiciese búsquedas de este estilo.

.sWeEt-HaCk. si tienes algo útil se agradece :)

saludos!
Si conoces a los demás y te conoces a ti mismo, ni en cien batallas correrás peligro; si no conoces a los demás, pero te conoces a ti mismo, perderás una batalla y ganarás otra; si no conoces a los demás ni te conoces a ti mismo, correrás peligro en cada batalla.

Maestro Sun Tzu, El arte de la guerra

Erfiug

Cita de: murdock_ en 17 Agosto 2010, 15:54 PM
Buenas a tod@s, disculpad la tardanza en contestar, he estado de vacaciones... Pues respondiendo un poco a todos, primordialmente me refiero a buscar código maligno, pero también vulnerabilidades.

Se que la búsqueda de código maligno es prácticamente imposible, porque o analizas código ya registrado en las bases de datos de antivirus o poco se puede hacer...

Y el tema de las vulnerabilidades se que se pueden hacer búsquedas de patrones, de hecho yo ya he hecho algún proyecto en busca de patrones (en mi caso de sql injections: http://elblogdecalles.blogspot.com/2010/03/security-module-parte-i.html) y me gustaría también alguna herramienta que me hiciese búsquedas de este estilo.

.sWeEt-HaCk. si tienes algo útil se agradece :)

saludos!
Para vulnerabilidades puedes mirar en la web de OWASP hay muchos proyectos libres de este tipo.. Si quieres herramientas profesionales hay de muy buenas como Fortify pero valen un pastón  ;D

murdock_

Buenas, gracias Erfiug, he estado mirando en OWASP y nombran a estas 4:

FindBugs
PMD
JLint
Jmetrics

Las dos primeras son las que comentaba yo en el primer mensaje, voy a estudiar JLint y Jmetrics a ver si les puedo sacar partido. Lo de fortify lo miraré también aunque en principio no quería invertir pasta en el proyecto.

gracias, saludos!
Si conoces a los demás y te conoces a ti mismo, ni en cien batallas correrás peligro; si no conoces a los demás, pero te conoces a ti mismo, perderás una batalla y ganarás otra; si no conoces a los demás ni te conoces a ti mismo, correrás peligro en cada batalla.

Maestro Sun Tzu, El arte de la guerra

Erfiug

para java había un plugin bastante bueno para eclipse llamado LAPSE http://www.owasp.org/index.php/Category:OWASP_LAPSE_Project lo hicieron unos investigadores de standford, en su paper parece que hicieron un buen trabajo.

Yo estoy precisamente investigando en esta rama, y si de verdad quieres buscar vulnerabilidades te recomiendo hacer pen tests y analizar tu el código, las herramientas automáticas dan muchos falsos positivos y omiten la mayoría de vulnerabilidades (sólo encuentran errores de implementación....).

suerte