软件供应链中的自动多样性
软件工程
2021-11-08 v1
摘要
尽管包管理器自动化库复用带来了明显的好处,但其日益广泛的采用也引发了一类新的风险:供应链攻击。攻击者通过在某个库中注入恶意代码,可能危及所有依赖该库的应用的所有实例。为减轻供应链攻击的影响,我们提出了库替换框架(Library Substitution Framework)这一概念。该新颖概念基于一个关键观察:当某个应用依赖一个库时,极有可能存在其他提供类似功能的库。库替换框架的关键目标是使应用的开发者能够利用其供应链中库的这种多样性。该框架让他们能够生成一组应用变体,每个变体依赖一个提供类似功能的不同替代库。为探究该概念的相关性,我们开发了 ARGO,即该框架的概念验证实现,其利用了 JSON 供应方的多样性。我们研究了库替换的可行性及其对一组 368 个客户端的影响。我们的实证结果表明,在测试的 368 个 Java 应用中,对于其中 195 个,我们可将客户端使用的原始 JSON 库替换为至少 15 个其他 JSON 库而无需修改客户端代码。这些结果展示了库替换框架为其目标库的客户端应用多样化供应链的能力。
引用
@article{arxiv.2111.03154,
title = {Automatic Diversity in the Software Supply Chain},
author = {Nicolas Harrand and Thomas Durieux and David Broman and Benoit Baudry},
journal= {arXiv preprint arXiv:2111.03154},
year = {2021}
}
备注
18 pages, 7 figures, 5 listings, 5 tables