【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

admin 2020年8月21日17:32:07评论359 views1字数 3962阅读13分12秒阅读模式
摘要

webshellWeb攻击中常见的一种木马形式,目前主流的检测方法都是基于HTTP请求和响应流量的内容特征,然而在HTTPS协议下,很多webshell检测机制是无能为力的。冰蝎这类加密型webshell的出现更是增加了检测难度,尤其是冰蝎3.0版本采用预共享密钥机制,即使在HTTP场景中的检测也是有一定难度的。本文通过提取网络流量中的若干特征,主要针对访问同一HTTPS网站的正常加密流量和webshell加密流量的分类进行了探索,实现了在HTTPS加密流量中webshell通信流量的识别,无论对于冰蝎2.0还是3.0升级版,都能够达到很好的识别效果。
一、背景

由于Web服务具有很强的便利性,已经被越来越多地用于提供信息服务,然而其中的数据和用户信息也成为了很多不法分子获利的目标。webshell是一种基于Web服务的后门程序,提供了对各种关键功能的远程访问,例如执行任意命令、遍历文件目录、查看和修改任意文件、提升访问权限等。所以如何有效地识别出webshell文件或通信是一个亟待解决的问题。

目前较为成熟的webshell检测方法一般有三种:日志检测、文件检测和流量检测,主流的检测方式都必须由人工构建字符特征作为输入参数,然而攻击者可以通过对webshell代码进行变形从而达到绕过检测的目的,并且随着越来越流行的加密型webshell的出现和HTTPS加密流量的广泛使用,无疑给webshell检测带来了更大的挑战。

本文利用流量检测的方式并基于统计特征,聚焦于在HTTPS加密流量中识别出包含冰蝎在内的webshell通信流量,分别从数据采集、特征提取、模型训练和预测、特征重要性分析等方面展开阐述。

二、冰蝎3.0

冰蝎是目前比较流行的加密型webshell客户端,它可以在通信过程中建立加密隧道,以躲避安全设备的检测。近期发布的3.0版本,对通信流量产生影响的主要是密钥交换方式的改变,其余都是一些功能上的改进。除了对一些bug的修复,涉及到流量变化的修改具体是:
1、去除动态密钥协商机制,采用预共享密钥,全程无明文交互;
2请求体增加了随机冗余参数,避免防护设备通过请求体大小识别请求
三、webshell加密流量检测

3.1数据集

为了采集流量数据,我们自建了一个网站,并且安装使用了自签名证书,使得访问该网站的流量都是TLS加密的。所以无论是常见的非加密型webshell还是冰蝎这类加密型webshell,访问该网站产生的都是HTTPS流量。

我们目前共收集了访问该网站的具有代表性的6种类型的流量数据,分别是正常访问的流量、两类页面性webshell的流量和三类客户端型webshell的流量,其中客户端型包括使用量最大的中国菜刀和对流量进行加密的冰蝎,近期也特别收集了新发布的冰蝎3.0的流量。

由于本文旨在研究访问同一HTTPS网站的正常加密流量和webshell加密流量的分类,所以将所有数据分为正常和webshell两种类型,分别标记为0和1。每种数据的标签和数量如表3.1所示,这里数据量的单位是数据包利用Joy解析之后双向网络流的数量。

表3.1 数据集的标签和数量统计列表

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

3.2特征提取

调用Joy对数据包进行解析,得到json格式的解析结果,经过处理后提取出五种主要的数据元素,包含六百多维特征,分别是:

(1)数据流元特征

(2)数据包包长序列

(3)数据包时间间隔特征

(4)数据包字节分布特征

(5)数据包TLS特征

据观察,对访问同一HTTPS网站的webshell流量和正常流量作对比,具有如下表3.2中所列的几个特点。

表3.2访问同一HTTPS网站的webshell流量和正常流量对比

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

关于熵值,如果数据经过加密或编码处理,那么它的熵值就会变大,所以webshell在熵值特征上与正常流量的区别符合常理。

3.3模型训练和测试 

使用LightGBM作为webshell流量识别分类模型,一些重要参数的设计如下:

learning_rate = 0.1 

n_estimators = 200 

colsample_bytree = 0.9 

num_leaves = 7 

subsample = 0.9 

(1)在冰蝎3.0发布之前,我们已经收集了表3.1中除冰蝎3.0之外的所有数据,并做了一些研究,分别进行了下面三个小实验。

实验一:使用所有流量,随机选出20%作为测试集,剩余的随机选出20%作为验证集,其他80%作为训练集,整体准确率较高,实验结果显示,测试集中只有一条流被分类错误,准确率为96.9%。                        

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

实验二:由于数据量较少很可能导致过拟合,所以进行了交叉验证,预留出页面型No.2的数据作为测试集,使用其余的数据作为训练集和验证集,实验结果显示,16条数据流中预测正确的是15条,准确率是93.7%。

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

