安全演练示例

作者: Susan Sons

以下是您在阅读 Susan Sons 的文章 “安全演练” 后可以尝试的安全演练列表。

1) 它消失了

选择一个系统,任何系统。 想一个它完全崩溃的原因——整个 RAID 阵列故障、数据中心火灾、恶意脚本小子、系统管理员错误——看看您的团队如何应对。 完成后要问的一些问题

  • 如果您没有另一个系统可以故障转移,那么在系统停机期间,您的用户将去哪里? 什么停止工作了,持续了多久?

  • 如果您有故障转移系统,故障转移需要多长时间? 您的用户在此期间经历了什么?

  • 更换系统有多困难? 备份是否充足? 可用人员是否知道该怎么做并有权这样做?

  • 丢失了哪些数据? 备份的频率是否足够?

  • 是否有其他系统受到此系统崩溃的影响? 例如,如果您的 LDAP 服务器突然崩溃,管理员是否仍然可以访问其他系统? 是否有任何东西失效打开?

2) 淘气的内德

选择一位具有提升权限的团队成员(您的安全团队或系统管理/运维团队的任何成员通常都是不错的选择,领导团队成员或开发人员也可能是)。 假设他或她已被解雇,并撤销他或她的所有权限。 现在他或她可以用任何剩余的权限造成任何混乱。 这是测试您的离职清单的好方法。

3) 披着羊皮的狼

大多数红队成员扮演普通用户的角色。 一人扮演恶意用户。 蓝队能否在不 негативно 影响任何好用户的情况下终止恶意用户的活动?

4) 提交者应该被提交

这对软件开发团队来说是一个很棒的练习。 一位睡眠不足的开发人员(感谢红队)向代码仓库的主分支提交了一些他不应该提交的东西。 可能是内部系统的登录凭据,也可能是老板的狗的裸照——内容并不重要。 重要的是它必须消失。

看看您的团队如何在不使每个人的工作流程面目全非的情况下,从工作树存储库历史记录中删除违规数据。

5) 手术!

如果您运行 DevOps 环境,那么这个练习适合您。 部署工作流程非常容易最终导致非常低的公交车系数(在项目注定失败或至少陷入严重困境之前必须被公交车撞到的人数)。 观看一两次部署,找出该路径中 1-3 位最关键的人员,然后为了练习的目的,宣布他们无法联系。

现在,假设在您部署的产品中发现了一个关键的安全漏洞。 挑战您的团队进行微不足道的代码更改(例如,在代码的指定点添加一条注释,说“我们成功了!”),然后让您的整个测试套件运行并部署代码,而那些关键人员不在场。

6) 堤坝上的手指

找到一个(希望是相当无害的)概念验证,用于您应用补丁的最新安全漏洞。 针对所有内容运行它,并 выясните 孔是否真的被堵住了。

7) 消极的南希

让红队成员联系您的主要客户支持渠道,扮演一个用户,他/她绝对确定委托给您服务的个人信息已被泄露。 如果角色是“难缠”的性格,则奖励积分。 看看团队如何处理它。

8) 从卡车上掉下来

您的主要身份验证数据库已从卡车上掉下来(您可以选择是外部用户帐户数据库还是仅用于内部人员的数据库)。 演示您将如何通知受影响的人员并强制重置密码。 如果您可以检测并标记使用泄露凭据的尝试,则奖励积分。

9) 你做了

在您的一个系统上启动一个(否则无害的)进程,该进程占用尽可能多的 RAM。 看看需要多长时间才能有人注意到,以及他们如何回应。

10) 偷渡者

将未经授权的网络设备连接到您的网络中,并让它与某些东西对话。 看看您的团队如何追踪并删除它。

11) 数据渗漏

您的一位员工决定他或她想要您的大型、有价值的内部数据库。 红队尝试以任何方式渗漏目标,而不会被发现。

12) 好奇的内莉

您的一个系统开始扫描网络。 有人注意到吗?

13) 责怪邮递员

一个永远不应该发送邮件的系统开始发送(或尝试发送)垃圾邮件。 接下来会发生什么?

14) 交付

伪装一下,尝试进入建筑物的一些限制访问区域,例如您的数据中心。 假装怀孕、打电话、尾随某人、携带重物或坚持您正在送货或有预约会有所帮助。 看看是否有人阻止您。

15) 挑棍子

在建筑物周围丢一些 USB 驱动器——在停车场、洗手间、会议室、大厅。 在驱动器上放置一个自动运行的可执行文件,当它们插入自动运行 USB 设备的机器时通知您,并在那里放置一个看起来有趣的文件,该文件在打开时也会尝试呼叫主页。

16) 网络钓鱼探险

向您的员工发送一封有说服力的网络钓鱼电子邮件(至少有一个 разумный 人会发现的缺陷),引导他们到一个虚假的登录页面,看看谁会泄露他们的凭据。 注意:当您出来告诉他们发生了什么时,这很可能会激怒一些感到受骗的人,但如果您能承受政治后果,这对于推动网络钓鱼意识的重要性真的很有好处。

17) 妥协的立场

假设在您内部网络上的关键基础设施(例如,您的卫星服务器或 LDAP 服务器)上发现了一个 rootkit。 挑战您的团队证明您的其他系统都没有受到损害(不是假设,而是证明)。

18) 失败始终是一个选项

单点故障经常在会议中讨论。 注意并记录这些,然后破坏一个。 中断的范围是否符合预期? 恢复时间/过程是否符合预期?

19) 免费开放

这是一个大型的、高投入的练习,但它也是最好的。 设置一个专用环境,供您的练习在其中运行,该环境未连接到您的其他内部网络或公共互联网。 提供一组需要保持运行的服务,并考虑添加一些旨在保密的数据。 不要以最安全的方式设置该环境。

为红队和蓝队设定具有不同分值的目标——例如,每个团队在练习结束时控制的每个系统得 10 分,蓝队每半小时持续不间断地运行特定服务得 20 分,红队如果找到并解密某个文件则得 50 分。 然后给两个团队设定时间限制,让他们自由发挥,看看会发生什么。

Susan Sons 对教育的热情推动了她在 Debian Edu、Edubuntu 和她自己的倡议 Frog and Owl 中的开源努力,该倡议帮助技术专家与教育工作者联系,以构建更有用的教育工具。 她与人合着了第一版《Edubuntu 手册》《Drupal 7 权威指南》。 Susan 曾担任 Freenode 网络的员工和 Drupal Group Indianapolis 的创始主席。 她设计并实施了一个计划,帮助来自资源匮乏的农村社区的青少年和青少年通过实验和开源贡献学习计算机科学。 当不编码或写作时,可以发现 Susan 在学习 Shorei Goju-Ryu 空手道,与她的儿子一起背包旅行和寻宝,并为虐待受害者和高危人群做志愿者。 她也是一名业余无线电操作员。

加载 Disqus 评论