软件供应链安全与数据库国产化替代
开源软件自从90年代初开始兴起后,立即体现出了全方位的优势,开源软件让很多关键基础软件领域的研发成本大大降低了,也加速了基础软件领域的发展。目前开源软件在全球IT生态中已经占据主导地位,同样对我国的影响也是巨大的。据截至2020年底的不完全统计,在我国使用开源技术的企业占比大约在88%,开源数据库在国内企业中的使用比例也接近六成。
大量的商用软硬件中也使用了大量的开源代码,2018年的CPU Meltdown和Spectre漏洞爆出来的时候,几乎所有主流CPU厂商都中招了。凡是使用2010年以后的英特尔、AMD和ARM架构产品(苹果、高通、三星、华为、英伟达等)的厂商包括服务器、云端、超级计算机甚至一些银行和军队系统,通通难逃漏洞波及。另外,英伟达的GPU包括GeForce、Quadro、Tesla等也受到的影响。大家可能会觉得很奇怪,为什么会这样呢?这是因为这些CPU产品中都使用了同一组开源代码,这些漏洞就是在开源代码中存在的。
从本质上讲,开源代码可以大大节约研发成本,加快信息产品研发的速度,开源生态对信息化的加速进步是居功至伟的。如果一家企业利用开源代码,结合自己的创新技术,开发了自己的基础软硬件产品,那么其无论在技术上还是在商业上都是采用了正确的方法,因为再去重复开源软件曾经做过的事情,效率就太低了。
不过任何事物都存在双面性,开源生态的安全性一直也是受到广泛诟病的,每隔2-3年,开源社区就会爆出一个比较大的安全漏洞来。前些年影响十分广泛的LOG4J2就是一个十分典型的例子。假想一下,2018年的CPU熔断和幽灵漏洞以及最近的LOG4J2的漏洞,都是某些别有用心的组织埋下的,那么这几年中,这些组织利用这些漏洞,可能已经神不知鬼不觉的干了不少坏事了?如果这些是某些政府支持的组织干的,那就更恐怖了。
2021年初开源社区发生了一件十分重要的事件, Linux内核稳定分支的维护者Greg Kroah-Hartman 决定禁止美国明尼苏达大学向主线 Linux 内核提交补丁,因为他们故意提交有安全影响的可疑代码。事实上,在2021年2月,该大学的Qiushi Wu发表了一篇论文《On the Feasibility of Stealthily introducing Vulnerabilities on Open-Source software via Hypocrite Commits》。这篇论文的主要内容就是证明按照某种方法向开源社区提交危险代码,开源社区是无法发现的。有兴趣的朋友可以到 https://github.com/QiushiWu/QiushiWu.github.io/blob/main/papers/OpenSourceInsecurity.pdf 去下载阅读原文。
这篇论文中介绍了他们团队利用自己掌握的理论向Linux开源社区提交了数个利用UAF(Use After Free)漏洞攻击操作系统,可以触发导致Linux系统崩溃的CVE-2019-12819的Linux系统漏洞。
一些对于信息安全要求比较严格的行业、工信部等都出台过多个关于开源技术应用的指导性意见。比如人行等部门于2021年联合发布的《关于规范金融业开源技术应用与发展的意见》,以及国家层面发布的《关于规范重要行业领域开源技术应用和管理的意见》,这些规范性文件对于开源软件的使用者都提出了相应的要求。
基于开源软件开发商用产品的厂商应该成为其软件产品供应链安全的主体,及时发现开源软件中存在的安全漏洞并进行修补。当其使用的开源代码中发现了安全隐患时,要及时采取措施,帮助其用户尽快修补漏洞,并承担相关安全责任。
如果用户自行使用开源软件的,那么这个用户就要成为信息安全的责任主体,主动关注相关安全问题,发现问题时,及时自行通过打补丁或者下线系统的方式避免安全事故的发生。
基于上面的事实,我们可以有一个初步的认知:开源软件是好东西,但是也会存在风险。开源软件的使用者是承担风险的主体,要承担安全管控的责任,如果某个实体因为使用开源软件,并没有及时堵住漏洞而产生的泄密后果,是需要这个实体来承担的。而这个实体会把责任下推到某个部门甚至某个个人。
如果你不是直接使用开源软件,而使用了某款基于开源软件封装的商用数据库产品,那么这个责任实体可以转移到该商用数据库厂商。作为专业的厂商,他们在做这方面工作的时候,肯定也会比普通的企业或者个人更为专业。当然不同的厂商在这方面做得也有很大的差异。前些年openssl滴血漏洞被爆出来的时候,我的团队向各个使用了openssl开源代码的操作系统 、数据库、中间件厂商索要补丁包。HP公司的售后人员说他们针对开源的openssl代码做了安全加固,经过他们的分析,HP所有使用 openssl的产品都不存在这个漏洞。HP的工作其实就是所有的开源下游商用软件厂商都应该做的。
其实责任问题是领导比DBA更加关注数据库国产化替代的一个十分重要的原因,前阵子听一个客户说,一个外包服务人员刚刚走出他们单位的大门,就被国安带走了。我想那些天,他们的相关领导日子也不好过。信息安全似乎离你很远,实际上一直在你身边。