软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2024年第10期:面向PyPI生态系统的漏洞影响范围细粒度评估方法

发布日期:

作者:王梓博,贾相堃,应凌云,苏璞睿

单位:王梓博,中国科学院 软件研究所, 北京 100190;中国科学院大学, 北京 10004911,贾相堃,中国科学院 软件研究所, 北京 10019002,应凌云,奇安信技术研究院, 北京 10004403,苏璞睿,中国科学院 软件研究所, 北京 10019004

关键词:PyPI生态系统;漏洞影响范围;函数粒度评估;静态分析

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

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个包存在引用未修复的漏洞函数的安全问题.

来源:2024年第10期

《软件学报》期刊编辑部

查看软件学报杂志2024年第10期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员