【论文阅读】Identifying DoH Tunnel Traffic Using Core Feathers and Machine Learning Method(CSCWD CCF C)

Identifying DoH Tunnel Traffic Using Core Feathers and Machine Learning Method

论文信息:

论文名称:Identifying DoH Tunnel Traffic Using Core Feathers and Machine Learning Method

论文作者:中科院信工所二室 ggp老师团队

会议名称:International Conference on Computer Supported Cooperative Work in Design 2023(CSCWD CCF C)

研究背景:

恶意的DOH隐蔽隧道利用Google、Cloudflare等公共DNS递归服务器进行数据传输。正常的DOH流量与恶意软件产生的DOH隧道流量混杂在一起。互联网上的一些恶意工具已经利用DOH作为隐蔽隧道来窃取数据。Godlua是第一个被发现使用DOH作为隐蔽隧道的恶意工具。首个使用DOH作为隐蔽传输隧道的APT工具于2020年被发现。现在越来越多的APT工具、木马、僵尸网络都使用DOH协议作为其C2传输隧道。因此,对恶意DOH隐蔽隧道的检测具有重要意义。作为一种新的协议,DOH的特性刚刚被学术界研究。一些研究者开始研究如何识别DOH隐蔽隧道交通。

目前,许多公司提供公共DOH服务,如Quad9、Google、Cloudflare等。在客户端,Chrome、Firefox、Microsoft Edge等主流浏览器都内置了DOH功能。在浏览器中产生的DNS请求将通过DOH协议进行解析。微软宣布将在未来的Windows操作系统中支持DOH协议。

研究内容:
模型结构:

模型分为两个模块。第一部分为DoH流量检测,任务为从HTTPS流量中过滤DoH流量;第二部分为DoH隧道检测,任务为从DoH中检测恶意DoH流量(DoH隧道)。

image-20230831110345631

Step 1:

通过提取核心特征并设置合适的阈值来准确识别DoH服务器IP或域名。

**流的数据包个数:**按照相同的五元组划分TCP流。DoH流量的显著特点是单个流中存在多个数据包。良性DoH流量,如Fireforx和Chrome浏览器中,多个DNS请求在同一个DoH流中完成。许多基于DoH的代理工具和木马工具在同一个流中也有大量的DNS请求和响应数据包。分析显示,一个流中的数据包通常有上百个,明显大约正常HTTPS服务的数据包数量。

**数据包长度:**DoH流量携带了加密的DNS请求和响应数据,DNS数据包长度一般在120字节左右。而承载Web或APP服务的HTTPS请求包一般在400个字节左右,相应包一般大于1000字节。DoH数据包长度明显小于正常网站、APP等应用的数据包长度。**阈值设置:**我们在客户端到服务器方向设置了80到200字节的平均包长度阈值,在服务器到客户端方向设置了150到600字节的平均包长度阈值。中值阈值在客户端到服务器方向设置为55 ~ 99字节,在服务器到客户端方向设置为200 ~ 400字节。

image-20230831114612199

DoH和No-DoH列表:

为了避应用中出现误警的现象,记录每个IP流的命中数和非命中数。当命中率超过50%时,就将该IP加入DoH IP列表(下图为一些常见的DoH服务器IP及域名)。现实环境中DoH流量占比较小,对每一条TLS协议流进行检测会降低效率。建立非DoH流量的IP白名单,当一个IP中超过90%的流被检测为no-DoH,将该IP加入no-DoH列表,以后不再检测。

image-20230831154057040
Step 2:

主要从数据包长度和时间间隔两个方面提取特征。

**数据包长度:**对于正常的DoH流量,上下行流量占比与未加密的DNS协议请求和响应占比基本相同。由于DNS响应包含域名响应信息,因此响应流量一般略大约请求流量。正常DoH流中,下行流量也略大于上行流量。如果使用DoH协议作为C2的隐蔽通信时,C2服务器向客户端发送命令数据,数据包长度较小。客户端向C2服务器返回用户信息,因此数据包长度较大。因此上下行流量占比是区分正常DoH和DoH隧道流量的重要特征。

此外还提取了关于流量的统计信息作为特征,包括均值、最大值、最小值、方差、偏度和峰值作为核心特征。偏度描述时间分布对称性,峰度描述概率分布形状,偏度峰度计算公式如下:

image-20230831162017721

此外还使用了序列特征,包括每个流前15个数据包的包长和方向。正常的DoH服务和DoH隧道前几个数据包的长度和方向是不同的。(???)

**时间间隔:**正常DoH流和DoH隧道流时间间隔存在差异。当浏览器和其他客服端使用DoH解析域名时,通常多个域名在同一个DoH流中请求,导致不同请求之间的时间间隔很短。同时DoH递归服务器有缓存,部分域名不需要从NS服务器获取,所以数据包之间的DoH响应时间较短。

当DoH隐蔽隧道工作时,存在两种数据包(心跳包和恶意指令请求响应数据)。数据生成频率不高,数据包之间的时间间隔比正常的DoH时间长。此处使用数据包时间间隔的平均值、方差、偏度作为特征。

特征汇总:

image-20230831172341857
模型选择:

在第二部分区分正常和异常DoH流量时,选择了四种最具有代表性的机器学习模型:随即森林、SVM、决策树、KNN。算法流程如图所示。(第一阶段使用基于流量特征值的阈值法,第二阶段使用机器学习方法)

(这个流程图也太随意了):

image-20230831165949388
数据集:

公开数据集CIC - DoHBrw - 2020+私有数据集。由于公共数据集中正常的https数据和正常的DoH数据较少,因此在真实的校园网网关采集正常的https流量和DoH流量。使用cisco的开源工具JOY对流量进行解析和特征提取。数据分布如下。(DoH隧道流量应该全来自CIC - DoHBrw - 2020)

评价指标:

TP、FP、FN、TN

结果分析:

第一阶段阈值法:准确率和召回率都达到100%。同时处理10000个流,阈值法仅需0.7s,机器学习发需87s,检测效率大大提高,适用于现实世界的流量检测。

第二阶段机器学习法:

随机森林模型各个指标都优于其余模型。

image-20230831173243081

与先进方法对比:

分析讨论:

本文使用了两阶段的DoH隧道检测模型。第一阶段采用简单的阈值法,配合黑白名单,极大的降低了检测时间并且达到了100%的准确率和召回率。第二阶段使用机器学习的方法(随机森林)。

特征提取方面,主要从数据包长度和时间间隔两个方面提取特征。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值