实验三:由于冰蝎2.0是当时数据集中唯一的加密型webshell,所以单独预留出冰蝎2.0的数据作为测试集,使用其余的数据作为训练集和验证集,实验结果显示,22条数据流中预测正确的是18条,准确率是81.8%。

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

从实验一和实验二可以看出,模型经过训练之后,对访问同一HTTPS网站的正常流量和webshell流量具有较好的识别能力。实验三则证明了webshell本身是否是加密类型对模型的识别能力没有任何影响,即使在加密型webshell并不存在于训练集中的情况下,模型依然能识别出冰蝎的流量。

(2)最近冰蝎发布3.0版本,虽然功能上的改进对流量识别影响不大,但是我们想看看密钥交换方式的改变对流量识别的影响,所以在前面实验的基础上继续研究。我们新收集了3.0版本的冰蝎访问自建HTTPS网站的流量,由于网站的TLS证书已经发生变化,为了避免TLS相关特征对实验结果的影响,以下实验只使用了前四种数据元素,包含四百多维特征。

实验四:使用之前的所有数据进行训练和验证,将冰蝎3.0流量作为测试集输入训练好的模型中进行测试,实验结果显示,24条数据流中预测正确的是23条,准确率是95.8%。

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

实验五:因为之前的数据中有冰蝎2.0产生的流量,为了避免不同版本冰蝎的相似性对实验结果造成的影响,去掉训练集中的冰蝎2.0数据,让训练集中不包含任何加密型webshell流量,还是使用冰蝎3.0的流量作为测试集,实验结果显示,24条数据流中预测正确的是23条,准确率是95.8%。

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

从实验四可以看出,在模型对访问同一HTTPS网站的正常流量和webshell流量具有识别能力的情况下,模型依然能够识别新版本的冰蝎流量,也就是冰蝎3.0流量的出现并没有影响模型的识别能力。实验五则证明了和实验三相同的结论,即webshell本身是否是加密类型对模型的识别能力没有任何影响。

3.4特征重要性分析 

如图3.1所示,分别顺序展示了五个实验的重要程度较高的10个特征,column列表示特征所在的维度,importance列表示特征重要程度,数值越大,重要程度越高,按降序排列。

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究

图3.1五个实验的特征重要性

表3.1中观察到的后两个特征入流的包数量和总熵分别是第0维和第8维特征,由图3.1可以看出,两者都发挥了比较重要的作用,而TLS特征并没有发挥任何作用,符合观察到的特点。另外,虽然每次模型训练使用到的特征重要性不尽相同,但也可以发现,一些重要的特征基本不变,只是特征重要程度有所变化。

四、小结

本文主要研究了访问同一HTTPS网站的正常加密流量和webshell加密流量的分类问题,实验结果表明,经过训练的模型不仅对正常加密流量和包含冰蝎在内的webshell加密流量具有较好的识别能力,而且即使在训练集中只包含非加密型webshell的情况下,模型依然能够识别冰蝎这类加密型webshell,冰蝎3.0版本也不例外。

当然这只是一个初步探索,未来还有很多工作需要继续。首先,数据对机器学习模型的训练非常重要,本文实验中用到的数据量是较少的,虽然能在一定程度上说明问题,但是还需要更多的数据来进行验证;其次,webshell的检测需要结合安全专家知识提取出更有区分度的特征,好的特征工程直接决定了模型效果的上限;最后,数据平衡、模型调优等都是机器学习方法中不可缺少的部分,对模型预测结果有着积极的作用。

参考链接:

https://mp.weixin.qq.com/s/XMLK5OCpH9pICD9EL9nugA

关于天枢实验室

天枢实验室聚焦安全数据、AI攻防等方面研究,以期在“数据智能”领域获得突破。

内容编辑:天枢实验室 王萌     数据支持:吴复迪  责任编辑: 王星凯
期回顾
本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。
关于我们

绿盟科技研究通讯由绿盟科技创新中心负责运营,绿盟科技创新中心是绿盟科技的前沿技术研究部门。包括云安全实验室、安全大数据分析实验室和物联网安全实验室。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。
绿盟科技创新中心作为“中关村科技园区海淀园博士后工作站分站”的重要培养单位之一,与清华大学进行博士后联合培养,科研成果已涵盖各类国家课题项目、国家专利、国家标准、高水平学术论文、出版专业书籍等。
我们持续探索信息安全领域的前沿学术方向,从实践出发,结合公司资源和先进技术,实现概念级的原型系统,进而交付产品线孵化产品并创造巨大的经济价值。
【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究
长按上方二维码,即可关注我们

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年8月21日17:32:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究http://cn-sec.com/archives/96909.html

发表评论

匿名网友 填写信息