StackFences: a run-time approach for detecting stack overflows

Detalhes bibliográficos
Autor(a) principal: Zúquete, André
Data de Publicação: 2004
Tipo de documento: Artigo
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: https://proa.ua.pt/index.php/revdeti/article/view/17592
Resumo: 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 intrusion attempts 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 parameters showed an acceptable performance degradation.
id RCAP_8e25f0073e5cc75efb0baae981254712
oai_identifier_str oai:proa.ua.pt:article/17592
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling StackFences: a run-time approach for detecting stack overflowsThis 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 intrusion attempts 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 parameters showed 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 problema porque 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 um transbordamento de memória. Assim, o StackFences é útil não só para detectar tentativas de intrusão mas também para monitorizar a correcção de execução das aplicações. Foram também concebidas duas políticas de exploração do StackFences que permitem um equilíbrio apropriado entre correcção e desempenho. Para testar o StackFences desenvolveu-se um protótipo para sistemas Linux usando o TCC (Tiy C Compiler). Os módulos C compilados com o StackFences 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 revelaram uma degradação de desempenho aceitável.UA Editora2004-01-01T00:00:00Zjournal articleinfo:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionapplication/pdfhttps://proa.ua.pt/index.php/revdeti/article/view/17592oai:proa.ua.pt:article/17592Eletrónica e Telecomunicações; Vol 4 No 3 (2004); 403-412Eletrónica e Telecomunicações; vol. 4 n.º 3 (2004); 403-4122182-97721645-0493reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAPenghttps://proa.ua.pt/index.php/revdeti/article/view/17592https://proa.ua.pt/index.php/revdeti/article/view/17592/12579https://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccessZúquete, André2022-09-26T11:00:16Zoai:proa.ua.pt:article/17592Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T16:08:21.149603Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv StackFences: a run-time approach for detecting stack overflows
title StackFences: a run-time approach for detecting stack overflows
spellingShingle StackFences: a run-time approach for detecting stack overflows
Zúquete, André
title_short StackFences: a run-time approach for detecting stack overflows
title_full StackFences: a run-time approach for detecting stack overflows
title_fullStr StackFences: a run-time approach for detecting stack overflows
title_full_unstemmed StackFences: a run-time approach for detecting stack overflows
title_sort StackFences: a run-time approach for detecting stack overflows
author Zúquete, André
author_facet Zúquete, André
author_role author
dc.contributor.author.fl_str_mv Zúquete, André
description 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 intrusion attempts 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 parameters showed an acceptable performance degradation.
publishDate 2004
dc.date.none.fl_str_mv 2004-01-01T00:00:00Z
dc.type.driver.fl_str_mv journal article
info:eu-repo/semantics/article
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://proa.ua.pt/index.php/revdeti/article/view/17592
oai:proa.ua.pt:article/17592
url https://proa.ua.pt/index.php/revdeti/article/view/17592
identifier_str_mv oai:proa.ua.pt:article/17592
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv https://proa.ua.pt/index.php/revdeti/article/view/17592
https://proa.ua.pt/index.php/revdeti/article/view/17592/12579
dc.rights.driver.fl_str_mv https://creativecommons.org/licenses/by/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv UA Editora
publisher.none.fl_str_mv UA Editora
dc.source.none.fl_str_mv Eletrónica e Telecomunicações; Vol 4 No 3 (2004); 403-412
Eletrónica e Telecomunicações; vol. 4 n.º 3 (2004); 403-412
2182-9772
1645-0493
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799130541330530304