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 条
  • [31] A unit-based symbolic execution method for detecting memory corruption vulnerabilities in executable codes
    Baradaran, Sara
    Heidari, Mahdi
    Kamali, Ali
    Mouzarani, Maryam
    INTERNATIONAL JOURNAL OF INFORMATION SECURITY, 2023, 22 (05) : 1277 - 1290
  • [32] Enhanced Memory Corruption Detection in C/C plus plus Programs
    Lin, Ching-Yi
    Yang, Wuu
    PROCEEDINGS OF THE 52ND INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS PROCEEDINGS, ICPP-W 2023, 2023, : 71 - 78
  • [33] Operational reasoning for concurrent caml programs and weak memory models
    Ridge, Tom
    Theorem Proving in Higher Order Logics, Proceedings, 2007, 4732 : 278 - 293
  • [34] Interactive Debugging of Concurrent Programs under Relaxed Memory Models
    Verma, Aakanksha
    Kalita, Pankaj Kumar
    Pandey, Awanish
    Roy, Subhajit
    CGO'20: PROCEEDINGS OF THE18TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2020, : 68 - 80
  • [35] Efficient memory management for concurrent programs that use message passing
    Sagonas, Konstantinos
    Wilhelmsson, Jesper
    SCIENCE OF COMPUTER PROGRAMMING, 2006, 62 (02) : 98 - 121
  • [36] Can Software Transactional Memory Make Concurrent Programs Simple and Safe?
    Malde, Ketil
    BIOINFORMATICS 2013: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON BIOINFORMATICS MODELS, METHODS AND ALGORITHMS, 2013, : 223 - 228
  • [37] Towards Algorithmic Synthesis of Synchronization for Shared-Memory Concurrent Programs
    Samanta, Roopsha
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2012, (84): : 17 - 32
  • [38] A COMPILE-TIME MEMORY-REUSE SCHEME FOR CONCURRENT LOGIC PROGRAMS
    DUVVURU, S
    SUNDARARAJAN, R
    TICK, E
    SASTRY, AVS
    HANSEN, L
    ZHONG, X
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 637 : 264 - 276
  • [39] Location pairs: a test coverage metric for shared-memory concurrent programs
    Tasiran, Serdar
    Keremoglu, M. Erkan
    Muslu, Kivanc
    EMPIRICAL SOFTWARE ENGINEERING, 2012, 17 (03) : 129 - 165
  • [40] Location pairs: a test coverage metric for shared-memory concurrent programs
    Serdar Tasiran
    M. Erkan Keremoğlu
    Kivanç Muşlu
    Empirical Software Engineering, 2012, 17 : 129 - 165