Does the Vulnerability Threaten Our Projects? Automated Vulnerable API Detection for Third-Party Libraries

被引:0
|
作者
Zhang, Fangyuan [1 ]
Fan, Lingling [2 ]
Chen, Sen [3 ]
Cai, Miaoying [1 ]
Xu, Sihan [2 ]
Zhao, Lida [4 ]
机构
[1] Nankai Univ, Coll Comp Sci, DISSec, NDST, Tianjin 300350, Peoples R China
[2] Nankai Univ, Coll Cyber Sci, DISSec, NDST, Tianjin 300350, Peoples R China
[3] Tianjin Univ, Coll Intelligence & Comp, Tianjin 300354, Peoples R China
[4] Nanyang Technol Univ, Sch Comp Sci & Engn, Singapore 639798, Singapore
基金
中国国家自然科学基金;
关键词
Libraries; Databases; Codes; Software; Accuracy; !text type='Java']Java[!/text; Security; Vulnerability detection; software composition analysis; static analysis;
D O I
10.1109/TSE.2024.3454960
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Developers usually use third-party libraries (TPLs) to facilitate the development of their projects to avoid reinventing the wheels, however, the vulnerable TPLs indeed cause severe security threats. The majority of existing research only considered whether projects used vulnerable TPLs but neglected whether the vulnerable code of the TPLs was indeed used by the projects, which inevitably results in false positives and further requires additional patching efforts and maintenance costs (e.g., dependency conflict issues after version upgrades). To mitigate such a problem, we propose VAScanner, which can effectively identify vulnerable root methods causing vulnerabilities in TPLs and further identify all vulnerable APIs of TPLs used by Java projects. Specifically, we first collect the initial patch methods from the patch commits and extract accurate patch methods by employing a patch-unrelated sifting mechanism, then we further identify the vulnerable root methods for each vulnerability by employing an augmentation mechanism. Based on them, we leverage backward call graph analysis to identify all vulnerable APIs for each vulnerable TPL version and construct a database consisting of 90,749 (2,410,779 with library versions) vulnerable APIswith 1.45% false positive proportion with a 95% confidence interval (CI) of [1.31%, 1.59%] from 362 TPLs with 14,775 versions. The database serves as a reference database to help developers detect vulnerable APIs of TPLs used by projects. Our experiments show VAScanner eliminates 5.78% false positives and 2.16% false negatives owing to the proposed sifting and augmentation mechanisms. Besides, it outperforms the state-of-the-art method-level vulnerability detection tool in analyzing direct dependencies, Eclipse Steady, achieving more effective detection of vulnerable APIs. Furthermore, to investigate the real impact of vulnerabilities on real open-source projects, we exploit VAScanner to conduct a large-scale analysis on 3,147 projects that depend on vulnerable TPLs, and find only 21.51% of projects (with 1.83% false positive proportion and a 95% CI of [0.71%, 4.61%]) were threatened through vulnerable APIs, demonstrating that VAScanner can potentially reduce false positives significantly.
引用
收藏
页码:2906 / 2920
页数:15
相关论文
共 18 条
  • [1] LibSift: Automated Detection of Third-Party Libraries in Android Applications
    Soh, Charlie
    Tan, Hee Beng Kuan
    Arnatovich, Yauhen Leanidavich
    Narayanan, Annamalai
    Wang, Lipo
    2016 23RD ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2016), 2016, : 41 - 48
  • [2] Automated Detection and Classification of Third-Party Libraries in Large Scale Android Apps
    Wang H.-Y.
    Guo Y.
    Ma Z.-A.
    Chen X.-Q.
    Guo, Yao (yaoguo@pku.edu.cn), 1600, Chinese Academy of Sciences (28): : 1373 - 1388
  • [3] ATVHUNTER: Reliable Version Detection of Third-Party Libraries for Vulnerability Identification in Android Applications
    Zhan, Xian
    Fan, Lingling
    Chen, Sen
    We, Feng
    Liu, Tianming
    Luo, Xiapu
    Liu, Yang
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), 2021, : 1695 - 1707
  • [4] Identifying Vulnerable Third-Party Java Libraries from Textual Descriptions of Vulnerabilities and Libraries
    Chen, Tianyu
    Li, Lin
    Shan, Bingjie
    Liang, Guangtai
    Li, Ding
    Wang, Qianxiang
    Xie, Tao
    arXiv, 2023,
  • [5] Characterizing usages, updates and risks of third-party libraries in Java projects
    Kaifeng Huang
    Bihuan Chen
    Congying Xu
    Ying Wang
    Bowen Shi
    Xin Peng
    Yijian Wu
    Yang Liu
    Empirical Software Engineering, 2022, 27
  • [6] LibViews - An Information Visualization Application for Third-Party Libraries on Software Projects
    Ferrarezi, Juliana Cassiano
    Popolin Neto, Mario
    Colombo Dias, Diego Roberto
    Pilastri, Andre Luiz
    Guimaraes, Marcelo de Paiva
    Ferreira Brega, Jose Remo
    Proceedings 2016 20th International Conference Information Visualisation IV 2016, 2016, : 136 - 140
  • [7] Compatible Remediation on Vulnerabilities from Third-Party Libraries for Java']Java Projects
    Zhang, Lyuye
    Liu, Chengwei
    Xu, Zhengzi
    Chen, Sen
    Fan, Lingling
    Zhao, Lida
    Wu, Jiahui
    Liu, Yang
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 2540 - 2552
  • [8] Characterizing usages, updates and risks of third-party libraries in Java']Java projects
    Huang, Kaifeng
    Chen, Bihuan
    Xu, Congying
    Wang, Ying
    Shi, Bowen
    Peng, Xin
    Wu, Yijian
    Liu, Yang
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (04)
  • [9] mShield: Protecting In-process Sensitive Data Against Vulnerable Third-Party Libraries
    Zhang, Yunming
    Cai, Quanwei
    Li, Houqiang
    Lin, Jingqiang
    Wang, Wei
    SECURITY AND PRIVACY IN COMMUNICATION NETWORKS, PT I, SECURECOMM 2023, 2025, 567 : 496 - 513
  • [10] LibRadar: Fast and Accurate Detection of Third-party Libraries in Android Apps
    Ma, Ziang
    Wang, Haoyu
    Guo, Yao
    Chen, Xiangqun
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), 2016, : 653 - 656