默安科技沈锡镛:多管齐下治理软件供应链安全 构建数字防线

首页 / 业界 / 资讯 /  正文
作者:藏青
来源:安全419
发布于:2022-12-15
11月11-14日,由浙江省人民政府、中华人民共和国商务部主办的首届全球数字贸易博览会(简称“数贸会”)在杭州国际博览中心举行。本届数贸会聚焦“数字贸易 商通全球”主题,以“数字化的贸易对象”和“数字化的贸易方式”为主线,设主论坛及数十场分论坛,打造数字贸易产业发展风向标。
 
众所周知,杭州是业内多家知名网络安全企业的大本营,安全419注意到,作为浙江省本土知名的新兴网络安全公司,默安科技深度参与了本届数贸会,向来自全球的数字化企业展示中国网络安全技术能力和安全力量。12月13日,在同期举办的2022首届全球数字生态大会-数字应用与技术分论坛上,默安科技副总裁沈锡镛以《数字防线 原生构建》为题,分享了默安科技在软件供应链安全方面的实践和建设经验。



软件开发环境变化催生了新的安全挑战
 
沈锡镛首先谈到,当前企业在做数字化转型和数字化业务的过程当中,通常会面临两类原生的安全风险:其一是数据安全风险,数据泄露或数据滥用;其二是因安全问题导致的业务中断。这两类问题都与软件供应链息息相关。
 
首先,数字化时代下软件构成的形态相较过去已经有了很大的差异性。默安科技此前在对某一直辖市百万级日活的政务应用进行技术排查时发现,真正由软件开发供应商自己写的代码仅占5%,“他们是把各种各样的开源组件和功能封装到了一起,软件的核心部分都不是自己真正去写的。所以当时我们戏称为,这些软件是软件开发商自产的,而非自研的,这样生产出来的软件称不上研究的‘研’字。”
 
在他看来,这也并非软件开发商之罪,随着数字化业务转型的加速,海量的toC场景涌现出来,要求数字化应用快速上线、快速迭代。为了降低软件的开发成本和周期,研发人员必须大量地采用第三方组件,避免大量“重复造轮子”的消耗。但这不可避免地就带来的全新的安全风险,大量的组件性漏洞、开源性漏洞以及公共云服务不当配置被利用的风险,其中就包括了数据安全风险。
 
其次,是软件供应链带来的业务中断风险。“在不久前的俄乌网络战中就有一个典型的例子,美国不允许俄罗斯的开发者下载 GitHub上的公共库,不允许俄罗斯的开发者去下载使用这些开源组件,‍‍‍‍这就导致俄罗斯许多应用停止更新,进而导致了整体安全性的下降。”
 
沈锡镛认为,这一案例充分地说明了供应链攻击的两大特点,首先它如同“隔山打牛”一样具备很强的隐蔽性,供应链往往是构成一个数字化业务的基座,因此攻击者无须直接攻击数字化应用,而是通过攻击软件的开发方或是业务的托管方,就能够在不知不觉中对业务应用发起攻击。另一特点是“打一片影响一面”,年初发生的Solarwinds事件中就印证了这一点,对一个供应商发起的攻击,能够对下游大量的企业造成行业地震式影响。
 
‍‍安全往往被软件开发者所忽视
软件开发者理应得到更好的合规性监管
 
近年来,软件供应链安全逐渐在国家层面得到广泛关注,一方面是由于数字化转型趋势下,软件架构复杂性增加,外部引入成分占比增加,供应链中断风险增加。另一方面是软件供应链攻击的投入产出比较高,软件开发商的网络安全防护和开发安全能力普遍较弱,组件漏洞和供应链投毒事件频发,成为了纵深防护层层壁垒中的一道裂缝。
 
沈锡镛表示,一个软件的核心污染路径往存在于软件的开发环节、交付环节和使用环节三个阶段,随着我国网络安全建设的不断加强,在软件使用环节的安全意识和安全管控措施相对健全,但在开发环节仍然较为薄弱。
 
假设一家软件开发供应商接到了一个数字化业务需求,要求在短期内快速上线一个移动应用、小程序,那这家供应商只会思考三个问题:第一,业务需求中的功能代码网上有没有现成的可以直接抄?第二,能不能在过去已有的代码基础上直接改?第三,我能不能直接外包出去赚个差价?
 
但这样的做法实际会带来很多安全隐患,软件开发商无法知道网上抄来的代码是否安全,不知道层层外包或转包后所引用的组件、框架是否安全。甚至压根不知道隐患在哪里。面临这些隐患,行业过去的做法通常是在软件上线前进行安全测试,或是代码审计,但安全测试这种做法不一定保证可靠性,而代码审计不仅成本高,也会出现很多误报。但事实上,在攻防严重不对等的前提下,代码审计几乎很难发现深层的第三方组件复用和开源框架所带来的安全风险。
 
