三项DevSecOps核心原则,保证交付的安全与速度

【】现如今,尽管各种骇人听闻的网络攻击事件已是各类新闻头条的“常客”了,但是大多数企业仍会在其IT环境的搭建之初就忽略了、或错误地实施了安全管控。

而对于一些初创型企业及其新建的IT系统而言,它们时常会将有限的资金花费在无关的资产、或流程的保护之上。根据Verizon 2018年度数据泄露调查报告显示,在一般企业的系统中,有40%的漏洞会出现在应用层。而他们花费在保护应用程序上的年度安全预算,却只有3%~4%。

与此同时,一般企业的IT部门在人员岗位分配上也存在着不均衡的现象,时常会出现100名开发人员仅配备了一位安全技术专家的状况。而这些孤独的安全人员,往往不得不疲于提供瀑布式的安全策略与实践,以赶上整个研发团队的敏捷开发节奏。因此,当他们根据安全检查表中的不达标项,叫停某些应用编码工作、进而导致延迟产生的时候,都将被视为是对公司当前项目推进的阻碍、内部生产效率的破坏、甚至是对整体文化的“毒害”。

在现实情况中,如果您没有在整个软件交付的管道中实施安全流程管控的话,那么您必将面临着各种组件的延迟交付或风险发布,而且这些组件往往会带有潜在的漏洞。不过,这恰好是DevSecOps能够发挥作用的地方。它通过各种安全实践,来最小化软件交付管道中的各种脆弱性,为组织的IT和业务的目标保驾护航。

在XebiaLabs公司(译者注:一家独立的软件公司,专注于为大型组织开发企业级的持续交付与DevOps软件)最近组织的一次网络研讨会上,来自Signal Sciences的研究主管–James Wickett,与DevOps思想领袖–Gene Kim,以及XebiaLabs的首席产品官(CPO)–Rob Stroud,讨论了如何将安全性接入到整个DevOps生命周期中的三项原则。

您除了可以通过链接:https://xebialabs.com/community/webinars/devsecops-missing-link-of-business-velocity/,来收听该网络研讨会的现场录音之外,还可以通过如下文字阅读有关DevSecOps的三项核心原则。

原则1:为最坏的场景做好设计

为了将安全性尽量“左移”(指各项流程管道的初始阶段),获取开发部门的理解与支持是非常重要的。为了实现该目标,各个企业需要帮助研发人员了解到,在他们的应用程序中可能存在的威胁与漏洞,并需要有针对性的进行各种计划与设计。Wickett建议采用如下四种方式:

  • 舱壁模式(Bulkhead Patterns)– 以一种分割应用程序之间依赖性的方式,来设计您的程序代码。这是一种“未雨绸缪”的设计理念。如果您能够隔离应用程序中的各个组件,那么纵然某一个组件出现了故障,而其他组件仍然可以运行并提供服务。Wickett说,该模式的典型应用案例就是针对微服务的引入。您会很自然地借用舱壁的理念,将大的整块服务分割成多个小的单功能服务。虽然这是一种绝佳的安全实践,不过我们也需要在企业环境中事先考虑到微服务的扩展限制问题。
  • 恶意用户场景(Evil User Stories) — 您可以通过描述用户如何破坏系统的安全性,来提醒敏捷开发团队,在他们编写最终产品代码时限制恶意用户的各种可能行为。例如他们可以这样制定代码的逻辑:如果有用户在访问某个网站时,试图进行跨站点脚本注入攻击,那么就直接拒绝其任何操作行为。Wickett说,那些具有高安全性的组织,通常会使用各种既定的语言、模式和测试框架,来描述不同的用户场景,并以此融入现有的敏捷开发企业文化之中,使之成为可接受的系统的一部分。
  • 威胁建模(Threat modeling) — 在软件开发的过程中,您可以使用威胁模型来说明应用程序在运行时所涉及到的组件,并识别出这些组件可能面临的潜在风险,进而选取最好的防护措施。威胁建模对于那些缺乏安全专家人手的环境是至关重要的。同时,通过提供一些具有针对性的风险管控模型,安全人员会更容易实现与研发部门的沟通,并达成共识。
  • 风险评估(Risk Assessments) — 您可以将基于风险的评估方法运用到自己的环境中,以确定哪些给定的措施更适合于自己的用例环境。这将有助于开发人员通过提供参数输入的方式,将评估集成到应用的设计与实施阶段,并贯穿整个项目的生命周期。

