Fuzz Testing for Rust Library Functions

被引:0
|
作者
Guo, Yongjian [1 ]
Xiao, Xi [1 ]
Lin, Yuanyi [1 ]
Li, Hao [2 ]
Wu, Xiangbo [2 ]
Zhou, Tao [3 ]
机构
[1] Tsinghua Univ, Shenzhen Int Grad Sch, Shenzhen, Peoples R China
[2] Sci & Technol Commun Networks Lab, Shijiazhuang, Hebei, Peoples R China
[3] Guangdong Prov Key Lab Cyber & Informat Secur Vul, Guangzhou, Peoples R China
基金
中国国家自然科学基金;
关键词
fuzz testing; rust libraries; vulnerability detection; program analysis;
D O I
10.1109/TrustCom60117.2023.00139
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Rust is an emerging programming language that has gained popularity in many academic and industrial projects due to its memory safety features. However, despite its safety advantages, there are still many serious bugs in existing Rust projects. The lack of suitable fuzz targets has been a major challenge in Rust fuzz testing, as existing fuzzing tools often rely on manual efforts to write test targets, which is time-consuming and cannot be directly applied to library function interfaces. While the previous work has made significant progress in generating fuzz targets for Rust, it still cannot effectively test special functions with generics and polymorphism.To address this issue, this paper proposes an automated approach for generating fuzz targets for Rust library functions, called RVFuzz. RVFuzz addresses the challenges by performing static analysis through variable instantiation, ensuring that special functions in Rust, such as those with generics and polymorphism, are covered in the interface sequence analysis. It then traverses the library function dependency graph to generate a set of reasonable and non-redundant target function sequences for fuzz testing. Any compilation errors encountered during the process are used to refine the sequence generation. RVFuzz successfully generated fuzz targets for 10 popular Rust projects, achieving an impressive interface coverage rate of 92.3%.
引用
收藏
页码:990 / 997
页数:8
相关论文
共 50 条
  • [1] EBLT - Blueprints testing library using fuzz testing
    Paduraru, Ciprian
    Cristea, Rares
    Stefanescu, Alin
    [J]. SOFTWARE IMPACTS, 2024, 21
  • [2] Evaluating Fuzz Testing
    Klees, George
    Ruef, Andrew
    Cooper, Benji
    Wei, Shiyi
    Hicks, Michael
    [J]. PROCEEDINGS OF THE 2018 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'18), 2018, : 2123 - 2138
  • [3] Fuzz testing for software assurance
    NIST, United States
    [J]. CrossTalk, 2 (35-37):
  • [4] Web Application Fuzz Testing
    Andrianto, Ivan
    Liem, M. M. Inggriani
    Asnar, Yudistira Dwi Wardhana
    [J]. PROCEEDINGS OF 2017 INTERNATIONAL CONFERENCE ON DATA AND SOFTWARE ENGINEERING (ICODSE), 2017,
  • [5] On the Effectiveness of Scheduling Fuzz Testing
    Chen, Wei-Jun
    Tyan, Hsiao-Rong
    Huang, Shih-Kun
    [J]. INTELLIGENT SYSTEMS AND APPLICATIONS (ICS 2014), 2015, 274 : 841 - 849
  • [6] Paul Butcher on Fuzz Testing
    Winston, Philip
    [J]. IEEE SOFTWARE, 2022, 39 (01) : 118 - 120
  • [7] Fuzz Testing Process Visualization
    Lu, Han-Lin
    Zhuang, Ren-Jie
    Huang, Shih-Kun
    [J]. JOURNAL OF INFORMATION SCIENCE AND ENGINEERING, 2023, 39 (05) : 1037 - 1059
  • [8] Fuzz Testing based on Sulley Framework
    Guo, Zhong
    Li, Nan
    [J]. CURRENT TRENDS IN COMPUTER SCIENCE AND MECHANICAL AUTOMATION, VOL 1, 2017, : 181 - 187
  • [9] Fuzz Testing Based on Virtualization Technology
    Zhou, Longbin
    Li, Zhoujun
    [J]. PROCEEDINGS OF 2018 INTERNATIONAL CONFERENCE ON COMPUTING AND ARTIFICIAL INTELLIGENCE (ICCAI 2018), 2018, : 57 - 61
  • [10] A Novel Protocol Fuzz Testing Approach
    Li Haifeng
    Shuai Bo
    Wang Jian
    Tang Chaojing
    [J]. PROCEEDINGS OF THE 2015 4TH NATIONAL CONFERENCE ON ELECTRICAL, ELECTRONICS AND COMPUTER ENGINEERING ( NCEECE 2015), 2016, 47 : 1067 - 1072