写点什么

DevOps 与信息安全

  • 2014-05-03
  • 本文字数:2203 字

    阅读完需:约 7 分钟

DevOps 在国内社区逐渐推广,其关注于改善开发与运维团队之间的沟通与协作。最近,来自于 Yellow Spider 公司的 COO Leslie Sachs 和顾问 Bob Aiello撰文分享了如何使用 DevOps 最佳实践来使您的信息安全更加健壮和有效。

首先,作者回答了为何信息安全是 DevOps 的关键组成部分之一:

DevOps 在确保开发人员与运维人员能一起工作并且更有效率方面非常成功。通过 DevOps,运维团队可以获得他们所需要用于了解如何建立有效和可靠应用程序构建、打包和部署过程方面的信息。而信息安全组也同样有许多与运维团队一样的需求。此外,InfoSec 还需要获得他们需要用于确保整个系统是安全和可靠方面的信息。正如 DevOps 帮助开发和运维团队能更有效地一起工作一样,DevOps 也可以帮助开发和信息安全团队更有效地一起工作。在 DevOps 中,持续部署已经成为 DevOps 的一个关键实践,并且关注于通过自动化的构建、打包和部署来自动化部署流水线。通过提供一个平台可以在开发生命周期里尽早访问和定位安全问题,信息安全团队也同样能够从部署流水线上得到显著的获益。只要一旦有风险评估被介入,有效的安全保障就应当永远与之同步进行。

需要强调的是,DevOps 可以帮助定位安全风险。作者指出,作为软件或系统开发工作的一部分,风险需要被理解和定位。安全保障不能仅仅在开发过程的末尾才加入进来。系统需要在开发生命周期的最开始,就将安全保障与设计和开发一道同时得到关注。

  • DevOps 提供了必需的构造来帮助定位众多安全风险,这是创建任何复杂技术系统的内在要求。
  • 安全漏洞往往是各种事件的直接后果。例如,在 C/C++ 系统中进行不恰当的编码实践就可能导致缓冲溢出条件有机会被恶意攻击者用于实施越级程序权限。缓冲溢出攻击经常被攻击者所利用,来获得系统的控制权,甚至可以很有效地获得 root 权限。
  • 运行时事件的发生也可能导致不恰当的安全控制,例如发生在不同组件之间的身份验证与授权。一个常见的安全问题根源就是来自于由于某次部署所应用的不正确的访问权限。
  • 另外一个安全问题领域是确保所部署的是正确的代码。在部署过程中所带来的错误有可能会暴露给恶意攻击者。
  • 在不同接口之间的配置问题经常会曝露给攻击者,以被其用于尝试侵入系统。一旦系统缺乏防范措施,不恰当的安全控制问题就有可能导致非授权的变更变得非常难以识别,而且难于执行鉴定证明来查清到底有哪些变更是由于错误或是由于恶意目的所造成的。

作者指出,通过有效的源代码管理来构建安全的系统,软件质量需要从最开始构建。

DevOps 及部署流水线帮助有效地创建和提供测试环境,以用于评估和测试在组件间接口上的安全漏洞。通过以及时到位的方式提供一个健壮的测试环境可以增强安全性,通过提供一个自动化的测试平台可以用于识别需要被定位的安全问题。一旦代码中的问题被找到,它们就能被定位作为缺陷或变更请求,从而在它们的整个生命周期中被追踪到,以确保已被识别的风险可以被定位。

在“开发、运维和信息安全团队之间的协作”方面,作者强调,信息安全团队通常非常缺乏足够能理解复杂系统常见的内在自有安全漏洞方面的技术专家。

正如 DevOps 能改善开发与运维之间的沟通,DevOps 同样能增强信息安全团队的能力,它允许信息安全团队完全理解整个应用以及它是如何构建、打包和部署的。这一知识可以帮助 InfoSec 维护一个相关的和有效的关注。通过理解系统的基础架构,InfoSec 同样可以帮助理解何时安全会被突破以及应该采取什么样的措施应对该安全漏洞,尤其在基础设施自身缺乏安全免疫力的前提下。在许多案例中,这对使用自动化的过程重建服务器来说非常关键。

在“自动化应用程序的构建、打包和部署”方面,作者指出,可以以多种方式来创建自动化过程来构建、打包和部署代码来支持敏捷迭代开发。

自动化构建过程是实现持续集成(continuous integration)和持续交付(continuous delivery)的一个前提条件。构建过程应当自动化地嵌入不可改变的版本 ID 到每一个由构建过程所使用或所创建的配置项(configuration item,CI)中。这也是加密哈希值(hash)应当被创建的地方。冲刺里程碑发布版本(Sprint milestone release)可以被用于测试和验证在项目启动阶段(inception)尚未被完全理解的需求。更加重要的是,关于如何构建每一个组件的技术细节可以被隐含性地文档记录,并可以被包括了信息安全方面的感兴趣的利益相关者所审阅。在代码中创建变体可以建立应用程序的测试,包括机制化代码来建立与安全相关的测试。

