大家好,我是欧和,今天跟大家探讨一下安全运营的思路和方法。
安全运营这个话题比较大,因为它涉及到包括安全设备(工具/软件)、人力资源、流程建设等很多方面。首先从近期的一些事情谈起,大家觉得2021年安全圈比较火的事件是什么?当然非Apache Log4j2漏洞莫属。
这个漏洞的严重性在于这个组件应用比较广泛,再加上它是可以直接执行的(RCE),所以导致了企业大范围的安全风险。我们安全团队连夜去追踪,在响应和分析过程中发现了它造成的许多实质性危害——该漏洞在被披露没多久的时间内,攻击者已经在利用这个漏洞对大量企业进行挖矿、勒索攻击了!
注:Log4j2漏洞被披露后,在很短时间内,深信服拦截了大量利用Log4j2漏洞进行勒索病毒攻击的事件。
聊这个漏洞是相对比较全面的,它基本上涵盖了我们整个课堂里面要讲的内容,包括出现漏洞后的响应方式,在这么短的时间内怎么利用手头的各种安全设备和人,怎样提前构建好各种各样的场景或者体系来应对这样的安全威胁。如果我们没有提前做过相关演练或者思考过应对策略,就没有很好的手段去抑制它,容易出现比较大的问题。因为漏洞事件爆发太快太突然了,黑产第一时间拿到POC之后,就可以针对全网主机(未修复漏洞的)进行快速入侵。未及时响应修复并关注该漏洞的企业,很容易被攻击者鱼肉!这对企业的响应能力有很高的要求!
另外,分享一个我早年接触过的案例——某组织的核心数据资产被窃取了,该事件对其造成了巨大的损失。当时在进行溯源分析的时候,疑点很多,海量日志(登录行为、命令执行、应用日志等)。这是关于日志分析的其中一个小细节,分享给大家,期望能给大家带来启发。
图上root后面紧跟了奇怪的字符,第一眼看到时我也很奇怪,字符是俄文的,我们想了解它该怎么办?第一,猜(火星文?攻击者留下的炫耀符号?),第二,找百度/谷歌翻译。很多事情的工作流程都是类似的,包括做运营,顺着正常逻辑一直往下拆,拆到最后。在用百度/谷歌等进行搜索后,发现它没有匹配到任何有效结果,说明它虽然是俄语的字符(看上去是俄文字符随机拼凑出来的),但它不是一个有意义的俄语单词。
我们再回到原来的日志逻辑:命令是发生在凌晨03:35:35,隔了两秒钟之后,又打了命令history,为什么会这样?……我们猜测是键盘输入法没切,打出的俄语字符根本就不可能被执行(当攻击者发现这一点,下意识就会切回英文输入法),通用计算机命令都是用英文字符执行的。这里,我们可以得出结论,即使我们没有这方面经验(非俄语系的人),但是可以充分发挥自己的想象力,按照这个思路去把俄语的键盘调出来去看,就会发现它是英语的history,在字母上是一一匹配的,这样攻击者画像就比较清晰了。
我们设想俄语系的黑客,一边攻击,一边收集内网证据/数据,随手记录IP和企业的重要资产信息等等,不出意外是用俄语去记录的(正常人记“笔记”都采用母语,习惯)。如果我们查问题,能发挥合理的想象力,代入攻击者视角,就会发现很多“新大陆”,这是安全运营和响应非常高效的一项技能。
上述几个典型事件,我们能得到什么启发呢?我最大的印象,一个是“快”,一个是“大”,“快”指是安全事件/漏洞发生的很快,留给企业的响应时间是很短的;“大”是企业往往要面对的风险及日志告警(包括运维审计日志)是海量的;这是两个非常典型的现实问题。所以,安全运营系统的建设,首要的,是要解决这两个问题。不过,再细谈运营建设前,我们先总结回顾下企业会面临哪些安全风险。
我见过很多不同行业的客户,不同的风险其响应运营的机制要求是不一样的:大中小企业的安全运营建设,其成本思路有比较大的差异。我们以企业办公网为例(先从病毒视角来看):
这是主流办公网的场景图(办公网用户的关注点及严重性)。员工的PC/笔记本面临的威胁有哪些?左上角是关注程度,右下角是严重程度,相对来说个人用户(办公网PC)最容易关注(感受)到的是PUAs,即流氓软件/广告弹窗这一类;勒索以及APT的严重程度最高,比流氓软件要高很多,但是个人用户对它的关注程度是比较小的(特别是APT,基本感受不到),它发生的频率不是特别大,但中一次就足够要命。
我们再动态去看这张图会发现,其实风险是变化的。级别越高的组织机构,包括一些涉密单位,那么它就会提高在办公网里对APT和勒索的关注权重。比如金融客户管控非常严,那员工乱装流氓软件/破解软件的可能性是很低的,进而导致对这类事件的关注层度大幅降低。像有些涉密单位很多都用光盘去拷贝(软件),很难引入各种乱七八糟的软件,在这种情况下它关注的是APT和泄密,怕被控制。
既然企业面临的安全风险是有所不同的,那我们要怎么构建适合自己的安全运营体系呢?IT建设比较不错,资金比较充足的大企业,会考虑建设安全运营中心(SOC平台),这是安全建设走得比较靠前的企业。如果我们从运营中心的角度去倒推企业需要具备哪些能力,也能够看出来体系该怎么建设。
这是一个大型安全运营中心及团队的大致结构图,通常由CISO来统筹,大概有4个业务团队,分别是安全事件响应团队、SOC平台管理运营团队、威胁情报评估团队和产品安全建设团队。
安全事件响应团队:
主要负责安全事件的响应、处置和善后,团队属于被动响应但一般都重要紧急。
SOC管理运营团队:
主要负责安全运营中心的管理运维,包括日常威胁日志分析、设备管理等,主动运营且日常琐事比较多。
威胁情报评估团队:
主要负责企业威胁情报及相关风险评估,也包括运营和开发威胁狩猎内容、渗透测试等。
产品安全建设团队:
主要负责企业自己开发的产品(软件/系统)的安全性,即SDL,通过安全建模等手段来收敛开发出来的产品暴露过多安全风险(漏洞)。
以上四大业务团队,就构成了安全运营的整体思路。当然,并非所有的企业,都财大气粗,养得起分工如此细的专业团队。
拆开来看,这些业务团队中,最基本且必不可少的,必然是安全事件响应团队,这是万万不能省的(不然出了事情谁兜着?)。其他团队,则视企业大小及业务情况而定,有些可能会采取“外包”的方式,由专业的安全厂商来提供相关的人才团队。举个例子,像小的企业,业务也不复杂,预算也不多,就没有安全运营中心,成本挺高。产品安全建设团队,也不是每个企业都有,只是部分企业需要(这类企业有自己的开发团队,去开发自己的业务系统或软件)。最后,像威胁情报评估团队,就更加专业了,往往可能会请外部攻防渗透测试专家,通过攻防演练的方式,模拟攻击者行为,来发现和评估企业面临的风险/漏洞。
关于安全事件响应团队,我之前总结过,这个团队的主要业务流程如下,也是我总结的应急响应基本流程:
我在网上发表过,详细的可以自行搜索找下,这里就不再展开了。
回过头来,如果朴素的讨论安全运营。我认为安全运营的基本要素无非就三个点:人,流程,还有工具。工具就包含平台或者杀毒软件、防火墙等,这都属于工具这个范畴。人和流程,即我们要制定运营的流程,相应的等级,基本上就围绕这三个要素。
但是站在多年从事这个行业的角度,包括响应、分析APT、产品迭代打磨的经验,我发现这三个基本要素的核心,终究还是属于人。如果人的能力比较强,素质比较高,企业就可以引入很多不错的流程、业界先进的评估工具和平台,这都是把企业运营思路和安全建设起来的关键。
我作为建议者,也希望企业重点去抓人才培养这块,因为有出色的安全运营专家,可以把很多事情专业地推动下去。