您当前的位置是:  首页 > 资讯 > 文章精选 >
 首页 > 资讯 > 文章精选 >

思科思享家丨风险始于漏洞_安全从代码做起

2022-10-21 09:55:25   作者:   来源:CTI论坛   评论:0  点击:


  作者:王春艮 思科系统架构师
  作者:柴爱军 思科资深系统工程师
  思享家
  是一个介绍如何利用思科先进技术解决客户难题的栏目。每期聚焦一个技术热点或应用场景,邀请资深思科技术专家深入浅出地介绍,为读者提供实用性强的建议。
  传统供应链 vs 软件供应链
  提到供应链,大家通常都会想到各种商品的采购和供应,熟悉思科的行业人士还会想到思科蝉联 Gartner 评选的全球供应链企业第一。思科的端到端供应链风险管理,也是 NIST (国家标准技术研究所)官方发布的最佳实践 ( Best Practices In Cyber Supply Chain Risk Management )。我们以其中的思科供应链主安全规范为例,列举了 11 个安全域的 180 个规范定义,既包括各类硬件产品供应链,也包括各类软件产品的全生命周期供应链安全规范和管理,比如其中第 10 项为:
  10.1 Secure Design and Development Lifecycle (安全设计和开发生命周期)
  10.2 Configuration and Change Management (配置和变更管理)

实物供应链 vs 软件供应链(从 Plan 到 Monitor “链” )
  那么为什么思科要将软件供应链安全作为安全管理的重要内容呢?
  复杂与安全相伴相生
  首先一个原因是,开源软件已成为现代化软件开发过程中最最基础的软件供应链原材料。软件吞噬世界、云计算和云原生的迅猛发展,都印证并加速了开源领域的进步与无限普及。但这也导致供应链条无限复杂,企业往往无从知晓应用引用了多少开源代码,也无从知晓开源引用的层级数量。这种不可知性,一旦遇到企业兼并、应用整合的情况,就会非常棘手1。
  正如从Plan到Monitor “链”,以链条形式形象地标示了 SDLC ( Software Development Life Cycle ) 的每一个基本环节,每一个环节都会发生上图的复杂引用/依赖关系,伴随而来的是无处不在的安全风险。
  Plan 到 Monitor “链” ,还只是极简的 SDLC 过程示意图,这里举一个实际的产品例子。作为 SD-WAN 市场领导者 ( Gartner 2022 ) ,思科 vManage SDLC实际的完整流程 (针对 AWS VPC 场景) 如下。

针对 AWS VPC 的持续集成/持续部署
  自动化地持续集成和持续部署,也即人们常说的 CI/CD Pipeline ,虽然看起来是另一个层面的示意简图,但已然相当 “复杂” 了。在很多企业里面,完整的应用都是模块化的,每个模块的 CI/CD Pipeline 亦往往比上图更加复杂,代码引用和依赖甚至会达到扑朔迷离、盘根错节、纵横交错的程度,这给了无处不在的网络威胁更多可乘之机,最终酿成事故,比如近些年发生的 NPM 包被劫持、Apache Log4j2 、NPM 包遭供应链投毒、开源音频编解码器漏洞、依赖包混淆攻击、 API 误用……
  层次化安全技术域与 “Shift Left”
  此外,如今受到热捧的低代码、无代码、多云/混合云,更是让应用安全漏洞变得无处不在,企业比以往任何时候更需要确保端到端全链路(技术域)软件供应链安全。

