Publication
Detecção de Vulnerabilidades de Inteiros na Adaptação de Software de 32 para 64 Bits
| Summary: | Os processadores de 64 bits, comercializados por fabricantes como a Intel e a AMD, começaram a equipar os mais recentes computadores, sendo muito do software neles executado desenvolvido inicialmente para arquitecturas de 32 bits. As aplicações concebidas na linguagem de programação C para a arquitectura de 32 bits, ao serem portadas para 64 bits, podem ficar com vulnerabilidades relacionadas com a manipulação de inteiros. Esta tese estuda as vulnerabilidades que podem surgir quando se adapta ("porta") sem os necessários cuidados software de 32 para 64 bits, considerando o modelo de dados LP64, muito utilizado em software de código aberto. Também propõe a ferramenta DEEEP que faz a detecção dessas vulnerabilidades através de análise estática de código fonte. A ferramenta é baseada em duas ferramentas de análise estática de código, de código aberto, que são utilizadas para encontrar bugs na manipulação de inteiros, através de verificação de tipos, e para fazer análise de fluxo de dados, para verificar se funções perigosas (p.ex., memcpy, strcpy) estão acessíveis de fora do programa. Após estas duas formas de análise, a ferramenta DEEEP correlaciona a informação delas resultante, identificando se os bugs encontrados são realmente vulnerabilidades, ou seja, se são atacáveis. São apresentados resultados experimentais da utilização da ferramenta com código vulnerável sintético, criado especificamente para avaliar a ferramenta, e com diversos pacotes de código aberto |
|---|---|
| Main Authors: | Medeiros, Ibéria |
| Subject: | Vulnerabilidades de inteiros portabilidade análise estática de código detecção de vulnerabilidades processadores de 64 bits |
| Year: | 2008 |
| Country: | Portugal |
| Document type: | master thesis |
| Access type: | restricted access |
| Associated institution: | Universidade de Lisboa |
| Language: | Portuguese |
| Origin: | Repositório da Universidade de Lisboa |
| Summary: | Os processadores de 64 bits, comercializados por fabricantes como a Intel e a AMD, começaram a equipar os mais recentes computadores, sendo muito do software neles executado desenvolvido inicialmente para arquitecturas de 32 bits. As aplicações concebidas na linguagem de programação C para a arquitectura de 32 bits, ao serem portadas para 64 bits, podem ficar com vulnerabilidades relacionadas com a manipulação de inteiros. Esta tese estuda as vulnerabilidades que podem surgir quando se adapta ("porta") sem os necessários cuidados software de 32 para 64 bits, considerando o modelo de dados LP64, muito utilizado em software de código aberto. Também propõe a ferramenta DEEEP que faz a detecção dessas vulnerabilidades através de análise estática de código fonte. A ferramenta é baseada em duas ferramentas de análise estática de código, de código aberto, que são utilizadas para encontrar bugs na manipulação de inteiros, através de verificação de tipos, e para fazer análise de fluxo de dados, para verificar se funções perigosas (p.ex., memcpy, strcpy) estão acessíveis de fora do programa. Após estas duas formas de análise, a ferramenta DEEEP correlaciona a informação delas resultante, identificando se os bugs encontrados são realmente vulnerabilidades, ou seja, se são atacáveis. São apresentados resultados experimentais da utilização da ferramenta com código vulnerável sintético, criado especificamente para avaliar a ferramenta, e com diversos pacotes de código aberto |
|---|