总21期
Lecture Hall    讲堂
Lecture Hall    讲堂
加密恶意流量和未知威胁的智能检测
文/王俊

摘要:为了应对越来越多的恶意软件通过加密和隧道技术绕过防火墙和入侵检测系统,人们开始引入人工智能等技术。

为了信息通信的安全保密,对网络通信流量加密已经成为越来越多企业和个人用户的选择。根据谷歌2019年发布的《 Google透明度报告》显示,到2019年年底 Chrome加载的网页中启用HTTPS加密的比例已经达到了 95%。另据国外市场调查机构Netmarketshare发布的数据显示,截止到2019 年 10 月全球使用HTTPS加密的Web流量的比例已经超过了九成。在全球互联网流量加密日益普及的大背景下,黑客及网络攻击者们也越来越多地利用加密流量来发起网络攻击,并隐藏他们的恶意行为。根据Gartner的研究,2019年的网络攻击中有60%利用加密技术进行;而到2020年,这一比例将上升到70%。越来越多的恶意网络服务通过加密和隧道技术绕过防火墙和入侵检测系统,如何感知、认知、检测和识别加密流量中的安全威胁,并快速进行处置和缓解,成为网络安全从业者们必须要面对的严峻问题。

传统的加密恶意流量的检测模式

对网络流量和数据报文进行加密后,传统的防火墙、入侵防御及检测设备等安全产品无法检查数据报文中的有效负载,也就意味着无法利用已有的病毒特征库/签名方式来检测已知的安全威胁,也无法从流量中还原和提取出被检测对象(通常是文件或文档)后将其提交到安全沙箱进行更深入的分析。

传统的加密流量检测模式是基于加密流量卸载的方式进行的,也就是防火墙或者入侵防御及检测设备等安全设备需要预先获得用户的授权,获取用户的数据密钥,当识别到来自或者目标是该用户设备的加密数据报文后,基于用户代理的模式,先利用预先获取的密钥对流量进行解密后再进行各种安全检测和处置,所有检测和处理通过后,再将数据报文重新加密和封装后发送出去。这种方式的好处是实现难度小,对很多VPN网关和下一代防火墙等安全设备不需要改造就可以支持,缺点是对流量额外的解密和加密处理对安全网关设备的性能压力很大。

因此,相关业界领先的厂商对解决此问题主要有两个思路:一方面采用额外的加解密芯片、协处理器或者加解密硬件板卡来将加速加密流量的卸载,以降低对安全网关的性能要求;另一方面,采用不解密的方式来对互联网上的加密流量进行分析和检测,已经成为近几年来比较热门的研究方向。下面介绍几个比较典型的基于人工智能和机器学习方法来对加密流量中的恶意和未知威胁进行分析的实现方法。

利用异常行为分析模型进行检测

这种方式是目前不少加密恶意流量检测产品及方案采用的检测方法,其原理是基于多种机器学习算法,通过AI模型对大量的正常流量和恶意流量的学习和聚类,通过一系列静态和动态的机器学习模型找到正常流量和恶意流量的不同统计特征和规律,从而实现加密恶意流量的识别和检测。

具体实现方式举例如下:

1. 先分析大量的正常网络流量和恶意网络流量中加密的HTTPS/TLS报文数据流的不同之处,具体可以包括并不限于:TLS握手报文信息(非加密的)、TLS报文流中与目的IP地址相关的DNS响应信息等。

2. 然后,选取具有较明确区分度的特征集作为AI模型分类器(有监督机器学习)的输入来训练检测模型,从而识别加密的恶意流量。

3. 实际上只利用加密TLS报文流即可进行AI模型的分类、训练和检测,而增加了利用TLS流相关的背景流量信息(包括DNS响应、HTTP头部等信息)的方案可以提升加密恶意流量检测的成功率。

从以上可见,利用异常行为分析模型来检测加密恶意流量和威胁的模式实际上是一种用户行为分析(UEBA)的方法,这种基于异常行为与正常行为偏差向量检测的方式,不仅可以检测加密恶意流量,同时也可以检测普通未加密流量的异常和未知威胁。

对加密报文进行深度解析

直接从加密报文的深度解析的思路,是相对比较困难的方式。不过,加密恶意流量也不像一般人想象的那样困难,使用多种已知的流量报文深度解析方式,也是可以提取到足够的流量特征并进行有效的解析和检测的。下面介绍几个加密流量解析的思路。

1. 对SSL记录进行深度分析。即对SSL/TLS握手信息和加密连接建立过程的报文和日志记录进行详细分析,主要有SSL/TLS版本、使用的加密算法、服务器名称、证书路径、证书主题、发行者等。

