CN109120733B - 一种利用dns进行通信的检测方法 - Google Patents
一种利用dns进行通信的检测方法 Download PDFInfo
- Publication number
- CN109120733B CN109120733B CN201810800900.2A CN201810800900A CN109120733B CN 109120733 B CN109120733 B CN 109120733B CN 201810800900 A CN201810800900 A CN 201810800900A CN 109120733 B CN109120733 B CN 109120733B
- Authority
- CN
- China
- Prior art keywords
- domain name
- dns
- request
- random
- level
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/146—Tracing the source of attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络通信检测技术,旨在提供一种利用DNS进行通信的检测方法。该方法包括以下步骤:基于训练得到识别随机字符串的算法;采集DNS流量并解析;根据域名长度进行过滤;分割域名;判断域名是否长且随机;识别是否使用DNS传送数据;产生告警信息;根据告警信息中的源IP,定位具体的联网设备;然后定位访问这些域名的具体进程,停止进程并清除恶意软件。本发明的检测方法可以有效针对利用DNS进行通信的行为进行告警。并且,维护人员可以通过告警的IP定位具体的设备,并清除使用DNS进行通信的恶意软件。
Description
技术领域
本发明涉及网络通信检测技术,特别涉及一种利用DNS进行通信的检测方法。
背景技术
DNS(Domain Name System,域名系统)是万维网上作为域名和IP地址相互映射的一个分布式数据库,能够帮助用户更方便的使用互联网。一般防火墙不会阻断DNS流量,因此有人使用DNS恶意穿墙,有些病毒、木马也使用DNS进行穿墙回连访问命令与控制服务器(C&C服务器)。
上海交通大学在中国发明专利“一种DNS隐蔽信道的检测方法”中给出的解决方案是,提取超长域名并以“客户端IP+纯域名”的形式记录并统计,如达到阈值就认为是存在隐蔽信道。但是,该方案在运行过程中容易产生误报。因为有些域名带有很多级子域名,域名的整体长度就会变得相当长。当访问的某个域名具有多个不同的多级子域名时,使用上述检测方法就会产生误报。
发明内容
本发明要解决的问题是,克服现有技术中的不足,提供一种利用DNS进行通信的检测方法。
为解决技术问题,本发明的解决方案是:
提供一种利用DNS进行通信的检测方法,包括以下步骤:
(1)基于训练得到识别随机字符串的算法
搜集足量的正常英文文本,并使用随机算法产生足够多的随机英文字符串作为训练集;使用马尔科夫模型统计正常英文文本中每个字符后下一个字符的出现概率,并使用随机字符串进行验证,最后产生能初步识别随机字符串的算法;
(2)采集DNS流量并解析
使用DPDK(Data Plane Development Kit,数据平面开发工具包)捕获流经网卡的DNS流量,然后按照DNS协议格式进行解析,得到发起请求的源IP、请求的域名、请求的时间、请求的类型、返回的内容以及返回内容的TTL(Time To Live,域名解析的生命周期);
(3)根据域名长度进行过滤
判断域名的总长度,如果域名的总长度已达到事先设定的阈值则进入下一步,没有达到阈值则结束;
(4)分割域名
从域名中分离出顶级域名、二级域名、三级域名,依次类推直到域名结束;如果没有三级域名,则结束不再进行后续步骤;
(5)判断域名是否长且随机
判断三级域名及以后的每级域名长度是否分别达到设定的阈值,并用步骤(1)得到的算法判断该级域名是否是随机的;如果达到设定阈值且是随机的,记录该级域名的长度;
如果符合上述条件的各个级别中域名的长度之和达到设定的阈值,认为该域名是可疑的,进入下一步,否则结束;
(6)识别是否使用DNS传送数据
按照发起请求的源IP为维度,记录可疑域名、请求的时间、请求的类型和返回的内容;然后统计可疑域名的个数,相同的域名只统计一次;当指定时间范围内可疑域名的个数达到设定的阈值,则判定是在使用DNS传送数据,并进入下一步;
(7)产生告警信息
产生告警信息,告警信息包括发起请求的源IP,以及具体每条记录的信息,包括可疑域名、请求的类型、返回的内容。
本发明中,还包括下述步骤:根据告警信息中的源IP,定位具体的联网设备;然后定位访问这些域名的具体进程,停止进程并清除恶意软件。
发明原理描述:
使用DNS进行通信必然会产生很多很长且随机的域名,通过检测使用DNS进行通信的行为,找出使用DNS进行通信的源IP,即可根据IP找到相应的设备并清除相应的恶意软件。本发明的关键是识别很长且随机的域名,并以请求源IP为维度统计这些域名的数量,根据数量是否达到设定的阈值判断是否使用DNS进行通信。本发明通过增加判断各级子域名是否随机,并统计随机的各级子域名的总长度来判断单个域名是否达到阈值,降低了误报。
与现有技术相比,本发明的技术效果是:
本发明的检测方法可以有效针对利用DNS进行通信的行为进行告警。并且,维护人员可以通过告警的IP定位具体的设备,并清除使用DNS进行通信的恶意软件。
附图说明
图1是本发明利用DNS进行通信的检测方法的流程图。
具体实施方式
本发明中利用DNS进行通信的检测方法,包括以下步骤:
(1)基于训练得到识别随机字符串的算法
搜集足量的正常英文文本,并使用随机算法产生足够多的随机英文字符串作为训练集;使用马尔科夫模型统计正常英文文本中每个字符后下一个字符的出现概率,并使用随机字符串进行验证,最后产生能初步识别随机字符串的算法;
(2)采集DNS流量并解析
使用DPDK(Data Plane Development Kit,数据平面开发工具包)捕获流经网卡的DNS流量,然后按照DNS协议格式进行解析,得到发起请求的源IP、请求的域名、请求的时间、请求的类型、返回的内容以及返回内容的TTL;
(3)根据域名长度进行过滤
判断域名的总长度,如果域名的总长度已达到事先设定的阈值则进入下一步,没有达到阈值则结束;
(4)分割域名
从域名中分离出顶级域名、二级域名、三级域名,依次类推直到域名结束;如果没有三级域名,则结束不再进行后续步骤;
(5)判断域名是否可疑
判断三级域名及以后的每级域名长度是否分别达到设定的阈值,并用步骤(1)得到的算法判断该级域名是否是随机的;如果达到设定阈值且是随机的,记录该级域名的长度;
如果符合上述条件的各个级别中域名的长度之和达到设定的阈值,认为该域名是可疑的,进入下一步,否则结束;
(6)识别是否使用DNS传送数据
按照发起请求的源IP为维度,记录可疑域名、请求的时间、请求的类型和返回的内容;然后统计可疑域名的个数,相同的域名只统计一次;当指定时间范围内可疑域名的个数达到设定的阈值,则判定是在使用DNS传送数据,并进入下一步;
(7)产生告警信息
产生告警信息,告警信息包括发起请求的源IP,以及具体每条记录的信息,包括可疑域名、请求的类型、返回的内容。
(8)定位并清除恶意软件
根据告警信息中的源IP,定位具体的联网设备;然后定位访问这些域名的具体进程,停止进程并清除恶意软件。
下面结合一个具体的实例,对本发明的具体操作进行说明:
图1是本发明具体实施例的流程图,下面结合图1进行详细阐述。
步骤S101,基于训练得到识别随机字符串的算法
正常英文文本来源是从20多种不同类型的英文书籍中搜集1000万以上字母的英文文本,将一个句子去掉中间的空格作为一个连续字符串。随机英文字符串由随机算法产生,每50个字母为一个字符串,产生1000个以上的随机字符串。
步骤S102,捕获采集DNS流量并解析
捕获流经网卡的DNS协议流量数据包并按照DNS协议格式进行解析,得到发起请求的源IP、请求的域名、请求的时间、请求的类型、返回的内容以及返回内容的TTL(Time ToLive,域名解析的生命周期)。
使用DPDK(Data Plane Development Kit,数据平面开发工具包)采集流经网卡的UDP协议53端口流量(DNS协议流量)。
步骤S103,根据域名长度进行过滤
判断域名的总长度是否达到设定的阈值;若是,则进入下一步;若否,则过滤域名,不再进行后续操作。
设定的阈值为可配置,可以通过修改配置文件来改变配置的阈值。
步骤S104,分割域名
其中若是是指所述域名的总长度达到设定的阈值。
从域名中分离出顶级域名、二级域名、三级域名依次类推直到域名结束。如果没有三级域名,则结束不再进行后续步骤。所述分割域名是指以分隔符“.”分割域名。从后往前依次为顶级域名、二级域名、三级域名等。
作为更进一步的优先方案:如果二级域名为公开域名,则将该顶级域名和二级域名整体视为一个顶级域名,后面的域名依次降级,即原本的三级域名视为二级域名。如ccc.abcd.com.cn,原本cn为顶级域名,com为二级域名,abcd为三级域名,ccc为四级域名。但在本实例中,将com.cn视为顶级域名,abcd视为二级域名,ccc视为三级域名。这样处理的好处是:abcd.com.cn是纯域名部分,这段是不能用来传数据的,过滤掉可以防止因为纯域名部分很长且随机而引起误报。
步骤S105,判断域名是否长且随机
作为一种实施方式,判断三级域名及以后的每级域名长度是否分别达到设定的阈值,并判断该级域名是否是随机的;如果达到设定阈值且是随机的,记录该级域名的长度;
如果符合上述条件的各个级别中域名的长度之和达到设定的阈值,认为该域名是可疑的,进入下一步,否则结束;
设定的每级域名长度的阈值和各个级别中域名的长度之和的阈值都是可配置的,并且各个级别中域名的长度之和的阈值和S102中域名的总长度的阈值是同一个。
步骤S106,识别是否使用DNS传送数据
按照发起请求的源IP为维度,记录可疑域名、请求的时间、请求的类型和返回的内容;然后统计可疑域名的个数,相同的域名只统计一次;当指定时间范围内可疑域名的个数达到设定的阈值,则判定是在使用DNS传送数据,并进入下一步;
以发起请求的源IP为维度实时保存可疑域名的信息,包括可疑域名、请求的时间、请求的类型和返回的内容。然后每隔一个周期,以源IP为维度统计可疑域名的个数,相同的域名只统计一次;之后清理掉请求的时间距离当前时间超过一个周期的可疑域名信息。
所述周期和设定的可疑域名个数的阈值都是可配置的,可以通过修改配置文件进行修改。
步骤S107,产生告警信息
在本实施例中,优选地,告警信息包括发起请求的源IP、产生告警的时间、告警的描述信息以及告警的详细信息。
所述告警的详细信息包括请求的可疑域名、请求的时间、请求的类型、返回的内容。
在获得告警信息后,可以根据告警信息中的源IP定位具体的联网设备;然后定位访问这些域名的具体进程,停止进程并清除恶意软件。
Claims (1)
1.一种利用DNS进行通信的检测方法,其特征在于,包括以下步骤:
(1)基于训练得到识别随机字符串的算法
搜集足量的正常英文文本,并使用随机算法产生足够多的随机英文字符串作为训练集;使用马尔科夫模型统计正常英文文本中每个字符后下一个字符的出现概率,并使用随机字符串进行验证,最后产生能初步识别随机字符串的算法;
(2)采集DNS流量并解析
使用DPDK捕获流经网卡的DNS流量,然后按照DNS协议格式进行解析,得到发起请求的源IP、请求的域名、请求的时间、请求的类型、返回的内容以及返回内容的TTL;
(3)根据域名长度进行过滤
判断域名的总长度,如果域名的总长度已达到事先设定的阈值则进入下一步,没有达到阈值则结束;
(4)分割域名
从域名中分离出顶级域名、二级域名、三级域名,依次类推直到域名结束;如果没有三级域名,则结束不再进行后续步骤;
(5)判断域名是否长且随机
判断三级域名及以后的每级域名长度是否分别达到设定的阈值,并用步骤(1)得到的算法判断该级域名是否是随机的;如果达到设定阈值且是随机的,记录该级域名的长度;
如果符合上述条件的各个级别中域名的长度之和达到设定的阈值,认为该域名是可疑的,进入下一步,否则结束;
(6)识别是否使用DNS传送数据
按照发起请求的源IP为维度,记录可疑域名、请求的时间、请求的类型和返回的内容;然后统计可疑域名的个数,相同的域名只统计一次;当指定时间范围内可疑域名的个数达到设定的阈值,则判定是在使用DNS传送数据,并进入下一步;
(7)产生告警信息
产生告警信息,告警信息包括发起请求的源IP,以及具体每条记录的信息,包括可疑域名、请求的类型、返回的内容;
(8)根据告警信息中的源IP,定位具体的联网设备;然后定位访问这些域名的具体进程,停止进程并清除恶意软件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810800900.2A CN109120733B (zh) | 2018-07-20 | 2018-07-20 | 一种利用dns进行通信的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810800900.2A CN109120733B (zh) | 2018-07-20 | 2018-07-20 | 一种利用dns进行通信的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109120733A CN109120733A (zh) | 2019-01-01 |
CN109120733B true CN109120733B (zh) | 2021-06-01 |
Family
ID=64863186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810800900.2A Active CN109120733B (zh) | 2018-07-20 | 2018-07-20 | 一种利用dns进行通信的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109120733B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112836214A (zh) * | 2019-11-22 | 2021-05-25 | 南京聚铭网络科技有限公司 | 一种通讯协议隐蔽通道检测方法 |
CN111600865B (zh) * | 2020-05-11 | 2022-06-07 | 杭州安恒信息技术股份有限公司 | 一种异常通信检测方法、装置及电子设备和存储介质 |
CN111654487B (zh) * | 2020-05-26 | 2022-04-19 | 南京云利来软件科技有限公司 | 一种基于旁路网络全流量与行为特征dga域名识别方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624706A (zh) * | 2012-02-22 | 2012-08-01 | 上海交通大学 | 一种dns隐蔽信道的检测方法 |
CN102984178A (zh) * | 2012-12-31 | 2013-03-20 | 山石网科通信技术(北京)有限公司 | 数据报文的检测方法及装置 |
CN103152442A (zh) * | 2013-01-31 | 2013-06-12 | 中国科学院计算机网络信息中心 | 一种僵尸网络域名的检测与处理方法及系统 |
CN105024969A (zh) * | 2014-04-17 | 2015-11-04 | 北京启明星辰信息安全技术有限公司 | 一种实现恶意域名识别的方法及装置 |
CN105119876A (zh) * | 2015-06-29 | 2015-12-02 | 中国科学院信息工程研究所 | 一种自动生成的域名的检测方法及系统 |
US9426171B1 (en) * | 2014-09-29 | 2016-08-23 | Amazon Technologies, Inc. | Detecting network attacks based on network records |
CN107547488A (zh) * | 2016-06-29 | 2018-01-05 | 华为技术有限公司 | 一种dns隧道检测方法以及dns隧道检测装置 |
CN107612911A (zh) * | 2017-09-20 | 2018-01-19 | 杭州安恒信息技术有限公司 | 基于dns流量检测受感染主机和c&c服务器的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107645503B (zh) * | 2017-09-20 | 2020-01-24 | 杭州安恒信息技术股份有限公司 | 一种基于规则的恶意域名所属dga家族的检测方法 |
CN107666490B (zh) * | 2017-10-18 | 2019-09-20 | 中国联合网络通信集团有限公司 | 一种可疑域名检测方法及装置 |
-
2018
- 2018-07-20 CN CN201810800900.2A patent/CN109120733B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624706A (zh) * | 2012-02-22 | 2012-08-01 | 上海交通大学 | 一种dns隐蔽信道的检测方法 |
CN102984178A (zh) * | 2012-12-31 | 2013-03-20 | 山石网科通信技术(北京)有限公司 | 数据报文的检测方法及装置 |
CN103152442A (zh) * | 2013-01-31 | 2013-06-12 | 中国科学院计算机网络信息中心 | 一种僵尸网络域名的检测与处理方法及系统 |
CN105024969A (zh) * | 2014-04-17 | 2015-11-04 | 北京启明星辰信息安全技术有限公司 | 一种实现恶意域名识别的方法及装置 |
US9426171B1 (en) * | 2014-09-29 | 2016-08-23 | Amazon Technologies, Inc. | Detecting network attacks based on network records |
CN105119876A (zh) * | 2015-06-29 | 2015-12-02 | 中国科学院信息工程研究所 | 一种自动生成的域名的检测方法及系统 |
CN107547488A (zh) * | 2016-06-29 | 2018-01-05 | 华为技术有限公司 | 一种dns隧道检测方法以及dns隧道检测装置 |
CN107612911A (zh) * | 2017-09-20 | 2018-01-19 | 杭州安恒信息技术有限公司 | 基于dns流量检测受感染主机和c&c服务器的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109120733A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8429747B2 (en) | Method and device for detecting flood attacks | |
CN109120733B (zh) | 一种利用dns进行通信的检测方法 | |
CN111277570A (zh) | 数据的安全监测方法和装置、电子设备、可读介质 | |
CN112104677A (zh) | 一种基于知识图谱的受控主机检测方法和装置 | |
CN107404465A (zh) | 网络数据分析方法及服务器 | |
CN108833437A (zh) | 一种基于流量指纹和通信特征匹配的apt检测方法 | |
CN111131260B (zh) | 一种海量网络恶意域名识别和分类方法及系统 | |
CN101702660A (zh) | 异常域名检测方法及系统 | |
CN111654487B (zh) | 一种基于旁路网络全流量与行为特征dga域名识别方法 | |
CN112929390A (zh) | 一种基于多策略融合的网络智能监控方法 | |
CN113141370B (zh) | 一种内部网络流量的恶意dns隧道识别方法 | |
CN112235288A (zh) | 一种基于gan的ndn网络入侵检测方法 | |
CN110868404A (zh) | 一种基于tcp/ip指纹的工控设备自动识别方法 | |
US20210336972A1 (en) | Method for detecting lost account based on multiple dimensions | |
CN115333966A (zh) | 一种基于拓扑的Nginx日志分析方法、系统及设备 | |
CN113746804B (zh) | Dns隐蔽信道检测方法、装置、设备及存储介质 | |
CN104021348B (zh) | 一种隐匿p2p程序实时检测方法及系统 | |
CN112583827B (zh) | 一种数据泄露检测方法及装置 | |
CN112929370B (zh) | 域名系统隐蔽信道检测方法及装置 | |
CN113596037B (zh) | 一种基于网络全流量中事件关系有向图的apt攻击检测方法 | |
CN111371917B (zh) | 一种域名检测方法及系统 | |
CN110784483B (zh) | 一种基于dga异常域名的事件检测系统及方法 | |
CN114448846A (zh) | 一种dns隧道通信检测方法及系统 | |
CN114172861A (zh) | 一种网络地址转换设备的识别方法及装置 | |
JP4188203B2 (ja) | ログ分析装置、ログ分析方法およびログ分析プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |