Análise esparsa de fluxo de informação
Carregando...
Arquivos
Data
Autor(es)
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Minas Gerais
Descrição
Tipo
Tese de doutorado
Título alternativo
Primeiro orientador
Membros da banca
Alan Mitchell Durham
Diego de Freitas Aranha
Felipe Maia Galvão França
Leonardo Barbosa e Oliveira
Mario Sergio Ferreira Alvim Junior
Diego de Freitas Aranha
Felipe Maia Galvão França
Leonardo Barbosa e Oliveira
Mario Sergio Ferreira Alvim Junior
Resumo
Análises de fluxo de informação usam o conceito de Grafo de Dependência do Programa (GDP) como uma estrutura de dados. Ele utiliza a noção de dependência de controle introduzida por Ferrante et al. p/ representar fluxos implícitos. A limitação dessa abordagem é que ela pode criar O(|I|x|E|) arestas de fluxo implícito no GDP, onde I são as instruções, e E são as arestas do seu respectivo grafo de fluxo de controle. Esta tese mostra que é possível construir análises de fluxo usando uma noção diferente de dependência implícita, que gera um número de arestas linear no número de definições + usos de variáveis. A teoria aqui desenvolvida foi usada p/ construir FlowTracker, uma ferramenta que detecta vulnerabilidades de software relacionadas ao fluxo de informação, tais como: vazamento de endereço, estouro de arranjo e canais laterais. FlowTracker é capaz de manipular mais de 1 milhão de instruções em menos que 200 seg., e cria 24% menos arestas de fluxo implícito que a técnica de Ferrante.
Abstract
Assunto
Criptografia de dados (Computação), Compiladores (Computadores), Computação
Palavras-chave
Compiladores, Análise Estática, Fluxo de Informação, Segurança, Canais Laterais