概述
随着加密技术的不断发展以及计算机安全攻防技术的升级,在 络中明文传输的内容越来越少,而加密流量所占比例越来越高。据统计,当前超过60%的Internet传输内容使用加密方法,其中尤以HTTPS加密传输占比最高。
伴随而来的是,与以往不同,黑客们也经常使用加密算法来对他们传输的控制命令以及数据进行加密,从而逃避各类查杀工具的检查,这就造成了对此类恶意 络流量无法侦测,导致遗漏重要信息。
一般而言,黑客们所使用的加密协议一般首选也是HTTPS(SSL/TLS over HTTP),其原因也不过是HTTPS可以较为容易地穿透防火墙的设置,即防火墙一般不会设置策略来阻断HTTPS的默认传输端口(443)的 络访问,从而使黑客的控制命令和一些回传数据能够简单地在 络中进行传输,而几乎不受任何约束。
针对上述情况,怎样在加密流量中检查到恶意通讯数据就成为摆在人们面前地难题。
而且,HTTPS协议一般使用了Diffie-Hellman算法进行动态密钥协商,想去破解此会话密钥几乎是天方夜谭,故应另辟蹊径来对此类 络流量,特别是恶意流量进行检测,其思路主要是通过机器学习的方法进行。
基本原理
在信息安全领域, 络通讯业巨头思科公司率先使用机器学习方法对恶意加密流量进行检测。它主要抽取相关通讯样本的若干特征,这些特征可以被分为大致两大类,这两类特征为:基于纯粹统计特征的以及基于内容特征的。
其中,基于统计特征的包括通讯时长、通讯总体包数、通讯总体字节数、通讯平均包长、SSL/TLS总体通讯包数(加密部分)、SSL/TLS总体通讯字节数(加密部分)、SSL/TLS总体通讯平均包数(加密部分)等。
而针对内容特征部分主要包括如加密算法套件编 (所谓加密算法套件的含义就是一组实现密钥协商、数据对称加密、数据摘要等的加密算法集合;举例而言,TLS_RSA_WITH_AES_256_CBC_SHA为0x0035)、扩展头长度、扩展类型、证书颁发者、Server Name请求域名排名等等。
数据验证
南京聚铭 络科技有限公司结合实际情况以及兼顾检测速度需要,对上述特征进行了选择和部分修改。增加了一些额外的特征并裁剪了部分对样本不甚敏感的特征;对相关恶意软件产生的流量进行了训练和检验,这些恶意软件覆盖了如Artemis、Cobalt、Dridex、Dynamer、Ursnif(Gozi)等比较常见的恶意软件,它们多数是一些银行木马、勒索软件等,而且利用HTTPS作为通讯回连/下载/上传方式。
这些恶意软件 络流量样本约有四万余条,均为基于HTTPS方式的通讯;另外,选取一些具有代表性的正向样本,约两万余条,使用支持向量机(SVM)进行训练。经过检验,其准确率整体高于97%。
下图是一个各类样本占比的示意图:
图1 样本分布示意图
从上图的分布情况可以看出,在训练样本中,正常的加密流量占比最高。过程中使用libsvm开源工具对样本进行训练和检验,下图给出了相关样本和检测准确率的示意图:
图2 各类样本检测准确率示意图
从上图中可以看出对于绝大多数样本的检测准确率基本在95%以上,但对于Artemis类别的检测准确率不算太高,约在68%左右,但考虑到其误判结果绝大多数还是落在了恶意软件Ursnif上,故可以推断其相关特征与后者比较类似,否则不太可能出现如此结果。
总结
总而言之,在任何场合下,使用机器学习方法对相关问题进行检验,样本都是非常重要的,也就是说只有样本存在区分度,结果才能更准确,否则任何人也没有任何方法对这些数据进行分拣。
当然,对于样本特征的抽取也是非常重要的,即使用哪些特征对样本进行区分,而哪些特征对于分类或聚类更为敏感是问题的关键,否则也只能是缘木求鱼。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!