收藏 分销(赏)

基于交叉特征的轻量级良性域名检测方法.pdf

上传人:自信****多点 文档编号:639912 上传时间:2024-01-22 格式:PDF 页数:6 大小:694.30KB
下载 相关 举报
基于交叉特征的轻量级良性域名检测方法.pdf_第1页
第1页 / 共6页
基于交叉特征的轻量级良性域名检测方法.pdf_第2页
第2页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第43卷第4期 辽宁工业大学学报(自然科学版)Vol.43,No.4 2023 年 8 月 Journal of Liaoning University of Technology(Natural Science Edition)Aug.2023 收稿日期:2022-11-12 基金项目:辽宁省教育厅科学研究项目(JZL202015404,LJKZ0625)作者简介:林 迪(2000-),女,浙江温州人,硕士生。韩春雨(1990-),男,黑龙江鹤岗人,副教授,博士。DOI:10.15916/j.issn1674-3261.2023.04.013 基于交叉特征的轻量级良性域名检测方法 林 迪1,

2、2,韩春雨1,2,张照岳1(1.辽宁工业大学 电子与信息工程学院,辽宁 锦州 121000;2.辽宁省工业互联网网络与数据安全重点实验室,辽宁 锦州 121000)摘 要:提出了一种基于交叉特征的轻量级良性域名检测方法。首先选取若干不同时间段的轻量级流量(指相同域名的请求记录很少且总长度很短的 DNS 流量)。然后,由于在此场景下难以通过多个域名请求记录计算统计特征,因此通过同一条域名请求记录的不同特征进行交叉计算得到交叉特征,并通过实验确定在该场景下相对更有效的基本特征及相应权重,同时确定了较适合的机器学习算法为朴素贝叶斯。实验结果表明,本方法的平均ROC_AUC 达到了 95.64%,较好

3、地解决了轻量级域名检测问题。关键词:域名检测;DNS 流量;良性域名 中图分类号:TP393 文献标识码:A 文章编号:1674-3261(2023)04-0275-06 Approach to Detecting Lightweight Benign Domain Names Based on Cross-features LIN Di1,2,HAN Chun-yu1,2,ZHANG Zhao-yue1(1.School of Electronics&Information Engineering,Liaoning University of Technology,Jinzhou 12100

4、1,China;2.Key Laboratory of Security for Network and Data in Industrial Internet of Liaoning Province,Jinzhou 121000,China)Abstract:An approach of lightweight benign domain name detection based on cross-features was proposed.First,several lightweight DNS traffic(DNS traffic fragments with few recurr

5、ing domain name requests and a short total length)in different periods was selected.Second,because its difficult to calculate statistical features through different requests of one domain name,the cross-features were calculated by different features of the same request for each domain name.Last,the

6、more effective basic features and their corresponding weights were determined when detecting benign domain names based on lightweight DNS traffic.In addition,the more suitable machine learning algorithm was determined to be Naive Bayes.The experimental results show that this approach can achieve the

7、 95.64%average ROC_AUC and solve the problem of lightweight domain name detection.Key words:domain name detection;DNS traffic,benign domain name 目前已有的基于 DNS 流量的域名检测方法,几乎都需要相同的目标域名在 DNS 流量中出现很多次,提取有效的统计特征以确保方法能达到较好的检测效果。但是,有很多域名在 DNS 流量中出现次数非常少。例如,某些域名可能刚刚注册不久,这时一般只可获得其在 DNS 流量中的少量请求记录。此时再使用以往传统的检测方法

8、通常很难达到预期的效果,具有类似问题的还包括 Notos 动态评分系统、EXPOSURE、Kopis1等经典方法。根据已有数据的调研,在所有被漏检的良性域名中,仅个人主页(包含某些公司、集体的主页)就占到了41.67%,并且所有注册时间较短的域名又占了276 辽宁工业大学学报(自然科学版)第 43 卷 35%。文献2也通过数据统计分析并指出,在一定范围内约 59.5%的域名在 2 个月的时间周期里仅出现 1 次,由此可见,满足这种条件的良性域名是普遍存在的,并且这种现象已经使常规的基于流量的域名检测方法面临了很大挑战。若不能有效地解决这一问题,不仅会使以往依赖于统计特征的域名检测方法的综合性能

