CN105827594B - 一种基于域名可读性及域名解析行为的可疑性检测方法 - Google Patents

一种基于域名可读性及域名解析行为的可疑性检测方法 Download PDF

Info

Publication number
CN105827594B
CN105827594B CN201610131461.1A CN201610131461A CN105827594B CN 105827594 B CN105827594 B CN 105827594B CN 201610131461 A CN201610131461 A CN 201610131461A CN 105827594 B CN105827594 B CN 105827594B
Authority
CN
China
Prior art keywords
domain name
domain
log
name
suspicious
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610131461.1A
Other languages
English (en)
Other versions
CN105827594A (zh
Inventor
李巍
李丽辉
李云春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201610131461.1A priority Critical patent/CN105827594B/zh
Publication of CN105827594A publication Critical patent/CN105827594A/zh
Application granted granted Critical
Publication of CN105827594B publication Critical patent/CN105827594B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于域名可读性及域名解析行为的可疑性检测方法,本方法是基于DNS访问日志检测出攻击活动中使用的域名。本发明方法首先从DNS访问日志中提取出域名字段,然后依据13维特征向量对域名字段可读性特征进行提取,并采用C4.5的生成算法对特征向量进行检测,得到可疑域名,最后对可疑域名解析行为进行检测,得到恶意域名。在本发明中,在域名可读性检测时引入对拼音域名的检测,从而降低对中文拼音域名检测的误报;但是会有大量的拼音或单词首字母组合的域名被误报为可疑域名,为了降低对该域名类型的误报率,对可疑域名再进行解析行为的再检测,最终获得DNS查询日志中参与攻击活动的域名。

Description

一种基于域名可读性及域名解析行为的可疑性检测方法
技术领域
本发明涉及一种基于域名的检测方法,更特别地说,是指一种基于域名可读性及域名解析行为的可疑性检测方法,本发明方法是基于域名系统(DNS,Domain name server)访问日志检测出攻击活动中使用的域名。
背景技术
当今社会互联网在人类的工作、生活和学习中扮演着重要的角色。然而,随着互联网技术的发展,以木马、蠕虫、间谍和僵尸网络为代表的恶意软件日益猖獗,对公民隐私、社会经济和国家安全构成严重的威胁。这些恶意软件通常会依赖于网络中的基础设施——域名解析系统来实施恶意活动,攻击者也正是利用域名来管理恶意软件之间的通信,以便发起攻击和隐藏自己。每天有几百万的域名注册,然而这其中有些域名涉及到恶意活动。由于域名的数量相当大,所以靠人工检测这些域名是否合法是不现实的。合法的域名通常是由英文单词、拼音或有意义的字母序列组成,并且容易被人类理解和记忆;而恶意域名通常随机产生,不包含有意义的单词或者可读性较差,并且与正常域名中字母的分布规律也不尽相同。正常域名与恶意活动中使用的域名也有很大差异。
在各类恶意软件中,僵尸网络(Botnet)对互联网的运行构成最大的威胁。僵尸网络是攻击者利用命令和控制(C&C,Command and Control)信道组织起来的大量受控主机,常被用于发起分布式拒绝服务(DDoS)攻击,或者大量发送垃圾信息。僵尸网络是异常域名产生的重灾区,通常会利用域名生成算法产生大量的域名,从中选取合适的域名作为僵尸节点和控制器通信的域名。
域名系统DNS是网络基础设施的关键部分,主要用来做域名与IP间的转换。目前对可疑域名的检测主要有通过域名白名单的检测、基于域名字符分布规律的检测以及基于行为的检测。随着攻击者技术的提高,其可以劫持一个域名在其下生成一些子域名来实施攻击活动,很好的绕过了域名白名单的检测。
通过域名的字符分布规律来检测可疑域名方法中也存在一些问题,可疑域名检测方法中采用的标签数据集,白名单多数采用Alexa网站上公布的top 10万的域名,恶意的域名采用安全公司或者一些安全类网站上公布的黑名单,白名单中域名一般是由英文单词组成,而算法生成的域名可能是随机字符串或者类似英文单词的域名。采用标签数据集训练出的分类器对域名进行分类。
发明内容
为了解决现有恶意域名检测方法中存在对正常的拼音和/或单词首字母组合域名的误报,本发明提出了一种基于域名可读性及域名解析行为的可疑性检测方法。本发明方法是基于DNS访问日志检测出攻击活动中使用的域名。该发明主要从域名的可读性和DNS解析行为两个方面进行检测。对于域名可读性方面检测除了使用熵、长度以及字符出现频率的特征外首次加入了域名是否为拼音的特征,目前现有的域名可读性检测主要是识别域名是否为英文单词组合来判断,这导致将大量的中文全拼域名误报为可疑域名,加入拼音可读性检测后能够降低对拼音域名的误报率。本发明对通过字符分布及可读性检测出的可疑域名进行行为检测。这样做的优点不用对每一个域名进行行为检测,减少计算量。
在本发明中,现在很多网络设备都使用白名单对域名进行过滤,但是有很多黑客去劫持一些正常域名,并在其下面产生随机的子域名进行攻击活动,这将会导致白名单失效;所以本发明不仅对域名的二级域进行可读性检测,也会对域名中的主机名进行可读性检测,这可避免绕过白名单的恶意域名。
本发明是一种基于域名可读性及域名解析行为的可疑性检测方法,其特征在于包括有下列步骤:
第一步:域名集合提取;
从DNS query中提取出所有域名字段Domain Name,得 到域名集合
第二步:域名可读性特征提取;
步骤2-1,从域名集合中提取出所有域名字段Domain Name的主机名Host Name,构成主机名集
从域名集合中提取出所有域名字段Domain Name的二级域SLD(second-level domain),构成二级域集
所述的
所述的
步骤2-2,依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对中的各个元素进行主机名特征向量提取,得到可读性主机名向量集
依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对中的 各个元素进行二级域特征向量提取,得到可读性二级域向量集
第三步:可读性检测;
采用C4.5的生成算法对和进行同一条DNS查询日志配对检测,得到同一条DNS查询日 志的域名字段中主机名和二级域的可读性数字量化,即赋值为[0,1],“0”为可读,“1”为不 可读;
第四步,检测可疑域名;
将DNS query logT={log1,log2,…,logn}中含有可疑主域名的所有DNS查询日志提取出来,然后对可疑主域名以任意一天中间隔为1秒进行域名访问量计算,最后采用切比雪夫不等式来判断访问次数是否属于正常的访问次数区间,从而结束对DNS查询日志的可疑检测。
本发明方法的优点在于:
①本发明方法对DNS查询日志中的域名字段采用域名的可读性及域名的解析行为来判断域名是否为恶意域名,能够降低对拼音或单词首字母组合域名的检测的误报率,并发现参与恶意活动的域名。
②本发明对域名字符串的可读性进行检测时采用有监督的C4.5生成算法检测,并且引入对拼音域名的可读性检测,这有别于现有域名的检测方法。
③本发明对域名的解析行为检测采用了切比雪夫不等式对域名每分钟的访问量进行检测,有利于发现有异常行为的域名。
④本发明方法能够对主机名和主域名进行检测,可以有效弥补域名白名单检测方法的缺陷,能够检测出绕过白名单的域名。
⑤经本发明方法检测出的恶意域名传送给DNS服务器,DNS服务器可以中断对恶意域名的解析,从而减轻或终止恶意攻击活动。
附图说明
图1是DNS服务器与运行SDDRB模型的计算机的连接示意图。
图2是本发明基于域名可读性及域名解析行为的可疑性检测方法的流程图。
图3是提取出的13维域名可读性特征向量列表图。
图4是可疑域名每分钟查询次数的表征图。
图5是正常域名每分钟查询次数的表征图。
具体实施方式
下面将结合附图和实施例对本发明做进一步的详细说明。
参见图1所示,DNS服务器将DNS查询日志输出给计算机,DNS查询日志在计算机中依据SDDRB模型进行处理,输出恶意域名给DNS服务器。DNS服务器相应的对恶意域名进行屏蔽。DNS服务器和计算机是一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备。计算机最低配置为CPU 2GHz,内存2GB,硬盘180GB;操作系统为windows2000/2003/XP及以上版本。
被检测对象
本发明方法是对DNS运营商的DNS查询日志进行分析,检测DNS查询日志中是否有 攻击活动和参与攻击活动的域名。将DNS运营商的运行时间记为T,一个T内存在有m个天数 day,一天可以分了多个时间段,运行时间的集合形式记为T={day1,day2,…,daym}。一个T 内存在有n条DNS查询日志记录,所有DNS查询日志的集合形式记为DNS query logT={log1, log2,…,logn}。任意一条DNS查询日志logn中包括的元素记为
day1表示运行时间T内的第一天;
day2表示运行时间T内的第二天;
daym表示运行时间T内的第m天,为了方便说明,所述daym也称为任意一天;任意一天daym中至少包含有3个时间段。
log1表示第一条DNS查询日志;
log2表示第二条DNS查询日志;
logn表示第n条DNS查询日志,为了方便说明,所述logn也称为任意一条DNS查询日志;
Src IP表示源IP地址;
DNS Server IP表示DNS服务器的IP地址;
Response IP表示应答的IP地址;
Domain Name表示域名字段;
Request type表示查询类型;
TTL value表示生存时间;
Time stamp表示时间戳,格式为YYYY年MM月DD日时分秒。
在本发明中,域名字段Domain Name中包含有主机名、L级域、L-1级域、……、二级域、顶级域。其中二级域与顶级域构成主域名,记为MDN。
例如DNS查询日志:196.168.1.10 218.85.157.99www.baidu.com a218.85.148.250 128YYYY年MM月DD日100036;其中,“196.168.1.10”为源IP地址、“218.85.157.99”为DNS服务器的IP地址、“www.baidu.com”为域名字段、“a”为查询类型、“218.85.148.250”为应答的IP地址、“128”为生存时间、“YYYY年MM月DD日100036”为时间戳。“baidu”为域名字段中的二级域,“www”为域名字段中的主机名,“baidu.com”为主域名。
例如DNS查询日志:196.168.1.10 218.85.157.99cwc.buaa.edu.cn a218.85.148.250 128YYYY年MM月DD日083106;其中,“196.168.1.10”为源IP地址、“218.85.157.99”为DNS服务器的IP地址、“cwc.buaa.edu.cn”为域名字段、“a”为查询类型、“218.85.148.250”为应答的IP地址、“128”为生存时间、“YYYY年MM月DD日083106”为时间戳。“buaa”为域名字段中的二级域,“cwc”为域名字段中的主机名,“buaa.edu.cn”为主域名。
例如DNS查询日志:196.168.1.10 218.85.157.99nocdrfguiwxlz.www.hncgj.gov.cn a 218.85.148.250 128YYYY年MM月DD日180048;其中,“196.168.1.10”为源IP地址、“218.85.157.99”为DNS服务器的IP地址、“nocdrfguiwxlz.www.hncgj.gov.cn”为域名字段、“a”为查询类型、“218.85.148.250”为应答的IP地址、“128”为生存时间、“YYYY年MM月DD日180048”为时间戳。“hncgj”为域名字段中的二级域,“www”为域名字段中的三级域,“nocdrfguiwxlz”为域名字段中的主机名,“hncgj.gov.cn”为主域名。
被检测对象的特征表示
对于域名可读性检测采用的特征如表1所示。
表1域名可读性检测的特征
在本发明中,将表1中的“特征名称”组成一个13维特征向量,即X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}。
x1的计算请参考清华大学出版社2012年3月第1版,李航著《统计学习方法》第60页。即字符串的概率分布为字符串中任意一字符出现的频率;
x2的计算为字符串的长度,如字符串“baidu”中字符总数为5,则长度为5;
x3的计算为字符串中元音字母的个数除以字符串的长度,如字符串“baidu”中元音字母的比例为3除以5;
x4的计算为字符串中数字的个数除以字符串的长度,如字符串“amdc517”中数字的比例为3除以7;
x5计算为字符串中重复出现的字符数除以字符串的长度,如字符串“buaaxue”中重复字符的比例为4除以7;
x6是采用马尔可夫模型计算出基于英文语料的随机矩阵的转移概率Penglish和基于拼音语料的随机矩阵的转移概率Ppinyin,并判断是否有语义特征;请参考电子工业出版社2005年1月第1版,Christopher D.Manning等著,苑春法等译《统计自然语言处理基础》第200页;若Penglish>θenglish表明是英文单词的组合,若Ppinyin>θpinyin表明是拼音的组合,两个条件有一个成立,则认为字符串是有语义的。θenglish是区别英文单词组合和非英文单词组合的边界值,这是由英文语料训练所得;θpinyin是区别拼音组合和非拼音组合的边界值,这是由拼音语料训练所得;若Penglish≤θenglish并且Ppinyin≤θpinyin则认为字符串是没有语义的。
x7是采用马尔可夫模型计算出字符串的转移概率,请参考电子工业出版社2005年1月第1版,Christopher D.Manning等著,苑春法等译《统计自然语言处理基础》第200页。马尔科夫模型中的随机矩阵是由域名白名单统计所得;
x8的计算为每个字母出现频率的平均值;
x9的计算为每相邻两个字母出现频率的平均值;
x10的计算为每相邻三个字母出现频率的平均值;
x11的计算为每个字母出现频率的标准差;
x12的计算为每相邻两个字母出现频率的标准差;
x13的计算为每相邻三个字母出现频率的标准差。
参见图2所示,本发明是一种基于域名可读性及域名解析行为的可疑性检测方法(简称为SDDRB模型),所述SDDRB模型运行在计算机中,本发明方法包括有下列步骤:
第一步:域名集合提取;
从DNS query logT={log1,log2,…,logn}中提取出所有域名字段Domain Name,得到域名集合
在本发明中,是以“域名字段”作为搜索运行时间T内的DNS查询日志的被检对象,这样有利于针对特定的被检对象进行提取所需处理的对象。也充分体现了本发明方法是针对拼音和/或单词首字母组合域名进行的。
第二步:域名可读性特征提取;
步骤2-1,从域名集合中提取出所有域名字段Domain Name的主机名Host Name,构成主机名集
从域名集合中提取出所有域名字段Domain Name的二级域SLD(second-level domain),构成二级域集
所述的
所述的
步骤2-2,依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对中的各个元素进行主机名特征向量提取,得到可读性主机名向量集
依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对中的 各个元素进行二级域特征向量提取,得到可读性二级域向量集
在本发明中,对特征向量的提取具体地为:
依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对Host进行特征向量提取,得到第一条DNS查询日志log1中域名的主机名向量,记为第一条可读性主机名向量
依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对Host进行特征向量提取,得到第二条DNS查询日志log2中域名的主机名向量,记为第二条可读性主机名向量
依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对Host进行特征向量提取,得到第n条DNS查询日志logn中域名的主机名向量,记为第n条可读性主机名向量
步骤2-3,依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对进行特征向量提取,得到第一条DNS查询日志log1中域名的二级域向量,记为第一条可读性二级域向量
依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对进行特征向量提取,得到第二条DNS查询日志log2中域名的二级域向量,记为第二条可读性二级域向量
依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对进行特征向量提取,得到第n条DNS查询日志logn中域名的二级域向量,记为第n条可读性二级域向量
第三步:可读性检测;
在本发明中,采用C4.5的生成算法对进行同一条DNS查询日志配对检测,得到同一条DNS查询日志 的域名字段中主机名和二级域的可读性数字量化,即赋值为[0,1],“0”为可读,“1”为不可 读;不可读的域名字段被称为可疑域名。
在本发明中,对域名字段中主机名和二级域的可读性[0,1]判断具体地为:
步骤3-1,采用C4.5的生成算法对进行检测,得到域名字段中主机名和二级域的可读性[0,1];若赋值为0且赋值为0,则Domain为可读,即Domain为正常域名;
赋值为0且赋值为1,则Domain为不可读,即Domain为可疑域名,记为S_Domain
赋值为1且赋值为0,则Domain为不可读,即Domain为可疑域名,记为S_Domain
赋值为1且赋值为1,则Domain为不可读,即Domain为可疑域名,记为S_Domain
采用C4.5的生成算法对进行检测,得到域名字段中主机名和二级域的可读性[0,1];若赋值为0且赋值为0,则Domain为可读,即Domain为正常域名;
赋值为0且赋值为1,则Domain为不可读,即Domain为可疑域名,记为S_Domain
赋值为1且赋值为0,则Domain为不可读,即Domain为可疑域名,记为S_Domain
赋值为1且赋值为1,则Domain为不可读,即Domain为可疑域名,记为S_Domain
采用C4.5的生成算法对进行检测,得到域名字段中主机名和二级域的可读性[0,1];若赋值为0且赋值为0,则Domain为可读,即Domain为正常域名;
赋值为0且赋值为1,则Domain为不可读,即Domain为可疑域名,记为S_Domain
赋值为1且赋值为0,则Domain为不可读,即Domain为可疑域名,记为S_Domain
赋值为1且赋值为1,则Domain为不可读,即Domain为可疑域名,记为S_Domain
步骤3-2,从S_Domain中提取出主域名,记为从S_Domain中提取出主域名,记为从S_Domain中提取出主域名,记为将可疑域名的主域名用集合形式表达为中存在有相同的主域名,则相同主 域名在中只保留一份,将更改为S_SMDN={S_MDN1,S_MDN2, L,S_MDNg},S_MDN1表示第一个可疑的主域名,S_MDN2表示第二个可疑的主域名,S_MDNg表示 第g个可疑的主域名,也称为任意一个可疑的主域名。
在本发明中,对域名字段中主机名和二级域的可读性采用二进制表示为,可读记为0,不可读记为1。
C4.5的生成算法请参考清华大学出版社2012年3月第1版,李航著《统计学习方法》第65页。在本发明中,“C4.5的生成算法”的训练数据集是指正常域名的白名单和恶意域名的黑名单按照X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}处理后的特征向量集。
第四步,检测可疑域名;
在本发明中,将DNS query logT={log1,log2,…,logn}中含有可疑主域名的所有DNS查询日志提取出来,然后对可疑主域名以任意一天中间隔为1秒进行域名访问量计算,最后采用切比雪夫不等式来判断访问次数是否属于正常的访问次数区间,从而结束对DNS查询日志的可疑检测。具体地:
步骤4-1,将DNS query logT={log1,log2,…,logn}中含有S_MDN1的所有DNS查询 日志提取出来,记为含有S_MDN1的可疑日志集合
A1表示含有S_MDN1的第一条DNS查询日志;
A2表示含有S_MDN1的第二条DNS查询日志;
Aa表示含有S_MDN1的第a条DNS查询日志,也称为最后一条DNS查询日志;
在本发明中,将DNS query logT={log1,log2,…,logn}中含有S_MDN2的所有DNS查 询日志提取出来,记为含有S_MDN2的可疑日志集合
B1表示含有S_MDN2的第一条DNS查询日志;
B2表示含有S_MDN2的第二条DNS查询日志;
Bb表示含有S_MDN2的第b条DNS查询日志,也称为最后一条DNS查询日志;
在本发明中,将DNS query logT={log1,log2,…,logn}中含有S_MDNg的所有DNS查 询日志提取出来,记为含有S_MDNg的可疑日志集合
C1表示含有S_MDNg的第一条DNS查询日志;
C2表示含有S_MDNg的第二条DNS查询日志;
Cc表示含有S_MDNg的第c条DNS查询日志,也称为最后一条DNS查询日志;
步骤4-2,以任意一天daym的并以1分钟为间隔进行 域名访问量计算,获得基于的每分钟的访问次数然后采用切比雪夫不等式对进行检测,得到是 否属于正常的访问次数区间为第i个时间段内主域名的每分钟访问量的平均值,为第i个时间段内主域名 的每分钟访问量的标准差;i为daym中时间段的标识号,i的取值至少为3个时间段;
属于正常的访问次数区间内,则S_MDN1为正常,赋值为0;
不属于正常的访问次数区间内,则S_MDN1为恶意的域名,赋值为1。
在本发明中,以任意一天daym的并以1分钟为间隔进 行域名访问量计算,获得基于的每分钟的访问次数然后采用切比雪夫不等式对进行检测,得到是 否属于正常的访问次数区间为第i个时间段内主域名的每分钟访问量的平均值,为第i个时间段内主域名 的每分钟访问量的标准差;i为daym中时间段的标识号,i的取值至少为3个时间段;
属于正常的访问次数区间内,则S_MDN2为正常,赋值为0;
不属于正常的访问次数区间内,则S_MDN2为恶意的域名,赋值为1。
在本发明中,以任意一天daym的并以1分钟为间隔进 行域名访问量计算,获得基于的每分钟的访问次数然后采用切比雪夫不等式对进行检测,得到是 否属于正常的访问次数区间为第i个时间段内主域名的每分钟访问量的平均值,为第i个时间段内主域 名的每分钟访问量的标准差;i为daym中时间段的标识号,i的取值至少为3个时间段;
属于正常的访问次数区间内,则S_MDNg为正常,赋值为0;
不属于正常的访问次数区间内,则S_MDNg为恶意的域名,赋值为1。
实施例1
原始DNS查询日志的格式参考表2。表2中编号为1、2、3、4、5、6、8、13和15中主域名为拼音组合;编号为7、9、10、11和12中主域名为英文单词组合;编号16、17、18、19、20、21、22和23中二级域为汉语拼音首字母组合(陕西管理职业学院:www.sxglzyxy.com.cn,淮南市城管局:www.hncgj.gov.cn,黑龙江交警网:www.hljjj.gov.cn),主机名为随机字符串;编号为26和27中域名为英文单词首字母组合(www.ccf.org.cn:china computerfederation,www.ieee.org:Institute of Electrical and Electronic Engineers);编号为14中的域名hqu为拼音首字母和英文单词首字母组合(hua qiao university)。
表2为原始的DNS查询日志,当特征向量x6中未加入拼音语料进行检测时,编号1、2、3、4、8、13和15被检测为可疑的域名,如表3所示。而加入拼音语料后1、2、3、4和15被检测为正常域名,而8、13和15被检测为可疑域名,如表4所示;说明加入拼音语料确实可以降低对域名的误报,但不能避免误报。表5为对域名可读性检测出可疑的域名进一步做解析行为检测后所得到的恶意域名所对应的DNS查询日志。
本发明方法利用域名可读性分类器检测出域名特征,对26000多个域名检测,有900多个域名被检测为不可读域名。部分检测结果如图3所示。
在实施例1中解析行为主要是指每分钟请求域名的次数,对第一步检测为可疑的域名进行解析行为特征的检测。正常的域名每天的解析行为比较相似,而木马通信使用的随机生成域名的解析行为比较异常,可能会有突发性的DNS请求或者仅有一次请求之后便不再使用。采用切比雪夫不等式检测突发性的域名请求,切比雪夫不等式中的平均值表示某域名每分钟的请求次数,方差表示一段时间内,域名请求次数的波动情况。为了更精确的表示域名解析行为的模式,将一天分为三个时间段分别训练每个时间段平均值μ和方差σ2,并且阈值α(经验值设为0.05)。判断域名每分钟的访问量是否在给定的区间中,若在区间内则判定该域名的解析行为正常,否则判定域名为可疑域名。
参见图4、图5所示,对YYYY年MM月DD日的2604066条DNS日志进行了检测,检测出938个不可读主域名,进一步对解析行为分析,检测出一个解析行为异常的域名hncgj.gov.cn(即淮南城管局)。统计其相邻前两天和后一天(即DD-2日、DD-1日、DD日、DD+1日)的DNS请求次数如图4(横轴表示从零点开始到24点共1440分钟,纵轴表示为每分钟的访问量)所示,发现除了DD日11时到16时的域名请求量较大外,其它时间访问量很小。正常的域名解析行为模式如图5所示:在00:00~08:00期间访问量较小,每分钟的请求次数在20左右;08:00~16:00时间段内每分钟的请求次数在100左右;16:00~24:00间每分钟的访问次数在40次左右。
提取了含有hncgj.gov.cn的所有DNS查询日志的域名,发现该主域名(即hncgj.gov.cn)下生成了大量的子域名,如下表所示:hncgj.gov.cn是正常的有备案的域名,但是其子域名被用来实施攻击活动。
本发明是基于DNS访问日志检测出网络中的攻击活动。该发明主要从域名的字符分布规律及可读性和DNS解析行为两个方面进行检测。1)对于域名可读性方面的检测除了使用熵、长度以及字符出现频率的特征外首次加入了域名是否拼音的特征,目前现有的域名可读性检测主要是识别域名是否为英文单词组合来判断,这导致将大量的中文全拼域名误报为可疑域名,加入拼音可读性检测后降低误报率。2)现在很多安全产品都使用白名单对域名进行过滤,但是有很多黑客去劫持一些正常域名,并在其下面产生随机的子域名进行攻击活动,这将会导致白名单失效;所以本发明不只对域名的一级域进行字符可读性检测,也会对域名下的最小的子域名进行字符可读性检测,这可避免绕过白名单的恶意域名。3)对上述通过字符分布及可读性检测出的可疑域名进行行为检测,行为检测只是对可疑域名的。这样做的优点不用对每一个域名进行行为检测,减少大量的计算。
表2原始DNS查询日志的列表
“a”28代表DNS查询日志的查询类型。Response IP项中“null”代表空值,列举了网址处为举例说明,无特定指代。表2省略了Src IP、DNS Server IP和Time stamp项的内容。
表3未加入拼音可读性时检测出的可疑DNS查询日志的列表
表4加入拼音可读性后检测出的可疑DNS查询日志的列表
表5被检测出的可疑DNS查询日志的列表

