Dissertação

Whitebox Fuzzing for Web Application Security EVALUATED

Mesmo já havendo bastante pesquisa sobre segurança na web, a segurança em aplicações web continua a ser um problema relevante. O maior problema com este tipo de aplicações deve-se ao código fonte, que é escrito em linguagens inseguras, levando à existência de vulnerabilidades. Uma maneira de detectar vulnerabilidades no código fonte é utilizando análise estática, que é uma maneira de analisar código sem que este seja executado. No entanto, esta abordagem é falível, uma vez que este tipo de análise é efectuada em código sem este ser executado, fazendo com que haja falsos positivos e falsos negativos. Numa tentativa de melhorar estes resultados, pode-se usar concolic execution, a qual permite a uma ferramenta saber os valores injectados numa aplicação durante a sua execução, e analisar os caminhos de execução originados por estes valores. Neste sentido, pode-se obter uma análise estática mais refinada e consequentemente, encontrarem-se mais caminhos para serem explorados, utilizando-se a técnica de programação com constraints. Programação com constraints é uma linguagem declarativa que expressa a lógica entre variáveis sem descrever os caminhos percorridos pela aplicação. BaZINGA é uma ferramenta que foi desenvolvida de modo a conseguir detectar vulnerabilidades em aplicações web escritas em PHP. Para se poder desenvolver esta ferramenta, foi necessário estudar várias combinações das técnicas faladas anteriormente.
whitebox testing, fuzzing, vulnerabilidades, segurança em aplicações web, constraint programming

Junho 6, 2018, 10:30

Documentos da dissertação ainda não disponíveis publicamente

Orientação

ORIENTADOR

Miguel Nuno Dias Alves Pupo Correia

Departamento de Engenharia Informática (DEI)

Professor Associado

ORIENTADOR

Ibéria Vitória de Sousa Medeiros

Faculdade de Ciências da Universidade de Lisboa

Professor Auxiliar Convidado