想在自己公司建立 DevSecOps 计划?没问题,企业规模无论大小,都可轻松实现。这里有5个基本的 DevSecOps 原则可以帮助你启动。当然,如果你对 DevSecOps 还不太熟悉,不妨先看看第一篇文章《什么是 DevSecOps?系列(一)》。

以客户为中心

以客户为中心,可以协调业务与安全之间的关系,从而确保制定准确、完备的安全策略,并让企业的所有成员都能够支持和实施。但是,要把安全和业务产出结合起来,有时其困难程度犹如要把油和醋混合起来。安全专家使劲了浑身解数力图攻破软件,往往还是很难将这些安全信息和客户以及最终的业务产出关联起来。

实际上,安全的复杂性,以及安全专家和业务专家在工作重心方面存在的巨大差异,会导致决策出现重大分歧。安全专家考虑的是如何保护企业资产的安全,而业务专家关注的是如何冒险满足客户的需求以增加收入。这些原则性的差异会导致双方产生极大的摩擦。

抛开这些分歧,秉持以客户为中心的理念,可以促使安全专家采取更好的安全策略,同时也可以减少复杂性造成的风险控制障碍。此外,安全计划及产出可以适应客户需求和业务产出,其中的复杂性也可以通过自动化和报告进行展示。

最终,支持业务产出的必要控制应当简单易懂,让安全实现成为人人都可以做的事情。

扩展,扩展,扩展

除了以客户为中心,安全扩展也是必要的。如果客户需要快速创新业务来解决问题,而安全专家只考虑自己的安全防护功能,这么做显然不恰当。相反地,他们应当带领安全团队创建相同的工作模式和条件,使安全方案在支持 DevOps 和持续创新之余还要与业务产出相协调。随着连续部署、精益创业、敏捷型、DevOps 和其他创新驱动法成为常态,安全的进一步发展也迫在眉睫。

毋庸置疑,安全专家必须具备精益生产的意识,通过要求软件定义平台帮助收集、解释和报告有关业务资源与环境的安全分析。

实现安全扩展,其实就是通过减少人工处理量以及实现低风险产出需耗费的时间量,达到解决问题的目的。但是,对于安全专家而言,要使安全策略透明化、简单化,以便所有人都能够参与实施,这并不是件容易的事情。不过,努力之下,他们还是有可能改进和发展自动化,允许通过可以扩展安全的自助服务进行风险决策。

「以安全为准则」具有可迁移、共享和完善等附加优势,因为它不是一个读取一次就被搁置和遗忘的文件,而是支持业务产出的整个系统的有机组成部分。

客观标准

你是否曾有过这样的经历:安全报告里有成千上万条发现,有的甚至还看不明白,自己却要根据这个报告快速做出决策。我想任何人收到这样混乱不堪的安全报告,都会觉得头痛。实际上,为快速决策提供安全信息正在成为一门艺术,而且通过引入客观的标准和成熟的方法,该艺术形式得到了极大的改善。

客观标准可以帮助业务专家明白要在什么时候、以什么样的方式和顺序改善业务资源的安全情况。实际上我们可以认为,安全专家的唯一目标就是为业务伙伴提供可行的修复建议。建立客观标准来衡量企业资产安全无疑是最理想的方式,可以满足业务伙伴为了快速做出决策对可行性建议的需求。

有时,相比于策略,客观标准更为重要,因为它能促进企业内形成成熟的控制机制,使风险决策有据可依。

创建安全记分卡是制定 DevSecOps 计划的基本要素,因为它不仅可以为业务伙伴提供指导,而且还可以为持续监测企业资产安全的安全团队提供方向。根据对象的不同,记分卡可以通过检测仪器和记录结果为决策行为创设情景。

举个例子,如果面向的对象是开发部,使用的度量指标和提供的报告可能更倾向于开发方面,比如每行代码中存在的安全漏洞数量。反之,要是面向运营部,使用的度量指标可以是基础设施和配置方面存在的缺陷和漏洞。不过整体而言,只要创建记分卡便有助于各个团队排除干扰和分歧并做出快速、精准的决策。

主动搜寻

想象一下,如果你的公司能够先于攻击者发现安全漏洞并在遭受攻击前将其修复,可以免掉多少损失?主动搜寻并测试业务资源的安全性,有助于及时发现可能会被对手轻易利用的弱点和缺陷。采取主动策略保护业务资源的安全,也有助于更好地衡量与扩展,因为在业务受损前发现重要的攻击面需要自动化和大量的数据。

但是,仅凭一个好的事件响应进程来实现这个需求是不够的,因为在外部发起尝试性攻击时才发现漏洞,已经为时太晚。

建立主动搜寻的最佳方式是实现构建自动化,利用自己的信息确定安全缺陷,防止漏洞成为攻击目标。另外,这类功能还可以利用攻击者目前最常使用的被动输入来加强自身的防御策略。从根本上来说,这类功能不仅可以巩固公司技术环境方面的侦察,而且它还允许内联测试与开发,可以在整个业务产出的支持系统中优先执行修复措施。