Claims (1)

1.一种基于域名可读性及域名解析行为的可疑性检测方法,所述方法适用于对拼音和/或单词首字母组合的域名,所述方法应用于计算机中,DNS服务器将DNS查询日志输出给所述计算机,所述计算机将检测得到的恶意域名输出给所述DNS服务器,其特征在于所述方法包括有下列步骤:
第一步:域名集合提取;
从所有DNS查询日志的集合DNS query logT={log1,log2,…,logn}中提取出所有域名字段Domain Name,得到域名集合
任意一条DNS查询日志记为logj,1≤j≤n;
第二步:域名可读性特征提取;
步骤2-1,从域名集合中提取出所有域名字段Domain Name的主机名HostName,构成主机名集
从域名集合中提取出所有域名字段Domain Name的二级域SLD,构成二级域集
所述的
所述的
步骤2-2,依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对中的各个元素进行主机名特征向量提取,得到可读性主机名向量集
依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对中的各个元素进行二级域特征向量提取,得到可读性二级域向量集
依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对进行特征向量提取,1≤j≤n,得到任意一条DNS查询日志logj中域名的主机名向量,记为任意一条可读性主机名向量
步骤2-3,依据13维特征向量X={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13}对进行特征向量提取,1≤j≤n,得到任意一条DNS查询日志logj中域名的二级域向量,记为任意一条可读性二级域向量
第三步:可读性检测;
采用C4.5的生成算法对进行同一条DNS查询日志配对检测,得到同一条DNS查询日志的域名字段中主机名和二级域的可读性数字量化值,即赋值为0或1,“0”为可读,“1”为不可读;
对域名字段中主机名和二级域的可读性数字量化值的判断具体地为:
步骤3-1,采用C4.5的生成算法对进行检测,1≤j≤n,得到域名字段中主机名和二级域的可读性数字量化值;若赋值为0且赋值为0,则为可读,即为正常域名;
赋值为0且赋值为1,则为不可读,即为可疑域名,记为
赋值为1且赋值为0,则为不可读,即为可疑域名,记为
赋值为1且赋值为1,则为不可读,即为可疑域名,记为
步骤3-2,从中提取出主域名,1≤j≤n,记为将可疑域名的主域名用集合形式表达为中存在有相同的主域名,则相同主域名在中只保留一份,将更改为S_SMDN={S_MDN1,S_MDN2,…,S_MDNg},任意一个可疑的主域名记为S_MDNp,1≤p≤g;
第四步,检测可疑主域名;
将DNS query logT={log1,log2,…,logn}中含有可疑主域名的所有DNS查询日志提取出来,然后对可疑主域名以任意一天中间隔为1分钟进行域名访问量计算,最后采用切比雪夫不等式来判断访问次数是否属于正常的访问次数区间,从而结束对DNS查询日志的可疑检测;
从可疑主域名中检测出恶意域名的步骤为:
步骤4-1,将DNS query logT={log1,log2,…,logn}中含有S_MDNp的所有DNS查询日志提取出来,记为含有S_MDNp的可疑日志集合1≤p≤g;
步骤4-2,对任意一天daym以1分钟为间隔进行域名访问量计算,1≤p≤g,获得基于的每分钟的访问次数然后采用切比雪夫不等式对进行检测,得到是否属于正常的访问次数区间 为第i个时间段内主域名的每分钟访问量的平均值,为第i个时间段内主域名的每分钟访问量的标准差;i为daym中时间段的标识号,i的取值至少为3个时间段;
属于正常的访问次数区间内,则S_MDNp为正常,赋值为0;
不属于正常的访问次数区间内,则S_MDNp为恶意的域名,赋值为1。
CN201610131461.1A 2016-03-08 2016-03-08 一种基于域名可读性及域名解析行为的可疑性检测方法 Active CN105827594B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610131461.1A CN105827594B (zh) 2016-03-08 2016-03-08 一种基于域名可读性及域名解析行为的可疑性检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610131461.1A CN105827594B (zh) 2016-03-08 2016-03-08 一种基于域名可读性及域名解析行为的可疑性检测方法

