中文

iOS开发中包管理器的漏洞传播

软件工程 2023-05-23 v1

摘要

尽管在编写软件时使用第三方库是常见做法,但即便在知名库中也可能发现漏洞。检测到的漏洞常在库代码中迅速修复。在依赖的软件应用中纳入这些修复的最简方式,是更新所用库的版本。包管理器为更新库依赖提供自动化解决方案。然而,库依赖可能进一步依赖其他库,从而形成具有多层间接性的依赖网络。评估由依赖网络引发的漏洞风险对软件开发人员而言并非易事。Swift生态系统中的库依赖网络涵盖来自CocoaPods、Carthage和Swift Package Manager的库。我们分析了漏洞如何在Swift生态系统的库依赖网络中传播、如何通过依赖升级修复易受攻击依赖,以及鉴于这些漏洞的公开信息能否使第三方漏洞分析更为精确。我们发现仅5.9%的连通库直接或间接依赖于易受攻击库。尽管我们发现多数公开报告漏洞的库用C语言编写,但公开报告漏洞的最高影响源自以原生iOS语言编写的库。我们发现约30%的易受攻击依赖本可通过升级库依赖修复。在严重漏洞与最新库版本情形下,超过70%的易受攻击依赖本可通过依赖升级修复。最后,我们核查了能否利用公开可用的报告漏洞代码位置(方法或类)信息来精炼易受攻击依赖使用的分析。我们发现此类信息大多数时候并不可用。

关键词

引用

@article{arxiv.2305.10339,
  title  = {Vulnerability Propagation in Package Managers Used in iOS Development},
  author = {Kristiina Rahkema and Dietmar Pfahl},
  journal= {arXiv preprint arXiv:2305.10339},
  year   = {2023}
}

备注

10 pages, 5 figures, 5 tables