面向PyPI生态系统的漏洞影响范围细粒度评估方法
作者:
作者单位:

作者简介:

通讯作者:

中图分类号:

TP311

基金项目:

国家自然科学基金(62232016, 62102406); 中国科学院青年创新促进会项目


Fine-grained Assessment Method of Vulnerability Impact Scope for PyPI Ecosystem
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    Python语言的开放性和易用性使其成为最常用的编程语言之一. 其形成的PyPI生态系统在为开发者提供便利的同时, 也成为攻击者进行漏洞攻击的重要目标. 在发现Python漏洞之后, 如何准确、全面地评估漏洞影响范围是应对Python漏洞的关键. 然而当前的Python漏洞影响范围评估方法主要依靠包粒度的依赖关系分析, 会产生大量误报; 现有的函数粒度的Python程序分析方法由于上下文不敏感等导致存在准确性问题, 应用于实际的漏洞影响范围评估也会产生误报. 提出一种基于静态分析的面向PyPI生态系统的漏洞影响范围评估方法PyVul++. 首先构建PyPI生态系统的索引, 然后通过漏洞函数识别发现受漏洞影响的候选包, 进一步通过漏洞触发条件验证漏洞包, 实现函数粒度的漏洞影响范围评估. PyVul++改进了Python代码函数粒度的调用分析能力, 在基于PyCG的测试集上的分析结果优于其他工具(精确率86.71%, 召回率83.20%). 通过PyVul++对10个Python CVE漏洞进行PyPI生态系统(385855个包)影响范围评估, 相比于pip-audit等工具发现了更多漏洞包且降低了误报. 此外, 在10个Python CVE漏洞影响范围评估实验中, PyVul++新发现了目前PyPI生态系统中仍有11个包存在引用未修复的漏洞函数的安全问题.

    Abstract:

    The openness and ease-of-use of Python make it one of the most commonly used programming languages. The PyPI ecosystem formed by Python not only provides convenience for developers but also becomes an important target for attackers to launch vulnerability attacks. Thus, after discovering Python vulnerabilities, it is critical to deal with Python vulnerabilities by accurately and comprehensively assessing the impact scope of the vulnerabilities. However, the current assessment methods of Python vulnerability impact scope mainly rely on the dependency analysis of packet granularity, which will produce a large number of false positives. On the other hand, existing Python program analysis methods of function granularity have accuracy problems due to context insensitivity and produce false positives when applied to assess the impact scope of vulnerabilities. This study proposes a vulnerability impact scope assessment method for the PyPI ecosystem based on static analysis, namely PyVul++. First, it builds the index of the PyPI ecosystem, then finds the candidate packets affected by the vulnerability through vulnerability function identification, and confirms the vulnerability packets through vulnerability trigger condition. PyVul++ realizes vulnerability impact scope assessment of function granularity, improves the call analysis of function granularity for Python code, and outperforms other tools on the PyCG benchmark (accuracy of 86.71% and recall of 83.20%). PyVul++ is used to assess the impact scope of 10 Python CVE vulnerabilities on the PyPI ecosystem (385855 packets) and finds more vulnerability packets and reduces false positives compared with other tools such as pip-audit. In addition, PyVul++ newly finds that 11 packets in the current PyPI ecosystem still have security issues of referencing unpatched vulnerable functions in 10 assessment experiments of Python CVE vulnerability impact scope.

    参考文献
    相似文献
    引证文献
引用本文

王梓博,贾相堃,应凌云,苏璞睿.面向PyPI生态系统的漏洞影响范围细粒度评估方法.软件学报,,():1-17

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2023-01-14
  • 最后修改日期:2023-03-15
  • 录用日期:
  • 在线发布日期: 2023-09-13
  • 出版日期:
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号