写点什么

混沌工程实践分享:整合信息安全和 DevOps

  • 2019-12-25
  • 本文字数:1559 字

    阅读完需:约 5 分钟

混沌工程实践分享:整合信息安全和DevOps

在柏林召开的 O’Reilly Velocity 2019 大会上,来自 Capsule8 的Kelly Shortridge做演讲介绍了使用混沌工程助力 DevOps 文化中集成信息安全。Shortridge 在演讲中指出,“D.I.E.三合体”是从设计上构建信息安全的很好方式,即分布性(Distributed)、不变性(Immutable)和暂态性(Ephemeral)。用户可使用 D.I.E.三角去持续提高攻击的代价。


D.I.E.三合体是一种面对性能和安全威胁时,有效保持系统弹性和恢复的能力。三合体旨在提高系统安全的质量水准,进而有助于信息安全在 DevOps 中的集成。Shortridge 强调,信息安全业界数十年来一直秉持通过设计构建安全的理念。D.I.E.三合体支持团队在工作中构建可靠系统,是一种组织上友好的方式。


在“D.I.E.”中,“D”是分布性(Distributed)的首字母缩写,意味将 DoS 等服务中断的影响最小化。“I”表示不变性(Immutable),意味着更易于逆向检测发现系统更改。“E”表示暂态性(Ephemeral),即用户尽量将攻击者可见的资产价值降低至近乎零。这些属性使得混沌安全原则有助于从设计上构建安全系统。设计的出发点,是企业必须对安全控制失败形成相应的预案。因此,企业必须具备对安全事件的响应能力,而非避免安全事件的发生。


Shortridge 建议,使用游戏日(game day)方式演练存在于安全环境中的潜在风险方案。她进一步建议,使用拟生产环境去更好地了解复杂系统中的运作方式。Shortridge 建议,从简单测试着手,进而逐渐增加复杂度。例如,构建网络钓鱼或 SQL 注入这样可在用户实操环境中有效运行的测试。


Shortridge 在演讲中谈及分布式系统,指出多区域服务(multi-region service)是一种可误导攻击者的方法。团队基于有效的负载平衡,可快速地重新部署服务,更改服务的提供形式和设置等具体内容。例如,混淆和定期更改 IP 区块。另一方面,如果团队使用了服务网格,可通过网格配置迫使攻击者提升获取访问和修改访问控制的权限。例如,需要访问 IP 表这一层。这样做,可最终更改攻击者的内网漫游(lateral movement)和资源间跳转的方式。


Shortridge 随后介绍了如何在不可变架构中持续应用混沌安全原则。因为磁盘是临时存储,攻击者无法在本地磁盘上可靠地存储数据,进而造成数据泄露(Exfiltration)。磁盘信息正如Martin Fowler提出的,像凤凰涅槃一样定期被替换


不可变系统目前是限制团队以任何方式编写或修改系统。确保不变性包括测试未经授权的更改,并确保检测到此类事件并可回滚。用户可以抢先关闭正遭受攻击的特定实例,这些实例进而将在其他位置重新生成;也可以抢先关闭并重新初始化实例,例如重启发生稍许内存泄漏的应用,以解决潜在的性能问题。


Shortridge 提出,一个随时可停止服务的基础架构对于攻击者而言无疑是一场噩梦,因为服务存续具有极大的不确定性。例如,彻底限制 Shell 对服务器的访问。一旦禁用了 shell 程序的访问,那么攻击者很难不留痕迹地访问或修改服务器。


Shortridge 最后介绍了 D.I.E.三合体中的“E”,即暂态性。大多数安全漏洞都是与状态相关的。如果用户不再依赖于状态,那么就可避免出现错误和漏洞。暂态性降低了攻击者在系统中持久存留的能力,避免依赖于持久性存储,最小化攻击者有机会窃取数据的窗口。


暂态混沌测试中可涉及确认系统已不再接受过期资源。例如,测试中可以更改 API 令牌,模拟浏览器中的“退出所有会话”功能。然后通过注入旧 API 令牌,用户可以确认 API 是否仍在接受过期令牌。最终确保验证过程有效,应用预期不会使用旧令牌,否则就不符合暂态性了。


Shortridge 在总结演讲时提出,混沌弹性系统原生支持信息安全。要实现信息安全从筒仓模型向嵌入 SDLC 全周期的演变,必须将责任和问责统一起来,正如 DevOps 是如何将开发(Dev)和运维(Ops)统一起来的那样。


原文链接:


How to Integrate Infosec and DevOps Using Chaos Engineering


2019-12-25 09:513620

评论

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

思路一转,春暖花开!动动手指,这段程序性能又双叒提升2s~15s

靠谱的程序员

MySQL MyBatisPlus Mybatis-Plus

亚马逊 CTO Werner Vogels:2023 年及未来五大技术趋势预测

亚马逊云科技 (Amazon Web Services)

人工智能 大数据 亚马逊云科技

100页6W字的Java面试题,去过大厂面试的程序员都说被问到过

钟奕礼

Java 程序员 java面试 java编程

Nginx动静分离、缓存配置、性能调优、集群配置

C++后台开发

nginx 中间件 性能调优 后端开发 C++开发

程序员,阿里P8java大神讲的Spring大家族原理汇总,你确定不看?

钟奕礼

Java java面试 java编程 程序员‘

极客时间运维进阶训练营第五周作业

老曹

关于Linux中通过 Systemd.Path监听配置文件更新自动重启服务的一些笔记

山河已无恙

12月月更

java面试官:程序员,请你告诉我是谁把公司面试题泄露给你的?

钟奕礼

Java 程序员 java面试 java编程

使用CSS实现图片的磨砂玻璃效果

山河已无恙

12月月更

黑盒测试 vs 白盒测试

agnostic

测试 黑盒测试 白盒测试

Python程序打包

ITCamel

PyQt5 Python打包 打包exe

面对当下最热的多模态,为什么这些业界和学界专家说“不必追热点”

小红书技术REDtech

下次面试再一上来就问我线程有哪些状态,我上去就是给他一 jio

钟奕礼

Java 程序员 java面试 java编程

Spotify高质量工程生产力实践

俞凡

DevOps 大厂实践 spotify 质量工程

基础篇之图形学

邱学喆

图形

防治“虚假种草”,小红书技术团队干了这几件大事

小红书技术REDtech

Apache NiFi + MatrixDB 20行代码实现数据实时入库!

YMatrix 超融合数据库

三一重工 超融合数据库 YMatrix apachenifi nifi

嵌入式系统软件架构

timerring

嵌入式 12月月更

迎战大厂!“金九银十”和秋招通过率达95%的Java面试要点集锦

钟奕礼

Java 程序员 java面试 java编程

“算法考核没过,老板找我聊了3个小时”:离职程序员重刷数学题

钟奕礼

Java 程序员 java面试 java编程

模块一作业

闲人Eric

架构实战营

关于Linux中作业调度 crond 和 systemd.timer 使用场景

山河已无恙

Linux Kenel 12月月更

关于Linux下Mysql集群同步(主从、一主多从、主从从)部署及同步策略的一些笔记

山河已无恙

12月月更

Flink on Yarn三部曲之二:部署和设置

程序员欣宸

flink YARN 12月月更

架构实战营模块1第2课 - 如何画出优秀的架构图

净意

MySQL锁,锁的到底是什么?

Java永远的神

MySQL 数据库 程序员 面试 后端

面向场景级的业务资产沉淀和开放

原力在线

架构 DDD 场景 业务资产

程序员:平安Java岗面试耗尽了我毕生所学,想了想,还是去阿里吧

钟奕礼

Java 程序员 java面试 java编程

关于K8s中资源配置范围管理(LimitRange)的一些笔记

山河已无恙

12月月更

问题处理,可别头疼医头脚疼医脚

靠谱的程序员

运维进阶训练营 -W06H

b1a2e1u1u

运维

混沌工程实践分享:整合信息安全和DevOps_软件工程_Christian Melendez_InfoQ精选文章