On the Path to Buffer Overflow Detection by Model Checking the Stack of Binary Programs

Luís Ferreirinha*, Ibéria Medeiros

*Corresponding author for this work

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

The C programming language, prevalent in Cyber-Physical Systems, is crucial for system control where reliability is critical. However, it is notably susceptible to vulnerabilities, particularly buffer overflows that are ranked among the most dangerous due to their potential for catastrophic consequences. Traditional techniques, such as static analysis, often struggle with scalability and precision when detecting these vulnerabilities in the binary code of compiled C programs. This paper introduces a novel approach designed to overcome these limitations by leveraging model checking techniques to verify security properties within a program’s stack memory. To verify these properties, we propose the construction of a state space of the stack memory from a binary program’s control flow graph. Security properties, modelled for stack buffer overflow vulnerabilities and defined in Linear Temporal Logic, are verified against this state space. When violations are detected, counter-example traces are generated to undergo a reverse-flow analysis process to identify specific instances of stack buffer overflow vulnerabilities. This research aims to provide a scalable and precise approach to vulnerability detection in C binaries.

Original languageEnglish
Title of host publicationProceedings of the 19th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2024
EditorsHermann Kaindl, Hermann Kaindl, Hermann Kaindl, Mike Mannion, Leszek Maciaszek, Leszek Maciaszek
PublisherScience and Technology Publications, Lda
Pages719-726
Number of pages8
ISBN (Electronic)9789897586965
DOIs
Publication statusPublished - 2024
Externally publishedYes
Event19th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2024 - Angers, France
Duration: 28 Apr 202429 Apr 2024

Publication series

NameInternational Conference on Evaluation of Novel Approaches to Software Engineering, ENASE - Proceedings
ISSN (Electronic)2184-4895

Conference

Conference19th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2024
Country/TerritoryFrance
CityAngers
Period28/04/2429/04/24

Bibliographical note

Publisher Copyright:
© 2024 by SCITEPRESS – Science and Technology Publications, Lda.

Keywords

  • Assembly
  • Linear Temporal Logic
  • Model Checking
  • Software Security
  • Stack Buffer Overflow
  • Static Analysis

Fingerprint

Dive into the research topics of 'On the Path to Buffer Overflow Detection by Model Checking the Stack of Binary Programs'. Together they form a unique fingerprint.

Cite this