基于大数据的安全分析在国内已经火了一段时间,不同行业都在这方面有不少的投入,自建的大数据安全平台项目也屡见不鲜。具体有多少会如Gartner的分析师Anton
Chuvakin认为的那样,大概率归于失败(Why Your Security Data Lake Project Will FAIL:
http://blogs.gartner.com/anton-chuvakin/2017/04/11/why-your-security-data-lake-project-will-fail/ ),这是我们无法知道的。但是否有一条稳妥、坚实的路径可以到达目标,也许更值得讨论。
需要思考的问题
在曾经由被动防御主导的建设阶段里,企业采购了很多防御性安全产品(FW、IPS、WAF、漏洞扫描等),其目的更多的是防御或加固自身。威胁态势的发展告诉企业,当前已经不能一味的停留在这个阶段。持续投资在防御上,不断加高水桶的木板高度并不是最经济、最有效的策略,蓄意的攻击者总是能够发现新的攻击面,进入到企业内部。如何能够尽早的发现这种有效渗透攻击,进行响应分析、及时处理并进一步有针对性的弥补防御的短板,这些将成为组织面对的新目标。此时大家注意到大数据这颗冉冉上升的新星,就把希望寄托在这上面。不可否认,数据驱动确实是新时期安全建设的一个关键因素,但我们也需要认识到,这种从单纯防御向防御、检测、响应、预防全周期转变的过程,涉及到数据、工具和使用工具的人三方面的提升,是个相对复杂的系统工程。必须理清几方面的问题:
- 要监控的关键威胁是什么?
- 涉及的分析方法有哪些、这些分析方法又需要哪些数据?
- 需要什么样的平台系统来支持分析工作,平台选择的关键能力指标有哪些?
- 现有技术能力下建立起的平台,适合怎样的人来使用,是否已经具备这样的人员,是否能够·购买相应的安全服务?
- 采集数据和人员水平受限情况下,如何选择切实的目标保障有实际的效果?
在实际工作中,对这几方面的认识往往需要一个实践摸索的过程,难以做到一步到位,就如Facebook就在数据平台上有过不断的摸索过程(It’s Time to Stop Using Hadoop for Analytics:https://www.interana.com/blog/stop-using-hadoop-analytics/ )。因此分阶段实施,由易到难也许是一个更好的方式。下面介绍可能涉及到的几个阶段,在实际工作中也许可以多个阶段并行,但应该很难出现跳跃式的发展。
IOC情报阶段
质量优秀的IOC情报(也称失陷主机检测情报)具有及时、全面、精准、具备相关性且提供指导响应活动的上下文这些特点。利用这类情报我们能够尽早地检测内部的失陷主机(无论来自情报机关、网络犯罪团伙或者网络恐怖主义团体),并且基于情报的上下文(攻击团伙、恶意类型、目的、危害等)确定合理的优先级,及时的给予响应处置。
利用这种失陷IOC进行检测发现,对组织的数据采集要求较低(一般就是HTTP
代理日志、DNS日志或者较完整的流量日志);而一旦发现失陷主机,利用情报信息可以较容易的进行优先级排序、响应方案选择等工作(情报的上下文会清楚地告诉安全响应人员,这是一个针对个人用户的网银木马,或者是一个具有定向性质的窃密木马,又或者只是一个黑客用来进行DDoS攻击的僵尸网络),因此它对于大多数组织而言,是一个相对容易而又实实在在的进步。
利用成熟安全分析解决方案
利用IOC情报能力建设阶段,可以在数据积累、安全响应分析方面积累一定的能力,获得相应的经验,再进一步就向前深入,就是利用较好的产品或解决方案来实现一些典型场景下的安全分析工作,这样做的好处是聚焦问题的解决、有机会学习到业界成熟的经验并且免于将自己陷入到工程开发细节的泥潭中。
这里面讲的较好,有两个层次:
- 内置典型的分析场景:每个场景需要包括怎样发现线索、怎样排查确认、如何确定攻击范围和性质这些基本的步骤,简单的说它就是将资深分析师的工作经验集成到了产品当中,使安全运维人员在产品的引导下可以逐步学习、探索安全分析的世界。
- 进一步提供基于线索的优先级排序:线索不是真正的攻击事件,线索排查中会有一些对于组织的环境而言是不需要特别注意的,因此如果能基于一定的方式(规则组合、ML、贝叶斯算法)对不同线索出现后,标识出线索聚合的风险程度,这对于分析人员无疑是非常有价值的。可以直接聚焦到高危报警。
这两个层面可以说对应这安全分析的两代产品,第一代中的典型代表是Splunk的企业安全应用,而第二代则是Exabeam这样的UEBA产品(之前介绍UEBA的一篇文章 [浅析UEBA]:http://www.jianshu.com/p/a8b5e1c31f59
)。组织基于自身关注的问题、数据能力以及人员水平,从某几个典型威胁场景出发,选择适合并有强扩展性的产品,就可以进行建立初步的平台了。需考虑的是,解决某些问题的数据源,也许不是短时间就能采集到的,比如内部没有很成熟的出差审批流程和电子流,就难以将差旅信息作为UEBA的一个分析数据源,但成熟的产品会考虑这种情况下如何检测和判定风险级别。
利用运营级威胁情报阶段
安全是一个动态的过程,即使在采购阶段选择了较好的产品,但是针对新的攻击方式我们还是需要建立新的分析场景,同时也包括一些关键威胁暂时没有现成的分析场景可以覆盖,也需要扩展分析场景。这个过程就需要建立从运营级威胁情报(威胁相关的技术、方法、过程的情报)到分析数据以及分析方法的映射。举一个简单的例子:在2014年以前,可能很少有人会考虑分析Powershell日志的情况,并且也是Powershell
5.0才引入了增强日志功能,早期版本没有太多的日志能力。
因此在平台选型阶段,需要考量产品/方案的开放性与可扩展性,同时也需要考虑建立自身的运营级情报收集能力。对比IOC情报,运营层面的威胁情报,现阶段市场上并没有足够成熟的产品生态圈。如何及时获取到有效的运营级情报,如行业分享、国家层面的通报共享或商业来源,是这个阶段的一个重点。而数据和工具方面应该不再成为这个阶段的重要挑战。
自动化阶段
在整个安全分析平台运营过程中,会发现其中很多工作是高度一致的重复劳动,这种工作如何能够自动化进行,就是这个阶段考虑的事情。这里面就包括更智能的事件调查,以及自动化的遏制(个人认为不是清除)。到了这个数据、检测能力、ML能力都比较成熟的阶段,我们也许可以将一个攻击可能的攻击链、影响范围通过自动化方式给出大致的范围,极大缩短分析人员的工作强度。也有可能基于成熟的处置流程,明确地知道哪类事件可以通过自动化配置网络和终端设备,达到自动化遏制的目的。这样可以让安全运营人员从既有的、缺乏挑战的工作中释放出来。这个阶段可以使重要安全事件的响应时间和质量有巨大的提升。
小结
大数据安全分析能力建设是一个分阶段、逐步提升的过程,对于一些有实力的组织可以同时进行多个阶段的建设,但如果想一步到位无疑是不现实的。整个过程最关键的是问题思维:现阶段要解决的问题是什么,深入思考这个问题才能设立合理的阶段性目标。威胁情报作为一条主线贯穿建设过程中,如果说数据是安全分析的基础,那么情报则是它的灵魂。
作者:ZenMind
来源:51CTO