传统网络安全系统(其中许多是在十多年前设计的)未能充分考虑新一代攻击者的能力和漏洞利用方式,也未能考虑到许多软件对人工配置的依赖,而这正是其“阿喀琉斯之踵”。

为了应对这一新现实,软件开发领域提出了“默认安全”这一概念;它是美国网络安全和基础设施安全局(CISA)提出的“安全设计”原则的必要补充。

安全设计原则强调将安全嵌入软件设计和开发的全过程。默认安全则确保产品从启用伊始便具备内在安全性,开箱即安全。无需复杂设置,因为安全日志记录和授权等核心安全功能已预先配置。

威胁正在演变,并且不断加速

直到不久前,大多数系统的“爆炸半径”仍然有限。它们受到防火墙保护并被限制在一定范围内,因此访问权限仅限于组织内少数特定人员。攻击者没有开放的空间可供爬取并寻找弱点,也无法将攻击自动化。整个攻击过程——发现漏洞、通过编写漏洞利用代码将其武器化,再部署武器化攻击——至少需要数周,往往需要数月。

这不仅限制了攻击速度,也限制了攻击规模。攻击者必须逐一锁定组织,设法绕过特定控制措施。总体攻击频率较低,即使发生攻击,由于攻击者必须投入大量时间和精力,其影响也相对可控。

相关内容:面向组织的 8 项攻击面缩减最佳实践

当我们谈论“不断演变的网络威胁态势”时,这几乎算是一种轻描淡写,因为无论是自然演化还是技术演进,都从未如此迅速。短短几年间,它已演变为一个数字化的“雷霆竞技场”,让防护薄弱的目标面临前所未有的风险。

这是因为攻击者已经能够利用三项关键发展:

  • 如今的攻击者可以迅速将漏洞武器化,而人工智能工具正在让这一过程变得更加容易。漫长披露窗口的时代已经过去。暗网上唾手可得的自动化扫描工具和漏洞利用工具包,让技术能力较弱的攻击者也能参与恶意软件活动。随着攻击者在补丁发布前利用漏洞的能力变得更加敏捷,零日攻击正成为日益严峻的担忧。
  • 云采用扩大了攻击面,因为分布式云基础设施使数据保护和监控变得更加困难。云提供商与用户之间的安全责任共担模型,如果配置不当或理解不充分,可能会导致漏洞。此外,云应用通常依赖 API 进行通信;如果未得到妥善保护,也可能引入漏洞。
  • 防火墙和杀毒软件等传统安全措施已难以跟上形势。防火墙可能通过社会工程学被绕过,而杀毒软件也难以检测全新的零日威胁。在云时代,基于边界的安全方法已经过时,安全设计原则需要贯穿整个 IT 基础设施。

攻击者会在产品激活的那一刻就准备好探测弱点或发起攻击。因此,产品一经开启并连接到组织网络,就必须立即具备强大的零日防御能力。

相关内容:安全设计原则比以往任何时候都更加重要

默认安全的三大支柱

要妥善落实默认安全,需要依托三大基本支柱。

安全左移

安全左移侧重于在开发流程的早期发现漏洞。开发人员需要编写安全代码,避免 OWASP Top 10(Web 应用安全漏洞)和 CWE Top 25(常见软件弱点)等资源中列出的常见问题。

这类似于预防医学:健康实践和疫苗接种可以帮助人们远离疾病。通过从一开始就专注于安全编码实践,开发人员实际上是在将免疫力和韧性直接构建到软件之中。

强制执行安全配置

当用户自行配置新软件时,黑客往往会有机可乘。为消除错误配置,软件提供商必须默认强制执行安全配置。这包括多因素身份验证(MFA)或单点登录(SSO),并避免使用硬编码凭据(密码或令牌),以及避免采用攻击者已知存在漏洞的默认配置。

强制执行安全配置可确保所有部署都具备一致的安全性,不受用户经验或技术专长差异的影响。它还可以简化用户体验,因为用户无需自行做出配置决策。

保护软件供应链

与汽车和航空航天制造业类似,现代软件开发已经成为一条装配线,并且高度依赖第三方库和开源代码。在默认安全模式下,开发人员需要严格关注这些组件的安全性,避免它们引入漏洞。

相关内容:安全设计承诺:致力于创造更安全的数字未来

衡量默认安全

如今,提供商可以利用检测工具和遥测来监控默认安全功能的表现。如果产品部署在本地,启用遥测将涉及在防火墙上开放通道,以便数据离开用户网络。如果产品在云端,则更容易允许遥测数据回传给提供商。

无论哪种情况,关键都在于双方同意:软件用户必须启用默认遥测,以便提供商查看软件行为,并确认其内置安全控制是否正在实施。幸运的是,这也意味着用户无需亲自介入来启用安全功能。只要获得客户同意,提供商即可远程完成。

领先应对不断演变的威胁

即使是最尽责、最努力的网络安全专业人员,也仍然受限于手头掌握的数据和洞察。例如,传统漏洞清单,如 OWASP Top 10CWE Top 25,是提升安全意识的关键,但也存在局限:

  • 清单更新仍会在漏洞发现与缓解之间留下一个脆弱窗口。攻击者会利用这一空隙,瞄准尚未列入清单的“离群”漏洞。
  • 传统清单关注的是已知漏洞,这会使组织暴露于“已知的未知”之下,即具有潜在可利用性但尚未被识别的弱点。

话虽如此,AI 和机器学习有望通过弥合这些差距来变革默认安全:

  • 机器学习算法可以分析海量安全数据,识别模式并预测潜在漏洞,包括尚未出现在传统清单上的漏洞。
  • 通过分析漏洞利用趋势和软件行为,机器学习可以识别更有可能被利用的“已知的未知”弱点,即使它们尚未被记录在案。

将 AI 引入 SDLC

AI 和机器学习还可以改变默认安全原则融入软件开发周期的方式:

  • 自动化漏洞检测:AI 工具可以持续扫描代码中的已知和未知漏洞,从而在 SDLC 的早期加以处理。
  • 主动安全建模:通过分析攻击模式,AI 可以预测威胁;这使主动安全建模成为可能,从而构建内置防御能力的软件来抵御这些威胁。
  • 智能开发人员辅助:AI 可以分析代码,并就安全编码实践向开发团队提供实时建议。

通过自愈软件实现默认安全

关注默认安全的开发人员有一个目标:创建具备内在能力的软件,能够主动自行识别漏洞并加以修复。这一概念的灵感来自制造业中使用的遗传算法,此类算法可让系统随时间推移自我优化和改进。

这将把“默认安全”从静态概念转变为一种内置于企业软件中的动态、自我监控、自我修复能力。它将使软件能够修复自身漏洞、阻止威胁,甚至向开发人员报告新的攻击。

相关内容:实践演示:通过安全的 UEM 应对措施保护所有端点

朝着正确方向迈进

不久前,我曾撰文指出,需要建立“行业与政府携手解决数字安全问题的公私合作伙伴关系”。安全设计原则的创建,以及 CISA 和行业领导者推动这些原则的努力,是向前迈出的重要一步,有助于构建这种迫切需要的协同防御,共同应对网络威胁。

不过,最终仍要由各个软件提供商和开发人员将这些措施付诸实践。遵循默认安全实践,在开发和交付更安全的软件,以及在网络安全战役中占据优势方面,都发挥着至关重要的作用。