info:eu-repo/semantics/masterThesis
Un lenguaje para especificar pruebas de seguridad de caja negra automatizadas para sistemas Web
Registro en:
Yepes Guevara, R. (2017). Un lenguaje para especificar pruebas de seguridad de caja negra automatizadas para sistemas Web (Tesis de maestría). Universidad de Antioquia, Medellín, Colombia.
Autor
Yepes Guevara, Ricardo
Institución
Resumen
RESUMEN: El correcto funcionamiento de las plataformas de cómputo que soportan tareas industriales esenciales y actividades estratégicas de gobierno, dependen de la calidad y de la estandarización del proceso de prueba utilizado por los analistas de seguridad. Este proyecto propone una solución al problema de lograr estandarizar el proceso de pruebas de seguridad sobre un TOE (“objetivo de evaluación” o sistema sobre el cual se está realizando la prueba). La solución propuesta está orientada a la realización de pruebas en sistemas Web por ser una necesidad común en la industria y se considera únicamente la técnica de pruebas de caja negra, porque este tipo de escenario es con frecuencia el único disponible cuando el analista de seguridad no tiene acceso al código fuente de la aplicación.
Nuestro enfoque está dirigido a soportar un diseño de pruebas basadas en modelos; es decir, el analista de seguridad define el modelo de la prueba y un framework ejecuta una transformación desde el modelo para obtener un conjunto de comandos ejecutables para controlar escaneadores de vulnerabilidades que interactuarán con el TOE para encontrar sus fallos de seguridad. De esta manera, la prueba se hace reutilizable y se obtienen resultados menos dependientes de aspectos subjetivos relacionados a la persona que ejecuta la prueba. En la actualidad es difícil mejorar sistemáticamente un proceso de pruebas de seguridad porque cada analista incide en gran medida en los resultados obtenidos. En cambio, cuando se tiene un proceso más estándar, cada nueva técnica incluida en la herramienta podrá incrementar la calidad de cualquier prueba realizada posteriormente, independientemente del usuario de la herramienta.
Como resultado del proyecto, realizamos un análisis comparativo de los trabajos anteriores que abordan técnicas de “pruebas basadas en modelos” que han sido aplicadas en el contexto de la seguridad. Además, desarrollamos un prototipo que soporta múltiples analizadores de vulnerabilidades Web y sugerimos algunas ideas que podrían mejorar su nivel de adopción en la industria. La principal contribución teórica es la definición de un lenguaje visual y textual para modelar pruebas de seguridad. La especificación precisa usando un metamodelo y una gramática permite que los modelos expresados en este lenguaje puedan ser transformados a instrucciones específicas de ejecución para analizadores de vulnerabilidades.