写点什么

混沌工程实践分享:整合信息安全和 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:513420

评论

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

有趣的“第二个系统”

架构精进之路

提升认知 研发体系

tomcat 使用apr

zack

tomcat

「架构师训练营」第 7 周作业 - 总结

森林

实操案例:字符串哈希表操作

华为云开发者联盟

程序员 编程语言 C语言 哈希表 字符串

智能标注原理揭秘,一文读懂人工智能如何解决标注难题

百度大脑

人工智能 百度 学习 AI 百度大脑

企业架构框架之DoDAF

冯文辉

企业架构

最新:英特尔断供浪潮系内部供应链调整,现已恢复供货

Geek_116789

金融科技的碎片化思考(上)

曲水流觞TechRill

金融科技 FinTech

Flink 最佳搭档:开发部署平台 Zeppelin 的自白

Apache Flink

Newbe.Claptrap 框架入门,第二步 —— 简单业务,清空购物车

newbe36524

容器 微服务 Reactive .net core ASP.NET Core

k8s极简史:K8s多集群技术发展的历史、现状与未来

华为云开发者联盟

Kubernetes 容器 云原生 华为云

报告|50%CRM品牌陷入竞争旋涡,破圈迫在眉睫

人称T客

Flask 的 url 处理器

Leetao

Python flask Web框架

Oracle JDK7 bug 发现、分析与解决实战

vivo互联网技术

网传Intel断供浪潮,英特尔:供应链调整

Geek_116789

MySQL库表设计小技巧

Simon

MySQL 数据库设计

架构师第七周总结

傻傻的帅

架构师

JVM系列之:详解java object对象在heap中的结构

程序那些事

Java JVM GC JOL

架构师都该懂的 CAP 定理

闻人

架构 分布式 架构师

来自前端童鞋对后端的吐槽@#$%^

Java小咖秀

程序员 程序人生 大前端

itchat替代品,追妹子神器,个人微信给多个好友(群)发消息,定时提醒妹子喝水

Java_若依框架教程

技术 后端 itchat 微信消息 定时提醒

数据库周刊33丨5大国产数据库中标中国移动;Oracle7月CPU安全预警;腾讯Tbase新版本发布;“2020数据技术嘉年华”有奖话题遴选;阿里云技术面试题;APEX 实现数据库自动巡检;MYSQL OCP题库……

墨天轮

MySQL 数据库 oracle 阿里云 面试

波士顿动力狗 SPOT 权威购买指北

早睡蟒

Python 人工智能 学习 波士顿动力 机械狗

Flink 1.11 Unaligned Checkpoint 解析

Apache Flink

flink

「架构师训练营」第 7周作业 - 性能测试

森林

凡架构必拆分,分则有度

菜根老谭

微服务 康威定律 架构思维 分治思维

计算机网络基础(七)---网络层-ICMP协议

书旅

计算机网络 网络协议 网络层

什么?不写代码也能做功能开发!- RUOYI教程

Java_若依框架教程

Java 技术 后端 开发 框架

压测脚本

LEAF

Java 面向对象知识整理

多选参数

Java 编程

一口气说出 4 种分布式一致性 Session 实现方式,面试杠杠的~

楼下小黑哥

nginx redis 分布式 session

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