Detalhes do Documento

StackFences: a run-time approach for detecting stack overflows

Autor(es): André Zúquete cv logo 1

Data: 2011

Origem: Electrónica e Telecomunicações

Assunto(s): Buffer overflows; run-time detection; run-time correctness assessment; damage containment; dependability; Buffer overflows; run-time detection; run-time correctness assessment; damage containment; dependability


Descrição
This article describes StackFences, a run-time technique for detecting overflows in local variables in C programs.This technique is different from all others developed so far because it tries to detect expiicit overflow occurrences, instead of detecting if a particular stack value, namely a return address, was corrupted because of a stack overflow.Thus, StackFences is useful not only for detecting intrusionattempts but also for checking the run-time robustness of applications.We also conceived different policies for deploying StackFences, allowing a proper balancing between detection accuracy and performance. For testing StackFences we developed a prototype for Linux systems using TCC (Tiny C Compiler). C modules compiled with StackFences are fully compatible with C modules compiled differently and standard libraries. Effectiveness tests confirmed that all overflows in local variables are detected before causing any severe damage.Performance tests ran with several tools and parametersshowed an acceptable performance degradation. Este artigo descreve o StackFences, uma técnica para detectar em tempo de execução transbordamentos de memória em variáveis locais de programas em C. Esta técnica é diferente das demais desenvolvidas para lidar com este problemaporque detecta directamente os transbordamentos de memória, em vez de detectar se valor específicos na pilha,como endereços de retomo, foram corrompidos devido a umtransbordamento de memória. Assim, o StackFences é útilnão só para detectar tentativas de intrusão mas tambémpara monitorizar a correcção de execução das aplicações.Foram também concebidas duas políticas de exploração doStackFences que permitem um equilíbrio apropriado entrecorrecção e desempenho. Para testar o StackFencesdesenvolveu-se um protótipo para sistemas Linux usando oTCC (Tiy C Compiler). Os módulos C compilados com oStackFences são totalmente compatíveis com módulos C compilados diferentemente ou com bibliotecas padrão. Os testes de eficácia confirmaram que todos os transbordamentos em variáveis locais são detectados antes de causar um estrago significativo.Os testes de desempenho executados com diversas ferramentas e parâmetros revelarain uma degradação de desempenho aceitável.
Tipo de Documento Artigo
Idioma Inglês
Editor(es) ;
delicious logo  facebook logo  linkedin logo  twitter logo 
degois logo
mendeley logo

Documentos Relacionados



    Financiadores do RCAAP

Fundação para a Ciência e a Tecnologia Universidade do Minho   Governo Português Ministério da Educação e Ciência Programa Operacional da Sociedade do Conhecimento União Europeia