Algoritmo eficiente de análise estática para procurar ataques do tipo variáveis contaminadas
AUTOR(ES)
Andrei Rimsa Alvares
DATA DE PUBLICAÇÃO
2010
RESUMO
Ataques do tipo variáveis contaminadas ocorrem quando entradas de programas são manipuladas maliciosamente a afim de explorar falhas de segurança inerentes ao software afetado. Ataques deste tipo são comuns em linguagens de scripts como PHP, originadas no lado do servidor. Em 1997, Orbaek e Palsberg formalizaram o problema de detectar essas explorações como uma instância de verificação de tipo e mostraram que um algoritmo com complexidade de tempo O(V3) é capaz de resolver o problema. Um algoritmo similar foi implementado dez anos depois pela ferramenta open source Pixy para encontrar falhas de segurança em programas PHP. Este trabalho mostra que o mesmo problema pode ser resolvido em tempo O(V2). A solução proposta utiliza uma representação intermediária chamada e-SSA (extended Static Single Assignment) proposta por Bodik et al. em 2000. Essa representação pode ser computada eficientemente e permite que o problema seja tratado como um problema de alcance em grafos, onde arestas modelam dependências de dados entre variáveis de programas. Usando a mesma infra-estrutura de implementação, foi comparada a técnica proposta neste trabalho com e-SSA e a técnica que utiliza análise de fluxo de dados (data-flow). Ambas as abordagens possuem a mesma eficácia e foram capazes de detectar 36 vulnerabilidades em programas PHP conhecidos. Nos experimentos é possível observar que a abordagem proposta neste trabalho tem um melhor desempenho que o algoritmo utilizando data-flow. As falhas de segurança encontradas foram reportadas e a implementação do algoritmo proposto está disponível para o compilador de PHP open source phc.
ASSUNTO(S)
computação teses. algoritmos teses. compiladores (programas de computador) teses.
ACESSO AO ARTIGO
http://hdl.handle.net/1843/SLSS-8GPQ3NDocumentos Relacionados
- Algoritmo paralelo e eficiente para o problema de pareamento de dados
- Desenvolvimento de um elemento finito do tipo hierarquico para analise estatica de placas e cascas a partir do elemento superparametrico quadrilateral linear
- Um algoritmo polinomial para o problema de empacotamento de contêineres com estabillidade estática da carga
- Arquitetura de hardware compacta e eficiente para redes neurais artificiais do tipo múltiplas camadas
- Um algoritmo do tipo partição-limitação para o problema de representação de conjuntos