Program Slice based Vulnerable Code Clone Detection

被引:4
作者
Song, Xiaonan [1 ,2 ]
Yu, Aimin [1 ,2 ]
Yu, Haibo [1 ,2 ]
Liu, Shirun [1 ,2 ]
Bai, Xin [1 ,2 ]
Cai, Lijun [1 ,2 ]
Meng, Dan [1 ,2 ]
机构
[1] Chinese Acad Sci, Inst Informat Engn, Beijing, Peoples R China
[2] Univ Chinese Acad Sci, Sch Cyber Secur, Beijing, Peoples R China
来源
2020 IEEE 19TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTCOM 2020) | 2020年
关键词
vulnerability detection; code clone; program slice; program analysis; DETECTION SYSTEM;
D O I
10.1109/TrustCom50675.2020.00049
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Vulnerabilities in software will not only lead to security problems of the software itself, but also cause the spread of vulnerabilities through code clones. It is important to detect and locate vulnerabilities among the source code to facilitate the fix. Although many methods are proposed to detect code clones in source code, most of them fail to detect code clones that involve statement addition and deletion effectively or are not suitable for vulnerability detection. In this paper, we propose a method that can detect vulnerabilities caused by code clones. Program slices are used to filter statements that are not related to vulnerabilities and extract important vulnerable statements in function. Hash function and bitvector are applied to improve efficiency during the detection. The results are displayed in html, among which the vulnerable statements are highlighted to help subsequent patching work. Our method is evaluated on open source software (Openssl, Linux Kernel, FFmpeg and QEMU). The results of experiments show that our method detects 12.72% more vulnerable clones in acceptable time compared with Vuddy, proving the effectiveness of our method.
引用
收藏
页码:293 / 300
页数:8
相关论文
共 22 条
  • [1] Comparison and evaluation of clone detection tools
    Bellon, Stefan
    Koschke, Rainer
    Antoniol, Giuliano
    Krinke, Jens
    Merlo, Ettore
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (09) : 577 - 591
  • [2] Cadar C, 2011, 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), P1066, DOI 10.1145/1985793.1985995
  • [3] ReDeBug: Finding Unpatched Code Clones in Entire OS Distributions
    Jang, Jiyong
    Agrawal, Abeer
    Brumley, David
    [J]. 2012 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2012, : 48 - 62
  • [4] CCFinder: A multilinguistic token-based code clone detection system for large scale source code
    Kamiya, T
    Kusumoto, S
    Inoue, K
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (07) : 654 - 670
  • [5] VUDDY: A Scalable Approach for Vulnerable Code Clone Discovery
    Kim, Seulbae
    Woo, Seunghoon
    Lee, Heejo
    Oh, Hakjoo
    [J]. 2017 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2017, : 595 - 614
  • [6] CLORIFI: software vulnerability discovery using code clone verification
    Li, Hongzhe
    Kwon, Hyuckmin
    Kwon, Jonghoon
    Lee, Heejo
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2016, 28 (06) : 1900 - 1917
  • [7] Li JY, 2012, PROC INT CONF SOFTW, P310, DOI 10.1109/ICSE.2012.6227183
  • [8] Steelix: Program-State Based Binary Fuzzing
    Li, Yuekang
    Chen, Bihuan
    Chandramohan, Mahinthan
    Lin, Shang-Wei
    Liu, Yang
    Tiu, Alwen
    [J]. ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, : 627 - 637
  • [9] Li ZH, 2016, PROCEEDINGS OF THE 12TH EURO-ASIA CONFERENCE ON ENVIRONMENT AND CSR: TOURISM, SOCIETY AND EDUCATION SESSION, PT II, P201
  • [10] CP-Miner: Finding copy-paste and related bugs in large-scale software code
    Li, ZM
    Lu, S
    Myagmar, S
    Zhou, YY
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (03) : 176 - 192