7月21日,【网安新视界】第一季第二课开讲,极盾科技CTO郑冬东带来了独家分享——《XDR的建设方案、架构和技术栈》。(下文整理自分享实录,仅撷取部分精华)
2018年,Palo Alto最早提出XDR的概念。从概念中可以看出,XDR的价值是为了提升威胁的检测和调查的能力。
此后几年里,国外各大安全厂商也在默默摸索与实践。直到2020年,Gartner首次把XDR作为第一大安全趋势,它提出了XDR是作为“提高检测准确性,并提高安全运营效率和生产率”的这么一个平台。
自此,XDR算是在国外有了名正言顺的名字和位置了。我们回到XDR这个名字本身去寻找定义,通常名字就是对定义的一个最好解释。
先来看最后两个字母,D:Detection,检测;R:Response,响应。我们知道,对任何安全产品而言,快速检测和响应都是永恒的目的,XDR也不例外。
那“X”又是什么呢?
“X”在很多地方是代表一个变量、未知、任意的意思,XDR里的“X”也有这层含义,代表着任意的数据源、端点。意味着 XDR可以接入任意的数据源、端点。
“X”还有一层含义,就是eXtended,扩展的意思。扩展了什么?通过接入各个端点,相互关联检测与响应,扩展了各个端点的检测和响应的能力。
基于此,我们对XDR核心能力做了总结,分别是:采集、分析、检测和响应。
基于XDR核心能力的安全运营闭环
采集,XDR后续所有动作的依据就是来自各个数据源和端点上采集上来的数据。这里需要具备支持无关于具体安全设备/安全数据源的数据采集方式,内置常见安全日志、网络流量解析规则,解析CEF、JSON、KV等格式的安全数据。
分析,在 XDR中的作用主要体现在两个地方,首先,通过一些可视化手段,帮助安全运营人员对采集上来的数据进行自动化或者手工分析,了解数据分布和特征,方便后续制定和调整检测规则。另外,在响应处置过程中,可以帮助安全运营人员进行快速地调查取证和溯源分析。因此,要求XDR的分析具备近实时性和强交互性。
检测,在XDR中是核心能力中的核心,通过对采集上来的各个来源的数据进行关联分析,萃取出真正高危的风险。
响应,在XDR中作为能力的闭环,基于检测结果,自动化执行安全响应动作与流程。
这四大能力环环相扣,前后相互依赖,又相互促进,形成基于XDR核心能力的安全运营闭环,从而帮助企业构建坚韧的纵深安全防御体系。
下面我们来看下XDR实际落地的架构和关键技术。
围绕XDR核心能力的平台架构设计
最底部是数据采集,通过分布式数据采集探针,采集网络流量、日志和事件三大类数据。通过外部数据加载器加载威胁情报、设备资产信息等信息。
再接着是数据预处理,这一层功能实际上就是我们经常讲的ETL,包含智能数据解析、数据规范化、数据富化、数据标识。
数据规范化里有一个很重要的功能,就是通用字段提取,例如来源IP就是一个很常见的通用字段,这个字段在不同来源的数据中一般都会携带,但是字段名通常不一样。通过将不同来源数据中,代表相同含义的字段提取出来,这对后续的跨数据源关联分析是最为重要的一步。
再往上是安全检测,基于数据预处理后产生的规范的数据,通过实时智能决策引擎进行实时分析,最终得到一个检测结果,包含威胁类型、威胁等级、置信度、攻击阶段、使用的攻击战术和技术等。
这里有一个很关键的点,检测逻辑必须是通过关联多个来源的数据,或者多个维度的数据来实现。
最上层就是安全运营,其中核心功能为安全分析和SOAR。
常见有两种具备SOAR的产品,一种是整个产品就是一个SOAR,把我前面讲的数据采集、数据预处理和安全检测都做到SOAR里,通过可视化编排组合这些功能。另一种是把SOAR作为一个功能,内嵌到自身产品中,主要解决响应处理的自动化和编排,比如现在讲的这个XDR架构。
了解了整体的一个架构,下面再介绍下三个关键的技术点。
三大关键技术,XDR落地保驾护航
- 关键技术:数据融合
数据接入后的第一步就是解析。解析可以基于固定的规则,比如apache httpd accesslog、linux审计日志等,这些日志都有几种比较固定的格式。还有比如一些JSON、CEF、KV等格式,也可以基于固定的规则进行解析。但是市面上成百上千种安全产品,前面这些固定的内置规则肯定不能完全覆盖,这个时候,平台就需要有自定义数据解析规则的能力,不管是通过正则、GROK还是脚本编程等方式提供给用户。
虽然上面提供了自定义数据解析规则的能力,让安全运营人员编写正则、简单的python脚本还能接受,但是要编写一个在生产环境可以高效稳定运行的解析脚本,难度还是略大了一些。 因此,通过机器学习算法,比如频繁项集算法,自动生成数据解析规则,就显得比较人性化了。
威胁情报在安全中的作用就不详细赘述了,这里只讲一个容易被大家忽略的点。平台自身在日常运行过程中,检测出风险,并最终确定为有效告警中的一些IP、URL、恶意软件等,其实也是一份非常有用的威胁情报,甚至有效性还超过外部的威胁情报。
- 关键技术:检测技术
前面在讲架构图的时候,提到过安全检测过程中非常重要的一点,就是检测逻辑必须是通过关联多个来源的数据,或者多个维度的数据来实现。
这里有张图,显示了7个字段,总共3条数据。如果没有关联分析,就单条数据,比如第一条登录事件,分析维度就仅仅只有7个字段的维度,而且分析方法只能基于字段内容特征。
有了关联后,分析维度就有了很大的扩展。我把关联分为两种,一种是纵向的关联,一种是横向的关联。
纵向关联,就是从数据源自身出发,从时间维度,关联历史上的数据。假设示例的3条数据都来自应用系统访问日志数据,看第一条登录事件,来源IP,可以去关联该IP在过去一段时间内是否有爆破行为。账号,可以去关联该账号在过去一段时间内是否存在共享行为。
横向关联,就是从其它数据源的维度,关联其它数据源。还是拿第一条登录事件举例,来源IP,可以去关联蜜罐日志,看该IP是否被蜜罐捕获过。也可以关联WAF告警日志,看该IP是否在最近一段时间内,被WAF拦截过。
通过横向和纵向的关联,编织成一张网,关联的历史数据和不同来源的数据越多,这张网就越密,越是能够捕获到威胁与攻击。当然,要注意一点,越是密的网,也越有可能产生误杀,放宽了,又容易有漏网之鱼,这是需要反复调整和权衡的。
另外,检测技术里另一项重要的技术就是机器学习。攻击手段永远无法穷举,稍微做一下编码,就有可能被绕过了。因此,现在不管是NDR、EDR和零信任,都可以看到,通过基于机器学习检测异常行为的方式,越来越受到重视。
- 关键技术:响应技术
目前大多数企业的响应处置,可能还是停留在简单的IP拉黑、URL封禁。但这种粗放式的处置方式,已经越来越跟不上精细化的安全运营工作。比如,发现某个内网主机IP已被植入挖矿病毒,是否需要进行一次网段内的扫描,查看有没有其它已经被感染的主机,是否需要把相关的告警日志都搜索出来供安全运营人员参考,甚至可以把所有可能的攻击链路还原出来。这些工作如果一个月偶尔做几次,还能接受,但如果每天都需要做,除了反省自身的安全建设之外,将整个过程自动化也是一种很好的方式。因此,安全剧本编排对于精细化、自动化运营非常重要。
安全剧本编排要注意一点,如何设计最小化、可以复用,但又不过于底层的动作节点是一件很重要的事情。另外,整个剧本非常依赖节点的种类,种类越多,剧本可以编排的内容越丰富。
在海量数据中还原攻击路径是一件极为麻烦的事情,但是响应处置过程中,这项工作又是必不可少的。一个清晰的攻击链路,不仅可以帮助安全运营人员还原攻击过程,也可以帮助对现有安全建设的查漏补缺。
很多时候,由于采集到的数据的不完整,攻击链路不一定是真正的可以完整连在一起的一条链路,很可能会分成很多段,中间断掉的部分,还是需要人工进行补全。另外,真实攻击中,攻击者也往往会在多种攻击战术中往复横跳,或者通过提权调整身份,真实的链路也大概率会是断断续续,最终需要人工进行辨别。
P.s.:本文仅撷取了此次分享的“XDR架构&关键技术”部分精华,关于“XDR技术栈参考“和“XDR建设方法”的内容会在此公众号陆续推出,欢迎持续关注。