El objetivo de este Trabajo de Fin de Master es la creación de una herramienta para la realización de auditorías estáticas de código en aplicaciones Android de manera automatizada, proveyendo al analista de la mayor información disponible de las aplicaciones auditadas, incluyendo información y que le permita un posterior triaje de las evidencias o findings encontrados.
Además de las vulnerabilidades que se puedan encontrar en las aplicaciones, hemos puesto el foco en la puesta en valor de las buenas prácticas en seguridad que se realicen durante la implementación, identificando en qué puntos se codifica de manera segura, para no solo quedarnos con la parte negativa sino hacer un refuerzo positivo donde se esté realizando correctamente.
Por último, debido a que en el sistema operativo Android nos encontramos con frecuencia numerosas muestras de malware, se han incluido funcionalidades en la herramienta para hacer una homologación completa de las aplicaciones, enfocándose tanto en la seguridad como en la búsqueda de código malicioso en estas.
La implementación consistirá en una web que permitirá la subida de apks y, tras la realización de una serie de pasos: desde el decompilado de la aplicación, extracción de información, procesamiento mediante algoritmos y creación del modelo en base de datos, hasta la posterior visualización de este modelo completo que permita el análisis de las evidencias y la verificación de estas.
A lo largo de este trabajo se verá en qué se ha tenido en cuenta para la implementación, qué riesgos se intentan evitar con esta herramienta y una explicación detallada sobre todas las funcionalidades que se han implementado. Para finalizar, se indicará cómo utilizar la herramienta para la realización de auditorías estáticas de manera muy fácil y a la vez muy potente.
Además, en otro de los puntos, indicaremos las distintas integraciones que ofrece nuestra aplicación, como son: la inclusión de la base de datos de Malware DB, el uso de la API de Virus Total y, por último, el envío automático de las evidencias encontradas a la herramienta de gestión de defectos Defect Dojo.
Por último, para finalizar el trabajo, enunciaremos las conclusiones que hemos obtenido durante la realización del desarrollo y destacaremos las posibles mejoras de la aplicación de cara a futuro.
El enlace a la memoria del TFM está aquí Automatización de auditorías de código en Android y el github del proyecto aqui