Detecção Estática e Consistente de Potenciais Estouros de Arranjos

  • Bruno Rodrigues Silva UFMG

Resumo


Estouros de arranjos, uma vulnerabilidade de software bastante conhecida na literatura especializada em segurança, são frequentemente utilizados por adversários que têm o objetivo de corromper o fluxo de controle do programa. Isto é possível em linguagens fracamente tipadas como C e C++ onde os acessos à arranjos não são verificados. Uma possível solução é a inserção de código para verificação de todos os acessos à arranjos de forma a evitar aqueles fora dos limites. Entretanto o custo em tempo de execução seria proibitivo. Este trabalho propõe a detecção de potenciais estouros de arranjos via análise estática de código, o que permitiria ao desenvolvedor, a inserção de código de verificação apenas nos traços estáticos possivelmente vulneráveis. Verificou-se que cerca de 41% do código fonte dos benchmarks SPEC CPUINT 2006 estão vulneráveis à este tipo de ataque.

Referências

Ferrante, J., Ottenstein, K. J., and Warren, J. D. (1987). The program dependence graph and its use in optimization. TOPLAS, 9(3):319–349.

Kocher, P. C. (1996). Timing attacks on implementations of diffie-hellman, rsa, dss, and other systems. In Proceedings of the 16th Annual International Cryptology Conference on Advances in Cryptology, CRYPTO ’96, pages 104–113, London, UK, UK. Springer-Verlag.

Lattner, C. and Adve, V. S. (2004). LLVM: A compilation framework for lifelong program analysis & transformation. In CGO, pages 75–88. IEEE.

Maffra, I. K. T., Pereira, F. M. Q., and Oliveira, L. B. (2013). Detecção automática de vulnerabilidades em código protegido por canários. In SBSeg, pages 184 –197.

Quadros, G. S., Souza, R. M., and Pereira, F. M. Q. (2012). Dynamic detection of address leaks. In SBSeg, pages 61–75.

Silva, B. R. (2014). Um algoritmo linear para a construção de program slices. In Anais do XVIII Simpósio Brasileiro Linguagens de Programação.

Silva, Bruno Rodrigues, P. F. M. Q. O. L. B. (2013). Uma representação intermendiária para a detecção de vazamentos implícitos de informação. In Anais do XIV Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais, pages 212–225.
Publicado
03/11/2014
Como Citar

Selecione um Formato
SILVA, Bruno Rodrigues. Detecção Estática e Consistente de Potenciais Estouros de Arranjos. In: SIMPÓSIO BRASILEIRO DE SEGURANÇA DA INFORMAÇÃO E DE SISTEMAS COMPUTACIONAIS (SBSEG), 14. , 2014, Belo Horizonte. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2014 . p. 314-317. DOI: https://doi.org/10.5753/sbseg.2014.20142.