Dissertação
Virtual Static Security Analyzer for Web Applications EVALUATED
Nas últimas décadas, as aplicações web têm sido um alvo muito popular de ataques informáticos. Para mitigar esse problema precisamos de formas automatizadas de detetar vulnerabilidades em código fonte. No entanto, as ferramentas modernas são muito complexas, sendo constituídas por milhares de linhas de código. Para além disso, as suas implementações estão muitas vezes presas a uma determinada linguagem. Essa complexidade faz com que as ferramentas sejam muito difíceis de compreender e de serem extendidas para suportarem novas linguagens. Para reduzir a complexidade dos analisadores estáticos atuais, esta tese propõe uma nova solução genérica, que suporta a adição de novas linguagens sem muito esforço de programação. A nossa solução, ao contrário dos analisadores estáticos tradicionais, não analisa a AST do código fonte diretamente. Em vez disso, percorremos a AST do código fonte e construímos uma AST genérica (GAST) a partir desta. Depois disso, a análise para encontrar vulnerabilidades é feita com base na GAST. Desta forma conseguimos desacouplar a parte da análise e do parse do código fonte. Para além disso, GAST apenas contém o que é realmente necessário para fazer a análise, ignorando o resto. Para adicionarmos suporte a uma nova linguagem é necessário apenas gerar um parser usando ANTRL4 e escrever um conversor para a respetiva AST. Habitualmente um conversor é composto por menos de 110 linhas de código.
janeiro 18, 2021, 9:0
Publicação
Obra sujeita a Direitos de Autor
Orientação
ORIENTADOR
Miguel Nuno Dias Alves Pupo Correia
Departamento de Engenharia Informática (DEI)
Professor Associado
ORIENTADOR
João Carlos Serrenho Dias Pereira
Departamento de Engenharia Informática (DEI)
Professor Auxiliar