Publications (2)

Publication Number Publication Date
CN105827594A CN105827594A (zh) 2016-08-03
CN105827594B true CN105827594B (zh) 2018-11-27

Family

ID=56987447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610131461.1A Active CN105827594B (zh) 2016-03-08 2016-03-08 一种基于域名可读性及域名解析行为的可疑性检测方法

Country Status (1)

Country Link
CN (1) CN105827594B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713312A (zh) * 2016-12-21 2017-05-24 深圳市深信服电子科技有限公司 检测非法域名的方法及装置
CN106911717A (zh) * 2017-04-13 2017-06-30 成都亚信网络安全产业技术研究院有限公司 一种域名检测方法及装置
CN107018156A (zh) * 2017-06-01 2017-08-04 北京云端智度科技有限公司 域名劫持的防御保障方法
CN108200034B (zh) * 2017-12-27 2021-01-29 新华三信息安全技术有限公司 一种识别域名的方法及装置
CN108881151B (zh) * 2017-12-29 2021-08-03 哈尔滨安天科技集团股份有限公司 一种无关节点确定方法、装置及电子设备
CN108449349B (zh) * 2018-03-23 2021-01-26 新华三大数据技术有限公司 防止恶意域名攻击的方法及装置
CN109889616B (zh) * 2018-05-21 2020-06-05 新华三信息安全技术有限公司 一种识别域名的方法及装置
CN112204930B (zh) * 2018-05-29 2022-03-01 华为云计算技术有限公司 恶意域名检测设备、系统和方法
CN110768929A (zh) * 2018-07-26 2020-02-07 中国电信股份有限公司 域名检测方法和装置、计算机可读存储介质
CN108989320B (zh) * 2018-07-27 2021-04-16 网宿科技股份有限公司 一种分布式拒绝服务DDoS攻击目标的检测方法及装置
CN110401632B (zh) * 2019-06-20 2022-02-15 国网辽宁省电力有限公司信息通信分公司 一种恶意域名感染主机溯源方法
CN110784483B (zh) * 2019-11-04 2020-11-27 北京航空航天大学 一种基于dga异常域名的事件检测系统及方法
CN111031026A (zh) * 2019-12-09 2020-04-17 杭州安恒信息技术股份有限公司 一种dga恶意软件感染主机检测方法
CN114285587B (zh) * 2020-09-17 2023-10-10 中国电信股份有限公司 域名鉴别方法和装置、域名分类模型的获取方法和装置
CN113328994B (zh) * 2021-04-30 2022-07-12 新华三信息安全技术有限公司 一种恶意域名处理方法、装置、设备及机器可读存储介质
TWI781852B (zh) * 2021-12-15 2022-10-21 中華電信股份有限公司 偵測惡意網域名稱的電子裝置和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702660A (zh) * 2009-11-12 2010-05-05 中国科学院计算技术研究所 异常域名检测方法及系统
CN103561120A (zh) * 2013-10-08 2014-02-05 北京奇虎科技有限公司 检测可疑dns的方法、装置和可疑dns的处理方法、系统
CN104994117A (zh) * 2015-08-07 2015-10-21 国家计算机网络与信息安全管理中心江苏分中心 一种基于dns解析数据的恶意域名检测方法及系统
CN105024969A (zh) * 2014-04-17 2015-11-04 北京启明星辰信息安全技术有限公司 一种实现恶意域名识别的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702660A (zh) * 2009-11-12 2010-05-05 中国科学院计算技术研究所 异常域名检测方法及系统
CN103561120A (zh) * 2013-10-08 2014-02-05 北京奇虎科技有限公司 检测可疑dns的方法、装置和可疑dns的处理方法、系统
CN105024969A (zh) * 2014-04-17 2015-11-04 北京启明星辰信息安全技术有限公司 一种实现恶意域名识别的方法及装置
CN104994117A (zh) * 2015-08-07 2015-10-21 国家计算机网络与信息安全管理中心江苏分中心 一种基于dns解析数据的恶意域名检测方法及系统