2. 对会话连接记录进行深度分析。主要包括通信双方的IP地址、L4及以上端口号、协议号、Session连接状态、通信报文数量、大小、到达时间的时序分布等。

3. 对证书记录进行深度分析。主要涉及证书序列号、时间有效性、证书签名算法、密钥长度等。

对大量的正负样本的流量报文进行多维度深度解析后,可以基于会话连接的五元组(源IP,目的IP,源端口,目的端口和协议号)进行关联、聚类,然后对于每个连接的五元组根据聚合结果进行特征提取,经过数据清洗、过滤后,得到最终的正常加密流量和恶意流量样本数据,使用SVM、随机森林、LSTM等多种机器学习模型进行训练后,取在不同应用场景和环境下综合表现较好的模型进行实际部署和使用。

将加密流量还原转换为图像进行解析

近年来随着计算机视觉技术的发展,使用深度学习算法将网络数据流量转换为图像再进行分析的模式也得到业界的关注和研究,在加密恶意流量的分类和检测上也得到了应用。典型的方法如下:

1. 首先将加密网络流量进行文件还原,可以利用安全沙箱、云沙箱等工具完成;

2. 对还原后的文件将其二进制代码转换为原始像素数据流,例如取前784字节的数据内容转换为28 x28像素的二维灰度图形(不足784字节的内容以填充码补齐);

3. 然后使用卷积神经网络(CNN)对大量网络流量还原后的文件进行分类,使用CNN进行监督分类和学习。

4. 对文件的检测结果发往智能决策中心,根据多类决策树的判断结果,发往恶意文件家族分类器,得出最终判断结论。

通过利用和借鉴成熟的人工智能图像处理的算法和技术,该方法可以较直观地识别出加密恶意流量,并且可以基于可视化图形特征进行分析和展示,在识别恶意流量的同时,还有助于探索和提升AI安全处理的可解释性。

基于DNS域名和隐藏隧道的加密流量检测

除了前面介绍的这些利用AI技术对加密流量直接进行不解密检测的方法之外,业界也在探索其他的一些基于DNS域名、隐藏信道等的检测方法,这些方法结合云端的威胁知识库及恶意域名、恶意命令控制服务器信息的比对,也能达到不错的对加密恶意流量和威胁检测效果。

具体方法如下:

1. DNS恶意域名检测和恶意DGA域名检测

加密的流量攻击往往也伴随着恶意的DNS域名(包括DGA域名,即机器自动生成的域名)的使用。通过LSTM聚类等方法,结合安全威胁情报,可以找出与国际互联网上活跃APT组织及其关联的恶意域名、恶意IP地址。对于恶意DGA域名,结合域名随机性(随机性和熵)、域名长度、域名自然语义分析和N-gram(基于统计模型的算法)等技术,可以实现对机器生成的恶意域名的分类和识别。

2. 隐藏通讯信道检测(DNS Tunnel等)

隐藏的C&C(命令和控制通道)也是黑客们经常利用的对失陷主机控制和信息回传手段。对黑客的恶意加密流量回传,可以使用随机森林、隐马尔科夫等模型和算法对黑客的行为操作汇总和建模,对潜在的隐藏通信信道进行检测和度量、画像,找到攻击链,并结合利用威胁情报等手段定位控制源站点并进行阻断、过滤等处置。

结束语

众所周知,网络安全的背后是攻防双方的对抗。在5G、人工智能、云计算、大数据等技术飞速发展的今天,网络空间安全对抗持续升级,攻防双方对各种新技术的利用也在不断迭代。某种程度上,网络攻击方甚至先于安全防御方使用各种新的技术和手段发起各种高级和持久化攻击。对加密恶意流量的安全检测和有效防御也绝非是一蹴而就,尤其是对加密的未知威胁和APT攻击检测,目前来说基于人工智能的方法进行检测的效果还差强人意,现有的针对加密流量的人工智能模型在复杂的互联网流量环境中的通用性还不够好,应用还比较有限。往往有的在实验室里测试效果很好的加密流量检测方案,到了现网中,检测准确率、误报率等指标表现就远不及其宣称的效果。究其原因,和网络安全攻防模型的复杂性和动态性有关,人们很难非常充分地以数据方式量化定义和描述系统的安全模型,以及风险和威胁。而对人工智能模型来说,模型、数据和规则的确定性和完备性是非常重要的。对加密流量中包含的恶意及零日攻击等高级攻击的建模、检测算法调优是一个漫长的过程,可能需要艰苦努力才能取得突破,需要AI安全从业者深入研究和长期投入。

分享到
关闭