Identifying Use-After-Free Variables in Fire-and-Forget Tasks

被引:0
|
作者
Krishna, Jyothi V. S. [1 ]
Litvinov, Vassily [2 ]
机构
[1] IIT Madras, Madras, Tamil Nadu, India
[2] Cray Inc, Seattle, WA USA
关键词
Concurrent CFG; PPS; begin statement;
D O I
10.1109/IPDPSW.2017.105
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Programmers use begin constructs in Chapel to create fire and forget-style tasks, which do not perform any implicit synchronization with the parent task. While this provides a good facility to invoke parallel tasks, it poses issues when the child task accesses a variable declared in the scope of its ancestor. If the parent task exits before the child, its scope is deallocated and the child may end up accessing memory location that is no longer valid. The child task must synchronize with the parent task to ensure legal access to its variables, for example by means of atomic variables, sync statements, or sync and single synchronization variables. In this work, we address the above issue with a compile-time partial inter-procedural analysis for outer variable accesses in begin tasks to identify and report potentially dangerous accesses. We make use of a Concurrent Control Flow Graph to generate all possible run-time Parallel Program States (PPS). All outer variable accesses that are potentially dangerous in the generated PPS-es are then reported to the user for rectification.
引用
收藏
页码:1086 / 1094
页数:9
相关论文
共 46 条
  • [1] Dynamic Detection of Use-After-Free Bugs
    S. A. Asryan
    S. S. Gaissaryan
    Sh. F. Kurmangaleev
    A. M. Aghabalyan
    N. G. Hovsepyan
    S. S. Sargsyan
    [J]. Programming and Computer Software, 2019, 45 : 365 - 371
  • [2] Detect use-after-free vulnerabilities in binaries
    Han, Xinhui
    Wei, Shuang
    Ye, Jiayi
    Zhang, Chao
    Ye, Zhiyuan
    [J]. Qinghua Daxue Xuebao/Journal of Tsinghua University, 2017, 57 (10): : 1022 - 1029
  • [3] Dynamic Detection of Use-After-Free Bugs
    Asryan, S. A.
    Gaissaryan, S. S.
    Kurmangaleev, Sh F.
    Aghabalyan, A. M.
    Hovsepyan, N. G.
    Sargsyan, S. S.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2019, 45 (07) : 365 - 371
  • [4] DangSan: Scalable Use-after-free Detection
    van der Kouwe, Erik
    Nigade, Vinod
    Giuffrida, Cristiano
    [J]. PROCEEDINGS OF THE TWELFTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS 2017), 2017, : 405 - 419
  • [5] Preventing Use-after-free with Dangling Pointers Nullification
    Lee, Byoungyoung
    Song, Chengyu
    Jang, Yeongjin
    Wang, Tielei
    Kim, Taesoo
    Lu, Long
    Lee, Wenke
    [J]. 22ND ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2015), 2015,
  • [6] Uncovering Use-After-Free Conditions In Compiled Code
    Dewey, David
    Reaves, Bradley
    Traynor, Patrick
    [J]. PROCEEDINGS 10TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY ARES 2015, 2015, : 90 - 99
  • [7] UFO: Predictive Concurrency Use-After-Free Detection
    Huang, Jeff
    [J]. PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, : 609 - 619
  • [8] Preventing Use-After-Free Attacks with Fast Forward Allocation
    Wickman, Brian
    Hu, Hong
    Yun, Insu
    Jang, Daehee
    Lim, JungWon
    Kashyap, Sanidhya
    Kim, Taesoo
    [J]. PROCEEDINGS OF THE 30TH USENIX SECURITY SYMPOSIUM, 2021, : 2453 - 2470
  • [9] Use-After-FreeMail: Generalizing the Use-After-Free Problem and Applying it to Email Services
    Gruss, Daniel
    Schwarz, Michael
    Wuebbeling, Matthias
    Guggi, Simon
    Malderle, Timo
    More, Stefan
    Lipp, Moritz
    [J]. PROCEEDINGS OF THE 2018 ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (ASIACCS'18), 2018, : 297 - 311
  • [10] Use-After-Free Mitigation via Protected Heap Allocation
    Zhang, Mingbo
    Zonouz, Saman
    [J]. 2018 IEEE CONFERENCE ON DEPENDABLE AND SECURE COMPUTING (DSC), 2018, : 131 - 138