Also Published As

Publication number Publication date
CN105827594A (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
CN105827594B (zh) 一种基于域名可读性及域名解析行为的可疑性检测方法
US10178107B2 (en) Detection of malicious domains using recurring patterns in domain names
CN108156131B (zh) Webshell检测方法、电子设备和计算机存储介质
Chen An unsupervised approach to detect spam campaigns that use botnets on twitter
WO2019128529A1 (zh) Url攻击检测方法、装置以及电子设备
US10516671B2 (en) Black list generating device, black list generating system, method of generating black list, and program of generating black list
Cao et al. Machine learning to detect anomalies in web log analysis
CN112866023B (zh) 网络检测、模型训练方法、装置、设备及存储介质
CN112468347B (zh) 一种云平台的安全管理方法、装置、电子设备及存储介质
CN112929390B (zh) 一种基于多策略融合的网络智能监控方法
Krishnaveni et al. Ensemble approach for network threat detection and classification on cloud computing
US11108794B2 (en) Indicating malware generated domain names using n-grams
Yong et al. Malicious Web traffic detection for Internet of Things environments
CN113098887A (zh) 一种基于网站联合特征的钓鱼网站检测方法
CN110505202B (zh) 一种攻击组织发现方法及系统
Luo et al. Dgasensor: Fast detection for dga-based malwares
Ma et al. Discovering suspicious APT families through a large-scale domain graph in information-centric IoT
Soleymani et al. A novel approach for detecting DGA-based botnets in DNS queries using machine learning techniques
Bao et al. Using passive dns to detect malicious domain name
Eldos et al. On the KDD'99 Dataset: Statistical Analysis for Feature Selection
CN113965393B (zh) 一种基于复杂网络和图神经网络的僵尸网络检测方法
TWI796706B (zh) 資料外洩偵測方法與裝置
CN110572402A (zh) 基于网络访问行为分析的互联网托管网站检测方法、系统和可读存储介质
Phan et al. User identification via neural network based language models
CN111541687B (zh) 一种网络攻击检测方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant