混沌工程实践分享:整合信息安全和DevOps
InfoQ编辑Christian Melendez
讲述:初明明大小:3.85M时长:04:12
最近,在柏林召开的 O’Reilly Velocity 2019 大会上,来自 Capsule8 的凯利·肖特里奇(Kelly Shortridge)分享了使用混沌工程助力 DevOps 文化中集成信息安全的经验。肖特里奇在演讲中指出,结合分布性(Distributed)、不变性(Immutable)和暂态性(Ephemeral)是一个从设计上构建信息安全的好方法,简称“D.I.E. 三合体”,用户可以使用“D.I.E. 三合体”持续提高攻击的代价。以下为演讲重点内容。
在系统面对性能和安全威胁时,D.I.E. 三合体是一种有效保持系统弹性的能力。它旨在提高系统安全的质量水准,进而帮助信息安全在 DevOps 中集成。
首先,在“D.I.E.”中,“D”是分布性(Distributed)的首字母缩写,意味将 DoS 等服务中断的影响最小化。“I”表示不变性(Immutable),意味着更易于逆向检测发现系统更改。“E”表示暂态性(Ephemeral),即用户尽量将攻击者可见的资产价值降低为零。这些属性使得混沌安全原则有助于从设计上构建安全系统。设计的出发点,是企业必须对安全控制失败形成相应的预案。因此,企业必须具备对安全事件的响应能力,而非避免安全事件的发生。
肖特里奇建议企业使用游戏日(game day)方式演练存在于安全环境中的潜在风险方案。她进一步建议,使用拟生产环境来更好地了解复杂系统中的运作方式。可以从简单测试着手,再逐渐增加复杂度。例如,构建网络钓鱼或 SQL 注入这种可以在用户实操环境中有效运行的测试。
对于分布式系统,多区域服务(multi-region service)是一种可误导攻击者的方法。团队基于有效的负载平衡,可以快速地重新部署服务、更改服务的提供形式和设置等具体内容。另一方面,如果团队使用了服务网格,可通过网格配置迫使攻击者提升获取访问和修改访问控制的权限。这样就能最终更改攻击者的内网漫游(lateral movement)和资源间跳转的方式。
其次,在“D.I.E. 三合体”中的“I”是不变性。肖特里奇介绍了如何在不可变架构中持续应用混沌安全原则。因为磁盘是临时存储,攻击者无法在本地磁盘上可靠地存储数据,进而造成数据泄露(Exfiltration)。磁盘信息正如 Martin Fowler 提出的,要像凤凰涅槃一样定期替换。
不可变系统目前限制团队以任何方式编写或修改系统,确保不变性需要测试未经授权的更改,确保检测到此类事件并可回滚。用户可以抢先关闭正在遭受攻击的特定实例,这些实例会在其他位置重新生成。当然,也可以抢先关闭并重新初始化实例,例如重启发生内存泄漏的应用,以解决潜在的性能问题。
肖特里奇提出,一个随时可停止服务的基础架构对于攻击者而言无疑是一场噩梦,因为服务存续具有极大的不确定性。例如,彻底限制 Shell 对服务器的访问。一旦禁用了 Shell 程序的访问,那么攻击者很难不留痕迹地访问或修改服务器。
最后,“D.I.E. 三合体”中的“E”是暂态性。大多数安全漏洞都是与状态相关的。如果用户不再依赖于状态,就可以避免错误和漏洞。暂态性降低了攻击者在系统中持久存留的能力,避免依赖于持久性存储,最小化攻击者有机会窃取数据的窗口。
暂态混沌测试中可以确认系统已不再接受过期资源。例如,测试中可以更改 API 令牌,模拟浏览器中的“退出所有会话”功能。然后通过注入旧 API 令牌,用户可以确认 API 是否仍在接受过期令牌。最终确保验证过程有效,应用预期不会使用旧令牌,否则就不符合暂态性了。
肖特里奇提出,混沌弹性系统原生支持信息安全。要实现信息安全从筒仓模型向嵌入 SDLC 全周期的演变,必须将责任和问责统一起来,就像 DevOps 将开发(Dev)和运维(Ops)统一起来那样。
以上就是今天的内容,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论