换句话说,加强内部的安全测试,主动搜寻安全漏洞,对企业很有帮助,因为修复建议可立即执行,而且还实现了与业务流程的整合。

持续检测与响应

最后,除了牢记以上四个原则,还要确保有连续检测和响应来完成信息发现和实时攻击检测。由于监管流程和基于纸质的控制缺少攻击分析,DevSecOps 需要持续检测、对照、关联和响应来弥补该欠缺。

简而言之,持续检测和响应至关重要,因为它通过监测和分析外部对公司目标发起的尝试性攻击,可以迅速击退事件。

这似乎和近十年来所讲的检测和响应没什么区别,但实际并非如此。虽然大多数公司已有检测和响应实践,但是 DevSecOps 需要更连续的方式来为自动化进程提供反馈,从而加快内部团队获知外部发现和攻击企图的速度。

更重要的是,安全科学的实现意味着企业可以使用实时信息识别各类异常事件并做出响应,以用于支持业务产出所需的决策和防御控制预测。

本文由 DevSecOps.org 首发,系 OneASP 工程师翻译。如今,多样化的攻击手段层出不穷,传统安全解决方案越来越难以应对网络安全攻击。OneRASP 实时应用自我保护技术,可以为软件产品提供精准的实时保护,使其免受漏洞所累。

本文转自 OneAPM 官方博客

DevSecOps 实施篇!系列(二)的更多相关文章

  1. Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例)

    这是一个Maven提高篇的系列,包含有以下文章: Maven提高篇系列之(一)——多模块 vs 继承 Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例) ...

  2. 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序

    如何在Visual Studio 2017中使用C# 7+语法   前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...

  3. 手牵手,从零学习Vue源码 系列二(变化侦测篇)

    系列文章: 手牵手,从零学习Vue源码 系列一(前言-目录篇) 手牵手,从零学习Vue源码 系列二(变化侦测篇) 陆续更新中... 预计八月中旬更新完毕. 1 概述 Vue最大的特点之一就是数据驱动视 ...

  4. 手摸手,带你用Beego撸商城系列二(登录篇)

    完整项目地址: go-shop-b2c 系列文章: 手摸手,带你用 Beego撸商城 系列一(基础篇) 手摸手,带你用 Beego撸商城 系列二(登录篇) 手摸手,带你用 Beego撸商城 系列三(系 ...

  5. 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)

    1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...

  6. 《手把手教你》系列技巧篇(二十七)-java+ selenium自动化测试- quit和close的区别(详解教程)

    1.简介 尽管有的小伙伴或者童鞋们觉得很简单,不就是关闭退出浏览器,但是宏哥还是把两个方法的区别说一下,不然遇到坑后根本不会想到是这里的问题. 2.源码 本文介绍webdriver中关于浏览器退出操作 ...

  7. 《手把手教你》系列技巧篇(二十八)-java+ selenium自动化测试-处理模态对话框弹窗(详解教程)

    1.简介 在前边的文章中窗口句柄切换宏哥介绍了switchTo方法,这篇继续介绍switchTo中关于处理alert弹窗的问题.很多时候,我们进入一个网站,就会弹窗一个alert框,有些我们直接关闭, ...

  8. 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)

    1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某 ...

  9. 《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)

    1.简介 其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇.那是因为这个比较重要,所 ...

随机推荐

  1. 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)

    申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)具体步骤如下:                                                     ...

  2. MacBook Pro 的照相机在哪?

    用于拍照 用于录制视频

  3. 关键字 virtual

    Virtual是C++ OO机制中很重要的一个关键字.只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就 ...

  4. OCI的结果输出

    绑定变量,把结果以列的方式输出到每一字段输出到一个数组里

  5. 《大话设计模式》学习笔记0:设计模式的原则 && UML类图

    一.单一职责原则:就一个类而言,应该仅有一个引起它变化的原因. 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力.这种耦合会导致脆弱的设计 ...

  6. winfrom 水晶按钮

    闲来无事,从网上找了不少自定义控件,然后整理了一下,做了一个水晶按钮 /// <summary> /// 表示 Windows 的按钮控 /// </summary> [Des ...

  7. AJAX异步请求原理和过程

    AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),它不是一种新的编程语言,而是一种使用现有标准的新方法. AJAX 基于 JavaS ...

  8. (转载)MS SQL Server 未公开的加密函数有哪些?

    MS SQL Server 未公开的加密函数有哪些? 以下的文章是对MS SQL Server 未公开的加密函数的具体操作,如果你对其相关的实际操作有兴趣的话,你就可以点击了. MS SQL Serv ...

  9. Oracle 执行计划说明

    生成SQL的执行计划是Oracle在对SQL做硬解析时的一个非常重要的步骤,它制定出一个方案告诉Oracle在执行这条SQL时以什么样的方式访问数据:索引还是全表扫描,是Hash Join还是Nest ...

  10. C++ STL中迭代器失效的问题

    my_container.erase(iter); 其中my_container是STL的某种容器,iter是指向这个容器中某个元素的迭代器.如果不是在for,while循环中,这种方式删除元素没有问 ...