Una Auditoría de Código de Fuente es el proceso de analizar el código fuente de una aplicación con el objetivo de descubrir vulnerabilidades de seguridad, problemas de diseño de seguridad, y potenciales mejoras en las prácticas de programación.
La metodología OWASP (Application Security Verification Standard Project) como base para comprobar la existencia de vulnerabilidades y evaluar el impacto de cada una de ellas para así poder priorizar las acciones de mitigación de riesgos.
Las Auditorías de Código Fuente aportan resultados que no podrían ser descubiertos en un test de intrusión tradicional ya que el análisis del código fuente hace que la auditoría sea mucho más exhaustiva.
Ventajas de realizar una Auditoría de Código de Fuente :
Verificar la seguridad de aplicaciones a medida
Mejorar la calidad y minimizar el mantenimiento del código
Sensibilizar al equipo de programadores sobre los riesgos existentes
Fomenta el uso de buenas prácticas de programación
La Auditoría de Código de Fuentes debe entenderse como parte del cicló de vida en el desarrollo de software y se basa en un Examen automatizado del código usando herramientas de análsis estático y dinámico de éste.
El obetivo principal de este trabajo fin de grado es el de auditar una aplicación web de comercio y su app móvil para determianr posibles vulnerabilidades o fallos de seguridad
- Lectura y documentación las técnicas y herramientas para realizar auditorías de código
- Evalar desde un punto de vista de la seguridad una aplicación web y su app móvil a partir de las técnicas y herramientas evaluadas en el punto anterior
- A partir de los fallos detectados, proponer soluciones técnicas para mitigar o eliminarlos
- Escritura de la memoria
El trabajo podría realizarse siguiendo los siguientes pasos:
- Estudio de los diferentes técnias y herramientas para realizar auditorías de código fuente
- Realizar una auditoría de código completa a una aplicaicón comercial
Competencias:
[IC1] Capacidad de diseñar y construir sistemas digitales, incluyendo computadores, sistemas basados en microprocesador y sistemas de comunicaciones.
[IC6] Capacidad para comprender, aplicar y gestionar la garantía y seguridad de los sistemas informáticos.
Los medios software que utilizar, así como el material de lectura y aprendizaje está disponible por el profesor. Las herramientas que usar son muchas de licencia GPL y para las de pago se dispone de licencias académicas. En cuanto al equipamiento hardware no se necesita ninguna máquina en concreto, pero se dispone de infraestructura y equipamiento en el i3a, si fuera necesario.