层次化安全技术域
  企业应从战略高度考虑整体安全,对应到软件供应链,既要考虑软件的 SDLC 、又要考虑软件的传播、内部/外部使用。缺乏足够安全,不仅影响基本的软件供给,也会影响企业的创新和竞争力,并带来多方面的巨大损失。如果您正制定现代数字化转型战略,那么软件供应链安全将成为您战略基础的重要部分。
  虽然如此,就绝大多数企业而言,软件供应链安全依然处于“第二优先级”,优先级依然处于后开发 ( post-development ) 、后部署 ( post-deployment ) 级别,甚至更低。满足产品研发需求、满足市场业务需要,依然是软件开发中第一优先级,将软件安全完全交(踢)给了后期部署、运维。这与应对日益增长的软件供应链安全攻击 ( Gartner – 2022 年主要安全和风险管理趋势 ) 的正确做法背道而驰。
  改进的唯一方法,就是在软件开发周期伊始 ( Shift Left ) ,便将安全性作为主要考虑因素和驱动力,从软件代码开发流程的源头做起,而不是软件开发最后的附加组件。

从软件代码开发流程开始就考虑安全性
  思科的成功实践
  前述 NIST 机构发布的思科软硬件供应链最佳实践,既体现在思科自身的成功实践中2,也体现在思科成功的商用产品交付中,即思科六大技术战略支柱之一 —— 优化应用体验与安全 ( Optimized Application Experiences ) , 提供全栈可观察的智能运维和层次化软件供应链安全防护。思科 Secure Application 也是业界排名第一的安全解决方案3。

思科层次化安全, 全域保护软件供应链安全
  数字化企业正处于一个日益动态演进的环境中,需要在快速创新的同时,遏制恶意安全威胁上升的空前势头。行业数据统计显示,平均每个企业 39 秒就会遭受一次攻击,且发现漏洞的平均时间超过 6 个月。除了不断上升的安全风险之外,随着组织采用云技术来获得灵活性和成本优势,现代应用系统的复杂性也在增加。传统的应用系统和安全监控工具并未跟上技术发展的步伐,让应用和安全团队难以有效监管软件供应链的安全边界。各个团队需要一种新方法在不牺牲效率的同时,保障软件供应链安全。
  思科认为层次化、全域、Shift Left、持续评估、持续适配是软件供应链安全防护五大特色。软件从 “生产” 到 “消费” ,有效的供应链保护必须从代码的源头做起,并随着软件的启用、流淌过网络上不同层次的技术域,为整个技术域的 “链条” 提供安全防护。“生产” 出的软件代码不是一成不变的,为响应市场需求而快速迭代应用代码,是现代化软件特色,但不能因为反复迭代而忽略或减低应用安全防护。因此构建层次化安全防护的同时,需要对迭代的应用做持续评估、持续适配。

DevSecOps – 持续评估安全威胁、与业务逻辑管理
  通过在应用开发、运维和安全团队之间创建共享上下文来简化漏洞修复和安全事件的生命周期。
  负责性能监控的运维工程师也可实时访问所有安全事件。AppSec 和开发人员可以深入洞察应用访问的异常行为和受影响的业务,在同一平台中无缝协作,消除隐患。与此同时,AppSec 和 Devops可将安全性引入现有的软件供应链自动化并推进 DevSecOps 文化,在持续运行时保护、实时修复和安全性自动化的加持下,确保更低风险、更高效的运营。

DevSecOps – 在应用开发和安全运营之间构建通用的语言
  思科 “优化应用体验与安全” 业务,基于云原生、全栈可观察 ( FSO ) 和应用安全三大类解决方案,帮助客户深入拓展云原生应用、基础架构自动化,提供从应用到基础架构的全栈可观察,保障客户全栈全生命周期的层次化软件供应链安全。这一块业务,已经连续五年保持两位数增长,足以说明客户对思科 “安全” 理念和贯彻理念能力的认可。未来我们还会与大家分享思科在这一领域的更多实践。
  1. 参考思科官网报告,Moving Left and Right, Cybersecurity Processes and Outcomes in M&A Due Diligence, by CLTC, UC Berkeley
  2. 参考思科官网相关白皮书 Cisco Secure Development Lifecycle
  3. 参考Gartner报告,Critical Capabilities for Application Performance Monitoring and Observability, 2022年
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题

CTI论坛会员企业