Dissertação

Framework para Detecção Automática de Vulnerabilidades em Aplicações Web usando Fuzzing EVALUATED

O problema de deteccão de vulnerabilidades em software tem sido amplamente abordado na literatura especializada e é fulcral no desenvolvimento de aplicações que tenham requisitos de segurança. O fuzzing é uma técnica de teste de software, automatizada ou semi-automatizada, que consiste na injecção de grandes quantidades de inputs semi-aleatórios em software de modo a descobrir vulnerabilidades. Muitas das técnicas de detecção de vulnerabilidades actuais necessitam de análise manual por parte dos especialistas para confirmar a sua existência. Assim, pretendeu-se desenvolver um sistema mais expedito para permitir a detecção automática de vulnerabilidades em aplicações web através do uso de fuzzing. A detecção de vulnerabilidades em aplicações web difere da realizada em outros tipos de software por estas possuírem vários componentes back-end, que causam vulnerabilidades específicas, sendo assim conveniente existirem mecanismos que os monitorizem de forma a auxiliar a detecção. Este trabalho apresenta uma framework para fuzzing de aplicações web. Esta framework pretende detectar eficazmente vulnerabilidades através de monitorização que em grande parte está embebida nos vários componentes da aplicação distinguindo-se das abordagens existentes no state of the art. A framework considera a detecção de um conjunto representativo de vulnerabilidades web: injecção de SQL; inclusão de ficheiros local e remota; cross-site scripting reflectido e armazenado. No caso da injeccão de SQL são consideradas algumas variantes descobertas recentemente. Também é apresentada uma avaliação experimental da framework desenvolvida neste trabalho tendo em conta amostras de código vulnerável e aplicações open source.
Segurança, Detecção automática de vulnerabilidades, Aplicações Web, Fuzzing

Novembro 6, 2014, 18: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