媒体关注

【中国科学报】破解开源生态“投毒”攻击

日期:2022-07-01

|  来源:胡珉琦【字号:

代码投毒、删库跑路,近年来,随着软件供应链各个环节的攻击事件频频出现,软件供应链安全问题已经成为了开源生态建设非常重要的部分。

近日,中国科学院软件研究所(以下简称软件所)智能软件研究中心团队(以下简称团队)基于开源软件供应链重大基础设施,实现了面向全网针对开源生态“投毒”攻击现象的持续监测。团队在开源软件存储库恶意扩展包检测中,发现Python官方扩展包仓库被恶意上传了8个恶意包及707个被“投毒”成功的开源项目。

开源,既是数字化创新的动力,也是软件供应链攻击的目标。所谓开源生态“投毒”,指的是攻击者利用软件供应商与最终用户之间的信任关系,在合法软件的开发、传播和升级过程中进行劫持或篡改,从而达到非法目的的攻击类型。

“投毒攻击在开源生态中是一个特有的现象,因为其链式传染的波及面非常广,威胁也更大。”软件所研究员开源软件供应链重大基础设施技术负责人吴敬征表示。

当前,有超过99%的商业软件包含开源软件,一旦具有大规模用户基础的开源软件存在安全漏洞,势必会影响整个软件产业、甚至其他重要行业的供应链安全。

正因如此,针对开源软件生产、分发、使用全过程的风险管理尤为重要,其中就包括开源软件安全检测机制。

“开源生态下,软件数量非常庞大,同时单个软件的代码规模也很大。这就使得过去基于规则的检测工具面临着沉重的运行负担。而且,这些工具的检测目标比较宽泛,难以针对‘投毒’攻击进行精准打击。”吴敬征解释。

为此,团队自主研发了一种新型的恶意包分析工具。在应用于Python恶意包的检测中,他们发现Python官方扩展包仓库被上传了8个恶意包,其中包含了恶意代码,存在巨大的安全隐患,比如窃取隐私信息、数字货币密钥、种植持久化后门、远程控制等一系列攻击活动。团队已经把在Python平台发现的8个恶意包上报给PyPI官方。

此外,对于第三方插入的代码执行后门的扩展包的检测,团队通过开源软件供应链重大基础设施的供应链分析模块进行检测。结果共发现了707个被“投毒”成功的开源项目,其中85个发布在Python官方扩展包仓库,622个发布在公共代码托管平台(Github、GitLab)。

目前,团队已将707个被“投毒”成功的开源项目反馈给国家信息安全漏洞共享平台(CNVD)、国家信息安全漏洞库(CNNVD)等安全漏洞管理机构,其中17个漏洞现已获得正式编号。

为应对开源生态存在的风险,软件所于2021年起联合中科南京软件技术研究院启动开源软件供应链重大基础设施,建设了国内首个集开源软件采集存储、开发测试、集成发布、运维升级等一体化设施。其主要功能包括开源软件供应链关键节点分析、开源软件供应链可靠构建、开源软件可维护性分析、开源软件及其供应链安全分析及开源软件合规性分析等。

开源软件供应链重大基础设施致力于支撑围绕开源软件的基础研究和产业创新,维护开源生态健康发展,增强使用开源的信心和贡献开源的能力,保障各行各业的高质量开源软件供应。

附件: