Abstract
|
A análise de código é um mecanismo de apoi … A análise de código é um mecanismo de apoio à detecção de anomalias ou erros de concretização existentes num ambiente de programação. Diversos factores podem levar ao aparecimento destes erros,
destacando-se entre eles a programação inadequada, o conhecimento
limitado das interfaces e outros factores inerentemente humanos, como
o esquecimento. As ferramentas de análise podem então ter um impacto
positivo no ciclo de desenvolvimento de um produto, permitindo
poupar tempo, dinheiro e contribuindo para que a aplicação seja construída
sem vulnerabilidades de segurança. A análise de código pode
ser efectuada em três modos: estática, dinâmica ou manual; cada um
destes modos têm as suas vantagens e desvantagens, sendo os mais
usados os estáticos e os dinâmicos.
Nesta tese aborda-se o problema de detecção de vulnerabilidades de
segurança através de ferramentas de análise estática, focadas para a
linguagem de programação C. A tese propõe um teste que permite
avaliar e comparar o desempenho de diversas ferramentas de análise
estática, nomeadamente em relação ao número de falsos alarmes por
elas despoletadas. A tese descreve também uma nova ferramenta designada
por Mute, que tem como objectivo uma melhor eficácia e
precisão na detecção de um conjunto alargado de vulnerabilidades.
Genericamente, o Mute utiliza um mecanismo de agregação de resultados
produzidos por várias ferramentas existentes, para decidir da
existência ou não de uma vulnerabilidade. A tese inclui ainda uma
avaliação comparativa do Mute e de diversas outras ferramentas. do Mute e de diversas outras ferramentas.
|