历史上的今天

今天是:2024年09月10日(星期二)

正在发生

2019年09月10日 | 技术文章—软件合规性团队应借鉴DevSecOps实践

发布者:EEWorld资讯 来源: EEWORLD作者: 新思科技应用安全分析师Charlie Klein关键字:DevSecOps 手机看文章 扫描二维码
随时随地手机看文章

尽管软件测试对于合规性至关重要,但当测试工具无法跟上现代软件开发的速度时,开发人员也会感到沮丧。本文将为您解析如何在不影响软件开发速度的情况下进行有效的软件合规性测试。

 

许多人认为应用安全仅仅应该是安全团队的责任。然而,虽然安全专家可以对此做出贡献,开发人员通常是唯一具备修复软件安全漏洞的技术能力的人。软件合规性也是如此。归根结底,只有开发人员才能构建符合特定软件标准的应用程序。

 

考虑到开发团队的紧迫期限,给他们额外的职责可能会带来挑战。为了帮助开发人员在不降低速度的情况下交付安全的应用程序,许多团队采用了DevSecOps,鼓励将自动安全测试集成到每个版本的DevOps工作流程中。

 

DevSecOps帮助团队更快地交付更安全的软件,但是否是更加符合合规性的软件呢?许多尝试实现软件合规性的团队遇到了与试图实现软件安全性的团队相似的挑战。幸运的是,他们可以采用相似的策略。

 

DevSecOps的作用是什么?

 

DevOps工作流程支持快速迭代的软件发布周期,这给软件安全带来了一定障碍。

 

在保护软件安全的传统方法中,测试是在应用程序构建之后,软件开发生命周期结束之后才进行的。结果,大多数(如果不是全部的话)应用程序同时测试,并且将一长串、令人生畏的安全问题清单发回给开发人员。

 

然而,许多团队发现这种方法与DevOps不兼容。开发团队没有时间,更不用说预算,来停止他们正在做的事情去处理一大堆表格中的问题。

 

为了解决这个问题,企业可以通过将安全测试集成到DevOps发布周期更短的、更高频率的反馈循环中,以实现DevSecOps。DevSecOps要求在早期经常执行自动安全测试,而不是在开发人员完成构建应用程序之后运行大型的测试。通过帮助开发人员编入更安全的代码,DevSecOps有助于减少质量保证(QA)必须识别以及发回来的问题数量。

 

如果开发团队可以将安全测试集成到DevOps工作流程中,为什么不将合规性测试也集成到DevOps工作流程中呢?

  

如何将DevSecOps实践应用到软件合规性中?

 

虽然安全测试通常与合规性测试要求不一样的分析方法,但是尝试DevSecOps的开发团队可以使用类似的方法来进行合规性测试。

 

正如传统的应用安全测试一样,合规性测试通常发生在QA环境中。大致的应用开发和测试流程如下所示:

 

1.    开发人员编写应用程序的代码

2.    QA在开发人员转移到另一个项目时测试代码

3.    QA向开发人员发送一份违反合规性的列表,要求他们暂停当前的工作,先解决这些问题

 

这种合规性测试策略在技术上并没有什么问题。然而,这种方法并不受开发人员欢迎,如果问题列表特别长,对于开发团队来说可谓代价高昂。为了在应用程序完成之前解决更多的合规性问题,团队可以实施受DevSecOps启发的实践,来帮助开发人员在软件开发生命周期(SDLC)早期提交合规性代码。

 

策略之一是将自动合规性测试集成到DevOps发布周期中。通过定期测试而不是一次性测试应用程序,团队可以减少每个测试周期违规的数量。显然它需要在整个SDLC中进行更高频率的测试,事实证明这种方法比在QA中找到问题更快。

 

另一种方法是在集成开发环境(IDE)中创建沙箱环境,开发人员可以自己在其中运行测试。在编写代码时测试他们自己写的代码,使开发人员能够编入更清晰、更合规的代码,

 

因此违规就不太可能出现在QA中或者更糟出现在生产中。这种方法另一个好处是帮助开发人员熟悉可能导致违规行为的代码。

 

这些识别和解决违规问题的策略并不意味着要取代QA测试。然而,通过将合规性测试集成到SDLC的多个阶段,团队将在QA和开发的反馈循环中看到更少的问题,这将会更好地支持DevOps工作流程。

 

在现实中又是怎样的情况呢?

 

就像安全测试一样,将合规性测试集成到DevOps发布周期需要新的技术和工作流程,它们都有不同的学习曲线。

 

关于技术,静态分析正成为帮助开发团队构建合规应用程序的流行的选择方式。静态分析工具之间的覆盖范围各不相同,但是总体而言,该技术可以在代码质量标准中发现问题,比如MISRA 和CERT C/C++,以及安全标准,比如OWASP Top 10和 PCI DSS。

 

团队选择的用来解决合规性问题的静态分析工具或者其他的任何技术在他们采用的工作流程中发挥着重要作用。如前所述,那些希望将问题排除在QA之外的人希望找到解决方案从而能够:

 

1.    将快速反馈循环集成到测试和开发中