原则2:安全测试贯穿整个管道

一般而言,针对软件交付管道的全面安全加固,就意味着:在应用程序的整个生命周期,对每一个组件和阶段,都采取漏洞测试。您可以采用如下的方法测试软件交付管道的安全性。

  • 逆境测试(Adversity Testing) — 您可以通过各种“实战性”的攻击工具,对自己的管道进行注入攻击,以找出不同的安全漏洞。Wickett推荐下载的工具包括:Metasploit(https://www.metasploit.com/)、Nikto(https://cirt.net/Nikto2)和Arachni(http://www.arachni-scanner.com/)。安全人员通过利用它们来对某个网站进行测试,以找出那些薄弱的环节。这些测试的目的都是为了获悉您系统环境中的漏洞,以及整体抗攻击的能力。
  • 安全即代码(Security-as-Code) — 类似于基础设施即代码(infrastructure-as-code, https://xebialabs.com/glossary/infrastructure-as-code/),安全即代码是将各种安全模式集成到代码系统之中,成为一个自动化的流程部分。由于它能够更多地将开发人员带入安全相关的流程中,因此安全即代码是企业塑造DevSecOps文化的重要组成部分。
  • 漏洞测试(Vulnerability Testing) — 通常情况下,我们会用不同的方法对应用程序进行漏洞测试。其中包括:
    • 静态应用程序安全测试(SAST),提供了一套检测应用程序代码漏洞的工具集。
    • 动态应用程序安全测试(DAST),是采用外部攻击,来测试应用程序的运行状态的一种方法。
    • 交互式应用程序安全测试(IAST),是在测试阶段分析应用程序的行为,以帮助开发者对所发现的漏洞进行优先级排序的一种方法。

原则3:摒弃只重视AppSec培训的谬误

在过去十年间,整个行业都过于重视培训开发人员编出具有安全性的代码。虽然AppSec培训非常重要,而且其各种最佳实践能够提高企业的整体安全意识,但是它也会带来一些其他问题。对于一些新手程序员而言,只要是用人工编写代码的方式,就可能会带有漏洞。因此我们不应盲目地认为他们所开发的代码,足以让其应用程序固若金汤。同时,接受过AppSec培训的研发人员,会更具备“全栈”的开发能力,当然更容易被其他公司所“挖”走。

因此,我们不能只专注于开发人员是否能编写出更为安全的代码,而应该尽可能地将各种流程自动化,并放置到软件交付管道的左侧(初始阶段),同时在右侧(管道的末端)增设各种与安全相关的监测工具。另外,我们应当尽量通过一套部署管理系统,来强制实施各项自动化的进程,以保证代码在最终发布阶段的安全性。

安全性和敏捷性并重

对于一般企业而言,将不同职能部门的团队组织起来,通过DevOps的协作方式,在规定时间内交付出软件产品是极具挑战性的。我们时常会看到一些实施了DevOps的企业,他们的团队虽然实现了在软件产品交付上的“提速”,却无法让产品达到相应的安全水准。因此,如果您在软件持续交付的过程中忽略了安全性的保障的话,那么您最后将会失去客户的信任,也没有人愿意、或敢去使用您的软件产品。

原文标题:Delivering Security and Speed: The 3 Core Principles of DevSecOps ,作者:Tim Buntel

【译稿,合作站点转载请注明原文译者和出处为.com】

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/125391.html<

(0)
运维的头像运维
上一篇2025-02-23 17:42
下一篇 2025-02-23 17:43

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注