Desenvolvimento de um ambiente para análise de códigos-fonte com ênfase em segurança

Detalhes bibliográficos
Ano de defesa: 2007
Autor(a) principal: Luiz Otávio Duarte
Orientador(a): Antonio Montes Filho
Banca de defesa: Nandamudi Lankalapalli Vijaykumar, Edgar Toshiro Yano
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Instituto Nacional de Pesquisas Espaciais (INPE)
Programa de Pós-Graduação: Programa de Pós-Graduação do INPE em Computação Aplicada
Departamento: Não Informado pela instituição
País: BR
Resumo em Inglês: This work presents a proposal of a source code analysis aid tool focused on security. Its main goal is to help developers to find real vulnerabilities in their own software. Among the vulnerabilities that can be found in a software, buffer overflows have greater occurrence. There are several ways to exploit this vulnerability and some of them are stack smash, arc injection, pointer subterfuge. To address these vulnerabilities there are some approaches that try to mitigate these vulnerabilities or to minimize the impact generated when they are exploited. The approaches are divided into compiler-dependent, system-dependent and software-dependent. The proposed tool analyzes the source code of a software to find buffer overflows vulnerabilities through a preventive and software-dependent approach. To achieve it, the tool tries to supply limitations found in similar tools. The advantages of sintatic analysis to improve the buffer overflow identification and the development of a viable prototype of this tool will be shown in this work.
Link de acesso: http://urlib.net/sid.inpe.br/mtc-m17@80/2007/04.23.11.26
Resumo: Este trabalho apresenta uma proposta de ambiente para análise de códigos-fonte com ênfase em segurança, tendo como objetivo primordial auxiliar desenvolvedores a encontrar reais vulnerabilidades presentes em seus próprios softwares. Dentre elas, as que podem ser encontradas com maior ocorrência são as que permitem ataques de extravasamento de buffer ou buffer overflow. São muitas as formas de explorar estas vulnerabilidades dentre elas destacam-se stack smash, arc injection e pointer subterfuge. Para endereçar estas vulnerabilidades existem algumas abordagens que tentam eliminá-las ou minimizar o impacto gerado quando estas são exploradas. As abordagens são divididas em abordagens dependentes do compilador, dependentes do sistema e dependentes da aplicação. O ambiente proposto, através de uma abordagem preventiva e dependente da aplicação, analisa o código-fonte do programa a fim de encontrar instruções que possam ocasionar um extravasamento de buffer. Para isso, o ambiente procura suprir limitações encontradas em ferramentas similares. Serão mostrados através dos testes realizados as vantagens na utilização de análise sintática para melhor identificação de problemas e como um protótipo viável do ambiente pode ser implementado.