Andaira Technology

Scrum Roles - Una breve introducción

Software Assurance.


Software Assurance es el nivel de confianza en que el software está libre de vulnerabilidades, ya sea porque se introducen intencionalmente o accidentalmente en cualquier momento durante su ciclo de vida, y que el software funciona de la forma prevista.


Las aplicaciones son inseguras. Según la WASC (Web Application Security Consortium) más del 90% de vulnerabilidades en Internet están en el código. Esto hace , según la WASC también, que más del 95% de lo ataques en Internet vayan contra las aplicaciones.


Las soluciones que se utilizan hoy en día son las auditorías manuales, de caja blanca y de caja negra. Ambas tienen grandes limitaciones y no solucionan el problema.


El objetivo consiste en localizar las potenciales vulnerabilidades en un software, independientemente de la intencionalidad: vulnerabilidades no intencionadas (defectos) y vulnerabilidades intencionadas (spyware y código malicioso incrustado deliberadamente).


Un programador y un experto en seguridad hablan idiomas diferentes. Sin un punto de encuentro, el código nunca podrá ser seguro.

Las brechas de seguridad en el desarrollo del software


"Por la propia naturaleza humana se cometen errores al programar en cualquier lenguaje."


Revisamos el código con herramientas que automatizan el análisis estático del código fuente en las aplicaciones. Su objetivo principal es determinar el nivel de seguridad del aplicativo y proponer acciones correctivas o mitigadoras para las vulnerabilidades encontradas. 

De esta forma se reduce el coste de las auditorías manuales en más de un 90% y los tiempo de espera en más de un 99%.
Corregir las vulnerabilidades en la fase de desarrollo reduce el coste de solucionarlas en las fases de pruebas o de producción.


Principales ventajas

• Análisis de código con herramientas automáticas
De esta forma, somos capaces de auditar código con gran eficiencia, llegando a tasas de varios millones de líneas de código en pocos minutos.

• Múltiples lenguajes
La herramientas son capaces de auditar los lenguajes más extendidos, como Java, PHP o .NET. 

• Gestión de políticas
Para adaptarse a diferentes perfiles de usuarios y de empresas, se administran reglas propias de detección y filtrado. Así se puede ajustar la profundidad de las pruebas a realizar y buscar casuísticas personalizadas.

• Servicio continuo
Tradicionalmente, un análisis de código era un servicio finito, que se realizaba en un periodo concreto y que finalizaba con un informe estático. Si el análisis se hacía durante el desarrollo, no se descubrían nuevas vulnerabilidades; si se hacía al final, surgía una cantidad de brechas de seguridad difícil de asumir para un equipo de desarrollo.
Con nuestras herramientas, las auditorías de código son elementos dinámicos, ya que se pueden programar escaneos periódicamente y realizar un seguimiento constante de la fase de desarrollo.

• Integración
El análisis se integra de manera natural en todas las fases de la programación. Las herramienta trabajan coordinadamente con otras aplicaciones como SVN (control de versiones) o Sonar (calidad del código).

• Seguridad y calidad
Se puede incorporar Quality Assurance a las tareas de análisis, a través de herramientas como Sonar. De esta manera, seguridad y calidad quedan unificadas en la misma plataforma.