“我们国家做了很多年的安全合规,但我们始终没有把安全合规的重点指向过‍‍海量的软件公司和开发者,他们既没有被等保约束过,也没有被攻防演练过,‍‍他们最核心的资产并不是官网,而是开发者们的代码仓库,生产代码的工具,生产代码的人,‍‍这些是不是经得起考验,是不是有明确的标准和合规要求?‍事实上并没有。”
 
在沈锡镛看来,从软件开发的角度来看,发起一次‍‍Solarwinds这样大规模的攻击并非难事,只要去攻破关键供应商,在一些核心第三方组件中潜藏进去一个后门指令,就能够完成一次供应链投毒攻击,一旦攻击成功,便能够影响下游海量的业务应用和企业,通过勒索攻击等手段造成巨大的经济损失,这也是供应链攻击最可怕的地方。
 
着眼软件的引入、生产和应用环节
多管齐下治理软件供应链安全
 
沈锡镛谈到,作为国内软件供应链安全领域的先行者,默安科技认为,根据软件供应链的特点,软件供应链的业务流程可以抽象成供应链引入、软件生产和软件应用三个环节。



供应链引入环节
 
沈锡镛认为,在供应链引入环节主要存在基础服务风险、软件代码风险、开源组件风险和三方服务未知风险,面临的供应链核心安全问题是供应链准入和供应链透明,其中最关键是要先摸清家底。
 
假设一个政企单位所有的软件应用都是直接引入的,那么就需要对这些软件进行全面的体检,把其中的一些技术组件的风险,软件代码的风险,以及‍‍开源的许可证问题都提前筛查出来。尤其是开源许可证风险,当前国内许多开发人员认为开源软件是绿色软件,可以任意使用。但实际上,如果开发人员未遵循开源软件许可证而任意进行软件开发的话,很有可能软件所属的政企单位也要承担版权侵权的责任,其所造成的商业损失可能会远超业务价值本身。
 
软件生产环节
 
‍‍在软件生产环节要存在开源组件风险、自研代码安全质量风险和三方服务未知风险,面临的供应链核心安全问题是供应链投毒、软件生产安全。重点需要考虑如何去防治供应链各个环节带来的安全风险。‍‍
 
对于政企单位的研发部门来说,即使是低代码平台或是小程序,也应该围绕整个代码的完整性、代码开发环境,‍‍以及开发工具、开发人员和制度,针对相对应的一些安全措施去做加强和保证,‍‍而不是简单地靠签署保密协议来提升安全性。
 
软件应用环节
 
在软件应用环节,会存在软件部署风险、运行期间风险,面临的供应链核心安全问题是供应链安全事件响应。
 
正如不久前爆发的Fast Jason反序列化漏洞和log4J2漏洞等等,软件上线后经常会爆出‍‍各种各样的漏洞,在领导眼中这个问题很好解决,如果组件有漏洞不用它就好了,但实际上很多核心组件并没有替代品,即使存在安全问题也必须带病上线。
 
沈锡镛指出,“除了没有替代组件外,往往大家政企单位还面临着另一个窘迫的现状,漏洞爆发后,定位漏洞位置很慢。一家数字化企业拥有大量的数字化应用,其中又集成了大量不同版本的第三方组件,很难去一一回溯和甄别所有组件的位置,但是如果定位速度慢的话,带来的只能是十倍百倍的应急时间,‍‍业务又不能中断,因此造成的后果只能是向攻击者敞开大门。这些问题发展到今天,已经不是靠安全部门就能够解决了,而是要靠安全部门跟开发部门、业务部门一起去共同承担。”
 
沈锡镛最后介绍,默安科技是国内首批开辟开发安全业务的安全厂商,在软件供应链安全方面有很深的积累实践。从最初的开发安全体系咨询,到建设完整的开发安全工具链,积累了大批的项目建设经验,再到参加国家行业相关标准的制定和试点推广,将开发安全建设延展到供应链安全治理,研发软件供应链风险评估平台,并且依托阶段性的标准化建设成果,在关基单位进行落地实践,最终拉动产业和监管逐步勾勒出了默安科技独创的软件供应链安全管理的体系架构和实现路径。
 
目前默安科技已经积累包括在政府机构、数字化转型单位以及大型集团企业在内的大量软件供应链安全建设案例,为各类行业用户提供软件供应链安全解决方案。未来默安科技将继续深耕优势领域,为全球数字贸易产业的创新与高质量发展贡献更多安全力量。