聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
专栏·供应链安全
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
银行业已发生变化。
在过去,金融机构将技术外包出去,大量咨询公司负责创建、管理和维护银行的后端系统。尽管银行本应了解相关系统信息,但他们不会日常运行,这些都是咨询师的责任。
近年来,金融行业发生巨变。工程进入银行,金融机构已转型为拥有大规模产品投资组合的技术公司。银行并非将所有一切都外包出去,而是雇佣数千名工程师开发大量应用程序,它们正在变成全成熟的产品线。
采用开源软件
和很多新技术一样,金融机构采用开源软件的速度缓慢。金融企业担心如果采用开源软件则会失去竞争优势,或者担心开源组件不会满足法律合规要求。即使是六七年前当金融科技开源基金会(FINOS)成立时,银行使用开源组件的情况也没有当前普遍。
尽管银行最初不愿意采用新技术,但一旦开源软件的流行程度提升且效益开始显现,银行业也完全接受。金融机构发现,将开源加入武器库,他们不会被局限于各厂商,且其工程团队对开发的控制更多。
金融行业创建创新产品以满足客户需求的压力越来越大。使用开源软件可使银行开发易用的、个性化的以及客户要求的安全体验。开源使金融行业能够更加快速创新并有效地保留具有竞争力的优势。
管理开源风险
当前,金融行业了解开源所带来的巨大价值且基本都在使用。通过开源组件进行开发对于以敏捷方式创建质量更高的软件至关重要。随着开源组件的如此广泛使用,人们愈加关注开源安全带来的挑战。
金融机构了解管理与开源软件相关风险的重要性,他们知道如果交付产品,则他们具有相关责任,即使问题出在并非他们编写的开源组件中。最终,客户并不关心数据泄露是谁的责任,是自研人员编写的代码问题还是其它处代码的问题。如果出错了,那就是银行的责任。同时,黑客并不关心他们所攻击的代码是金融机构自己编写的还是从开源库借用的。
这里的底线是,客户将信任交给银行,银行必须竭力保护这种信任。银行清楚如果自己交付一款产品,则产品责任就在于银行,这就是为何要同时关注开源和闭源安全如此重要。企业需要对任何第三方组件风险具有广阔的视野。
好在金融行业采用开源漏洞管理的比率要比多数行业高得多。金融机构对风险的意识更强而且高度管制。他们理解其中的利害关系。
执行开源漏洞管理计划
银行是风险厌恶型机构。他们清楚执行开源漏洞管理计划是降低风险的一种方式。金融行业面临的挑战是同时管理现代应用程序和后端遗留系统中的开源组件。
对于金融行业中的多数机构而言,仍然处于服务中的遗留主机系统构建于 Linux 基础之上。虽然组织机构中的系统可能已有数十年的历史,但如果这些系统的构建基础开源代码已有一年多的历史,则这些系统中包含公开漏洞的几率非常高。
通常会在软件开发生命周期内的每一步都对现代银行应用程序进行扫描,包括在每次构建和部署前均如此。然而,仅在这些阶段进行扫描还不够。开源漏洞被公开披露,导致恶意人员获得到达组织机构弱点的路线图。即使已部署,但仍然需要持续监控应用程序中的漏洞。
隔离扫描和漏洞检测
要管理遗留系统共和现代应用程序中的开源组件,金融行业需要转变思维,在构建周期期间,将扫描和漏洞检测隔离开来。
因为开源漏洞的披露方式,仅在提交新代码时进行扫描是错误做法。例如,一款应用程序可能在下午7点是安全的,但在没有进行新提交的情况下,下午8点时发现并公开披露了一个严重的开源漏洞。组织机构无法冒着风险等待,而是需要识别并修复可能暴露个人信息的漏洞。组织机构必须立即解决该漏洞。
对于老旧系统和遗留系统而言,隔离的理念尤为重要。如果检测和扫描未分离,则老旧项目不会得到经常扫描。在提交时同时进行扫描和警告的做法是错误的,因为太多的漏洞会在间隔期内发生。更频繁地进行扫描才能有效管理风险。
获得对代码的可见性
组织机构应当对项目中所使用的开源组件具有可见性,而并非只在扫描时对代码可见,而是无论当前状态还是老旧版本的所有系统均应对代码具有可见性。
底线是,金融机构无法保护看不见的代码。他们需要知道组织机构内正在使用的软件包、依赖关系和版本是什么。之后才能通过追踪新的 CVE 编号、更新到更新的开源版本并修复任何新披露的漏洞铺展防护能力。
尽职调查并不仅仅针对新编写的代码。它是一种进行状态,也应被应用到现有代码和遗留代码中。使用策略等构想并强制重构软件(即使一切均未发生变化)是应当定期开展的健康活动。为应用程序设定预期,使他们在即使没有特性改变的情况下清理其整个代码库并进行重构,确保代码总是处于最新状态。最新状态的代码更可能是安全的。
软件成分分析
持续扫描要求自动化。从现代金融机构接触的应用程序数量来看,尤为如此。单是一款应用程序就可能具有很多开源组件,而每个组件都可能具有很多依赖关系甚至更多的传递依赖关系。这绝非手动即可完成的工作。安全冠军需要通过正确的工具准确快速地完成工作。
软件成分分析 (SCA) 是一种管理开源漏洞和许可证合规问题的自动化解决方案,它是确保代码及时被持续扫描和更新的唯一方法。没有SCA,金融机构无法看到开源库是如何在组织机构内使用的,也不理解这些库中可能包含的漏洞是什么。
无论是从零开始构建新的应用程序、保护老旧软件的新版本,还是维护遗留系统,金融机构必须继续保持警惕并不断进行扫描。在金融服务被高度管制的当前环境中,SCA 解决方案是管理和降低整体风险的关键。
【开奖啦!!!!!】
上次的限时赠书活动中奖名单已出炉,恭喜以下同学中奖,请未填写地址的同学在微信后台私信地址,我们已经发出部分书籍啦。
@whyseu @。@HFwuhome@惊蛰 @nimo @XuZ @淡然 @Marco韬 @王孟 @Wecat@nwnλ @MOBE @湘北二两西香葱@※ @搬砖小土妞@云烟过眼 @r00t@小风 @傲雪@最好走的路是套路 @Zhao.xiaojun @浅笑淡然 @X-Star @Erick2013 @小秦同学 @X @王骏 @欢寻 @nbp@Mr. Guo
大家可移步京东电子工业出版社一睹为快!或直接点击“原文链接”购买。
如下是本书相关讲解:
推荐阅读
开源的代理服务器HAProxy 易遭严重的 HTTP 请求走私攻击
美国政府召开网络安全峰会,与私营行业巨头合力提振软件供应链和开源等安全
原文链接
https://www.whitesourcesoftware.com/resources/blog/open-source-risk-management-in-financial-sector/
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~