A study on dynamic analysis on JavaScript applications
Resumen
En este trabajo hemos realizado un análisis a una aplicación web. Hemos realizado este análisis mediante una herramienta de análisis estático llamada CodeQL, creada por GitHub. El objetivo del trabajo era estudiar una aplicación de tipo open source y que estuviese orientada a la educación y a la enseñanza. Por este motivo la aplicación que seleccionamos fue la de CODAP, una herramienta de análisis que permite a los alumnos la creación y observación de patrones. El objetivo final del trabajo era recopilar todos los errores que encontrásemos y enviárselos a los desarrolladores de la aplicación para que pudiesen corregirlos. Durante el trabajo, llevamos a cabo una serie de pruebas que se centraban en diferentes aspectos del software, buscando encontrar errores no solo de seguridad, sino también de otros ámbitos. En este trabajo hemos realizado todos los objetivos que nos marcamos en un principio, y hemos explicado por qué es necesario el análisis en aplicaciones software y cuáles son algunas buenas prácticas a la hora de programar para hacer que, tanto en la etapa de desarrollo, y sobre todo en la etapa de mantenimiento se reduzca la probabilidad de crear algún error en la aplicación y por lo tanto que sea más sencillo para los desarrolladores e ingenieros de pruebas su trabajo. In this work we have performed an analysis of a web application. We have performed this analysis using a static analysis tool called CodeQL, created by GitHub. The objective of the work was to study an open source application oriented to education and teaching. For this reason, the application we selected was CODAP, an analysis tool that allows students to create and observe patterns. The final goal of the work was to collect all the bugs we found and send them to the application developers so that they could fix them. During the work, we carried out a series of tests that focused on different aspects of the software, seeking to find bugs not only in security, but also in other areas. In this work we have achieved all the objectives that we set at the beginning, and we have explained why analysis is necessary in software applications and what are some good practices when programming to make, both in the development stage, and especially in the maintenance stage to reduce the likelihood of creating an error in the application and therefore to make it easier for developers and test engineers to do their work.
Trabajo Fin de Máster
A study on dynamic analysis on JavaScript applicationsTitulación / Programa
Máster Universitario en Ingeniería de TelecomunicaciónMaterias/ categorías / ODS
H67 (MIT)Palabras Clave
Análisis estático, bug, error, software, XSS, CodeQL, CODAP.Static analysis, bug, mistake, software, XSS, CodeQL, CODAP.