9、变差,而且也很难保证检测的时效性。本文仍然以检测良性域名为目标,并就解决上述问题做出如下工作。(1)首先将如上所述的只包含很少量重复域名请求记录的、总长度很短(6 万条以下)的 DNS 流量定义为“轻量级 DNS 流量”(即当某检测模型部署在新的网络环境 5 min 后可获取的 DNS 流量)。然后在来自我国的主流通信运营商的 DNS 流量中选取了一些轻量级 DNS 流量进行相应实验。(2)从轻量级 DNS 流量中提取了 31 种域名的基本特征,用于后续扩展,这其中的一些基本特征是本文首次提出的。因无法通过不同请求记录的相同基本特征的值进行运算而得到统计特征,所以考虑通过对相同请求记录的不同特

10、征的值进行适当的四则运算以及幂运算(称作“交叉计算”)将 31个基本特征扩展到 1 084 个交叉特征。(3)训练了 4 个机器学习模型,再结合不同的特征选择方法进行特征选择测试,最终确定出基于轻量级流量检测良性域名的方法BOLT(benign domain detector based on lightweight traffic),并详细地总结出在这种 DNS 流量环境下相对更有效的基本特征及相应权重。1 方法介绍 本文提出的基于交叉特征的轻量级良性域检测方法BOLT 的整体架构图如图 1 所示。包括以下 4 个主要步骤:数据预处理,白名单标注,基本特征提取和交叉特征选择。轻量级DNS流量

11、预处理基本特征提取白名单交叉特征选择朴素贝叶斯分类器得出结论并分析 图 1 BOLT 结构 1.1 数据预处理 在与中国科学院信息工程研究所合作项目的支持下,中国移动通信运营商为本文提供了中国广东省 2019 年 12 月 6 日中一段时间内的 DNS 分光请求记录。此处简要介绍构成该数据集的每个字段的含义:请求源(客户端)IP 地址,请求目的(响应请求的 DNS 递归服务器)IP 地址,DNS ID,请求的域名,请求记录的类型,报文重复次数,报文采样频率,匹配码,递归请求标识,权威请求标识,TTL值,时间戳(当前获得报文的时间),节点编码,请求包长度,响应包长度,响应记录的类型,响应码(R-

12、code),省份(或省级地区)代码,通信运营商代码和响应记录的解析值列表。此处应该过滤掉所有的“不存在域名”,以排除无关记录同时去掉潜在的噪声干扰。1.2 基础特征提取 本节首先列出了需要从 DNS 流量中提取的基础特征,如表 1 所示。分别简述提取这些基础特征的原因如下。表 1 基础特征#特征名称 1 域名的长度 2 域名中数字字符的数量 3 域名中数字字符的比例 4 域名中连续相同字符的数量 5 二级域名的长度 6 二级域名中数字字符的数量 7 二级域名中数字字符的比例 8 二级域名中连续相同字符的数量 9 请求记录的类型 10 响应记录的类型 11 十进制表示的请求源 IP 地址 12

13、十进制表示的请求源 IP 地址前两段 13 十进制表示的请求目的 IP 地址 14 十进制表示的请求目的 IP 地址前两段 15 响应记录的 TTL 值 16 十进制表示的响应记录的解析值 17 十进制表示的响应记录的解析值前两段 18 响应记录解析值的数量 19 响应记录解析值前两段的数量 20 域名的生存时间(从注册时间到失效时间)21 域名的活跃时间 22 DNS ID 23 匹配码(0-请求,1-响应,2-双向)24 递归请求标识 25 权威请求标识 26 请求包长度 27 响应包长度 28 时间戳 29 节点编码 30 响应码(R-code)31 数字证书的字节数 第 4 期 林迪等

