经实践验证,基于AI的恶意加密流量检测是一种更有效的方法
近年来为了确保通信安全和隐私,超过60%的企业网络流量已被加密。但殊不知,数据流量的加密在无意之间也为网络安全带来了新的隐患,据Gartner预测,2019年后近半数的恶意软件活动将利用某种类型的加密来隐藏交付、命令、控制活动以及数据泄露。
直到现在,处理此问题的传统方法是解密流量,并使用诸如新一代防火墙等设备查看流量。这种方法耗时较长,破坏了加密技术解决数据隐私的初衷,且需要在网络中添加额外的设备。同时不能对无法获取秘钥的加密流量进行解密及检测。
那么问题来了,如何采用一种行之有效的方法,甚至能够在加密流量不解密的情况下,来识别它是否是恶意软件或工具产生的恶意加密流量?
随着人工智能技术的发展,通过大量的测试验证,人工智能用于加密流量安全检测将是一种新技术手段。以AI技术赋能恶意流量检测,通过本次实验成功验证了相较传统检测方法,通过AI建模、解析和检测在实际效果中获得了显著的提高,其中三种模型在对恶意TLS网络流分类的结果均达到99%以上,充分展现了基于AI的恶意加密流量检测具有高度的可行性和良好的应用前景。
一、加密流量的复杂性与主流识别技术方案
过去的几年中,合法流量已迅速采用了TLS(安全传输层协议)标准,多达60%的网络流量使用了TLS,同时恶意软件也采用了TLS加密来使其通信不被发现,使得威胁检测变得更加困难。在最新的TLSv1.3版本中,ServerHello之后的所有握手消息采取了加密操作,可见明文大大减少,证书信息也变为不可见,使得传统检测方法的检测能力大幅削弱。TLSv1.2和TLSv1.3的认证过程对比如下图所示:
1608617906_5fe18fb279e510c8b8d9c.png!small?1608617905937
图TLSv1.2认证过程
1608617913_5fe18fb9010aa75e075e9.png!small?1608617912314
图 TLSv1.3认证过程
虽然TLS加密方式对认证过程的大部分内容进行了加密,但是仍然可以得到一些非加密内容数据来作为训练数据,TLSv1.3的更新让通过证书异常检测的传统检测方式变得不可行,但对AI方法的影响很小,使用人工智能算法仍然可以发现其中的规律,通过捕获每个会话与会话之间保持静态的Client Hello数据包元素,从中捕获TLS版本、密码套件、压缩选项和扩展列表等字段,以大量的样本信息训练生成AI检测模型,从而进行有效的探索和验证,得出最优检测结果。行之有效的验证了AI对于TLS加密的流量检测更加具有针对性和准确率。
恶意加密流量检测识别技术
1. 加密流量识别技术
对加密流量的检测,业界主流有2种方法:
第一种是将流量进行解密并进行检测,这需要安全检测设备充当通信双方的代理或者由客户提供单独的解密证书(只能针对该证书对应的加密流量进行解码);
第二种是在不解密的情况下进行安全检测,这通常会采用机器学习的方法。
学术界和工业界对机器学习方法用于恶意加密流量的检测经历了3次比较大的技术演进:
第一次是对数据流的基础TCP会话特征进行统计特征提取,然后构建AI模型进行检测;提取的主要特征是数据包的包长序列、包时间检测序列、包的载荷字节分布等统计特征,利用的是加密通信和正常通信在数据流层面的差异性。
第二次是在数据流TCP会话特征的基础上,引入了TLS/SSL应用层协议数据的统计特征。因为,虽然TLS/SSL的数据通信是加密的,但在开始数据通信之前会进行密钥协商和身份认证,这个过程中传输的数据是明文的,提取的统计特征多为客户端和服务端加密算法、证书提取信息等,这2类特征的结合,大幅提高了AI模型检测的准确性,同时可以运用一些加密指纹(例如JA3/JA3S/SSL证书指纹)和证书异常分析技术,有效降低AI模型的检测误报。
第三次是引入了TLS/SSL数据流的上下文信息,例如TLS/SSL通信之前会由定位通信目的服务器的DNS上下文,进一步提取DNS上下文的统计特征,能够进一步提高AI模型的准确性。同时,可利用的上下文还包括HTTP上下文。
2. 加密流量检测方案
从大量恶意软件监测分析的情况来看,越来越多的恶意软件采用加密协议进行通信,有研究统计有七十余种恶意软件采用了TLS/SSL加密方法进行通信。
除了一些常见的恶意软件家族之外,我们纳入研究和检测的加密通信还包括:
Shadowsocks翻墙,暗网浏览器通信和加密隧道通信等
识别常见和非法VPN软件
另外,也尝试在做加密通信中的恶意行为探测,例如加密通道密码暴力破解、扫描探测和僵尸网络C2行为等。
二、恶意加密流量数据集
恶意加密流量的收集来源包括:
收集恶意样本经沙箱生成的加密流量pcap文件;
从相关网络上直接下载恶意pcap文件;
公司自身研发积累的恶意软件pcap文件。
针对前2个收集来源,简要介绍处理过程:
(一)恶意样本收集
AILab分别从自有威胁情报恶意软件库、网络在线杀毒网站库、网络恶意软件开源库等种渠道获取恶意样本的Hash值,再将这些Hash值所对应的恶意样本下载后,提交到沙箱进行动态分析,最后抓取它们网络行为的pcap包。
(二)恶意软件收集
APT样本相关的pcap:2.5GB
网上网络安全数据集:550G,在网络中收集恶意软件样本。
安全研究或病毒扫描网站:30G
通过安全研究或病毒扫描的网站下载公开的恶意软件样本。
三、数据处理与模型训练
(一)实验总体流程
实验基于公司AI-Matrix建模平台进行。
本实验从收集各类型加密数据开始,经过流量包分析,流量数据处理,流量特征提取,AI模型训练多个步骤,最后得到恶意加密流量的识别模型。
(二)实验数据处理
1.数据预处理
为保证检测引擎的准确性和时效性,数据搜集的准确度、覆盖面是关键。实验数据家族详细分类及数据量,本次实验选取18个家族进行实验。
文章评论