利用补丁与未补丁版本的并发执行实现软件组件的可控更新
密码学与安全
2021-06-03 v1 软件工程
摘要
软件补丁是消除软件组件漏洞以提升IT系统安全性的常用方法。然而,由于应用的关键性质,尤其在提供应用的供应商仅保证特定配置下正确运行的情况下,许多场景无法进行软件补丁。本文中,我们提出一种解决此问题的方法。其思路是并发运行未补丁与已补丁的应用实例,未补丁实例拥有完全控制权,而已补丁实例的输出仅用于比对,以监视由引入缺陷所导致的差异。为验证该思路,我们开发了一个可并行运行Web应用的系统,并对三个Web应用进行了测试。实验表明,从技术层面看该思路对Web应用颇具前景。此外,我们讨论了该系统及该思路潜在的局限性、两个实例应运行多久才能以一定概率断言补丁版本未引入任何新缺陷、所提系统运行两个并发应用实例的其他潜在用例,以及该系统在不同类型应用(如SCADA系统)上的潜在用途。
引用
@article{arxiv.2106.01154,
title = {Controlled Update of Software Components using Concurrent Exection of Patched and Unpatched Versions},
author = {Stjepan Groš and Ivan Kovačević and Ivan Dujmić and Matej Petrinović},
journal= {arXiv preprint arXiv:2106.01154},
year = {2021}
}
备注
9 pages, 4 figures