14、:基于交叉特征的轻量级良性域名检测方法 277 (1)基于字符的特征 良性域名通常使用有意义的单词进行注册,以便用户可以轻松记住它。但是,许多恶意域名是成批注册的,因此它们通常包含混乱且无规则的字符。因此,提取有关数字字符的特征和连续相同字符数3作为基本特征。此外,也提取所有相应的二级域名的这些特征。(2)基于 TTL 值的特征 TTL 值表示的是域名响应记录可以在 DNS 服务器中缓存多长时间。为了加快响应速度,良性域名的 TTL 值通常为 15 d。根据统计数据,60%的良性域名的 TTL 值都大于 1 200 s。通常,恶意域名的 TTL 值小于 1 000 s4。关于 TTL 值的特征

15、在以往的相关工作中非常有效,特别是“不同 TTL 值的数量”这一特征。但是在轻量级 DNS 流量中,由于缺少了可供统计的大量相同域名请求记录,此处仅提取了“TTL 值”这一个特征。(3)基于 IP 地址的特征 2个域名解析到相同的IP地址通常意味着它们都是良性域名或都是恶意域。另外,由同一客户端IP 地址发起请求的 2 个域名处于同质状态(均为良性或均为恶意)5的可能性更大。此外,响应记录的解析值数量通常可作为判断目标域名是否为Fast-flux 域名的首个步骤3。因此,本小节提取了一些关于 IP 地址的基本特征。(4)基于请求或响应记录类型的特征 本文所使用的 DNS 流量中有 12 种可能

16、的请求或响应记录类型值,其含义如表 2 所示6。选取这一特征的主要原因是,特殊的记录类型通常能够暗示域名的特殊关系。例如,由 CNAME 资源连接的2 个域名可能处于同质状态。这种特征本身没有被量化,因此可将它们转化为哑编码。表 2 中的“#”列还表示了相应特征值在哑编码各数位中的位置。表 2 DNS 资源记录中的类型名称与含义对照表#请求类型 在请求或响应记录中的含义 响应类型-A 将域名解析为 IPv4 地址 A 1 AAAA 将域名解析为 IPv6 地址 AAAA 2 ANY 查询所有记录 空 MULL 3 CNAME 别名 CNAME 4 DS 授权签名 形式更灵活的CNAME DNA

17、ME 5 MX 创建邮箱服务 MX 6 NS 设置 DNS 服务器 NS 7 PTR 邮件交互 PTR 8 SOA 开始权限记录 SOA 9 SPF 发信者策略架构 SPF 10 SRV 设置某域名提供的是何种服务 SRV 11 TXT 设置其他记录的说明文本 TXT(5)WHOIS 信息特征 良性域名通常比恶意域名具有更长的生存时间和活动时间。可以通过 WHOIS 获取域名的创建日期、更新日期和失效日期,以计算相应的特征值。此外,良性域名通常具有更详细的注册信息,但恶意域名通常仅包含一些不完整的注册信息。数字证书(certificate and signature,CAS)是 WHOIS 的

18、项目之一。绝大多数恶意域都没有 CAS,因此可以将CAS 的字节数用作特征。(6)其他特征 当某些 DNS 服务器被攻陷时,在 DNS 编码特征上经常会有一些特殊的指示。就时间戳特征而言,它也许可以指示出由文献7提出的 DNS 请求之间的共现关系。对于以上的基本特征的提取均根据人为经验及分析,仅可作为可利用信息较少情况下的初步尝试,包括表 1 内的其余特征在内,对任何特征的最终取舍仍须通过后续实验进行效果验证来确定8。1.3 交叉特征计算 在 1.2 节已经得到此处所需的基本特征,随后依据本节对交叉特征的定义及计算方法,按如下方式计算交叉特征。根据每列基本特征上的最大值将上面提取的定量基本特征

19、分为 3 类,分类规则为:最大值100的为小(small,S)特征;最大值的范围在 10010 000之间的为中(middle,M)特征;最大值10 000 的为大(large,L)特征。于是,分类的最终结果如表 3所示。表 3 量化基本特征按最大值分类 特征类别#量化的基本特征名称 S 特征 1 域名中的数字字符数量 2 域名中的数字字符百分比 3 域名中的连续相同字符数量 4 二级域名的长度 5 二级域名中连续相同字符的数量 6 二级域名中数字字符的比例 7 二级域名中连续相同字符的数量 8 响应记录的不同解析值数量 9 响应记录的不同的解析值前两段数量 10 域名的生存时间(从注册时间到

20、失效时间)11 域名的活跃时间 M 特征 1 域名的长度 2 请求包长度 3 响应包长度 L 特征 1 响应记录的 TTL 值 2 数字证书的字节数 每个S特征都可以通过平方运算获得另一个M特征,通过立方运算获得另一个 L 特征,如此,每个 S 特征都又衍生出 2 个新特征。每个 M 特征还可278 辽宁工业大学学报(自然科学版)第 43 卷 以通过平方来得到 1 个新的 L 特征。这样几乎避免了新计算出的交叉特征与原基本特征线性相关的情况,再将所有原量化的基本特征以及通过上述方式初步计算出的“衍生特征”通过四则运算扩展到1 084 个交叉特征,并最终使用这些交叉特征进行特征选择实验,以探究基

21、于轻量级流量检测良性域名时较为有效的特征9。2 实验评估 2.1 实验数据 为了获得“足够轻量级”的 DNS 流量环境,本小节从上一节所提供的 DNS 流量中选择了 5 个较合适的不同时段的 5 min 的 DNS 流量片段,并使用本文维护的白名单对其进行样本标注。这 5 段DNS 流量的基本情况如表 4 所示。之所以选择这样的长度,是因为这种数量级的域名数量既符合新的网络环境前 5 min 的 DNS 流量情况,又足够形成一定的统计学规律。另外,更长一些的 DNS 流量片段已经很难再满足“轻量级”的基本要求。表 4 被选出的 5 个 5 min 轻量级 DNS 流量片段信息#时间段/2019

22、1206*域名总数 良性比例/%1 013918014418 56900 45.35 2 071914072414 56555 45.43 3 123417123917 56778 45.67 4 192415192915 56633 45.84 5 224351224851 56100 45.90 例:举例说明时间段这一列的含义,如 1#表示时间段为2019 年 12 月 6 日的 01:39:18 am01:44:18 am。2.2 实验方式 本节将 在 Python3 的实验环境下,使用scikit-learn feature_selection 工具包库从前面提取的1 084 个候选特

23、征中选择若干最佳特征组合。此外,还导入了 pandas、math、re、Numpy、tldextract、VarianceThreshold、SelectKBest、chi2和SelectFromModel 工具。共尝试了 4 种机器学习模型,包括决策树、朴素贝叶斯、支持向量机和逻辑回归,都使用召回率、精确率和 ROC_AUC 这 3 项评价指标来做性能评估。2.3 交叉特征选择方法 由于总的交叉特征较多,可形成的特征组合众多,所以应该选出召回率、精确率和 ROC_AUC 三者都很高的参数组合。通过以下方法获得每个轻量级 DNS 流量片段在此情况下的最佳选取特征数。(1)分 别 计 算 相 应

24、 的 召 回 率、精 确 率 和ROC_AUC 的平均值。(2)获取平均值排在前 5 名的特征组合以及特征数。(3)将它们的 ROC_AUC 相互比较,从前 5 名里选择其中ROC_AUC最高的组合作为该流量片段在此情况下的最佳组合。实验结果如图 2图 6 所示。为简洁起见,此处仅在图中展现了一些关键参数(每个参数仅显示通过较适合的机器学习方法所获得的结果)10。图 2 在 DNS 流量段01:39:1801:44:18 上的特征选择结果 图 3 在 DNS 流量段07:19:1407:24:14 上的特征选择结果 图 4 在 DNS 流量段12:34:1712:39:17 上的特征选择结果

25、图 5 在 DNS 流量段19:24:1519:29:15 上的特征选择结果 第 4 期 林迪等:基于交叉特征的轻量级良性域名检测方法 279 图 6 在 DNS 流量段22:43:5122:48:51 上的特征选择结果 2.4 实验结果 由 2.3 节的实验结果,总结出每个轻量级 DNS流量段各自的最佳选取特征数,如表 5 所示。表 5 每个轻量级 DNS 流量段各自的最佳选取特征数列表 轻量级 DNS 流量段 良性域名 占比/%最佳选取 特征数 假正率/%01:39:1801:44:18 45.35 326 6.95 07:19:1407:24:14 45.43 323 5.09 12:3

26、4:1712:39:17 45.67 288 5.40 19:24:1519:29:15 45.84 227 4.75 22:43:5122:48:51 45.90 220 4.90 根据相关的实验结果,分别得到 5 个 DNS 流量片段在各自最佳特征组合时各个量化基本特征的出现频率,如表 6 所示。表 6 每个轻量级 DNS 流量片段中在各自最佳特征组合时各量化基本特征出现频率统计#基本特征 1 2 3 4 5 平均 出现频率 1 DNS ID 1 1 1 1 1 1 2 请求记录的类型 0 0 0 0 0 0 3 匹配码 0 0 0 0 0 0 4 递归请求标识 0 0 0 0 0 0 5

27、 权威请求标识 0 0 0 0 0 0 6 时间戳 1 1 1 1 1 1 7 节点编码 1 1 1 1 1 1 8 响应记录的类型 0 0 0 0 0 0 9 响应码 0 0 0 0 0 0 10 十进制的请求源 IP 地址 1 1 1 1 1 1 11 十进制的请求目的 IP 地址 1 1 1 1 1 1 12 十进制的请求源 IP 地址前两段 1 1 1 1 1 1 13 十进制的请求目的 IP 地址前两段 1 1 1 1 1 1 14 十进制的响应记录的解析值 1 1 1 1 1 1 15 十进制的响应记录解析值前两段 1 1 1 1 1 1 16 域名中数字字符的数量 36 35 3

28、1 22 21 29 17 域名中数字字符的比例 17 18 14 10 11 14 18 域名中连续相同字符的数量 25 24 20 15 15 19.8 19 二级域名的长度 73 71 71 60 60 67 20 二级域名中数字字符的数量 36 35 31 22 21 29 21 二级域名中数字字符的比例 17 18 14 11 11 14.2 22 二级域名中连续相同字符的数量 23 24 20 15 14 19.2 23 响应记录的解析值数量 61 54 36 31 26 41.6 24 响应记录的解析值前两段数量 29 28 24 16 16 22.6 25 域名的生存时间 59

29、 46 44 24 24 39.4 26 域名的活跃时间 32 32 27 20 20 26.2 27 请求包长度 43 43 43 23 21 34.6 28 响应包长度 61 60 60 56 56 58.6 29 域名的长度 27 44 31 22 16 28 30 响应记录的 TTL 值 42 42 42 41 42 41.8 31 数字证书的字节数 40 42 42 42 42 41.6 3 结论与展望 从表 7 中可以发现,在轻量级 DNS 流量中,良性域名的占比越高,则所需要的特征就越少。从特征选择实验结果图中还发现,轻量级 DNS 流量片段01:39:1801:44:18的实验

30、结果相对最差。因此,在这个时间段内的轻量级 DNS 流量具有不一样特点的可能性较大。另外,通过表 7 可发现,所有的“码”字以及“标识”类基本特征都是作用很小的,而且所有的“类型”特征也是几乎无用的,直接原因就是在轻量级 DNS 流量中所有的 A 或AAAA 类型的请求记录的比例高达 97%,特征差异280 辽宁工业大学学报(自然科学版)第 43 卷 性较小。根据表 6,可以进一步总结出基于轻量级流量检测良性域名时最有效的基本特征。如表 7 所示。表 7 基于轻量级流量检测良性域名时 的基本特征有效性统计 出现频率排名 基本特征名称 出现频率 的标准差 1 二级域名的长度 5.76 2 响应包