当然,要想实现信息安全,执行入侵测试是是必不可少的步骤。

部署流水线提供了一个有效的框架来创建所必须的测试环境来执行入侵测试。通过 DevOps,入侵测试可以在整个软件和系统生命周期中贯彻进行。通过改善开发和信息安全团队之间的沟通,DevOps 及 InfoSec 都可以在通常专门为入侵测试所留出的短小时间片断里设计和执行更加有效的入侵测试。部署流水线同样可以使信息安全人员可以获得对于有效评估安全漏洞来说非常关键的技术信息。

最后,作者指出,必须要提供安全可信的应用程序基础。

为了确保可信的应用程序基础,应当使用可以安全识别准确二进制代码以及所有其他配置项(包括 XML 及属性配置文件)的过程来构建应用程序代码,以便您可以毫无疑问地证明正确的代码确实被部署和确认没有非授权的变更发生。这些过程通常会使用在应用程序自动化构建和打包过程中就首先创建的加密哈希值。一旦代码被部署,哈希值就可以被重新计算来验证所有的代码是否被正确部署。

2014-05-03 08:041907
用户头像

发布了 501 篇内容, 共 259.4 次阅读, 收获喜欢 61 次。

关注

评论

发布
暂无评论
发现更多内容

Guitar Pro8吉他学习辅助软件

茶色酒

Guitar Pro8

三天吃透RabbitMQ面试八股文

程序员大彬

Java RabbitMQ 消息队列

DAPP智能合约链游开发源码案例丨DAPP智能合约链游系统开发(逻辑及方案)

系统开发咨询1357O98O718

Spinner(列表选项框)的基本使用

芯动大师

android spinner galley

架构实战 8 - 消息队列MySql表格设计

架构实战营 「架构实战营」

Matlab常用图像处理命令108例(二)

timerring

图像处理

深度解析首个Layer3 链 Nautilus Chain,有何优势?

股市老人

学会用规则引擎Drools,让你早点下班

小小怪下士

Java 程序员 后端 drools

为什么 Go 语言 struct 要使用 tags

AlwaysBeta

Go

这份Java面试八股文让329人成功进入大厂,堪称2023最强

Java你猿哥

Java 面经 春招 八股文 Java八股文

【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(上篇)

洛神灬殇

分布式 2PC 3PC 原理分析 分布式协议

深度解析首个Layer3 链 Nautilus Chain,有何优势?

威廉META

从设计角度,深入分析 Spring 循环依赖的解决思路

做梦都在改BUG

Java spring源码 循环依赖

CorelDRAW2023最新版本平面矢量绘图排版软件

茶色酒

CorelDraw2023

EasyRcovery16免费电脑照片数据恢复软件

茶色酒

EasyRcovery16

深度解析首个Layer3 链 Nautilus Chain,有何优势?

鳄鱼视界

号外号外!简单几步就能把Pinterest视频下载到手机里啦!

frank

Pinterest

PyTorch深度学习实战 | PyTorch环境搭建

TiAmo

PyTorch

厉害了!刷完这份 532 算法秘笈后,我成功斩获字节、快手offer

做梦都在改BUG

Java 数据结构 面试 算法

Spring Boot:如何配置Undertow容器?不会我教你 | 超级详细

Java你猿哥

spring Spring Boot 后端 ssm java

分享主流的10个流程管理软件

爱吃小舅的鱼

流程管理 流程管理软件

DAPP马蹄链智能合约系统开发(开发方案及详细)

系统开发咨询1357O98O718

量化合约系统开发(规则开发)丨量化合约开发(源码说明)

系统开发咨询1357O98O718

DAPP/LP单双币(子母币)流动性质押挖矿分红系统开发(开发说明及源码)

系统开发咨询1357O98O718

One-YOLOv5 v1.2.0发布:支持分类、检测、实例分割

OneFlow

人工智能 深度学习

死磕Spark事件总线——聊聊Spark中事件监听是如何实现的

做梦都在改BUG

Java 大数据 spark 事件监听

fcpx专业多媒体剪辑软件:Final Cut Pro X中文激活版

真大的脸盆

Mac 视频剪辑 视频处理 视频剪辑处理

Kotlin 学习笔记(一)

修之竹

android kotlin

dapp/lp代币合约流动性质押挖矿分红系统开发详细及案例(源码部署)

系统开发咨询1357O98O718

YOLOv5全面解析教程⑥:模型训练流程详解

OneFlow

人工智能 深度学习

DevOps与信息安全_安全_崔康_InfoQ精选文章