Automated Memory Corruption Detection through Analysis of Static Variables and Dynamic Memory Usage

被引:2
|
作者
Park, Jihyun [1 ]
Choi, Byoungju [1 ]
Kim, Yeonhee [1 ]
机构
[1] Ewha Womans Univ, Dept Comp Sci & Engn, Seoul 03760, South Korea
关键词
memory corruption detection; memory fault detection; real-time fault detection; software debugging; fault detection;
D O I
10.3390/electronics10172127
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Various methods for memory fault detection have been developed through continuous study. However, many memory defects remain that are difficult to resolve. Memory corruption is one such defect, and can cause system crashes, making debugging important. However, the locations of the system crash and the actual source of the memory corruption often differ, which makes it difficult to solve these defects using the existing methods. In this paper, we propose a method that detects memory defects in which the location causing the defect is different from the actual location, providing useful information for debugging. This study presents a method for the real-time detection of memory defects in software based on data obtained through static and dynamic analysis. The data we used for memory defect analysis were (1) information of static global variables (data, address, size) derived through the analysis of executable binary files, and (2) dynamic memory usage information obtained by tracking memory-related functions that are called during the real-time execution of the process. We implemented the proposed method as a tool and applied it to applications running on the Linux. The results indicate the defect-detection efficacy of our tool for this application. Our method accurately detects defects with different cause and detected-fault locations, and also requires a very low overhead for fault detection.
引用
收藏
页数:24
相关论文
共 50 条
  • [21] A Comprehensive Review of Static Memory Analysis
    Akinyemi, Temidayo
    Solomon, Enoch
    Woubie, Abraham
    Lippert, Kari
    IEEE ACCESS, 2024, 12 : 170204 - 170226
  • [22] Analysis and Modeling of Internal State Variables for Dynamic Effects of Nonvolatile Memory Devices
    Shang, Yang
    Fei, Wei
    Yu, Hao
    IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I-REGULAR PAPERS, 2012, 59 (09) : 1906 - 1918
  • [23] Long-term memory facilitates spontaneous memory usage through multiple pathways
    Kumle, Levi
    Kovoor, Joel
    Watt, Rhianna L.
    Boettcher, Sage E. P.
    Nobre, Anna C.
    Draschkow, Dejan
    CURRENT BIOLOGY, 2025, 35 (05)
  • [24] Applications of Computational Intelligence for Static Software Checking Against Memory Corruption Vulnerabilities
    Alvares, Marcos
    Marwala, Tshilidzi
    de Lima Neto, Fernando Buarque
    2013 IEEE SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE IN CYBER SECURITY (CICS), 2013, : 59 - 66
  • [25] Defeating memory corruption attacks via pointer taintedness detection
    Chen, S
    Xu, J
    Nakka, N
    Kalbarczyk, Z
    Iyer, RK
    2005 INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS, PROCEEDINGS, 2005, : 378 - 387
  • [26] Static and Dynamic Memory Protection using Type-Based Memory Layout in Rust
    Lindgren, Per
    Dzialo, Pawel
    Nurmi, Antti
    Lunnikivi, Henri
    2023 IEEE 2ND INDUSTRIAL ELECTRONICS SOCIETY ANNUAL ON-LINE CONFERENCE, ONCON, 2023,
  • [27] Automated Memory Leak Detection for Production Use
    Jung, Changhee
    Lee, Sangho
    Raman, Easwaran
    Pande, Santosh
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 825 - 836
  • [28] Memory Usage Improvement Using Runtime Alias Detection
    Hanai, Ryo
    Ugawa, Tomoharu
    Yoneda, Masashi
    Yasugi, Masahiro
    Yuasa, Taiichi
    TRENDS IN FUNCTIONAL PROGRAMMING, VOL 7, 2007, 7 : 129 - 144
  • [29] A COMPARISON OF DYNAMIC AND STATIC VIRTUAL MEMORY ALLOCATION ALGORITHMS
    BUDZINSKI, RL
    DAVIDSON, ES
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1981, 7 (01) : 122 - 131
  • [30] An Experimental Analysis for Memory Usage of GOS Core
    Lu, Xiaoyi
    Yue, Qiang
    Zou, Yongqiang
    Wang, Xiaoning
    PDCAT 2008: NINTH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING, APPLICATIONS AND TECHNOLOGIES, PROCEEDINGS, 2008, : 33 - 36