如何在嵌入式软件开发的过程中使用DevSecOps方法,提升开发效率与安全性

news2024/11/27 19:35:22

DevOps可以帮助软件开发和IT从僵化的瀑布式开发脱离出来,转为更灵活的敏捷开发,使开发团队能够更快地解决问题、降低代码复杂性并加快产品交付。

既然DevOps有这么多的好处,那么对于希望确保软件开发过程安全的开发团队来说,下一步自然是采用类似的方法来解决安全问题。

本篇文章将解释企业如何通过将DevSecOps集成到嵌入式软件开发生命周期 (SDLC) 中,使得开发达到现代速度的同时也能确保安全性。

什么是DevSecOps?

开发、安全和运营:DevSecOps将这些实践结合在一起,以便从第一行代码开始,直到最后一次产品更新,在整个过程中及时发现并解决安全问题。

虽然DevOps流程有助于加快软件发布周期,但这种争分夺秒的做法可能会引入漏洞,从而引发由恶意软件、加密问题以及不当访问控制和验证导致的网络攻击。这就是为什么要尽早确保软件的安全,或者说,采用DevSecOps来实践“左移”安全的方法非常重要。

DevSecOps是一个持续的过程,将安全性集成到DevOps工作流中,有助于简化开发流程、减少投入生产所需的时间。DevSecOps的目标是在CI和CD流水线出现漏洞时,对其进行识别和修复。即时修复意味着修复缺陷更容易、更快速、成本更低,从而减少了对发布时间与开发人员工作的影响。

如何开始使用嵌入式软件的DevSecOps 101

随着人工智能(AI)、机器学习(ML)、物联网(IoT)和基于云的系统等先进技术兴起,通过DevSecOps来保护软件的需求也与日俱增——大多数企业都明白其紧迫性。根据云安全联盟(Cloud Security Alliance)的一份报告,90%的企业正在转向DevSecOps方法,近一半的受访者已经在实施或改进了他们的方法。

但是,嵌入式软件还有一些独特的安全挑战:

  • 在目标上运行的安全应用会被有限的CPU和内存所限制;

  • 应用程序的安全性不仅取决于应用程序本身的设计,还取决于与其相关的库和硬件依赖关系的安全性;

  • 连接性的增强会增加潜在的攻击面;

  • 该领域的产品一般使用寿命较长,黑客有更多时间研究设备;

  • 开发人员不一定具备网络安全专业知识,以提供安全代码。

要想在嵌入式软件市场竞争中立于不败之地,并在现代工作流程中构建安全性,嵌入式软件开发团队可以从人员、流程和工具入手,构建DevSecOps的基础。

嵌入式软件DevSecOps 101的三大基础

  1. 人员。为了确保代码安全,应确保不仅是安全团队,每个人和每个功能团队都需要对产品的安全性负责;

  2. 流程。将安全性嵌入到每一个开发任务中——这样,安全任务将成为一种习惯;

  3. 工具。通过将技术(例如像Perforce的Klocwork这样的静态分析工具)集成到现有的CI / CD流水线中,以相对较低的成本获得成功。

DevSecOps的7个最佳实践

DevSecOps提倡自动化而非手动流程,以实现以下最佳实践:

  1. 培养协作文化。安全性是人员、流程和工具之间的共同责任。培养DevSecOps思维意味着DevSecOps领导者应该促进团队中的透明度、尊重和信任,以便尽可能高效地做出安全决策;

  2. 将安全性集成到增量开发中。将工作分解为小的、可管理的部分,支持在流程的早期进行测试,并提高安全SDLC的整体效率;

  3. 使用基础架构即代码(IaC)。DevSecOps的基础架构即代码是指通过代码而不是手动流程来配置和管理安全资源,从而减少运行安全检查所需的工作量和专业知识;

  4. 强制执行应用程序安全测试(AST)。AST可提高代码覆盖率,减少手动工作,并确保代码库的安全。例如,SAST非常适合在开发生命周期的早期进行测试,而DAST侧重识别软件运行时发现漏洞;

  5. 收集指标和度量。安全指标有助于团队对漏洞识别和修复实践进行微调;

  6. 可追溯性。可追溯性是指在整个SDLC过程中跟踪软件组件的能力。对于代码审查、最大程度减少漏洞,以及与安全编码标准和客户期望保持一致来说,这个过程至关重要。

  7. 持续反馈。有效的监控和反馈框架可帮助相关人员做出决策和权衡(在DevSecOps组件的功能、质量、成本和影响之间),最好是在问题的当下就做出决策和权衡。

SAST如何帮助您构建DevSecOps的基础

SAST工具,如Klocwork,可帮助嵌入式软件团队在编码过程中识别缺陷、漏洞和合规性问题。

SAST工具适用于整个开发流水线,通过IDE插件、CI/CD集成和夜间扫描等功能,在一个与您的工作环境相关联的中央数据库中提供结果。

此外,Klocwork还能帮助您实现DevSecOps流水线的自动化,同时执行CWE、CERT和OWASP等关键安全标准。

作者简介:

图片

斯图尔特·福斯特(Stuart Foster)

Klocwork和Helix QAC产品经理,Perforce

斯图尔特·福斯特在移动和软件开发方面拥有超过10年的丰富经验,负责管理消费应用和企业软件的产品开发。目前,他负责管理Klocwork和Helix QAC——Perforce的代码质量管理解决方案。他致力于开发符合客户业务需求的产品、特性和功能,并帮助开发人员生成安全、可靠、无缺陷的代码。斯图尔特拥有Carleton大学的信息技术、交互式多媒体和设计学士学位,以及Algonquin应用艺术与技术学院的多媒体设计高级文凭。

文章来源:https://bit.ly/45VJSoo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习笔记三十四:Ingress和 Ingress Controller概述

Ingress和 Ingress Controller概述 回顾service四层负载在k8s中为什么要做负载均衡Service不足之处四层负载和七层负载的区别OSI七层模型: Ingress介绍Ingress Controller介绍Ingress-controller 作用Ingress和Ingress Controller总结使用Ingress Controller代理k8s…

学习笔记|多组率卡方检验和Fisher确切法|个案加权|规范表达|《小白爱上SPSS》课程:SPSS第十六讲 | 多组率卡方检验和Fisher确切法

目录 学习目的软件版本原始文档多组率卡方检验和Fisher确切法一、实战案例二、统计策略三、SPSS操作1、个案加权2、卡方检验 四、结果解读第一,分组统计描述结果第二,卡方检验。 五、规范报告1、规范表格2、规范文字 六、划重点 学习目的 SPSS第十六讲 …

java JUC并发编程 第十章 Synchronized与锁升级

系列文章目录 第一章 java JUC并发编程 Future: link 第二章 java JUC并发编程 多线程锁: link 第三章 java JUC并发编程 中断机制: link 第四章 java JUC并发编程 java内存模型JMM: link 第五章 java JUC并发编程 volatile与JMM: link 第六章 java JUC并发编程 CAS: link 第七…

vivado 报错之procedural assignment to a non-register result is not permitted“

文章目录 这个错误通常是由于尝试在非寄存器类型的对象上进行过程赋值所引起的。在 Verilog 中,当使用 always 块时,其中的赋值操作应该只用于寄存器类型的变量,比如 reg 类型。非寄存器类型的信号(比如 wire)不能在 a…

如何将苹果手机照片导出?教你3个导出照片的必备技巧!

照片是我们记录生活,以及留下美好瞬间的最佳方式之一。通过手机照片,我们可以随时随地回忆过去的点点滴滴,还能将其分享给朋友和家人。因此,照片对于大家来说具有不可替代的价值与意义。 为了防止手机照片丢失,部分小…

WPF布局控件之WrapPanel布局

前言:博主文章仅用于学习、研究和交流目的,不足和错误之处在所难免,希望大家能够批评指出,博主核实后马上更改。 概述: 后续排序按照从上至下或从右至左的顺序进行,具体取决于方向属性的值。WrapPanel 位…

beego模板解析报错

文章目录 前言解决beego解析问题总结 前言 网上搜索为模板解析路径问题,实际是beego解析vue打包后的index.html出现错误, 比如解决时排除了.go代码,发现没问题,运行beego打印,打开浏览器进入web时发现wen打不开,并在b…

支付宝本地生活团购服务商如何申请?两个方法教给你

支付开宝的本地生活来了!按支付宝财大气粗的做法,它一旦要推什么项目,那自然会在前期疯狂洒钱,以求通过这种模式快速占领市场。 所以,这次支付宝要推本地生活项目,这一贯做法自然得跟上,只是这…

2024上海国际人工智能展(CSITF)“创新驱动发展·科技引领未来”

人工智能(Artificial Intelligence,AI)作为当今世界科技发展的关键领域之一,正不断推动着各行各业的创新和变革。作为世界上最大的消费市场之一,中国正在积极努力将AI技术与产业融合并加速推广应用。在这个背景下&…

基于Chirp窄带扩频技术的无线混合组网应用,以多角色智能计量插座作为Chirp广域基站,构建边缘计算混合无线网络

随着物联网(IoT)的不断发展,无线通信技术的需求也在不断增加。Chirp窄带扩频技术是一种具有广泛应用潜力的无线通信技术,它在低功耗、广域覆盖、抗干扰等方面具备独特的优势。本文介绍了如何利用磐启微Chirp技术构建ECWAN无线混合…

混合式ANC主动降噪耳机系统设计(含C源代码)

混合式ANC主动降噪耳机系统设计(含C源代码) 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙音频,DSP音频项目核心开发资料, 1 FF信号链路与FB 链路算法处理上一样 X(n)为噪声输…

强化学习的动态规划

一、动态规划 动态规划(DP)一词指的是一系列算法,这些算法可用于在给定环境的完美模型作为马尔可夫决策过程(MDP)的情况下计算最优策略。经典的DP算法在强化学习中具有有限的实用性,既因为其对完美模型的假…

【ElasticSearch系列-04】ElasticSearch的聚合查询操作

ElasticSearch系列整体栏目 内容链接地址【一】ElasticSearch下载和安装https://zhenghuisheng.blog.csdn.net/article/details/129260827【二】ElasticSearch概念和基本操作https://blog.csdn.net/zhenghuishengq/article/details/134121631【三】ElasticSearch的高级查询Quer…

迅为iTOP-RK3568开发板npu手册更新

iTOP -RK3568开发板使用教程更新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。 为了满足人工智能的需要,去年,迅为基于RK3568开发板编写了对应的手册文档>>>【资料上新】基…

K7系列FPGA进行FLASH读写1——CCLK控制(STARTUPE2原语)

最近的工作涉及对 FPGA 进行远程更新,也就是通过远程通信接口将 .bin 文件送到 FPGA,然后写入 FLASH,这样当 FPGA 重新上电后就可以执行更新后的程序了。因此第一步工作就是进行 FLASH 的读写控制。 然而如果尝试配置 FLASH 管脚时&#xff0…

队列、循环队列和双端队列

目录 1、队列 1.1 概念 2.2 队列的使用 2.3 队列模拟实现 2、循环队列 2.1 循环队列的认识 2.2 设计循环队列 3. 双端队列 (Deque) 1、队列 1.1 概念 队列 :只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列…

Python之Excel——复制一个sheet当做模板,生成多个sheet

目录 专栏导读背景思路1、加载模板2、项目文件2、完整版代码:3、视频演示:4、总结:👍 该系列文章专栏:[Python办公自动化专栏] 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍&…

synchronized和死锁介绍

synchronized特性synchronized使用修饰普通方法(对象锁)修饰静态方法(类锁)修饰代码块(明确指定锁的对象)非锁竞争情况 死锁死锁是什么?死锁的必要条件循环等待场景程序死锁怎么排除死锁问题怎么解决 标准库的线程安全…

led驱动电源模块能进行自动化测试吗,具体测试方法,流程是?

LED电源模块测试的痛点主要包括以下几点: 测试效率低:传统的LED电源模块测试方法通常采用人工操作,测试效率低下,且易出错。 测试项目不全面:传统的测试方法可能无法覆盖所有的性能指标,导致一些潜在的问…

非洲“支付宝”PalmPay搭载OceanBase:成本降低80%

10 月 30 日,非洲支付公司PalmPay 的核心系统搭载国产自研数据库OceanBase,正式投入使用。PalmPay 也是 OceanBase 首个非洲商业用户。 作为一家非洲领先的金融科技公司,PalmPay 于 2019 年在尼日利亚推出电子钱包应用,其功能类似…