OceaBase开发者大会落地上海!4月20日共同探索数据库前沿趋势!报名戳 了解详情
写点什么

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

评论

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

测试人生 | 薪资翻倍涨至50W是种什么样的体验?

霍格沃兹测试开发学社

测试工程师应如何渡过互联网寒冬

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)--高级定位技巧

霍格沃兹测试开发学社

如何推动中小企业数字化建设?从知识管理系统开始!

Baklib

知识管理 企业 知识管理系统 数字化建设

Java后端面试必问:四十八道面试题及答案最新整理(速看速藏)

程序知音

Java java面试 后端技术 秋招 Java面试题

Unity Metaverse(六)、关于Avatar换装系统的示例工程

CoderZ

Unity Avatar 9月月更 换装

软件测试 | 测试开发 | 黑盒测试方法论-判定表

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 软件测试最常用的 SQL 命令(二) | 高级 Join 多表查询

测吧(北京)科技有限公司

测试

技术分享 | Appium 用例录制

霍格沃兹测试开发学社

如何设计帮助中心来解决企业客户问题?

Baklib

企业 帮助中心

毕业后什么都不会,找了个培训班学软件测试学了4个月,拿到offer,坐等入职

测吧(北京)科技有限公司

测试

从技术视角,看阿里云的「前端智能化」是如何实现的?

阿里云视频云

前端 智能化

多点《基于 Databend 的 TiDB 数据归档实践》 | Data Infra 分享第 4 期总结

Databend

databend 数据归档

技术分享 | app自动化测试(Android)--App 控件定位

霍格沃兹测试开发学社

技术干货 | 漫游Linux块IO

沃趣科技

软件测试 | 测试开发 | 你会使用哪些测试设计方法?

测吧(北京)科技有限公司

测试

技术分享 | Selenium多浏览器处理

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)--触屏操作自动化

霍格沃兹测试开发学社

企业ToB的道路上,知识管理是照亮的路灯

Baklib

知识管理

从 0 到 1 上手阿里云服务器 ECS(二)

六月的雨在InfoQ

Linux 命令行 云服务器 ECS 9月月更

数据分类分级方法论及实操

极盾科技

数据分类分级

互联网职场晋升内幕!想升职加薪?得这么干……

博文视点Broadview

技术分享 | app自动化测试(Android)--元素定位方式与隐式等待

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)--App 控件交互

霍格沃兹测试开发学社

国内企业数字化转型趋势及面临的新挑战知识管理

Baklib

知识管理 数字化转型 企业

EMQX 5.0全新网关框架:轻松实现多协议接入

EMQ映云科技

物联网 IoT emqx 9月月更 网关框架

软件测试 | 测试开发 | 跨平台API对接(Python)的使用

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 软件测试最常用的 SQL 命令 | 通过实例掌握基本查询、条件查询、聚合查询

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Jenkins 节点该如何管理?

测吧(北京)科技有限公司

测试

【GO】Go JSON反序列化失败情况总结

非晓为骁

Go json 反序列化

软件测试 | 测试开发 | 常用测试策略与测试手段

测吧(北京)科技有限公司

测试

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