人工智能技术在高级威胁检测中的应用实践面临严峻挑战。人工智能技术的赋能,可以大幅提升高级威胁检测技术的检测效率和准确率。在不久前的第十期【TTalk】系列技术分享活动中,我们特地邀请了金晶云华技术总监付继祥,与现场观众分享如何利用AI技术解决难以解决的安全问题与传统的特征检测技术。【T说】也整理了本期分享的核心内容,希望能给大家带来一些启发。高级威胁检测技术挑战高级持续性威胁通常是指有组织的团队针对特定目标,综合利用已知信息,构建相应的武器和攻击手段,在长时间的网络攻击活动中对目标进行持续渗透。攻击链包括扫描检测、攻击未遂、漏洞利用、木马下载、远程控制、横向渗透、运营收割等不同阶段。整个攻击过程复杂,攻击手段、攻击武器和载荷巧妙。业界普遍将此类威胁定义为高级持续性威胁。在高级持续性威胁的攻击过程中,需要检测和发现攻击手段,以进行响应和处理。然而,目前传统的特征检测技术无法很好地应对高级攻击。在与传统攻防手段对抗的过程中,通常在产生新的威胁后,防御者必须想办法获取样本,然后根据样本分析其特征识别威胁,最后更新为网络可以防御或检测威胁的安全系统。在装备上,经过升级,具备了侦测能力。但是,在升级安全防护或检测设备之前,存在未知威胁的防御真空期。此外,还有一些恶意代码的变种,比如网上有很多恶意样本和木马病毒。攻击者将使样本能够绕过防御或检测方法。在此过程中,攻击者会对样本进行改造,隐藏或混淆杀毒软件可以发现的特征,并对样本进行变异。之后,杀毒软件、文件哈希码或签名就无法再对其进行有效检测。在整个攻击链中,有些行为很容易被检测引擎或不同的手段发现。但是在这个过程中会有一些隐藏的部分很难被发现,攻击过程的判断也很重要。比如现在很多网络攻击都采用了加密的方式。在整个网络流量中,我们只能看到一些握手交互和证书信息。仅凭这些信息无法判断加密流量负载是否有问题,是否存在隐藏木马和恶意攻击。攻击成功后,它会回连自己的指挥控制服务器,时刻保持通讯畅通,接收攻击者的下一次攻击指令。防火墙是目前常见的网络安全设备,通常不会对DNS、HTTP、ICMP等常见协议进行拦截或深度检测。因此,在上述连接过程中,如果想隐蔽通信,使用标准网络协议进行指挥控制通信将是更好的手段。恶意加密代理会将整个会话过程完全加密。像比较常见的洋葱和暗网浏览器一样,可以隐藏访问行为和访问内容。OpenVPN也可以很好的隐藏通信行为。这些线索是发现整个攻击链的关键。人工智能技术在高级威胁检测领域实践网络中的行为是通过协议进行交互。访问网站、发送消息或电子邮件都会在网络中产生双向交互行为,在客户端和要访问的服务器之间,会发生多轮交互。在这个过程中,发送的请求信息通常比较小,网站返回的信息比较大。对于这个过程,我们可以将其可视化并对网络行为进行建模。在木马数据泄露过程中,还涉及到多轮数据交互。在此过程中,会话数据随时间和数据包大小的分布形成了一个显式模式。在识别这种模式的过程中,需要找到一种方法来构建整个流量的模式。对此,可以通过人工智能建模的方法来学习这个模型。这个阶段应用的多是人工智能技术,比如苹果的Siri语音识别。首先采集语音,然后将语音信号转换成数字信号,再对其进行线性参数提取。目标是通过多维数据形成一个特征向量。最后交给人工智能算法进行建模。模型建立后,可以对训练好的语音进行有效识别。同样,在识别网络流量模式时可以使用类似的过程。首先收集样本,包括上行链路和下行链路双向网络会话数据包,然后将其数字化以解析数据包的内容。然后通过网络层、传输层和应用层的协议分析等不同的方法对内容进行分析。在这个过程中,还可以对数据包进行统计,然后通过预调制算法对数据进行学习,最后应用于网络安全设备进行检测和防御。在上面的过程中,首先要注意的是数据的来源。当Internet上的许多特洛伊木马相互通信时,它们会发送加密流量。在这种情况下,可以捕获木马样本并将其放置在沙箱集群环境中,使其能够与互联网产生网络流量并捕获加密的PCAP流量。同时,很多网站或者学术机构也会公开一些加密的PCAP流量,包括公司或者学术组织也会在这个研究领域积累一些恶意的加密流量,这些都是有效的数据来源。当然,并不是所有的原始流量或文件都可以直接适用。抓取完成后,需要进行分析,判断数据质量,过滤数据。通过标准或安全设备引擎解析流量以提取签名和统计信息。AI工程师拿到数据后,对数据进行判断,将数据分成几类,用几种模型或算法进行识别和分类。分类的第一个维度是判断流量中是否有其他相关的协议流量。很多木马会考虑模拟正常的网页访问行为,以降低其恶意行为被发现的概率。在这种情况下,可以捕获与会话相关的DNS上下文以进行分析和数据提取。第二个维度是会话需要先经过TLS加密认证。有的会话没有完成认证过程,有的会话已经完成身份认证过程,这样就可以得到不同类型的交互数据。我们可以基于以上两个维度进行实践:DNS是否关联,其身份认证是否完整。将数据分成四组,然后通过这些数据分别进行训练,这样不同的模型就可以有效识别对应子类的数据。一旦数据被分类,就需要提取特征来构建特征向量。首先,它可以根据是否有DNS关联数据来区分自己要提的内容。如果没有DNS相关数据,提取其统计数据和TLS协议数据。二是对证书相关数据进行加密。这些数据被组合以生成特征向量。对于有DNS相关类别的数据,需要考虑提取DNS相关的域名长度、域名后缀、TTL等字段,形成特征向量。接下来,在建模和训练之前,需要进行可视化的数据降维分析。判断AI算法能否对数据进行有效分类。AI算法需要对数据进行分类。从降维数据图来看,其实可以理解为找一条曲线或者曲面,可以很好地区分两类数据。降维算法有很多,如PCA算法等,可以根据不同的实际过程选择不同的算法。接下来是建模过程。人工智能有不同的算法类别,例如传统的机器学习和近年流行的深度学习。识别恶意加密流量最好通过集成学习算法,在集成学习模型中使用多种机器学习算法,或者使用一种机器学习算法构建多个子模型。在集成环境下的识别效果和准确率会更高。第二类问题,高级威胁,是一种快速变化的恶意文件变体。传统的签名代码很难跟上样本新变种的生成速度。对此,可以将文件转化为图像,利用卷积神经网络的图像识别能力,间接识别文件本身。与传统的特征检测算法相比,使用卷积神经网络进行图像识别的计算复杂度没有那么高。这里首先需要将恶意代码映射到一张灰度图上,并提取其灰度图特征。然后利用恶意代码灰度图像特征进行聚类,聚类结果用恶意代码族进行标注。然后构建卷积神经元网络CNN模型,并设置网络结构参数和训练参数。然后利用收集的恶意代码族灰度图对卷积神经网络进行训练,建立检测模型。最后,检测模型用于检测恶意代码家族及其变种。另一类问题是许多恶意程序在从企业内部进行通信时使用隐蔽隧道。其中,DNS隐蔽隧道可以将要泄露的数据以BASE64编码为子域名,使用DNS协议将数据通过防火墙传输到受控服务器。也可以使用DNS协议的TXT等记录类型发送请求和响应。同理,黑客注册本域的解析服务器,获取想要的数据内容。ICMP隧道是最常用的方法之一。主要可以利用ICMP的Echo和Reply包,找到其中的字段,然后填充我们的数据。同理,也可以将外发数据通过编码或加密等方式转换成一种形式,再通过多次外发调用将数据发送到受控控制端。HTTP隧道也是一种常用的隐蔽隧道。HTTP是一个应用层协议。应用层协议在两端建立访问通道后,我们就可以使用HTTP隧道在传输层和TCP/IP层承载一些数据。其实就是通过上层应用层承载数据。在这种情况下,防火墙很难对其进行有效拦截。对于上述问题的建模,第一步是获取相应的工具流量或真实隧道流量。之后提取DNS和其他协议流量的特征向量,提取的内容包括协议本身的内容和统计特征值,它们共同构成特征向量。最后交给机器学习模型或集成学习算法模型进行训练。模型经过训练后,可以有效识别上述工具的流量模式。上面提到的模型可以在某些方面提高它们的准确性。与人工智能相关,对于一个细分问题,可以使用不同的算法对不同类型的数据进行建模,然后将模型集成应用。或者使用相同的算法对不同的数据建模,然后并行使用模型。除了使用人工智能的方法,我们还可以考虑使用黑名单或白名单来提高模型的准确性。在整个建模过程中,其实需要大量的流程和工具,而整个流程可以通过建模平台和工具脚本串联起来。目前TensorFlow、MLlib等众多算法平台和库均适用。后续也可以反复迭代,不断提高模型对新样本类别的适应性或降低模型的误报率。应用案例及实际效果分析在应用层面,如果数据输入的来源是流量,可以将训练好的模型放到设备中,然后将原始网络流量发送给设备,这样设备就可以使用内置的在分析引擎中分析流量。进行协议分析、特征向量提取,然后提供AI模型测试。在模型训练过程中,尤其是神经网络等深度学习算法对算力要求比较高,可以采用多设备或者多显卡进行训练,而机器学习算法对算力要求不高。同时,也可以采用分布式架构来应用该模型。前端设备专门做流量协议分析,分析后生成元数据,后端设备提取特征向量,交给模型检测。在判断威胁的过程中,不仅可以使用AI模型,还可以融合其他检测手段。比如杀毒软件引擎、Yara、特征、智能等,都可以综合应用,而不仅仅是利用AI模型的检测效果。对于恶意加密流量,可以在现网应用,但是恶意加密流量在现网应用会有一个难点,即如果发现问题,很难判断是不是真的问题存在。间接检查的意思。例如发现内部主机访问外部服务器,产生恶意加密流量告警行为。然后判断原主机,确认近期是否受到攻击,是否存在恶意样本或病毒木马,是否被漏洞攻击成功。同时,远端可以根据IP或域名信息判断远端服务器是否有问题。如果两端都出现问题,整个事件是恶意的概率会比较高。如果是web类攻击,我们可以提取它的payload。比如SQL注入。SQL注入后,可以从流量中提取注入的内容。解码后可以看到注入的语句。和Webshel??l一样,也可以看里面的内容是不是异常访问行为,XSS等威胁也是一样的。在使用AI算法进行威胁检测后,我们还可以通过智能的方法,将威胁与我们关注的资产、资产网络行为、外部威胁情报等不同维度的要素进行关联,利用知识图谱技术形成动态的图片。与只看表单数据,然后关联不同数据相比,智能关联可以有效提高分析和溯源的效率,是提高运营效率的有效手段。最后,列举一个案例。下图展示了一个完整的攻击过程。勒索软件被传送到内部关注的资产。资产进行DNS解析得到IP,然后出现HTTP的隐蔽隧道。整个过程中的不同事件将被原始记录。同时,系统自动将不同的事件串联起来,形成更高级别的告警。同时,整个过程也可以可视化、动态展示,方便我们了解和追溯哪些资产、哪些外部IP或设备联系了我们。嘉宾介绍了毕业于东北大学信息安全专业的符吉祥。曾就职于KDDI中国、华为、盛邦安全。现任金晶云华售前总监、技术总监,从事产品及解决方案工作。10余年网络安全领域从业经验,擅长人工智能、大数据和网络流量分析技术在高级威胁检测分析领域的应用。历年受邀作为演讲嘉宾出席ISC网络安全大会和XConSecurityFocus信息安全技术峰会,接受权威媒体安全大牛《牛人访谈》的专访,并在《企业高级威胁防护指南》报告发表演讲和分享会议,在业界享有良好的声誉。
