Conducida por una corriente constante de bien publicitadas y muy desconcertantes brechas, la demanda de software de seguridad ha generado numerosas herramientas que analizan el código y buscan vulnerabilidades que potencialmente podría explotar un cracker. La herramienta de SecurityChecker analiza las aplicaciones de varias maneras: verificación de código fuente, análisis en tiempo de ejecución, y comprobación de la integridad. Lo encontré completo, efectivo, y altamente configurable, a pesar de estar estrictamente limitado a lenguajes .Net, pero es caro y le faltan algunas características de integración; pero para sitios que usan IIS y ASP.Net, es la única solución para aplicaciones de seguridad –y lo hace bien. Se instala como un plug-in en la barra principal de menú de Microsoft Visual Studio .Net 2003, la única versión del IDE soportada actualmente. Crea un mapa del software al compilar todas las páginas en un proyecto, comenzando con la página de inicio. Varias opciones permiten ampliar o estrechar el rango de páginas, e introducir contraseñas o información para generar páginas Web dinámicas. Luego ejecuta tres pruebas de seguridad, cada una en un punto diferente del proceso de desarrollo. La primera, análisis de código fuente, es ejecutada con base en reglas seleccionadas por el usuario. El producto viene con más de 300 reglas listas que operan en los lenguajes de Microsoft Web: C#, Visual Basic .Net, ASP.Net, y HTML. La revisión del código fuente genera una lista de errores jerarquizados por tipo o por severidad. La pantalla intuitiva también presenta una explicación detallada de cada problema y su solución, así como referencias a otras fuentes de información relevante para la resolución y reparación –una función muy útil. El segundo tipo de análisis es efectuado en tiempo de ejecución. Busca condiciones peligrosas, como el uso excesivo de privilegios en los procesos o el acceso a archivos privilegiados, y las reporta en la misma pantalla de los resultados del análisis de código fuente. El análisis de la integridad es el tercero y último tipo de análisis que ejecuta la solución, y es el más complicado. Comprueba la seguridad general de la aplicación con hackeos automáticos y reporta los resultados. Verifica también que la aplicación no entregue información útil a un potencial atacante –como que el nombre de usuario es correcto pero no la contraseña, lo cual puede revelar a un hacker que va bien en su intento de intrusión. Esta función es importante para asegurar la integridad de su aplicación y, hasta donde sé, es exclusiva de SecurityChecker. Compuware recomienda ampliamente ejecutar frecuentemente el análisis de código de modo que los problemas de seguridad sean detectados a tiempo. Las pruebas en tiempo de ejecución, sugiere la empresa, deben correrse en diferentes etapas de la aplicación. Y el análisis de integridad debe hacerse después de que cada unidad de trabajo se haya completado y durante la corrección de errores. Creo, sin embargo, que el análisis de integridad debe ser más frecuente de lo que Compuware recomienda. Aunque toma más tiempo, correrlo como parte del ciclo de desarrollo tapará sin duda los agujeros más conocidos en la seguridad de las aplicaciones. Combina el juego completo de análisis con un programa de actualizaciones regulares del sistema operativo, y tendrá más probabilidades de tener aplicaciones fuertes, resistentes a ataques. Aunque SecurityChecker permite a los usuarios formar los reportes de varios modos, incluso personalizarlos, no tiene una verdadera consola de administrador. A diferencia de paquetes de la competencia, no sigue la pista de los errores ni los ata a eventos específicos, lo que significa que los administradores deben hacerlo a mano–algo que sólo los más determinados buscarán tiempo para hacer. Tampoco exporta los reportes de problemas a un formato que pueda ser usado por sistemas de rastreo de errores, ni funciona con herramientas de prueba de cobertura de código –una frustrante omisión que limita su utilidad en aplicaciones empresariales. Finalmente, el paquete tiende a correr con lentitud, especialmente cuando ejecuta los tres análisis. Estos problemas no son graves, y no demeritan el hecho de que DevPartner SecurityChecker 1.0 proporciona un análisis superior de problemas de código de seguridad en aplicaciones .Net. Sin embargo, a $12,000 dólares por usuario, debería ser un paquete mejor integrado con funciones de administración.