-
摘要:
卷宗作为公安机关办案、结案的主要记录,包含大量关键的警务信息. 面向警务卷宗的信息抽取是分析案情、挖掘犯罪趋势、提高治安管理水平的重要手段. 卷宗类文本多由基层警务人员采用自然语言书写,关键信息抽取难度大. 传统的警务卷宗信息抽取,多依赖人工及预定义模板,效率低且通用性差. 针对以上问题,参考卷宗的警务特征,提出了一种基于深度语义分析的卷宗知识抽取方法. 该方法包含命名实体识别与关系抽取2个核心内容. 提出的命名实体识别方法,融合了汉字结构特征和字形特征;提出的关系抽取方法建立在实体识别的基础上,实现基于触发规则和触发词的2种抽取模式. 在公开的微博数据集、项目合作方**市**分局的真实卷宗集上,提出的命名实体识别方法对比基线方法,在实体识别精确率及召回率上综合表现优异;自动抽取的关系也得到**分局的认可. 相关信息系统已在**分局部署使用.
Abstract:Police dossier, as one of the main records handled by the police department, contains massive and crucial policing information. As an important means, efficient information extraction from police dossier is helpful for case analysis, crime trend prediction, and the improvement of the public security management. However, the text of police dossier is written by police officers using natural language, which makes it difficult to extract crucial information. Traditional information extraction of police dossier heavily relies on manual effort and predefined templates, resulting in low efficiency and poor generality. Considering the particularity of police dossier, in this paper, a knowledge extraction method based on deep semantics analysis is proposed. This method consists of two core tasks: named entity recognition and relation extraction. Focusing on Chinese text, we propose a named entity recognition method that integrates structural and glyph features of Chinese characters. On the basis of entity recognition results, with the help of a specially constructed policing thesaurus, a relationship extraction method combining rule based and trigger word is proposed. Both on a publicly available Weibo dataset and a real dossier dataset provided by our partner a local police department, compared with several baseline named entity recognition models, our proposed method shows better performance in classifying exact entities and finding more potential entities. The automatically extracted relationships have also been verified and committed by the police department branch. A particular information system has been used in practice.
-
域名系统(domain name system, DNS)是互联网最重要的基础服务之一,它提供人类可读的域名和其相关的DNS记录之间的映射. 域名由“. ”分隔的字符构成,子域名以父域名结尾,完整的域名被称为完全限定域名(fully qualified domain name, FQDN),其中忽略掉最后的点号时最右边的一组字符被称为顶级域名(top-level domain, TLD),例如com,net,org,cn等,顶级域向下数一级的子域称为二级域(second-level domain, SLD). 顶级域名中不代表一个国家或地区的顶级域名被称为通用顶级域名(generic top-level domain, gTLD). 为了扩展域名系统、增加域名注册者的选择,互联网名称与数字地址分配机构(Internet Corporation for Assigned Names and Numbers, ICANN)推出了新通用顶级域名(new generic top-level domain, new gTLD)计划,自2013年10月的首批授权以来,new gTLD计划已经使上千个新顶级域名,包括使用ASCII字符和不同字母系统的域名加入了互联网的根区(root zone).
new gTLD为内容发布者(域名注册者)带来了灵活性,使内容发布者能够为其网站创建易于记忆的定制名称. new gTLD还为DNS生态中的利益相关者,如注册机构和注册商提供了新的机会. 近年来,注册new gTLD域名逐渐成了一种潮流,这些new gTLD域名
1 日渐增加的使用给互联网带来了新的变化. 已有研究指出,尽管与传统顶级域名相比,new gTLD域名解析量依然存在较大差距,但new gTLD呈现逐年增长的活跃趋势,且大部分注册的域名被投入了实际使用[1]. 但同时域名滥用[2]随之出现,new gTLD域名用于开展恶意行为的情况也越来越多,new gTLD域名成为各种恶意行为的“热土”. 因此,研究new gTLD域名的解析行为将提供有关其使用情况的态势,并进一步促进new gTLD的推广、相关基础设施的加强. 然而,已有研究都集中在注册人的行为[3]或其他安全问题,例如中间人攻击[1,4-6],缺少对于new gTLD域名尤其是恶意域名的解析行为分析;此外由于new gTLD域名的特殊性,已有恶意域名检测方法可能不适用于new gTLD恶意域名的检测. 因此,需要分析new gTLD域名的解析行为,寻找new gTLD恶意域名的重要行为特征,并据此设计new gTLD恶意域名检测方法.本文使用包含对815个new gTLD的930万次查询的被动DNS日志,对new gTLD的解析行为进行了深入分析. 同时,在相同测量期内收集了包含所有类型域名的30亿次DNS查询,以便进行比较. 本文首先通过考察查询量、SLD数量和查询失败率来分析new gTLD的活跃状况. 然后从内容复制和基础设施共享等角度探讨了new gTLD域名的承载基础设施. 最后分析了恶意new gTLD域名的行为,发现按承载域名量排序的前5个IP/24网段所承载的域名之中有73.6%是恶意的. 根据上述分析设计了new gTLD恶意域名检测方法.
本文的主要贡献包括4个方面:
1)发现每个new gTLD的查询量和对应SLD数量符合重尾分布. 例如,按DNS查询量排名前3的new gTLD合计贡献了48.7%的查询量.
2)大多数new gTLD域名只将它们的内容复制到1或2个IP/24网段,这些IP/24网段被域名共享,因为有89.1%的域名与其他域名使用相同的IP/24网段,并且new gTLD域名倾向使用云作为内容承载基础设施,导致内容承载基础设施的集中性,即少量的IP/24网段专门承载了大部分域名.
3)与正常域名相比,恶意域名有独特的行为. 例如请求用户网络空间分布独特、内容承载基础设施更集中(存在某些AS或IP/24承载大量恶意域名)、SLD长度分布偏斜(更短)、对应的FQDN数量更多、每个FQDN的平均查询次数少以及倾向使用默认生存时间(TTL)设置(例如10 min).
4)基于上述发现设计并实现了一种new gTLD恶意域名检测方法,以new gTLD域名解析行为特征为输入,使用随机森林作为分类器,实现恶意域名的快速识别. 实验结果表明,该方法的准确率可达94%,优于传统恶意域名检测方法.
1. 相关工作
在new gTLD的行为方面,已有研究多集中在注册人的行为或安全问题,如域名滥用行为等. Halvorson等人[3]提出了一种自动识别注册目的的方法,并分析了new gTLD域名的注册类型. Chen等人[4-5]刻画了在new gTLD域名时代通过域名碰撞(domain name collision)实现的中间人(man in the middle,MitM)攻击,并讨论了缓解策略. Korczynśki等人[1]对比了new gTLD与传统通用顶级域名的域名滥用行为,发现new gTLD已经成为了恶意行为者的“吸铁石”(a magnet for malicious actors).Pouryousef等人[6]发现在引入new gTLD之后,误植域名(typosquatted domains)的数量增加了几个数量级.
在恶意域名检测方面已经有许多研究. Hao等人[7-8]利用域名注册信息尝试在发生大量查询之前识别恶意域名. Manadhata等人[9]利用域名-IP映射建立二部图,在已知少量域名标签前提下,使用置信度传播推测其他域名是否为恶意域名. Schüppen等人[10]基于域名文本特征检测DGA产生的恶意域名. Yu等人[11]将域名字符串输入到CNN进行恶意域名检测. Lei等人[12]用二部图建模域名解析行为,用图嵌入学习域名的向量表示,最后用SVM分类. 然而,现有研究仍然缺乏针对new gTLD恶意域名检测的方法.
2. 数据集与预处理
本文所使用的被动DNS日志数据集覆盖我国3个主要互联网服务提供商(Internet service provider, ISP). 每条DNS应答对应1条日志记录,每条日志包含用户的BGP(Border Gateway Protocol)前缀、自治系统号(autonomous system number,ASN)、域名、DNS查询类型、所有应答资源记录、TTL和时间戳. 本文使用nTLDStats[13]的列表来识别new gTLD,将ICANN发起的new gTLD计划之后引入的通用顶级域名称为new gTLD,在该计划之前引入的通用顶级域名,例如com,net,info则被标记为传统通用顶级域名.
为了进行对比分析,同时收集了包括传统通用顶级域名、国家代码顶级域名(country code top-level domain, ccTLD)和new gTLD的所有类型域名共30亿条DNS日志.
在进行数据预处理时,使用public suffix库[14]把FQDN映射到对应的SLD. 由于数据集不包括应答码(response code),在判断一次查询是否成功时无法直接从NOERROR或NXDOMAIN这样的应答码中进行判断. 因此为了计算查询失败率,采取一种启发式的方法过滤掉大概率是NXDOMAIN的或者无法准确标记的应答. 这里不检查返回的应答IP地址是否正确,而只考虑一次查询是否包含有效的DNS应答. 如果一次查询返回了有效的DNS应答,就把这次查询标记为成功. 例如对某一次A类型查询,如果应答中存在所查询域名的A记录,则认为该次查询成功. 在进行完上述标记之后,对于每个查询类型 QTYPE ,检查数据集中每一个被查询的域名QNAME是否至少成功过1次,将从未成功过的二元组⟨QTYPE,QNAME⟩对应的日志过滤掉.
经过上述预处理之后,获得了9 295 368次对815个new gTLD的611 769个FQDN的查询;作为对比使用的总体数据集则包含约28亿条日志.
需要说明的是,数据集中所有可能关联到用户的信息均已删除或者匿名化. 特别地,数据集不包含最终用户的IP地址,用户所在网络的BGP前缀也经过匿名化处理. 此外,所有分析以聚合的方式进行统计分析,而不进行任何针对单个用户的分析.
3. new gTLD域名的解析行为分析
本节从查询量和域名数量的总览分析new gTLD域名的解析行为,并与非new gTLD域名进行对比. 为了分析new gTLD计划首批授权对顶级域名带来的扩展,首先使用whois来获取数据集中每个顶级域名的创建日期,并收集了547个顶级域名的成功回复. 图1展示了每年创建的顶级域名的数量,可以看出new gTLD快速增长.
3.1 域名与查询量
本节分析各个new gTLD的DNS查询量和SLD的数量,并将它们的分布绘制在对数图中,如图2所示,其中x轴是分别按查询量和SLD排序的顶级域名排名,y轴是相应的查询量或SLD数量.
从图2中可以看到一个重尾分布,表明查询量和注册的域名数量集中在少数的顶级域名上. 事实上,如表1所示,前3个顶级域名吸引了大约一半的与new gTLD相关的查询. 表1也列出了查询失败率,可以看出,不同的new gTLD失败率为1.6%~45.8%,这意味着顶级域名的可靠性存在较大差异,其中help的失败率最低,表明其最为可靠;而win的失效率最高,意味着对其下域名的查询更容易失败,可靠性最差.
表 1 按查询量排序的前10个新通用顶级域名Table 1. Top 10 New gTLDs Ranked by the Number of Queries% 顶级域名 查询量占比 查询失败率 top 31.1 16.0 xyz 11.1 19.0 help 6.5 1.6 win 6.2 45.8 link 6.1 2.3 club 5.1 20.9 vip 4.2 10.8 space 2.8 17.4 online 2.1 9.6 loan 1.9 3.7 接下来分析域名查询失败量,表2呈现了2种主要的DNS查询类型:A类型和AAAA类型的查询量占比和查询成功率. 为了进行比较,还计算了所有类型的顶级域名(包括传统通用顶级域名、国家代码顶级域名和新通用顶级域名)的成功率. 可以看出,AAAA类型查询的成功率明显较低,且只占了10.4%的查询量,与2012年观察到的情况相似[15]. 此外,new gTLD域名的查询中AAAA类型的查询量占比略大.
表 2 A类型和AAAA类型查询量占比与查询成功率Table 2. Percentages of the Number of Queries and Success Rates for A and AAAA Queries% 指标 所有域名 new gTLD域名 A AAAA A AAAA 查询量占比 86.2 10.4 84.3 14.8 查询成功率 93.1 35.8 88.6 25.9 图3进一步分析查询失败量是否集中在少数顶级域名上. 可以看到曲线是一个近似对角线的趋势,这表明new gTLD的失败查询量也集中在少数顶级域名上.
综上,在查询量、每个顶级域名的相关SLD数量和查询失败率方面,new gTLD域名的行为呈现重尾分布,并且new gTLD域名的成功率比所有域名低.
3.2 内容承载基础设施
本节分析new gTLD域名的内容承载基础设施. 由于AAAA类型查询在DNS查询中占比较小,而且经常失败,在接下来的分析中使用应答含有IPv4地址的A类型查询.
通过测量承载每个SLD使用的IP/24网段的数量,考察new gTLD域名的内容在互联网上的复制情况,其分布情况如图4所示,其中按照DNS查询次数对域名进行排序. 图4分析了3组结果,即前1000域名、前10000域名和全部new gTLD域名. 可以看出,流行域名被复制到更多的IP/24网段. 然而,在排名前1000的域名中,只使用一个IP/24网段来承载其内容的域名多达40%;当考虑所有new gTLD域名时,这一占比上升到93.7%. 相比之下,即使是排名第100000的非new gTLD域名(该域名是mattel.com)也在10个IP/24网段上进行复制. 这些结果表明,new gTLD域名的内容复制非常有限.
进一步分析了这些IP/24网段的内容承载特征. 为此,参考文献[16]定义了2个指标:内容分发潜力(content delivery potential,CDP)和内容垄断指数(content monopoly index,CMI). CDP定义了IP/24网段能服务的域名(即域名解析后得到的目标地址在该IP/24网段中)占比,以此衡量潜在地可以从一个IP/24网段提供的内容数量. 具体地,给定一个SLD集合(记为R),IP/24网段i的CDP计算公式为
CDPi=|Si||R|, (1) 其中Si⊆R是该IP/24网段承载的SLD集合.
CMI通过对IP/24网段能服务的所有域名求权重平均值(其中每个域名的权重为能承载该域名的IP/24网段数量的倒数,这样设置权重是因为如果能承载该域名的IP/24网段越多,则该域名越无法体现该IP/24网段的内容垄断性,因此权重越低)衡量一个IP/24网段承载其他IP/24网段所没有的新通用顶级域名的程度. 一个IP/24网段的CMI为
CMIi=1|Si|∑j∈Si1mj, (2) 其中mj是承载SLDj∈Si的IP/24网段数量. 一个IP/24网段的CMI大,意味着一些new gTLD域名是由该IP/24网段独家提供服务的.
图5分析了按CDP排序的前15个IP/24网段. 可以看出,除了前2个IP/24网段之外,其他IP/24网段的CDP都相当小. 大约30.3%的SLD可以由第1个IP/24网段提供服务,该网段属于中国电信天翼云(CTCloud). 第2个IP/24网段属于阿里巴巴云,它可以为26.5%的new gTLD的SLD提供服务. 由此可见,new gTLD域名的所有者倾向于将网站外包给云服务进行内容承载,这些域名广泛使用了共享的内容承载基础设施. 另一个观察结果是,这些IP/24网段的CMI值都相当高(接近1),表明new gTLD域名几乎唯一地承载在对应IP/24网段. 这也是符合预期的,因为大多数SLD只使用1个IP/24网段进行内容承载,如图4所示.
进一步,图6展示了new gTLD域名解析到的IP地址范围分布. 对于一个由多个IP地址承载的域名,选择使用次数最多的IP地址用于作图,以确保y轴取值不超过1. 观察到3条线中每条都有几个突起,再次证实了new gTLD域名的承载服务器集中在某些IP地址范围内. 此外,new gTLD域名和IP地址有不同的集中范围. 这表明,一些内容承载服务商使用少数IP地址承载大部分的域名,而其他服务商则使用一个IP地址池进行内容承载.
3.3 new gTLD恶意域名
为研究new gTLD恶意域名,本文将IP/24网段按其承载的new gTLD域名数量进行排序,并提取前5个网段所承载的new gTLD域名,其中这5个网段对应的自治系统(autonomous system,AS)分别属于Enzu,Leaseweb,Psychz Net,Alibaba等数据中心、云服务提供商,所承载的new gTLD域名对应了约24.3万个FQDN和25.5万次查询,然后使用VirusTotal和360这2个黑名单对域名进行检查,如果这2个黑名单中的任何1个将域名分类为恶意域名,就将该域名标记为恶意域名. 由于域名数量较大,只检查了SLD而没有检查完整的FQDN,最终有1 171个SLD被标记为恶意域名,对应17.9万个FQDN(73.6%)和18.8万次查询(73.7%).
如此高的恶意域名数量占比和查询量占比,再结合3.2节中的发现,说明存在承载大量new gTLD恶意域名的基础设施. 此外,可以观察到new gTLD恶意域名的查询量小、与域名个数非常接近,说明这些域名存在时间短、变化快.
接下来从域名个数、源(用户)IP、域名长度和TTL等角度分别考察识别到的new gTLD恶意域名的DNS行为特征,这些特征对恶意域名的早期检测至关重要[7]. 为了叙述方便,由所有new gTLD域名组成的域名集合用Sall表示,而仅包含恶意new gTLD域名的集合用Smalicious表示.
图7给出了new gTLD恶意域名的SLD对应FQDN数量分布,可以看出恶意的SLD对应更多的FQDN. 具体地,对于Smalicious来说,88.5%的SLD有超过10个FQDN. 与此相比,当考虑Sall时,87.2%的SLD只对应1个FQDN. 其原因有可能是DGA被用来生成恶意域名的FQDN.
接下来分析请求这些恶意域名的网络地址区域是否与整体分布不同. 为此,计算请求2类域名的用户BGP前缀的排名,即分别根据Sall和Smalicious中域名的发送查询次数对用户的BGP前缀进行排序,并计算2种排名的Kendall距离指标[17].Kendall距离是从Kendall’s tau(衡量2个排名列表的相似程度)推广出来的指标,该指标放宽了Kendall’s tau对于“被比较的2个排名列表必须有相同的元素”这一要求,为此,Kendall距离引入了一个惩罚参数p,并引入一个参数k表示对2个排名列表的前k个元素进行比较. 具体地,带有惩罚参数p的Kendall距离定义为:
K(p)(τ1,τ2)=∑i,j∈τ1∪τ2¯K(p)i,j(τ1,τ2), (3) 其中τ1和τ2表示被比较的2个前k排名列表. 本文使用“乐观法”(optimistic approach),具体地,将p设置为0,并且判断3个条件是否成立:1)i和j都出现在2个列表中,但它们在2个列表中的顺序是相反的;2)i和j都出现在某一个列表中,其中i的排名高于j,而j出现在另一个列表中;3)只有i出现在一个列表中,而j出现在另一个列表中. 当这3个条件之一成立时,令¯K(p)i,j(τ1,τ2)=1,否则,令¯K(p)i,j(τ1,τ2)=0. 最后,计算归一化的K(normalized K)[18]:
K=1−K(0)(τ1,τ2)k2, (4) 所得到的K取值范围在0~1,如果列表τ1和τ2不包含相同元素,则K=0;如果2个列表τ1和τ2完全相同,则K=1.
表3给出了归一化K随考虑的域名个数k的变化情况,其中k=20, 40, 60, 80, 100. 从表3中可以看出2个列表的距离小于0.1时表明2个排名差距大,也就是说Sall和Smalicious中域名的用户前缀差距大.
表 3 用户BGP前缀比较Table 3. Comparison of Users’ BGP Prefixesk K 20 0.08 40 0.06 60 0.07 80 0.06 100 0.08 进一步分析new gTLD域名的SLD长度,结果如表4所示,可以发现超过90%的new gTLD恶意域名长度为4,而考虑所有域名时,域名更长且域名长度分布更均匀. 在传统域名下,考虑到大量的短域名已经被注册,为保证恶意域名可以被攻击者注册,恶意域名长度一般较长,已有DGA域名检测方法往往忽略较短的域名,因此这些方法无法应用于new gTLD恶意域名的检测.
表 4 不同SLD长度的new gTLD域名占比Table 4. Fraction of new gTLD Domains of Different SLD Lengths长度(字符个数) 在new gTLD域名
中的占比/%在恶意new gTLD域名
中的占比/%⩽3 8.5 0.1 4 25.2 93.0 5 17.2 6.1 \geqslant 6 49.1 0.8 域名解析行为的另一个重要特征是域名解析应答的TTL值. 图8给出了A类型查询的TTL值分布,其中包括全体new gTLD域名、恶意new gTLD域名、非恶意(合法)new gTLD域名的TTL分布,以及作为对比的数据集中全部域名的A类型查询TTL值分布. 考虑到由于可以从递归解析器的缓存中返回应答,日志中看到的TTL值可能小于权威域名服务器设置的原始值. 因此,本文参考文献[19-20]中的做法,使用每个域名观察到的最大TTL值作为权威域名服务器设置的原始TTL值的估计.
从图8中可以看出,大约45%的全体域名TTL值小于120 s,而new gTLD域名倾向于使用600 s的TTL值,并且几乎所有的new gTLD恶意域名都把TTL值设置为600 s(这也是许多内容承载提供商的默认设置). 因此,TTL值可能不适用于new gTLD恶意域名的检测.
3.4 对new gTLD恶意域名检测的启发
对恶意new gTLD域名行为的分析发现,按承载域名量排序的前5个IP/24网段所承载的域名之中有73.6%是恶意的,且与正常域名相比,恶意域名有独特的行为,例如请求用户网络空间分布独特、内容承载基础设施更集中(存在某些AS或IP/24承载大量恶意域名)、SLD长度分布偏斜(更短)、对应FQDN数量更多、每个FQDN的平均查询次数少以及倾向使用默认TTL值设置(例如TTL值为600 s). 上述发现从多角度对恶意域名检测的输入特征选择有所启发. 例如在查询量角度,发现恶意域名FQDN查询量少,启发使用SLD对应的FQDN查询量的统计量作为恶意域名检测的输入特征;在域名个数角度,发现恶意SLD对应的FQDN更多,启发使用SLD对应的FQDN个数作为输入特征;在请求用户网络空间和应答地址角度,发现恶意域名有独特的网络足迹,启发使用域名与请求用户地址(应答地址)的映射关系,从查询量和域名个数入手,用统计量展开维度作为输入特征;在域名长度角度,发现恶意域名短,启发避免使用域名的文本特征作为输入;在TTL角度,发现集中在600 s,启发不使用TTL值作为输入.
需要说明的是,本文在标记数据集中的域名时使用VirusTotal和360黑名单等恶意域名标记工具,其工作原理是聚合多家杀毒引擎、网站扫描器、URL分析工具和域名屏蔽列表判断所提交域名是否为恶意域名. 这些工具的恶意域名识别准确度高,但是在域名覆盖度上以及检测时效性上存在不足. 因此,它们被广泛应用在基准数据集的构造上,以评估所设计方法的准确性,而不能直接作为恶意域名检测的工具.
本文旨在设计一种基于解析特征的简单有效的new gTLD恶意域名识别方法,实现恶意域名的快速准确检测,降低恶意域名造成的危害.
4. new gTLD恶意域名检测方法
本节基于第3节分析发现的new gTLD恶意域名行为特征,设计new gTLD恶意域名检测方法. 恶意域名检测本质上是一个二分类问题,主要包括输入特征、分类器、输出0/1标签(0为正常域名(本问题中作为负类);1为恶意域名(本问题中作为正类)).
new gTLD恶意域名检测的主要挑战在于,new gTLD恶意域名相比传统恶意域名有特殊性,需要选取更合适的特征. 现有恶意域名检测方法中缺少针对new gTLD域名的检测方法,而传统恶意域名检测方法设计中往往利用域名的文本特征(如可发音单词数、数字符号字符占比等)进行检测. 但是,第3节的分析发现了若干new gTLD恶意域名的独特行为特征,使得传统恶意域名检测方法并不适用. 如new gTLD域名长度分布偏斜(恶意域名相比正常域名更短),因此域名的文本特征区分性不强,进而导致传统方法对于new gTLD恶意域名检测效果不佳. 因此,本文基于第3节的分析结果,选择具有区分度的特征设计针对new gTLD的恶意域名检测方法,这些特征包括请求用户网络空间分布独特、内容承载基础设施更集中、对应FQDN数量更多、每个FQDN的平均查询次数少等.
4.1 输入特征
结合3.2节与3.3节的发现,本节避免使用域名的文本特征,也不使用TTL值作为输入,而是分别从域名的查询量、域名个数、发起查询的用户(源IP)、应答IP的角度提取了特征. 表5总结了使用的特征.
表 5 特征集合Table 5. Feature Sets特征集合 特征名称 维度 域名的查询量 SLD对应FQDN查询量的统计量 8 域名个数 SLD对应FQDN的个数(总数+每天) 15 客户端(源IP) SLD对应源AS和BGP prefix的个数 2 SLD对应源AS和BGP prefix
查询量的统计量16 SLD对应源AS和BGP prefix
在查询方面的特征14 应答IP(AS) SLD对应应答AS的个数 1 SLD映射到AS次数的统计量 8 SLD映射到AS在内容承载方面的特征 7 在域名查询量角度,使用每个SLD对应的FQDN查询量的统计量作为输入特征. 例如,某个SLD对应了n个FQDN,这n个FQDN的查询量分别是 {x_1}, {x_2},\cdots,{x_n} ,则对( {x_1},{x_2},\cdots,{x_n} )计算统计量,这里使用的统计量包括了最大值、最小值、均值、标准差、下四分位点、中位数、上四分位点和熵,共8维. 这样做是因为,3.3节中观察到这些new gTLD恶意域名的查询量与域名个数非常接近,说明这些域名查询量少、存在时间短、变化快.
在域名个数的角度,使用了每个SLD对应的FQDN数量作为输入特征. 除了总量之外,也统计了每天对应的数量,以反映域名数量在时间上的变化. 这样做的原因是,在图7中发现恶意的SLD比new gTLD域名整体有更多的FQDN.
在发起查询的用户(源IP)的角度,使用查询每个SLD的源AS和BGP prefix数量、查询量的统计量以及在查询方面的特征作为输入. 考虑这些特征是因为发起恶意域名查询次数多的用户BGP前缀与发起非恶意域名查询次数多的用户BGP前缀有很大不同,如表3所示. 这启发了使用SLD与源IP的映射关系,从查询量和域名数量入手,用统计量展开特征维度作为new gTLD恶意域名早期检测的一部分输入特征.
除了BGP prefix之外,本文也考虑把AS级别的统计量加入. 查询量的统计量与域名查询量使用的统计量相同,都是8维,具体计算的是查询某SLD的每个源AS(或BGP prefix)查询该SLD次数的统计量. 例如,有n个AS(或BGP prefix)查询过某SLD,查询该SLD的次数分别是 {x_1},{x_2},\cdots,{x_n} ,则计算( {x_1}, {x_2},\cdots,{x_n} )的统计量,即最大值、最小值、均值、标准差、下四分位点、中位数、上四分位点和熵. 源AS和BGP prefix在查询方面的特征则是这样考虑的,对查询某个SLD的每个源AS(或BGP prefix),计算它们查询SLD数量的统计量. 例如,有n个AS(或BGP prefix)查询过某SLD,它们查询过SLD的数量分别是 {x_1},{x_2},\cdots,{x_n} ,则对( {x_1},{x_2},\cdots,{x_n} )计算统计量,即计算最大值、最小值、均值、标准差、下四分位点、中位数、上四分位
2 .在内容承载基础设施角度,从应答IP映射到AS,使用了每个SLD映射到的AS个数、映射到AS次数的统计量以及所映射到的AS在内容承载方面的特征作为输入. 考虑这些特征是因为发现了存在承载大量new gTLD恶意域名的基础设施(见3.3节),并且new gTLD域名使用有限的内容复制和共享的基础设施(如图5和图6所示). 同样,使用SLD与应答IP的映射关系,从查询量和域名数量入手,用统计量展开特征维度. 在计算SLD映射到AS次数的统计量时,假设某SLD能被n个AS所承载,且在应答中映射到各AS的次数分别是 {x_1},{x_2},\cdots,{x_n} ,则对( {x_1}, {x_2},\cdots, {x_n} )计算统计量. 而在考虑SLD所映射到的AS在内容承载方面的特征时,对该SLD映射到的每个应答AS所承载SLD的个数计算统计量. 例如,有n个AS能服务某SLD,它们所能承载的SLD的个数分别是 {x_1},{x_2},\cdots,{x_n} ,则对( {x_1},{x_2},\cdots,{x_n} )计算统计量.
4.2 分类器选择
我们观察发现new gTLD恶意域名的活跃天数很短:97.4%的FQDN只活跃1天. 因此,需要选择简单、快速、高效的分类器. 本文考虑随机森林(random forest,RF)、支持向量机(support vector machine,SVM)和Boosting类3种典型方法.
本节用来研究new gTLD恶意域名检测方法的SLD数据是由3.3节识别到的共1 171个恶意域名和4 770非恶意域名组成. 本节使用的评价指标包括准确率(accuracy)、精确率(precision)、召回率(recall)和F1分数(F1-score),其计算公式分别为
accuracy{\text{ = }}\frac{{TP + TN}}{{TP + TN + FP + FN}} \text{,} (5) precision{\text{ = }}\frac{{TP}}{{TP + FP}} \text{,} (6) recall = \frac{{TP}}{{TP + FN}} \text{,} (7) F1 - score = \frac{{2 \times precision \times recall}}{{precision + recall}} \text{,} (8) 其中 TP , FP , TN , FN 分别代表真阳性、假阳性、真阴性和假阴性. 由于本文的分类任务更关心对恶意域名的分类性能,因此将恶意域名作为正样本,将正常域名作为负样本.
对3类分类器进行了性能评估,经过5折交叉验证并计算了各指标的平均值,结果如表6所示. 其中SVM使用径向基核函数(RBF核),可以看出SVM和RF已经取得了较好的实验效果,SVM在召回率上比RF略高,而RF在精确率和F1分数指标表现更好. 而实验结果表明,集成学习中的3种Boosting类算法(AdaBoost,GBDT,XGBoost)并没能带来明显的性能提升,但是增加了额外的开销. 综上所述,基于实现简单、运行高效且综合性能表现更好的事实,本文选择了RF作为分类器.
表 6 不同分类器经过5折交叉验证得到各指标的均值Table 6. Average Value of Each Metric for Different Classifiers Under 5-Fold Cross-Validation% 指标 RF SVM AdaBoost GBDT XGBoost 准确率 94 94 93 94 93 精确率 88 83 87 88 87 召回率 84 86 77 80 73 F1分数 86 84 81 83 78 4.3 对比实验
本节分别从基于域名文本特征和基于解析行为特征的两大类方法中,选择3种有代表性的方法进行对比实验. 在基于域名文本特征的方法中,选择了文献[10-11]提出的方法;而在基于行为特征的方法中,选择文献[12]提出的方法. 下面首先简单介绍这3种方法的实现.
文献[10]提取域名的结构特征(如下划线数量占比)、语言特征(如元音占比)和统计特征(如信息熵),然后将手动提取出的特征输入到作为分类器的SVM和RF中进行分类,输出对每个域名的预测结果. 文献[11]将域名字符串作为输入,利用深度学习自动提取域名特征并完成分类. 文献[12]利用DNS解析数据提供的映射关系,通过二部图建模域名之间在源IP、应答IP、查询时间3个维度的相似性,用图嵌入得到域名的向量表示,再输入到SVM分类器进行分类. 文献[12]提到这样做相比从领域知识、网络流量或者文本词汇提取特征更加鲁棒、稳定,因为恶意域名的基本行为特征倾向于高度一致性. 已有研究表明,领域知识在不同网络中有所区别,网络特征,例如恶意域名设置的TTL值会随时间改变(为了避免被检测到),恶意域名也会模仿正常域名的文本特征,比如用相似的字符个数或者可发音的单词.
本文复现了文献[10-12]的3种方法,并与本文方法对比,结果如表7所示. 可以看出:1)在基于域名文本特征的方法中,对于文献[10]提出的方法,其输出将所有域名标记为正常域名,说明在new gTLD恶意域名检测问题上,使用这些人为提取的域名文本特征难以区分恶意与正常域名;而文献[11]的方法优于使用人为提取的域名文本特征的方法[10],但各项指标明显弱于基于解析行为特征的方法.2)在基于DNS解析行为特征的方法中,文献[12]提出的方法优于基于域名文本特征的方法,但由于new gTLD域名活跃天数短,减弱了查询时间维度相似性的效果,且没有考虑域名个数、查询量方面的特征,综合指标不如本文方法;此外,文献[12]提出的方法中的召回率最高但是精确率偏低,说明将更多域名标记为恶意域名,漏检最少但是误检较多.3)综合各个指标,本文方法取得了最好的效果,更适用于new gTLD恶意域名检测. 其原因在于本文方法在输入特征的选择上具有更强的针对性与区分性.
进一步地,调整恶意域名和正常域名的比例,原始数据集中恶意域名与正常域名的比例约为1∶4,通过随机采样正常域名的方法分别将此比例调整为1∶3,1∶2,1∶1,并对比数据集正负样本数量的比例对本文方法的影响;此外还通过随机采样恶意域名的方法将比例调整为1∶10,以考察样本较为不均衡的情况,实验结果如表8所示. 可以看出,本文方法的性能较为稳定,而样本中正负例数量的比值确实会影响检测结果,样本数量越均衡,分类性能指标越好. 当比例调整为1∶10时,精确率、召回率和F1分数都有一定的下降,而准确率反而比原始比例(1∶4)更高了,这是因为此时由于负样本太多,分类器倾向于输出分类结果为“正常域名”,反而提高了准确率.
表 8 恶意SLD和正常SLD数量的比例对指标的影响Table 8. The Effect of the Ratio of the Number of Malicious and Legitimate SLDs on the Metrics% 指标 1∶10 1∶4 1∶3 1∶2 1∶1 准确率 96 94 95 96 96 精确率 83 88 91 93 95 召回率 79 84 91 94 97 F1分数 80 86 91 94 96 5. 总 结
本文使用被动DNS日志对new gTLD的解析行为进行了分析. 主要发现包括:1)new gTLD的查询量和对应SLD数量符合重尾分布;2)大多数new gTLD域名只将它们的内容复制到1或2个IP/24网段,且使用共享的承载基础设施;3)与正常域名相比,恶意域名在内容承载基础设施集中性、SLD对应的FQDN数目、域名查询次数、请求用户网络空间分布、SLD长度分布等方面具有独特的特征. 基于这些发现,设计了一种new gTLD恶意域名的检测方法,充分考虑了new gTLD恶意域名在解析行为方面的独特特征,并使用RF作为分类器,以实现快速、高效的恶意域名检测. 实验结果表明,与已有方法相比,本文方法具有较高的准确率.
作者贡献声明:杨东辉、曾彬、李振宇提出了研究思路和实验方案;杨东辉负责完成实验并撰写论文初稿;曾彬获取原始数据与完成部分数据分析;李振宇负责修改论文.
考虑公安工作的敏感性与保密性,应合作分局要求,隐匿其名称并对其提供的数据进行修改后作展示使用. -
表 1 汉字偏旁示例
Table 1 Example of Chinese Character Radicals
汉字偏旁 释义 示例 氵 水、液体 海、河、沟、深 艹 草本植物 花、草、菊、芳 木 树木、木制品 森、松、桥、根 月 身体 胶、胆、脉、脆 表 2 实体关系类型示例
Table 2 Example of Entity Relationship Types
序号 实体关系类型 示例 1 人员类型 嫌疑人、报案人、被害人 2 案件类别 盗窃、诈骗、传销 3 具有 具有、享有、富有、具备 4 损失 损失、金额、破财、折损 5 协作 协作、搭档、搭伙、共同 表 3 案件类型举例
Table 3 Example of Case Types
序号 案件关系类型 示例 1 盗窃 盗窃、被盗、被偷、偷窃、行窃 2 强奸 奸污、强奸、糟踏、施暴、轮奸 3 侮辱 侮辱、羞辱、污辱、凌辱、折辱 4 诈骗 诈骗、骗子、欺骗、蒙骗、诓骗 5 传销 传销、传销商品 6 故意伤害 斗殴、打架、争斗、动手、打斗 表 4 卷宗数据集中实体类型统计
Table 4 Entity Type Statistics of Police Dossier Dataset
序号 实体类型 数量 所占比例/% 1 人名(PER) 3686 41.91 2 地址名(LOC) 1288 14.64 3 组织名(ORG) 368 4.18 4 案件类别名(CAS) 1319 15.00 5 时间名(TIM) 1689 19.20 6 物品名(GOO) 446 5.07 表 5 模型性能对比结果
Table 5 Model Performance Comparative Results
% 模型 F1值 Name实体 Nominal实体 所有实体 Peng and Dredze 55.28 62.97 58.99 Lattice-LSTM 53.04 62.25 58.79 LR-CNN 57.14 66.67 59.92 PLT 53.55 64.90 59.76 FLAT 60.32 MECT 61.91 62.51 63.30 本文模型 61.94 64.98 63.41 注:黑体表示最优值. 表 6 警务卷宗数据集的模型性能对比结果
Table 6 Model Performance Comparative Results of Police Dossier Dataset
% 模型 精确率 召回率 F1值 FLAT 89.81 90.11 89.96 MECT 91.72 90.62 91.17 本文模型 92.89 90.74 91.80 注:黑体表示最优值. -
[1] Jin Xiaolong, Benjamin W, Cheng Xueqi, et al. Significance and challenges of big data research[J]. Big Data Research, 2015, 2(2): 59−64 doi: 10.1016/j.bdr.2015.01.006
[2] Deng Shumin, Ma Yubo, Zhang Ningyu, et al. Knowledge extraction in low-resource scenarios: Survey and perspective[J]. arXiv preprint, arXiv: 2202.08063, 2022
[3] Lu Jiasen, Dhruv B, Devi P, et al. Vilbert: Pretraining task-agnostic visiolinguistic representations for vision-and-language tasks[C]// Proc of the 33rd Int Conf on Neural Information Processing Systems. New York: ACM, 2019: 13−23
[4] Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735−1780 doi: 10.1162/neco.1997.9.8.1735
[5] Sutton C, McCallum A. An introduction to conditional random fields[J]. Foundations and Trends® in Machine Learning, 2012, 4(4): 267−373
[6] Huang Zhiheng, Xu Wei, Yu Kai. Bidirectional LSTM-CRF models for sequence tagging[J]. arXiv preprint, arXiv: 1508.01991, 2015
[7] Peng Nanyun, Mark D. Named entity recognition for Chinese social media with jointly trained embeddings[C]//Proc of the 25th Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2015: 548−554
[8] Peng Nanyun, Mark D. Improving named entity recognition for Chinese social media with word segmentation representation learning[J]. arXiv preprint, arXiv: 1603.00786, 2016
[9] Jacob D, Chang Mingwei, Kenton L, et al. BERT: Pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint, arXiv: 1810.04805, 2018
[10] Zhang Yue, Yang Jie. Chinese NER using lattice LSTM[J]. arXiv preprint, arXiv: 1805.02023, 2018
[11] Li Xiaonan, Yan Hang, Qiu Xiepeng, et al. FLAT: Chinese NER using flat-lattice transformer[C]//Proc of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2020: 6836−6842
[12] Xu Canwen, Wang Feiyang, Han Jialong, et al. Exploiting multiple embeddings for Chinese named entity recognition[C]//Proc of the 28th ACM Int Conf on Information and Knowledge Management. New York: ACM, 2019: 2269−2272
[13] Wu Shuang, Song Xiaoning, Feng Zhenhua. MECT: Multi-metadata embedding based cross-transformer for Chinese named entity recognition[J]. arXiv preprint, arXiv: 2107.05418, 2021
[14] 罗凌,杨志豪,宋雅文,等. 基于笔画 ELMo和多任务学习的中文电子病历命名实体识别研究[J]. 计算机学报,2020,43(10):1943−1957 doi: 10.11897/SP.J.1016.2020.01943 Luo Ling, Yang Zhihao, Song Yawen, et al. Chinese clinical named entity recognition based on stroke ELMo and multi-task learning[J]. Chinese Journal of Computers, 2020, 43(10): 1943−1957(in Chinese) doi: 10.11897/SP.J.1016.2020.01943
[15] Sun Kai, Zhang Richong, Mao Yongyi, et al. Relation extraction with convolutional network over learnable syntax-transport graph[C]// Proc of the 34th AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2020: 8928−8935
[16] Guo Zhijiang, Zhang Yan, Lu Wei. Attention guided graph convolutional networks for relation extraction[C]//Proc of the 57th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2019: 241−251
[17] Christoph A, Marc H, Leonhard H. Improving relation extraction by pretrained language representations[J]. arXiv preprint, arXiv: 1906.03088, 2019
[18] Ji Guoliang, Liu Kang, He Shizhu, et al. Distant supervision for relation extraction with sentence-level attention and entity descriptions[C]// Proc of the 26th Int Joint Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2017: 3060−3066
[19] 李博涵,向宇轩,封顶,等. 融合知识感知与双重注意力的短文本分类模型[J]. 软件学报,2022,33(10):3565−3581 Li Bohan, Xiang Yuxuan, Feng Ding, et al. Short text classification model combining knowledge aware and dual attention[J]. Journal of Software, 2022, 33(10): 3565−3581(in Chinese)
[20] Shang Yuming, Huang Heyan, Sun Xin, et al. A pattern-aware self-attention network for distant supervised relation extraction[J]. Information Sciences, 2022, 584: 269−279 Shang Yuming,Huang Heyan,Sun Xin,et al. A pattern-aware self-attention network for distant supervised relation extraction[J]. Information Sciences,2022,584:269−279
[21] Phi V T, Santoso J, Shimbo M, et al. Ranking-based automatic seed selection and noise reduction for weakly supervised relation extraction[C]//Proc of the 56th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2018: 89−95
[22] 陈柱辉,刘新,张明键,等. 简要案情的命名实体识别技术[J]. 计算机系统应用,2022,31(1):47−54 Chen Zhuhui, Liu Xin, Zhang Mingjian, et al. Named entity recognition technology for brief case[J]. Computer Systems and Applications, 2022, 31(1): 47−54(in Chinese)
[23] 郭军军,刘真丞,余正涛,等. 融入案件辅助句的低频和易混淆罪名预测[J]. 软件学报,2021,32(10):3139−3150 Guo Junjun, Liu Zhencheng, Yu Zhengtao, et al. Few shot and confusing charges prediction with the auxiliary sentences of case[J]. Journal of Software, 2021, 32(10): 3139−3150(in Chinese)
[24] 李健龙,王盼卿,韩琪羽. 基于双向LSTM的军事命名实体识别[J]. 计算机工程与科学,2019,41(4):713−718 doi: 10.3969/j.issn.1007-130X.2019.04.019 Li Jianlong, Wang Panqing, Han Qiyu. Military named entity recognition based on bidirectional LSTM[J]. Computer Engineering and Science, 2019, 41(4): 713−718(in Chinese) doi: 10.3969/j.issn.1007-130X.2019.04.019
[25] Che Wangxiang, Fengyunlong, Qin Libo, et al. N-LTP: An open-source neural language technology platform for Chinese[C]//Proc of the 2021 Conf on Empirical Methods in Natural Language Processing: System Demonstrations. Stroudsburg, PA: ACL, 2021: 42−49 Che Wangxiang,Fengyunlong,Qin Libo,et al. N-LTP:An open-source neural language technology platform for Chinese[C]//Proc of the 2021 Conf on Empirical Methods in Natural Language Processing:System Demonstrations. Stroudsburg,PA:ACL,2021:42−49
[26] He Han, Jinho C. The stem cell hypothesis: Dilemma behind multi-task learning with transformer encoders [J]. arXiv preprint, arXiv: 2109.06939, 2021
-
期刊类型引用(1)
1. 曹成昊,陈海英,王雯毅,梁金刚,佘顶,曹建主. 球床式高温气冷堆精细化堆芯核素积存量计算方法研究. 原子能科学技术. 2025(05): 1075-1084 . 百度学术
其他类型引用(0)