When Memory Corruption Met Concurrency: Vulnerabilities in Concurrent Programs

被引:0
|
作者
Llorente-Vazquez, Oscar [1 ]
Santos-Grueiro, Igor [2 ,3 ]
Bringas, Pablo Garcia [1 ]
机构
[1] Univ Deusto, Deusto Inst Technol, Bilbao 48007, Spain
[2] Mondragon Univ, Fac Engn, Arrasate Mondragon 20500, Spain
[3] HP Labs, Bristol BS34 8QZ, England
关键词
Concurrent computing; Instruction sets; Computer bugs; Testing; Programming; Behavioral sciences; Synchronization; Concurrency memory corruption; concurrency vulnerabilities; race condition; VIOLATIONS; CHECKER; SYSTEM;
D O I
10.1109/ACCESS.2023.3272833
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Concurrent programs are widespread in modern systems. They make better use of processor resources but inevitably introduce a new set of problems in terms of reliability and security. Concurrency bugs usually lead to program crashes and unexpected behavior, and are an active research topic. From a security perspective, concurrency vulnerabilities are those that exhibit harmful behavior exclusively in concurrent executions. They can take place in a diverse range of environments, such as in operating system kernels, file system operations, or general-purpose multithreaded programs. A particular characteristic of concurrency is that it not only introduces new problems, but also enables traditional vulnerabilities to be triggered in concurrent-specific ways. Those that lead to dangerous security vulnerabilities usually cause memory corruption, a strong and flexible primitive for exploitation, and are known as concurrency memory corruption vulnerabilities. In this paper, we systematically analyze concurrency vulnerabilities in C and C++ programs, their exploitation and their detection, focusing on concurrency memory corruption vulnerabilities. We organize previous work on concurrency bug characteristics and detection, and highlight the differences in relation to vulnerabilities. Then, we examine the existence of concurrency vulnerabilities in real-world programs by searching the CVE database and point out a growing trend. Further, we analyze and compare existing detection approaches towards concurrency memory corruption.
引用
收藏
页码:44725 / 44740
页数:16
相关论文
共 50 条
  • [21] Verification of Concurrent Programs on Weak Memory Models
    Travkin, Oleg
    Wehrheim, Heike
    THEORETICAL ASPECTS OF COMPUTING - ICTAC 2016, 2016, 9965 : 3 - 24
  • [22] Certifying Concurrent Programs Using Transactional Memory
    李隆
    张昱
    陈意云
    李勇
    JournalofComputerScience&Technology, 2009, 24 (01) : 110 - 121
  • [23] Certifying Concurrent Programs Using Transactional Memory
    Long Li
    Yu Zhang
    Yi-Yun Chen
    Yong Li
    Journal of Computer Science and Technology, 2009, 24 : 110 - 121
  • [24] Certifying Concurrent Programs Using Transactional Memory
    Li, Long
    Zhang, Yu
    Chen, Yi-Yun
    Li, Yong
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2009, 24 (01) : 110 - 121
  • [25] On Transactional Memory Concurrency Control in Distributed Real-Time Programs
    Hirve, Sachin
    Lindsay, Aaron
    Ravindran, Binoy
    Palmieri, Roberto
    2013 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2013,
  • [26] Towards Automated Detection of Higher-Order Memory Corruption Vulnerabilities in Embedded Devices
    Yu, Lei
    Li, Linyu
    Wang, Haoyu
    Wang, Xiaoyu
    He, Houhua
    Gong, Xiaorui
    PROCEEDINGS OF THE 2021 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE 2021), 2021, : 1707 - 1710
  • [27] Safe Optimisations for Shared-Memory Concurrent Programs
    Sevcik, Jaroslav
    PLDI 11: PROCEEDINGS OF THE 2011 ACM CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2011, : 306 - 316
  • [28] Verifying Safe Memory Reclamation in Concurrent Programs with CafeOBJ
    Duong Dinh Tran
    Ogata, Kazuhiro
    REWRITING LOGIC AND ITS APPLICATIONS, WRLA 2024, 2024, 14953 : 45 - 61
  • [29] Safe Optimisations for Shared-Memory Concurrent Programs
    Sevcik, Jaroslav
    ACM SIGPLAN NOTICES, 2011, 46 (06) : 306 - 316
  • [30] A unit-based symbolic execution method for detecting memory corruption vulnerabilities in executable codes
    Sara Baradaran
    Mahdi Heidari
    Ali Kamali
    Maryam Mouzarani
    International Journal of Information Security, 2023, 22 : 1277 - 1290