Estrategias de análisis de código estático [cerrado]

1

Imagínese: Se nos ha dado el código fuente de varios programas de software, algunos de código abierto, otros de propiedad exclusiva. ¿Cuál es la mejor estrategia para analizar el código fuente en cada caso?

Por ejemplo: Sabemos que el software de código abierto suele ser más confiable que el software comercial. Así que me pregunto si es una buena idea, en lugar de inspeccionar línea por línea el código de fuente abierta, descargar el código original de la web y compararlo con el código que se nos ha dado. Si no hay diferencia, llegamos a la conclusión de que el código fuente es probablemente seguro y podemos omitir la inspección manual del código.

¿Es esta práctica aceptable? ¿Existen otras estrategias que puedan acelerar el análisis del código fuente?

    
pregunta A.B. 03.05.2014 - 12:00
fuente

2 respuestas

6

Supongo que aquí lo que quiere hacer es realizar un análisis estático con el fin de identificar problemas de seguridad en las bases de códigos que se le han proporcionado.

Si ese es el caso, hay una serie de enfoques que puede tomar. Suponiendo que las personas que realizan las revisiones no son analistas de seguridad de aplicaciones capacitados, tendrá que confiar en las herramientas para la mayor parte del trabajo, aunque tenga en cuenta que las herramientas en este campo rara vez (si alguna) son asuntos de apuntar y hacer clic. .

Según el idioma, puede encontrar que el proveedor tiene algunas herramientas que se pueden usar (por ejemplo, FXCop )

Luego hay herramientas de código abierto como flawfinder y RATS

Por último, hay una serie de soluciones comerciales como Checkmarx y Fortify y si desea una solución administrada Veracode

La forma exacta en que lo haga dependerá de su presupuesto (sugerencia, las herramientas comerciales no son baratas), las habilidades que tiene disponibles y la cantidad de tiempo para las revisiones.

    
respondido por el Rоry McCune 03.05.2014 - 15:12
fuente
1
Los

IDE profesionales, como Visual Studio para el desarrollo de Microsoft .NET, vienen con funciones de análisis de código estático extensas y automáticas . Le sugiero que ejecute todo el código fuente a través del conjunto completo de reglas de análisis de código, que generalmente revela bastante, también con respecto a la seguridad (en el caso de .NET, no he usado otros marcos de análisis de código). Hacer todo esto de forma manual sería inviable, a menos que haya un presupuesto muy grande.

También hay varias herramientas de análisis de código que no son de Microsoft para el marco .NET, por ejemplo. JetBrains ReSharper.

Si el código fuente está escrito en otro idioma, puede encontrar una lista de herramientas para el análisis de código estático en Wikipedia .

    
respondido por el Steven Volckaert 03.05.2014 - 13:31
fuente

Lea otras preguntas en las etiquetas