31、长度 2.15 3 响应记录的 TTL 值 0.4 4 数字证书的字节数 0.8 5 响应记录解析值的数量 13.54 6 域名生存时间 13.59 7 请求包长度 10.31 DNS ID-时间戳-节点编码-十进制的源 IP 地址-十进制的目的 IP 地址-十进制的源 IP 地址前两段-十进制的目的 IP 地址前两段-十进制的响应记录的解析值-十进制的响应记录的解析值前两段-在轻量级 DNS 流量的实验环境下,最适合的机器学习算法是朴素贝叶斯(Nave Bayesian,NB)。而深度神经网络则难以发挥作用,原因是轻量级DNS 流量的数据规模过小,难以为深度学习方法提供足量的学习样本11-1

32、2。但简单的朴素贝叶斯算法恰好能胜任这种情况下的工作。从表 7 中可以发现“二级域名(second level domain,SLD)的长度”这一特征在出现频率上居于首位,尽管其标准差略高。此特征在这种情况下会相对有效主要有 2 个原因:一方面,某些恶意域名(例如 DGA 域名)通常具有较长的 SLD;另一方面,如同上网注册昵称一样,很多良性域名已经具有很短的 SLD 了,因此再使用较短的 SLD 注册新域名来进行恶意行为通常会导致代价过高13。虽然基于交叉特征的方法在轻量级 DNS 流量环境中已得到了较好的良性域名分类结果,但是目前仍然只能实现二分类的任务,下一步的主要工作应该是使 BOLT

33、 方法实现多分类的任务14。参考文献:1 刘文峰,张宇,张宏莉,等.域名系统测量研究综述J.软件学报,2022,33(1):211-232.2 彭成维.基于关联分析的恶意域名检测技术研究D.北京:中国科学院大学,2019 3 Shi Y,Chen G,Li J.Malicious domain name detection based on extreme machine learningJ.Neural Processing Letters,2018,48(3):1347-1357.4 Zang X,Gong J,Hu X.Detecting malicious domain name ba

34、sed on AGDJ.Journal on Communications,2018,39(7):15-25.5 Peng Chengwei,Yun Xiaochun,Zhang Yongzheng,et al.Discovering malicious domains through alias-canonical graphC.Trustcom/BigDataSE/ICESS.IEEE,Sydney,Australia,2017:225-232.6 Peng C,Yun X,Zhang Y,et al.Malshoot:Shooting malicious domains through

35、graph embedding on passive dns dataC.International Conference on Collaborative Computing:Networking,Applications and Worksharing.Springer,2018:488-503.7 Peng C,Yun X,Zhang Y,et al.Detecting Malicious Domains Using Co-Occurrence Relation Between DNS QueryJ.Journal of Computer Research and Development

36、,2019,56(6):1263-1274.8 张斌,廖仁杰.基于CNN与LSTM相结合的恶意域名检测模型J.电子与信息学报,2021,43(10):2944-2951.9 杜鹏,丁世飞.基于混合词向量深度学习模型的DGA域名 检 测 方 法J.计 算 机 研 究 与 发 展,2020,57(2):433-446.10 Lei K,Fu Q,Ni J,et al.Detecting Malicious Domains with Behavioral Modeling and Graph EmbeddingC.2019 IEEE 39th International Conference on

37、Distributed Computing Systems(ICDCS).IEEE,2019:601-611.11 李佳.基于深度学习的 HTTP 协议恶意流量检测技术研究D.北京:中国科学院大学,2019.12 Vinayakumar R,Soman K P,Prabaharan Poornachandran.Detecting malicious domain names using deep learning approaches at scaleJ.Journal of Intelligent&Fuzzy Systems,2018,34(3):1355-1367.13 高见,王安.面向网络攻击的能力评估分类体系研究J.计算机应用研究,2020,37(8):2449-2454.14 李佳浩,李昕,王薇.基于注意力机制的视网膜图像研究J.辽宁工业大学学报:自然科学版,2022,42(4):236-240.责任编辑:孙 林

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服