2.    在开发人员编写代码时在IDE中扫描代码

 

在测试和开发之间构建一个持续的反馈循环可能代表了开发人员日常工作的重大转变。

 

虽然“DevSecOps”并不完全相同,但是受管制行业的开发团队可以通过将合规性测试集成到DevOps发布周期中来获得降低成本的益处。

 


关键字:DevSecOps 引用地址:技术文章—软件合规性团队应借鉴DevSecOps实践

上一篇:国产嵌入式操作系统技术与产业发展论坛圆满结束
下一篇:SUSE改善现代容器化和云原生应用程序交付体验

推荐阅读

海康机器人发布X86开放平台,面向全球用户提供图像采集、数据处理、显示、通讯输出的一体化硬件方案。用户可基于此快速打造内嵌自有算法的智能相机。 相机内置 E3845四核1.91GHz ,展现高效的处理能力,基于x86平台的组件化Windows Embedded Standard 7所具有的强大兼容性,可方便、简易地实现算法和移植。丰富的软件支持和API兼容性,让使用不同...
寄存器:实际上就是cpu里面的东西 每个单元都有不一样的功能,根据功能给这些存储单位取别名,这个别名就是我们所说的寄存器。寄存器的映射:给寄存器分配地址的过程就叫作寄存器的映射。新建工程:新建工程需要手动创建main.c.h(头文件)头文件:寄存器的映射如何写寄存器的映射:首先找到需要控制外设的IO口,根据这个IO口去寄存器组织架构寻找需要控制...
近日,湖南视比特机器人有限公司(以下简称“视比特”)宣布完成近亿元A轮融资,和玉资本(MSA Capital)领投,图灵创投跟投。本轮融资将用于用户3D视觉软硬件平台标准化、智能化及技术研发、团队扩建、市场推广等方向。视比特创立于2018年8月,是一家深度融合“3D视觉感知与机器人柔性控制交互技术、3D数字孪生与工业闭环控制技术”的高科技公司,由普林...
9月9日,vivo X70系列面向全球正式发布。作为一款备受关注的高端旗舰,vivo X70 Pro+采用骁龙888 Plus 5G旗舰移动平台,带来设计、性能、交互的全面升级,实现光学技术和计算摄影的再一次突破,将移动影像带向前所未有的新高度。 在专业影像探索之路中,具备顶级性能的底层芯片的支持必不可少。骁龙888 Plus集成的Spectra 580 ISP能够实现高达每秒...

史海拾趣

问答坊 | AI 解惑

03年索尼杯作品

本帖最后由 paulhyde 于 2014-9-15 09:09 编辑 03年索尼杯作品  …

查看全部问答∨

偶得共享(续)

在网上,再次很偶然得到了一个FLASH: Panasonic Power Management MOSFET Product Training Module. This module……(Flash上都有), 这是从实用的和产品介绍的角度来介绍MOSFET的,觉得挺好。虽然用英语,但画面下部就是讲座的“台 ...…

查看全部问答∨

wince 5.0 toolbar 怎么移动,和显示大图标?

C#写了智能应用程序,用了TOOLBAR控件,怎么不能移动,跟菜单重合在一起,也不能显示大图标,在设备里只显示一点图标,大部分被截了,我怎么才能移动改变它的大小呢?谢谢!…

查看全部问答∨

各个商家的ARM架构的优缺点

瑞萨、飞思卡尔、Microchip、NEC、Atmel等等这些MCU大鳄都拥有自己的ARM架构。如今TI也有自己的架构,而且强劲地发展。 请问,这些MCU大鳄们的ARM架构是怎么样的?其各自的优缺点是什么? 那位达人可否概况下,谢谢…

查看全部问答∨

我对c8051 pic msp430的比较,还望大虾们给予指正

最近我对三种单片机进行了一些了解,对三种单片机的性能进行了对比,希望各位大家给予指导,看我说的对吗? 1、PIC的特点是不进行简单的累加,他根据内部资源的多少,有120多中型号,而且具有向下兼容性。C8051和MSP430这点相对PIC差了一点。 2、 ...…

查看全部问答∨

【项目外包】256信道语音模块

256信道语音模块 项目预算:¥ 15,000~20,000 开发周期:60天 项目分类: 系统开发件 竞标要求: 项目标签: 无线射频 语音传输 ...…

查看全部问答∨

VDD-VSS-VEE-VCC解释

一、解释   VCC:C=circuit 表示电路的意思, 即接入电路的电压;   VDD:D=device 表示器件的意思, 即器件内部的工作电压;   VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压;   VEE:E=electron 表示构成物质的基本粒子 ...…

查看全部问答∨

msp430中断问题

当端口发生中断的时候,怎么确定程序进入了哪个中断程序,我在P1.4按下开关之后,程序进入了ISR(CC2520_IRQ, cc2520_port1_interrupt)这个中断,为什么不是ISR(PORT1, irq_p1)中断函数,源程序中写的是ISR(PORT2, irq_p2),因为我开关接在P1.4所以 ...…

查看全部问答∨
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved