DevSecOps意味着在DevOps交付管道把安全性包含进去。该模型尽可能早地将安全原则集成到软件开发生命周期的所有适用阶段中。下图展示了安全方面在DevOps后期阶段的集成,但DevSecOps安全性集成到生命周期的所有阶段。

IT安全领导者应该在他们的组织中采用有效的漏洞管理实践来实施适当的DevSecOps。

漏洞管理

漏洞管理是一种帮助组织识别、评估、确定优先级并修复系统中漏洞的做法。最终,漏洞管理的目标是通过使用修补、加固和配置管理等技术来降低漏洞带来的风险。这有助于确保安全性,同时限制恶意用户可能利用的风险。IT安全的主要职责是防范漏洞。我们都知道,安全漏洞可能代价高昂;根据Ponemon研究所和IBM进行的联合研究,每次数据泄露的平均成本为435万美元,而85%的组织在2022年至少有一次数据泄漏。根据《2022年数据泄露报告》,以下是近年来十大数据泄露和十大数据泄漏属性。

漏洞vs.利用vs.威胁

理解漏洞、威胁和利用之间的定义和关系非常重要。
漏洞(vulnerability)是代码或软件中的缺陷,为攻击者提供了未经授权访问系统的途径。在高层次上,漏洞可以分为两种类型:

1.技术漏洞:与代码相关的bug或错误、配置不当的防火墙、未打补丁或过时的操作系统或基础设施等。
2.人的漏洞:人们有意或无意地犯错误,并通过利用人类心理获得数据、系统或包的访问权限。

漏洞利用(exploit)是黑客利用漏洞的方法。利用漏洞攻击是指一些恶意代码,用来攻击系统的漏洞。它可能会窃取信息,减慢/阻止系统运行,或者成为服务器上的寄生虫,在未来制造问题。例如,Log4Shell漏洞是Log4j程序允许用户根据本应打印在日志中的值执行任意代码的一个弱点。随后实施了许多不同的漏洞利用,试图以不同的方式使用此漏洞——其中一些漏洞利用允许您插入自己的代码。相比之下,其他人暴露了软件的私有环境变量。

威胁(threat)是指一个或多个漏洞利用漏洞发起攻击的实际事件。

漏洞管理和DevSecOps组合

为了在DevSecOps项目中有一个良好的开端,在应用程序开发的早期——最好是在开始编写代码之前——就集成安全目标。安全可以集成,并且可以在项目的初始阶段开始有效的威胁建模。当开发人员在代码进入管道之前检查代码以识别任何问题时,静态分析筛选器和策略引擎可以随时运行。这有助于开发人员立即了解安全问题,使他们能够处理安全问题的所有权。一旦在静态应用程序中检查了代码,就可以使用SAST(static
analysis security
testing,静态分析安全测试)工具执行安全测试,以识别漏洞并执行软件组合分析。应该将SAST工具集成到提交后的过程中,以确保主动扫描引入的新代码以查找漏洞。因此,在软件开发生命周期的早期集成SAST工具可以降低应用程序漏洞风险。

在代码构建之后,就可以开始进行安全集成测试。在一个独立的容器沙盒中运行代码可以自动测试网络调用、输入验证和授权等内容。这些测试是DAST工具(dynamic
application security
testing,动态应用程序安全测试)的一部分。这些测试会生成即时反馈,从而能够快速迭代以测试问题。如果发生意外的网络调用或未经净化的输入等情况,测试将失败,管道将以通知相关团队的形式生成可操作的反馈。

访问管理是需要与DevSecOps集成的下一个重要原则。我们需要确保应用程序编写相关的安全性和性能指标。需要执行角色工程,定义与每个角色相关的角色和访问权限——需要定义标准的天生权利角色。

安全扫描和漏洞管理甚至在产品/项目投入生产后仍在继续。我们需要确保通过适当的配置管理将自动补丁应用到产品的最新版本。确保产品运行的是软件及其代码的最新稳定版本。

DevSecOps 中的漏洞管理(上)的更多相关文章

  1. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架

    一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑.因此,我选择我觉得比较通用的 LOG ...

  2. 在Visual Studio 中使用git——分支管理-上(八)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...

  3. 在中间层 .NET 应用程序中通过授权管理器使用基于角色的安全

    基于角色的安全是从 Windows NT 的第一个版本开始在 Windows 平台上发展而来的.使用角色,操作系统可以通过检查称为 BUILTIN\Administrators 的组的安全上下文做出一 ...

  4. .NET Core中的认证管理解析

    .NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...

  5. [转].NET Core中的认证管理解析

    本文转自:http://www.cnblogs.com/durow/p/5783089.html 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用 ...

  6. Laravel中的日志与上传

    PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...

  7. 深入理解javascript中的焦点管理

    × 目录 [1]焦点元素 [2]获得焦点 [3]失去焦点[4]焦点事件 前面的话 焦点作为javascript中的一个重要功能,基本上和页面交互都离不开焦点.但却少有人对焦点管理系统地做总结归纳.本文 ...

  8. C++中的内存管理

    在C++中也是少不了对内存的管理,在C++中只要有new的地方,在写代码的时候都要想着delete. new分配的时堆内存,在函数结束的时候不会自动释放,如果不delete我分配的堆内存,则会造成内存 ...

  9. iOS 如何在一个已经存在多个project的workspace中引入cocoapods管理第三方类库

    一种新的第三方库管理工具:Carthage 如何使用Carthage管理iOS依赖库 Podfile Syntax Reference v1.1.0.rc.3 https://guides.cocoa ...

  10. Spring中的事物管理,用 @Transactional 注解声明式地管理事务

    事物: 事务管理是企业级应用程序开发中必不可少的技术,  用来确保数据的 完整性和 一致性. 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用 事务的四 ...

随机推荐

  1. RCE代码执行漏和命令执行漏洞

    前置知识: 漏洞检测: 在了解漏洞概念前,应该先知道一下这个漏洞如何检测的,我们应该或多或少听过白盒测试(白盒),黑盒测试(黑盒). 白盒测试: 白盒测试是对源代码和内部结构的测试,测试人员是可以知道 ...

  2. 在Android开发中如何使用OpenSL ES库播放解码后的pcm音频文件?

    一.认识OpenSL ES OpenSL ES的全称是Open Sound Library For Embedded Systems,即应用于嵌入式系统的开源音频库.Android从2.3版本起就开始 ...

  3. IoT(Internet of things)物联网入门介绍

    1.什么样的物可以入网? 要有数据传输通路 要有一点的存储功能 要有CPU 要有操作系统 要有专门的应用程序 遵循物联网的通信协议 在网络世界中有可被识别的唯一编号 2.MQTT协议 不是在说物联网吗 ...

  4. 实操开源版全栈测试工具RunnerGo安装(三)MacOS安装

    以Sonoma 14.1.2系统为例 视频教程:https://www.bilibili.com/video/BV1fG411e7h2/?spm_id_from=333.999.0.0 1.下载并安装 ...

  5. 记一个 Andorid 生成文件失败的bug

    Android生成文件失败:java.lang.IllegalStateException:Failed to build unique file: /storage/emulated/0/... 1 ...

  6. [Azure Developer]把Azure Function中ILogger对象静态化为静态方法提供日志记录

    问题描述 在Azure Function代码中,有默认的ILogger对象来记录函数的日志,如果函数引用了一些静态对象,是否有办法使用这个默认的ILogger对象来记录日志呢? using Syste ...

  7. Program type already present: com.xxx

    该错误是由于工程中存在着相同的类导致(包名与类名都相同),有可能是不同的依赖中有着相同的类,全局搜索该类便可得知

  8. C++ 多线程笔记2 线程同步

    C++ 多线程笔记2 线程同步 并发(Concurrency)和并行(Parallelism) 并发是指在单核CPU上,通过时间片轮转的方式,让多个任务看起来像是同时进行的.实际上,CPU在一个时间段 ...

  9. Spring Cloud跟Dubbo区别?

    Spring Cloud是一个微服务框架,提供了微服务中很多功能组件,Dubbo一开始时RPC调用框架,核心是解决服务调用间的问题, Spring Cloud是一个大而全的框架,Dubbo更侧重于服务 ...

  10. chatGPT初体验

    chatGPT NLP技术,通过统计的手段模拟出更正确的答案. 他与以前的NLP不一样,他有上下文语义,他能够模拟场景,能够总结很多文章信息. 因此对于谷歌等搜索引擎就很有攻击性了,因为chatGPT ...