CASTSAN: Efficient Detection of Polymorphic C plus plus Object Type Confusions with LLVM

被引:3
|
作者
Muntean, Paul [1 ]
Wuerl, Sebastian [1 ]
Grossklags, Jens [1 ]
Eckert, Claudia [1 ]
机构
[1] Tech Univ Munich, Munich, Germany
来源
关键词
Static cast; Type confusion; Bad casting; Type safety; Type casting;
D O I
10.1007/978-3-319-99073-6_1
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
C++ object type confusion vulnerabilities as the result of illegal object casting have been threatening systems' security for decades. While there exist several solutions to address this type of vulnerability, none of them are sufficiently practical for adoption in production scenarios. Most competitive and recent solutions require object type tracking for checking polymorphic object casts, and all have prohibitively high runtime overhead. The main source of overhead is the need to track the object type during runtime for both polymorphic and non-polymorphic object casts. In this paper, we present CASTSAN, a C++ object type confusion detection tool for polymorphic objects only, which scales efficiently to large and complex code bases as well as to many concurrent threads. To considerably reduce the object type cast checking overhead, we employ a new technique based on constructing the whole virtual table hierarchy during program compile time. Since CASTSAN does not rely on keeping track of the object type during runtime, the overhead is drastically reduced. Our evaluation results show that complex applications run insignificantly slower when our technique is deployed, thus making CASTSAN a real-world usage candidate. Finally, we envisage that based on our object type confusion detection technique, which relies on ordered virtual tables (vtables), even non-polymorphic object casts could be precisely handled by constructing auxiliary non-polymorphic function table hierarchies for static classes as well.
引用
收藏
页码:3 / 25
页数:23
相关论文
共 50 条
  • [1] HexType: Efficient Detection of Type Confusion Errors for C plus
    Jeon, Yuseok
    Biswas, Priyam
    Carr, Scott
    Lee, Byoungyoung
    Payer, Mathias
    [J]. CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, : 2373 - 2387
  • [2] CenterNet plus plus for Object Detection
    Duan, Kaiwen
    Bai, Song
    Xie, Lingxi
    Qi, Honggang
    Huang, Qingming
    Tian, Qi
    [J]. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, 2024, 46 (05) : 3509 - 3521
  • [3] CFIXX: Object Type Integrity for C plus
    Burow, Nathan
    McKee, Derrick
    Carr, Scott A.
    Payer, Mathias
    [J]. 25TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2018), 2018,
  • [4] Efficient detection of dangling pointer error for C/C plus plus programs
    Zhang, Wenzhe
    [J]. 2ND ANNUAL INTERNATIONAL CONFERENCE ON INFORMATION SYSTEM AND ARTIFICIAL INTELLIGENCE (ISAI2017), 2017, 887
  • [5] Early Detection of Type Errors in C plus plus Templates
    Chen, Sheng
    Erwig, Martin
    [J]. PEPM '14: PROCEEDINGS OF THE ACM SIGPLAN WORKSHOP ON PARTIAL EVALUATION AND PROGRAM MANIPULATION, 2014, : 133 - 144
  • [6] Open and Efficient Type Switch for C plus
    Solodkyy, Yuriy
    Dos Reis, Gabriel
    Stroustrup, Bjarne
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (10) : 963 - 982
  • [7] Cosmo plus plus : An object-oriented C plus plus library for cosmology
    Aslanyan, Grigor
    [J]. COMPUTER PHYSICS COMMUNICATIONS, 2014, 185 (12) : 3215 - 3227
  • [8] Efficient Data Race Detection for C/C plus plus Programs Using Dynamic Granularity
    Song, Young Wn
    Lee, Yann-Hang
    [J]. 2014 IEEE 28TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM, 2014,
  • [9] Agent programming with object oriented (C plus plus )
    Rezaeiye, Payam Porkar
    Rezaeiye, Pasha Porker
    Beig, Esmaeil Fakhimi Gheshlagh Mohammad
    Mohseni, Hamed
    Kaviani, Rona
    Gheisari, Mehdi
    Golzar, Mina
    [J]. PROCEEDINGS OF THE 2017 IEEE SECOND INTERNATIONAL CONFERENCE ON ELECTRICAL, COMPUTER AND COMMUNICATION TECHNOLOGIES (ICECCT), 2017,
  • [10] CrossDet plus plus : Growing Crossline Representation for Object Detection
    Qiu, Heqian
    Li, Hongliang
    Wu, Qingbo
    Cui, Jianhua
    Song, Zichen
    Wang, Lanxiao
    Zhang, Minjian
    [J]. IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, 2023, 33 (03) : 1093 - 1108