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 条
  • [1] Detecting Concurrency Memory Corruption Vulnerabilities
    Cai, Yan
    Zhu, Biyun
    Meng, Ruijie
    Yun, Hao
    He, Liang
    Su, Purui
    Liang, Bin
    ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 706 - 717
  • [2] A Comprehensive Detection of Memory Corruption Vulnerabilities for C/C plus plus Programs
    Gao, Yuhan
    Chen, Liwei
    Shi, Gang
    Zhang, Fei
    2018 IEEE INT CONF ON PARALLEL & DISTRIBUTED PROCESSING WITH APPLICATIONS, UBIQUITOUS COMPUTING & COMMUNICATIONS, BIG DATA & CLOUD COMPUTING, SOCIAL COMPUTING & NETWORKING, SUSTAINABLE COMPUTING & COMMUNICATIONS, 2018, : 354 - 360
  • [3] MemSherlock: An Automated Debugger for Unknown Memory Corruption Vulnerabilities
    Sezer, Emre C.
    Ning, Peng
    Kil, Chongkyung
    Xu, Jun
    CCS'07: PROCEEDINGS OF THE 14TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2007, : 562 - +
  • [4] Memory Corruption Vulnerabilities Detection for Android Binary Software
    Zhang, Bin
    Wu, Bo
    Feng, Chao
    Tang, Chaojing
    2015 IEEE INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING, COMMUNICATIONS AND COMPUTING (ICSPCC), 2015, : 16 - 20
  • [5] Research on Discovering Memory Corruption Vulnerabilities for Embedded CGIs
    Wang D.
    Zhang X.-S.
    Chen T.
    Dianzi Keji Daxue Xuebao/Journal of the University of Electronic Science and Technology of China, 2020, 49 (05): : 745 - 750
  • [6] Probabilistic Concurrency Testing forWeak Memory Programs
    Gao, Mingyu
    Chakraborty, Soham
    Ozkan, Burcu Kulahcioglu
    PROCEEDINGS OF THE 28TH ACM INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, VOL 2, ASPLOS 2023, 2023, : 603 - 616
  • [7] Detecting Concurrency Anomalies in Transactional Memory Programs
    Lourenco, Joao
    Sousa, Diogo
    Teixeira, Bruno
    Dias, Ricardo
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2011, 8 (02) : 533 - 548
  • [8] Detecting Concurrency Vulnerabilities Based on Partial Orders of Memory and Thread Events
    Yu, Kunpeng
    Wang, Chenxu
    Cai, Yan
    Luo, Xiapu
    Yang, Zijiang
    PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 280 - 291
  • [9] When Learning Met Memory
    MacLeod, Colin M.
    CANADIAN JOURNAL OF EXPERIMENTAL PSYCHOLOGY-REVUE CANADIENNE DE PSYCHOLOGIE EXPERIMENTALE, 2010, 64 (04): : 227 - 240
  • [10] TEEREX: Discovery and Exploitation of Memory Corruption Vulnerabilities in SGX Enclaves
    Cloosters, Tobias
    Rodler, Michael
    Davi, Lucas
    PROCEEDINGS OF THE 29TH USENIX SECURITY SYMPOSIUM, 2020, : 841 - 858