QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:042008
用户头像

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

关注

评论

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

leetcode 219. Contains Duplicate II 存在重复元素 II(简单)

okokabcd

LeetCode 数据结构与算法

全网首发!阿里内部出品Spring Security项目实战搭建+思维脑图

Geek_0c76c3

Java 数据库 开源 程序员 开发

英特尔Josh Newman:英特尔多设备协同技术的意义在于真正革新PC体验

科技之家

熟读阿里总结的Java10w字总结,15天拿下5个大厂offer(阿里,美团,字节...)

Geek_0c76c3

Java 数据库 开源 程序员 开发

GitHub star过万!仅靠这份图解算法进阶指南,成功拿下字节offer

Geek_0c76c3

Java 数据库 开源 程序员 架构

2022年阿里最新开源: Java 面试权威指南(泰山版),涨薪 30%不在话下

Geek_0c76c3

Java 数据库 开源 程序员 架构

仅凭这份Java高级面试题合集(附面经),成功解决阿里5面,拿下offer

Geek_0c76c3

Java 数据库 开源 程序员 面经

仅靠这份Java性能调优实战宝典,薪资暴涨13k,理论+实践7个模块整整15w字

Geek_0c76c3

数据库 开源 程序员 开发

ironSource ROAS 智能优化工具大升级,用户现可查看每日 KPI 数据及趋势走向

极客天地

Java:锁定 Excel 中的特定单元格

Geek_249eec

Java Excel 单元格

金三银四跳槽季,美团、字节、阿里、腾讯Java面经,终入字节

Geek_0c76c3

Java 数据库 开源 程序员 开发

假如问:你是怎样优化Vue项目的,该怎么回答

bb_xiaxia1998

Vue

英特尔Josh Newman: 真正满足用户所需,让人们享受专注与互联的PC体验

科技之家

一文读懂 MySQL 锁

说故事的五公子

MySQL 数据库

OpenKruise v1.3:新增自定义 Pod Probe 探针能力与大规模集群性能显著提升

阿里巴巴云原生

阿里云 云原生 OpenKruise

阿里资深架构师把大厂高频 2000+ 道 Java 面试题全部总结出来了,分分钟拿捏面试官

Geek_0c76c3

Java 数据库 开源 程序员 开发

肝下50万字的《Linux内核精通》笔记,你的底层原理水平将从入门到入魔【建议收藏】

深度Linux

内存管理 嵌入式 Linux内核 进程管理 驱动开发

【导航】ESP32-C3 入门教程目录 【快速跳转】

矜辰所致

目录 ESP32-C3 10月月更

字节奋战8年,回头一看只剩下这份1857页的算法笔记了

Geek_0c76c3

Java 数据库 开源 程序员 开发

见大牛、聊感悟、拿好礼...开发者一起来微软Ignite赴约!

InfoQ写作社区官方

热门活动

太全了!华为大神珍藏版SpringBoot全优笔记,首次分享

Geek_0c76c3

Java 数据库 开源 程序员 架构

真的香!Github一夜爆火被各大厂要求直接下架的面试题库也太全了

Geek_0c76c3

Java 数据库 开源 程序员 开发

大杀四方!腾讯强推599页Netty进阶神技,彻底解析Netty

Geek_0c76c3

Java 数据库 程序员 架构 开发

【Go】Go 操作 excel 代码封装

非晓为骁

Excel go语言

在数字化浪潮中,为企业建造一艘“方舟”

元年技术洞察

微服务 云原生 企业数字化 PaaS 平台

阿里巴巴最新发布的Java架构六大专题面试宝典,都是些大厂的面试真题汇总,还不赶紧收藏

Geek_0c76c3

Java 数据库 程序员 面试 开发

Github已星标54k,美团大牛强推JDK源码笔记,从多线程基础开讲,太全了

Geek_0c76c3

Java 开源 程序员 架构 框架

阿里大佬手码的SpringCloud+Alibaba笔记开源了,堪称保姆式教学

Geek_0c76c3

Java 数据库 开源 程序员 开发

私有云运维管理系统是什么?哪款软件好?

行云管家

云计算 私有云 多云 云管理

2022全网独一份Java面试题整理,包含30个技术栈, 1575 道Java 架构师面试题

Geek_0c76c3

Java 数据库 开源 程序员 开发

学了阿里大佬的 SpringCloud微服务项目真香!即刻涨薪35K

Geek_0c76c3

Java 开源 程序员 架构 面试

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