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 条
  • [41] Data flow testing in concurrent programs with message passing and shared memory paradigms
    Souza, Paulo S. L.
    Souza, Simone S.
    Rocha, Murilo G.
    Prado, Rafael R.
    Batista, Raphael N.
    2013 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, 2013, 18 : 149 - 158
  • [42] VeyMont: Choreography-Based Generation of Correct Concurrent Programs with Shared Memory
    Rubbens, Robert
    van den Bos, Petra
    Huisman, Marieke
    INTEGRATED FORMAL METHODS, IFM 2024, 2025, 15234 : 217 - 236
  • [43] A Dynamic Detection Method to C/C plus plus Programs Memory Vulnerabilities Based on Pointer Analysis
    Ma, Rui
    Chen, Lingkui
    Hu, Changzhen
    Xue, Jingfeng
    Zhao, Xiaolin
    2013 IEEE 11TH INTERNATIONAL CONFERENCE ON DEPENDABLE, AUTONOMIC AND SECURE COMPUTING (DASC), 2013, : 52 - 57
  • [44] Toward New Unit-Testing Techniques for Shared-Memory Concurrent Programs
    Jongmans, Sung-Shik
    2019 24TH INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS 2019), 2019, : 164 - 169
  • [45] Slicing Shared-Memory Concurrent Programs The Threaded System Dependence Graph Revisited
    Galindo, Carlos
    Llorens, Marisa
    Perez, Sergio
    Silva, Josep
    2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION, ICSME, 2023, : 73 - 83
  • [46] Can We Efficiently Check Concurrent Programs Under Relaxed Memory Models in Maude?
    Abd Alrahman, Yehia
    Andric, Marina
    Beggiato, Alessandro
    Lafuente, Alberto Lluch
    REWRITING LOGIC AND ITS APPLICATIONS, WRLA 2014, 2014, 8663 : 21 - 41
  • [47] THE FRAGILE MEMORY + WHAT REALLY HAPPENED WHEN JEFFERSON,THOMAS MET GEORGE-III
    RITCHESON, CR
    AMERICAN HERITAGE, 1981, 33 (01) : 72 - 77
  • [48] Allowing cycle-stealing direct memory access I/O concurrent with hard-real-time programs
    Huang, TY
    Liu, JWS
    Chung, JY
    1996 INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 1996, : 422 - 429
  • [49] A model-free and state-cover testing scheme for semaphore-based and shared-memory concurrent programs
    Hwang, Gwan-Hwan
    Lin, Che-Sheng
    Lee, Teng-Shuo
    Wu-Lee, Chi
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2014, 24 (08): : 706 - 737
  • [50] When San Francisco Met Tennessee: Civil War Memory, Racial Violence, and the Costs of Sectional Reconciliation during the Spanish-American War
    McDonnell, Pierce Gissler
    CALIFORNIA HISTORY, 2022, 99 (04) : 3 - 29