科技
bcs2022杨珉:开源软件供应链的漏洞补丁管理存在安全风险-凯发游戏
7月21日,在2022北京网络安全大会技术峰会上,复旦大学计算机科学技术学院副院长杨珉教授分享了他在开源软件供应链安全领域研究的最新成果,他指出,供应链上高危漏洞的安全问题非常严重,特别是在漏洞补丁管理上。
当前,大量基础软件都在受到开源代码漏洞的影响,而使用打补丁的方式,是当前封堵漏洞、修复漏洞的主要技术手段。但现实的情况是,漏洞的利用和攻击手段在持续变化,在攻防对抗的演化过程当中,补丁的效果直接制约了漏洞修复的成效。
“这意味着下游软件产品应该及时跟进上游代码的漏洞补丁,否则会导致大量的在野攻击。”杨珉举例,安卓手机有一个经典的案例,2017年下半年发现的一个linux内核中的本地提权漏洞当时被很好地修复了,但很奇怪的是补丁没有传播到安卓内核中,这个现象一直持续了两年左右,一直到2019年10月份,该漏洞被发现大规模的针对安卓手机在野利用,涉及到国内外几乎所有手机厂商最新的型号。
他认为,补丁的问题其实比想象的大很多,第一个问题是补丁传播链路很长。以linux为例,漏洞披露以后,针对漏洞的补丁从开发到在linux主线上部署,以及到在linux分支线上进行补丁部署,实际上存在着一个补丁管理周期。在此过程中,主要存在两种补丁传播模式:(1)补丁披露以后通常会被国内外主流数据库所收录,下游厂商可通过这些公开渠道获取补丁信息,形成基于情报链的补丁传播模式;(2)补丁披露以后,尤其是补丁开发完成以后,中游厂商比如android和高通,他们会首先根据补丁情况对自身软件进行修复,并通过厂商发布升级版本,进而传播到下游厂商,最终传导到最终用户,形成基于供应链的补丁传播模式。
但是,在这样较长的补丁传播链路中,补丁的管理存在着大量安全风险。他举例说,上游开源社区管理模式非常松散,很难有效推动漏洞修复和补丁开发,尤其是大量开源社区完全是依靠个人开发者的贡献。比如linux社区,直到2021年2月份,linux才有2名专职安全人员。此外,补丁的部署成本高且速度过慢,他展示了安卓供应链生态的补丁传播研究成果:有约90%的cve漏洞,从高通发布补丁到下游oem厂商完成部署补丁,其平均耗时超过100天,即这些漏洞至少存在3个多月的可攻击时间。同时, 这种上下游补丁传播长链路的特点,也导致传播的时间叠加。例如,linux平均要15天才能传播到安卓社区,再往后需要90天左右高通才能完成补丁修复,再到下游厂商又需要约100多天。结果导致,超过50%的cve,从源厂商发布补丁到oem厂商部署补丁,耗时平均超过200天。
补丁管理的第二个问题是漏洞补丁分支多部署乱。研究发现,大概80%以上受影响的软件分支版本都没有部署补丁,而且这种现象在典型开源软件中广泛存在。
第三个是补丁信息披露非常不完整。部分安全漏洞并没有给披露漏洞平台,软件供应厂商会秘密修复漏洞,导致其他厂商无法及时地知晓并且修复漏洞。他举例说,在 openssl和liberssl调研中发现,这种秘密修复漏洞导致业界不知道漏洞时间的间隔,超过900天的比比皆是。
此外,杨珉分享了补丁部署管理的研究成果。一是,如何在下游代码定制化非常普遍的情况下,实现自动化部署漏洞补丁。二是,如何在下游代码通常为闭源二进制代码的情况下,进行补丁状态的可靠评估。
最后他建议,针对供应链漏洞补丁管理混乱这一现状,我们应及时形成相应解决方法,及早面向下游软件进行补丁信息增强和部署管理,同时也要克服普遍存在的下游厂商代码定制化导致的技术难题,保障方法的可靠性。