美文网首页
将SOC剧本作为代码运行:开始

将SOC剧本作为代码运行:开始

作者: Threathunter | 来源:发表于2020-07-02 21:27 被阅读0次

    来源:https://www.cosive.com/blog/2019/7/9/running-your-soc-playbooks-as-code

    https://www.cosive.com/blog/2019/7/16/running-your-soc-playbooks-as-code-use-cases-part-2

    本文是Cosive公司董事总经理Kayne Naughton在澳大利亚大型网络安全会议AusCERT2019上的主旨演讲稿。你可以在这里观看完整的录音演示。(封面照片由Manuel Nageli拍摄。)

    你知道,当你遇到一个很久没见的人,你会想:“你正在重建的那辆车怎么样?”然后在接下来的两个小时里他们兴奋地告诉你这件事?这和我现在使用SOAR的情况差不多(安全编排、自动化和响应)。

    在过去的两三个月里,我的生活和呼吸都很紧张。这是一个非常有趣的领域,可能也是我认为在安全方面每个人都应该做的唯一事情。每个公司都至少有一个安全人员:如果你不考虑自动化和编制,你可能会让自己失望。

    一、但首先,我是谁?

    我是Cosive。我们是一家主要来自墨尔本、新西兰和塔斯马尼亚的咨询公司。我们一开始主要做威胁情报,但后来我们更多的是做关于SOCs的咨询。我们做了很多定制软件开发,最近我们在传统情报领域做了一些工作,与AUSTRAC和ACIC合作。我们为客户做了很多开发工作,他们的安全工具不能很好地协同工作。从很多方面来说,这就是SOAR的意义所在。

    (当谈到一般领域时,我认为提到任何潜在的偏见或利益冲突是很重要的。我们很早就开始和Phantom合作了,在Splunk收购它之前。我们还支持、集成和扩展开源工具,比如Stackstorm。尽管我们开始建立商业关系是因为我们觉得这些东西很酷,而不是因为它们很酷。)

    就我们在编排领域所做的而言,我编写了Swimlane、Phantom、StackStorm和WALKOFF的集成。在传统编配方面,我用Puppet、Ansible、NiFi、Chef、CFEngine和Luigi编写过客户端。现在我已经编排了大部分的编排引擎,并且我已经对它们如何组合在一起有了一个相当合理的看法。有很多这样的东西,你不会发现真正锋利的边缘,直到你用了一段时间,所以我想我已经有点感觉。

    二、大多数组织都在做什么

    除非你已经进入下一个阶段,否则你的组织现在最有可能做的事情是:

    1、机器叮当作响。有很多人会卖给你带漂亮闪光的新机器。每个要花10万美元左右。您将它们插入机架并生成警报,假设您正确地插入了它们。这很酷,但我几乎可以保证,当你买了一个新的闪光灯箱,你不会得到一个新的工作人员来帮助你支持闪光灯箱。当你的老板,甚至可能是你自己,购买越来越多的东西时,你会得到越来越多的提醒。你需要努力找到效率来处理它们。但这并非易事(不幸的是,对大多数组织而言)。你到达了一个你只能从石头里挤出这么多血的地步。

    2、人类的样子。人类会看到警报的全部内容。

    3、人类登录3个不同的系统来收集警报的上下文。一个用户有恶意软件。用户是谁?他们属于什么组?他们有什么权限?恶意软件是什么?这个恶意软件最后做了什么?恶意软件是如何到达那里的?

    4、人类的反应。如果你很幸运(并没有认为这是一个既定的情况),你正在工作的事件响应系统,或罚单系统。很多人使用请求跟踪器,它和小山一样老,或者Jira,或者ServiceNow。但也有很多团队没有收件箱。所以,真正重要的是,是你还是你的同事先打开邮件,以及你是否把它移到你要处理某件事的文件夹中。你可能不会得到很多关于你做了什么的数据。

    这是大多数人现在的样子。我注意到,与我交谈过的许多组织都认为,只有他们才是这样的人。他们认为这是他们感到羞耻的小秘密;他们是这样工作的,其他人肯定都在做这些了不起的事情,因为他们看到了这些令人惊叹的新技术。但几乎每个人都是这样工作的。大银行这么做已经很长时间了。很少有组织像他们认为自己应该和希望的那样受到严格管制。

    三、“涅槃”是什么样子

    在我看来,涅槃是这样的:

    1、机器叮当作响。

    2、机器的样子。

    3、机器登录到3个不同的系统以收集上下文。然后它将上下文抛回给人类。

    4、人类认可一个反应。人类会查看所有这些上下文,使用自己的判断(因为我们仍然不知道如何给计算机判断,并且总会有例外),然后人类可以给出响应。例如:“是的,去做你推荐的事情吧。”

    5、机器的反应。您还将拥有一个审计日志,在其中您可以确切地看到发生了什么以及发生的时间。

    四、争取涅槃的理由

    以下是一些你应该精心安排的理由:

    1、并不是每个工具都与其他工具对话。有一个专业的中间人,知道如何与所有人交谈是有意义的,而不是你使用知道如何与Jira交谈的所有东西来买票。这糟透了。也许他们稍微改变了API,然后一切都必须改变。你最好在中间放一只“章鱼”,它能接触到所有的东西。

    2、一致性的过程。如果您已经自动化或编排了一个流程,那么每次都以同样的方式执行,并且您确切地知道每件事花费了多长时间。你没有能力让不同的分析师运用自己独特的观点。也许Bob使用一个特定的站点查找WhoIs数据,而Glenda使用不同的站点。也许他们得到不同的反应。也许一个比另一个好,但他们有自己的偏好。当您开始编排和自动化时,它是一致的。如果你想改变,你就改变,这样你就改变了过程。你不会让不同的人在不同的班次上工作,用不同的方式做事,产生不同的结果。

    4、拥有审批链真的很有用。在SOC中,我的同事读错了警报。这个建议很不明确。但他们有效地阻止了属于LinkedIn的IP地址,而不是冒充者的地址,因为所有的上下文都混杂在一起了。这很容易做到。但是,如果您正在运行编排,那么您可以有一个两阶段的审批流程。如果你想在你的公司代理上屏蔽一些东西,你可能需要一个三级或管理人员来查看它,然后说:“是的,我同意。“如果是一个盒子上的减轻恶意软件,或许1级或2级可以做到。

    5、让电脑记录一些东西来重复一个过程,比为人类写一个巨大的Word文档来处理周围的所有变化更快、更便宜。当你改变计算机的指令时,它就会遵从它们。如果你的公司里有人在每次完成一项任务时都打开说明文件,然后逐点阅读,那你干得不错……但这样的人很少。大多数人的书写标准会很快改变。

    6、当你添加额外的上下文,或额外的步骤,或额外的检查,或额外的任何东西,到编排剧本,它就在那里。你已经完成了工作。它可能需要更长的时间运行。但如果你的团队中有员工,你希望他们做七件事,再加上两件,然后是九件,突然之间,他们每天要多做28%的事。这很粗糙。而计算机却不在乎。

    五、编排与自动化

    自动化就是你做一件事,然后你教电脑怎么做。就像一个弹吉他的机器人。如果你想让它弹《通往天堂的阶梯》的吉他独奏,你可以教机器人怎么做。这是自动的。

    然而,编配涉及同时查看多个系统,并使它们像管弦乐队一样协同工作

    你会发现大多数组织在这一点上已经有了合理数量的自动化,或者自动化工具,但是让所有这些独立的东西一起工作(编排)是很困难的。

    我认为编曲显然是正确的做法。但我认为人们没有这样做,或者没有做到的一个主要原因,可以从实际的管弦乐编曲中看出来。汉斯·季默坐在钢琴前,写一首歌非常难。你需要一段旋律,一段节奏,所有这些东西都需要花费很多精力才能组合起来。它很有挑战性。但是你可以把钢琴部分分成几段,用不同的乐器来演奏低音或旋律。也许大提琴演奏低音音符,小提琴演奏旋律。所以在钢琴上弹奏和四个人弹奏之间的差别,在作曲方面,是非常小的。

    当你开始为室内管弦乐队作曲时,每种乐器的演奏都会越来越多。最难的是坐在钢琴前写歌。在那之后,你利用所有的知识和你所建立的系统来扩展它。为室内管弦乐队作曲和为整个管弦乐队作曲的区别并不大,即使你是为200人而不是20人作曲。只是更多的是相同的乐器。

    你所要做的最困难的部分,当涉及到编曲时,是写前几个剧本。从这一点开始,你就在它的基础上继续发展,然后就像滚雪球一样。

    六、高音管弦乐和低音管弦乐的区别

    1、安全性往往更多地是由事件驱动的,通常要处理更多的事件。磁盘满溢在大多数人的机队中并不总是发生,而安全事件或安全警告则更常见一些。

    2、通常有更多不同的系统可以交流。如果您是站在AWS上的基础设施,那么您不需要插入那么多的部件。而安全可能涉及到一切。

    3、有更多的控制区域。

    4、有更多的外部性。你可能会更多地到外面寻找背景。如果您在组织内部建立一个系统,那么您可能实际上只是查看配置数据库,查看方框的说明,它的名称应该是什么,等等。如果你在做安全响应,你会想:这个IP地址在巴拿马,这个域名用了多久了?这里还有什么?你需要关心的外部因素还有很多。

    5、即使系统不同,它们也是相当互补的。我不会站在一个盒子使用你的安全编排东西,或者甚至可能重新格式化它。也许你可以依靠组织内部现有的流程来做到这一点。

    在传统编配中,我很少见到的一件事是解除警报的能力。如果你在不同的系统中收到关于某个领域的五次警告,你不希望在十秒内运行相同的工作流五次,尝试做相同的事情。这是许多传统工具不能很好地支持的。

    七、交接点

    除非你在一个非常小的机构工作,或者是一个刚刚发生了重大安全事故并且每个人都认为安全非常重要的机构,否则你就会有一个责任区域,一个控制区,其他人也会有自己的。作为一个前系统管理员,我完全可以理解这一点。你需要处理它。如果您想要重新映像一个桌面,您可能不希望让您的安全工具从您的IT外包商下面运行并执行此操作。

    (不过,如果你是按票向IT外包商支付费用,你或许可以为SOAR做一个很好的用例。如果你每创造一张票要花40美元,或者30美元,或者20美元,计算一下你能自动化多少张票,这样他们就不会去外包商那里了。这是你可以向你的预算申请的金额。你可以说:“我没花你一分钱。”我为你节省了1。5万美元,我想用1。5万美元来做这个。让我们做它。”)

    小心交接点,不要试图欺压你的IT人员,因为这通常会对你、他们或你们的关系很不利。

    八、SOAR的选择

    有很多。我意识到当我看到一些许可的东西时有些东西比我想象的更模糊。就开源而言,StackStorm已经存在了,它被大量使用。它来自Extreme Networks,他们做了很多传统的网络工作,最终拥有了StackStorm。他们似乎是很好的保管者,这很好。(我总是在开源项目中寻找这种情况:谁在为它买单?仅仅是一个有激情的人在自己的时间做这件事吗?因为热情的人会耗尽精力。一群真正的大公司依靠充满激情的个人编写软件来完成他们的工作是不可能的。我认为,需要某种模式让人们花时间在它上面。)StackStorm是我们经常使用并推荐的工具。它的引擎很好。它的骨头很好。

    美国国家安全局也出动了。我不确定,但WALKOFF确实感觉像是一个臭鼬工厂的概念证明。我可以想象美国国家安全局不会大规模使用它。如果你把它和其他一些他们开源的项目,比如ghidra和NiFi比较一下,这些看起来就像工程项目。WALKOFF并非如此。但他们正在重新架构一些后端东西,所以可能没问题。但这两个是免费的。尽管StackStorm有一个你可以付费的东西,它是一个拖放工具,可以把你的动作连接在一起。

    九、封闭商业

    Phantom,Demisto, 和Swimlane是SOAR商业上的主要选择。它们都有类似的方法,具有不同的特性和集成。(Demisto几乎介于闭源、商业和开源之间。尽管该引擎是封闭源码的,而且是商业化的,但所有的集成、剧本以及它们发布的所有内容都是在MIT许可下进行的。他们还为他们的剧本发布了一个标准,所以如果你想要利用Demisto和他们的合作伙伴在集成方面所做的所有艰苦工作并提供示例,你可以将它们交叉移植到其他引擎中。我稍后会讲到这一点。这将是一种选择,而且是合法的:麻省理工许可意味着你可以做你想做的事,你想怎么做,甚至是商业上的。我不是律师,但这只是简单的说法。)

    十、以SOAR选项作为特性的平台

    许多其他平台也有作为一个特性的SOAR。

    ServiceNow

    Splunk

    ThreatConnect

    AlienVault

    LogRhythm

    and more.

    大多数生成警报的服务都有某种编排,因为在生成警报时,您希望使用它们做一些事情。这也是我个人的看法。这些公司可能会告诉你他们是一个专注于SOAR的解决方案,但是从我的角度来看,我相信这是他们工作的附加元素,而不是他们的核心意图。

    十一、对你来说什么是最好的?

    这取决于……

    你需要的整合。你可能是思科的商店,或者是帕洛阿尔托的商店,或者其他类型的商店。也许每个人都有Mac笔记本电脑,大家都戴着贝雷帽上班,所以你不需要担心Windows。有很多事情可能会影响到什么对你最有效。

    现有的供应商。这不是我的专业观点;这是我非常务实的“商人”观点。如果你已经和其中一个供应商建立了非常牢固的关系,他们可能会非常乐意在这个东西上给你一个非常好的交易。

    你的工程才能水平。StackStorm和WALKOFF很酷,但你需要一定程度的内部工程来使用它们,我稍后会讲到。如果你没有这些,你可能需要更多的支持。

    无论你是资本支出还是运营支出。也许你可以先买东西,然后去做。也许你没有这样的预算,但是你在人员配备方面有一些游击预算可以用来建造一些东西。此外,办公室政治也起到了一定作用。您与供应商的关系通常并不纯粹是技术上的,您可能需要了解什么是好的,什么是坏的,以及IT功能的发展方向。

    相关文章

      网友评论

          本文标题:将SOC剧本作为代码运行:开始

          本文链接:https://www.haomeiwen.com/subject/jkddqktx.html