CN113114524A - 基于Spark流式的DNS隧道检测方法、装置及电子设备 - Google Patents

基于Spark流式的DNS隧道检测方法、装置及电子设备 Download PDF

Info

Publication number
CN113114524A
CN113114524A CN202110241537.7A CN202110241537A CN113114524A CN 113114524 A CN113114524 A CN 113114524A CN 202110241537 A CN202110241537 A CN 202110241537A CN 113114524 A CN113114524 A CN 113114524A
Authority
CN
China
Prior art keywords
domain name
data
dns
detection method
protocol data
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.)
Granted
Application number
CN202110241537.7A
Other languages
English (en)
Other versions
CN113114524B (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.)
Beijing 6Cloud Technology Co Ltd
Beijing 6Cloud Information Technology Co Ltd
Original Assignee
Beijing 6Cloud Technology Co Ltd
Beijing 6Cloud Information Technology Co Ltd
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 Beijing 6Cloud Technology Co Ltd, Beijing 6Cloud Information Technology Co Ltd filed Critical Beijing 6Cloud Technology Co Ltd
Priority to CN202110241537.7A priority Critical patent/CN113114524B/zh
Publication of CN113114524A publication Critical patent/CN113114524A/zh
Application granted granted Critical
Publication of CN113114524B publication Critical patent/CN113114524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • 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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及数据通信技术领域,实施例提供一种基于Spark流式的DNS隧道检测方法、装置及电子设备。其中方法包括:采用SparkStreaming将数据流量按时间切片为分布式数据格式;从时间切片后的数据流量中提取DNS协议数据;从所述DNS协议数据中提取数据特征;将提取出的数据特征输入训练好的预测模型中,得到预测结果;统计所述预测结果大于预设的预测结果阈值的DNS协议数据的二级域名的出现次数;确定所述二级域名的出现次数大于设定的二级域名次数阈值,则所述DNS协议数据为DNS隧道。本发明提供的实施方式仅需要DNS报文的类型和域名以及UDP_length等数据特征信息,处理速度快,占用处理资源少。

Description

基于Spark流式的DNS隧道检测方法、装置及电子设备
技术领域
本发明涉及数据通信技术领域,具体地涉及一种基于Spark流式的DNS隧道检测方法、一种基于Spark流式的DNS隧道检测装置以及一种电子设备。
背景技术
域名系统(Domain Name System)是一种域名(Domain)和网络地址(IP)一一对应的标准协议,实现这种协议提供DNS服务的称为DNS服务器。为了便于管理,域名系统在因特网中的命名也采用层次结构的命名方法。域名系统中也有权威的根域名服务器、权威域名服务器等。
DNS隧道是将其他协议的内容封装在DNS协议中,然后以DNS请求和响应包完成传输数据(通信)的技术。当前网络世界中的DNS是一项必不可少的服务,所以防火墙和入侵检测设备处于可用性和用户友好的考虑很难做到完全过滤掉DNS流量,因此,攻击者可以利用它实现诸如远程控制,文件传输等操作,众多研究表明DNS Tunneling在僵尸网络和APT攻击中扮演着至关重要的角色。
现有的检测技术有非机器学习方法和机器学习方法,机器学习方法有基于通信行为分析的DNS隧道检测、基于会话时长、会话中数据包总数、“上行大包”占请求报文总数的比例、“下行小包”占响应报总数的比例、有效载荷的上传下载比等特征,结合随机森林模型,最终实现对DNS隧道的有效检测。但都存在检测效率不高的问题。
发明内容
本发明实施例的目的是提供一种基于Spark流式的DNS隧道检测方法、一种基于Spark流式的DNS隧道检测装置以及一种电子设备。
为了实现上述目的,本发明第一方面提供一种基于Spark流式的DNS隧道检测方法,所述检测方法包括:采用SparkStreaming将数据流量按时间切片为分布式数据格式;从时间切片后的数据流量中提取DNS协议数据;从所述DNS协议数据中提取数据特征;将提取出的数据特征输入训练好的预测模型中,得到预测结果;统计所述预测结果大于预设的预测结果阈值的DNS协议数据的二级域名的出现次数;确定所述二级域名的出现次数大于设定的二级域名次数阈值,则所述DNS协议数据为DNS隧道。
优选的,在确定所述二级域名的出现次数大于设定的二级域名次数阈值之后,所述检测方法还包括:确定所述预测结果大于预设的预测结果阈值的DNS协议数据存在三级域名;评价所述三级域名的出现次数的离散程度;确定所述离散程度小于预设的离散程度阈值。
优选的,所述数据特征包括:域名长度、域名信息熵、域名平均累计斜率、字符类型分布特征、子域名长度、域名与类型组合的信息熵和子域名平均累计斜率中的至少一种。
优选的,所述域名与类型组合的信息熵通过以下方式获得:确定所述域名的类型;将确定的类型对应的文字标识补充至所述域名之后;计算所述域名和所述文字标识组成的字符的信息熵。
优选的,所述域名平均累计斜率或子域名平均累计斜率通过以下方式获取:统计所述域名或所述子域名中每个字符的出现频率,按照出现频率降序对字符进行排列,然后计算相邻字符频率的差值,最后计算所述差值的平均值,记为所述域名或所述子域名的平均累计斜率。
优选的,所述字符类型分布特征,包括:大写字母占比:大写字母在域名的字符中所占的比例;和数字占比:数字在域名的字符中所占的比例。
优选的,所述预测模型为GBDT模型、lightGBM模型、xgboost模型和随机森林模型中的一者;所述训练好的预测模型包括:采用正常流量样本和DNS隧道样本作为训练样本,选用调优工具优化所述预测模型的参数,将参数优化后的预测模型作为所述训练好的预测模型。
本发明的第二方面提供了一种基于Spark流式的DNS隧道检测装置,所述装置包括:数据切片模块,用于采用SparkStreaming将数据流量按时间切片为分布式数据格式;数据提取模块,用于从时间切片后的数据流量中提取DNS协议数据;特征提取模块,用于从所述DNS协议数据中提取数据特征;模型预测模块,用于将提取出的数据特征输入训练好的预测模型中,得到预测结果;次数统计模块,用于统计所述预测结果大于预设的预测结果阈值的DNS协议数据的二级域名的出现次数;以及结果判定模块,用于确定所述二级域名的出现次数大于设定的二级域名次数阈值,则所述DNS协议数据为DNS隧道。
本发明的第三方面提供了一种电子设备,包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现前述的基于Spark流式的DNS隧道检测方法。
优选的,所述电子设备为防火墙或服务器。
本发明第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得处理器被配置成执行上述的基于Spark流式的DNS隧道检测方法。
本发明第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述的基于Spark流式的DNS隧道检测方法。
上述技术方案,通过仅需要DNS报文的类型和域名以及UDP_length等数据特征信息,特征处理和算法处理速度都较快,占用处理资源少。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1示意性示出了根据本发明实施方式的基于Spark流式的DNS隧道检测方法的步骤流程示意图;
图2示意性示出了根据本发明实施方式的基于Spark流式的DNS隧道检测装置的模块示意图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
图1示意性示出了根据本发明实施方式的基于Spark流式的DNS隧道检测方法的步骤流程示意图,如图1所示。一种基于Spark流式的DNS隧道检测方法,所述检测方法包括:
S01、采用SparkStreaming将数据流量按时间切片为分布式数据格式;
针对网络上的各种业务的数据流量,通过接口将数据流量以SparkStreaming每5分钟批次数据传送到spark平台转成分布式数据格式。
S02、从时间切片后的数据流量中提取DNS协议数据;
筛选出业务流量中的DNS协议数据,可以是基于pcap包的特定的字段进行提取的。其中DNS协议数据包括有查询域名以及查询类型,或者还包括有该查询域名的子域名。
S03、从所述DNS协议数据中提取数据特征;
数据特征反映了不同数据之间的区别,使DNS协议数据具有自身的独特性。提取能够反映出DNS协议数据的数据特征,为基于机器学习的模型识别提供重要基础。其具体选择将在后文详述。
S04、将提取出的DNS协议数据的数据特征输入训练好的预测模型中,得到预测结果;
此处的训练好的预测模型可以是一个分类型的预测模型,其识别的结果是一个布尔值,对应于DNS协议数据是或者不是DNS隧道。该训练好的预测模型也可以是一个回归型的预测模型,其识别的结果为该DNS协议数据与DNS隧道的相似度。本步骤采用相似度进行判断,具有可靠性更高的优点采用机器学习模型和训练样本得到训练好的预测模型,以此对数据特征进行识别,能够快速识别出海量数据中的DNS隧道,具有识别准确性高、识别速度快的优点。
S05、统计所述预测结果大于预设的预测结果阈值的DNS协议数据的二级域名的出现次数;
在步骤S04得到预测结果之后,预测结果大于预设的预测结果阈值的DNS协议数据存在较大概率为DNS隧道。本步骤中通过对预测结果筛选出的DNS协议数据进行进一步的判断,即同一个二级域名在同一个时间切片内(即步骤S01中选择5分钟为一批次)出现超过一定次数作为一种判定条件,因此需要对二级域名的出现次数进行统计。该判定方式简单且高效,实验后效果也较好。
S06、确定所述二级域名的出现次数大于设定的二级域名次数阈值,则所述DNS协议数据为DNS隧道。
当前述步骤中的预测结果满足和出现次数数据均满足预设的条件时,可以确认该DNS协议数据为DNS隧道。
通过以上实施方式,使DNS隧道的判定方式简单且高效,实验后效果也是非常好的。而且分布式的数据处理方式也利于该检测方法的实际部署。
在本发明提供的一种实施方式中,在确定所述二级域名的出现次数大于设定的二级域名次数阈值之后,所述检测方法还包括:确定所述预测结果大于预设的预测结果阈值的DNS协议数据存在三级域名;评价所述三级域名的出现次数的离散程度;确定所述离散程度小于预设的离散程度阈值。该步骤在判断出二级域名的出现次数大于设定的二级域名次数阈值之后,再进一步判断在二级域名之下是否存在三级域名。如果存在,正常情况下二级域名对应的三级域名具有一定的分散性,而当该DNS协议数据为DNS隧道时,三级域名的分布较为集中,对应的离散程度较小。因此本实施方式提供了对于三级域名离散程度判定,能够显著提升DNS隧道识别的准确性。此处的离散程度可以采用统计方法中的极差、均差和标准差等方式。
在本发明提供的一种实施方式中,所述数据特征包括:域名长度、域名信息熵、域名平均累计斜率、字符类型分布特征、子域名长度、域名与类型组合的信息熵和子域名平均累计斜率中的至少一种。对DNS协议数据进行数据特征的提取。以下对以上数据特征分别进行说明。
通过分析大量正常样本和DNS隧道样本,发现正常的样本域名长度大多数都比DNS隧道的域名短,所以首先提取长度作为特征。域名长度可以包括域名长度和子域名长度。
在本发明提供的一种实施方式中,所述域名与类型组合的信息熵通过以下方式获得:确定所述域名的类型;将确定的类型对应的文字标识补充至所述域名之后;计算所述域名和所述文字标识组成的字符的信息熵。对DNS协议数据的pcap包提取所需字段,包括但不限于query_name,type,UDP_length等。对这些字段进行解析,提取域名,子域名,将type对应的数字转化为英文类型,补充到每个域名末尾,记为dns_info,数字与英文类型的对应如下所示:1-A、2-NS、5-CNAME、6-SOA、10-NULL RR、11-WKS、12-PTR、13-HINFO、15-MX、16-TXT、28-AAAA、252-AXFR、255-ANY等。DNS是一种明文传输协议,DNS隧道木马处于提高隐蔽性的考虑,往往会对数据进行加密,根据安全知识,正常的DNS查询中域名的编写规范符合RFC规范,以字母开始以字母或数字结尾,中间可以出现格式包括:小写字母a-z,大写字母A-Z,数字0-9,以及分隔符“-”共63种字符。在DNS隧道中,通常会对传输数据做加密处理(如base64、base32、base128、RAW等),并且会大量使用63种字符集以外的字符。熵是形容体系混乱程度的度量,越混乱其熵值越高,经过大量分析后发现正常样本域名熵要低于DNS隧道的域名熵,所以这里选取域名与类型组合的信息熵(dns_info)和域名信息熵(domain)作为两个特征。
在本发明提供的一种实施方式中,所述域名平均累计斜率或子域名平均累计斜率,包括:统计所述域名或所述子域名中每个字符的出现频率,对出现频率进行降序排列,然后计算相邻出现频率的差值,最后计算所述差值的平均值,记为所述域名或所述子域名的平均累计斜率。统计每个字符的出现频率,对其进行从大到小的排序,然后计算每相邻两个字母频率的差,最后计算平均值,记为平均累计斜率特征,对域名和子域名计算平均累计斜率,得到对应的两个特征。
在本发明提供的一种实施方式中,所述字符类型分布特征,包括:大写字母占比:大写字母在域名的字符中所占的比例;和数字占比:数字在域名的字符中所占的比例。同时本实验对大量样本的域名进行观察统计后发现,两种类型样本的域名中包含的大写字母和数字的比例也略有差异,正常的样本数据多由小写字母构成,而异常样本数据中包含较多的大写字母和数字,因此,这里选择计算大写字母和数字占比作为特征。将上述特征作为模型的输入。
在本发明提供的一种实施方式中,所述预测模型为GBDT模型、lightGBM模型、xgboost模型和随机森林模型中的一者;所述训练好的预测模型包括:采用正常流量样本和DNS隧道样本作为训练样本,选用调优工具优化所述预测模型的参数,将参数优化后的预测模型作为所述训练好的预测模型。本实施方式采用GBDT算法进行训练,选用spark.ml中的TrainValidationSplit等工具选取最优参数如最大迭代次数、决策树深度等,得到训练好的模型,保存至本地。
通过以上实施方式,针对网络上的业务流量,通过接口将数据以SparkStreaming每5分钟批次数据传送到spark平台转成分布式数据格式。针对dns协议数据,进行数据预处理,数据特征提取,然后将数据特征输入到训练好的模型中,得到预测结果,满足得分超过设定阈值(比如85分)且同一级域名短时间内出现超过一定次数的被认为是DNS隧道。
图2示意性示出了根据本发明实施方式的基于Spark流式的DNS隧道检测装置的模块示意图,如图2所示。在本实施方式中,提供了一种基于Spark流式的DNS隧道检测装置,所述装置包括:数据切片模块,用于采用SparkStreaming将数据流量按时间切片为分布式数据格式;数据提取模块,用于从时间切片后的数据流量中提取DNS协议数据;特征提取模块,用于从所述DNS协议数据中提取数据特征;模型预测模块,用于将提取出的数据特征输入训练好的预测模型中,得到预测结果;次数统计模块,用于统计所述预测结果大于预设的预测结果阈值的DNS协议数据的二级域名的出现次数;以及结果判定模块,用于确定所述二级域名的出现次数大于设定的二级域名次数阈值,则所述DNS协议数据为DNS隧道。
上述的基于Spark流式的DNS隧道检测装置中的各个功能模块的具体限定可以参见上文中对于基于Spark流式的DNS隧道检测方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本发明提供的一种实施方式中,还提供了一种电子设备,包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现前述的基于Spark流式的DNS隧道检测方法。此处的控制模块或处理器具有数值计算和逻辑运算的功能,其至少具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统等。处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现前述的方法。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
在本发明提供的一种实施方式中,所述电子设备为防火墙或服务器。前述的基于Spark流式的DNS隧道检测方法作为应用程序或系统的一部分运行于防火墙或服务器中。当防火墙或服务器中运行有前述的基于Spark流式的DNS隧道检测方法时,能够对输入或者经过该设备的DNS协议数据进行快速识别,得到DNS协议数据是否为DNS隧道的判断结果。通过使用该防火墙或服务器,仅需要DNS报文的类型和域名以及UDP_length等信息,特征和算法处理速度都较快,占用资源少。
在本发明提供的一种实施方式中,提供了一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得处理器被配置成执行上述的基于Spark流式的DNS隧道检测方法。
在本发明提供的一种实施方式中,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述的基于Spark流式的DNS隧道检测方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种基于Spark流式的DNS隧道检测方法,其特征在于,所述检测方法包括:
采用SparkStreaming将数据流量按时间切片为分布式数据格式;
从时间切片后的数据流量中提取DNS协议数据;
从所述DNS协议数据中提取数据特征;
将提取出的数据特征输入训练好的预测模型中,得到预测结果;
统计所述预测结果大于预设的预测结果阈值的DNS协议数据的二级域名的出现次数;
确定所述二级域名的出现次数大于设定的二级域名次数阈值,则所述DNS协议数据为DNS隧道。
2.根据权利要求1所述的检测方法,其特征在于,在确定所述二级域名的出现次数大于设定的二级域名次数阈值之后,所述检测方法还包括:
确定所述预测结果大于预设的预测结果阈值的DNS协议数据存在三级域名;
评价所述三级域名的出现次数的离散程度;
确定所述离散程度小于预设的离散程度阈值。
3.根据权利要求1或2所述的检测方法,其特征在于,所述数据特征包括:
域名长度、域名信息熵、域名平均累计斜率、字符类型分布特征、子域名长度、域名与类型组合的信息熵和子域名平均累计斜率中的至少一种。
4.根据权利要求3所述的检测方法,其特征在于,所述域名与类型组合的信息熵通过以下方式获得:
确定所述域名的类型;
将确定的类型对应的文字标识补充至所述域名之后;
计算所述域名和所述文字标识组成的字符的信息熵。
5.根据权利要求3所述的检测方法,其特征在于,所述域名平均累计斜率或子域名平均累计斜率通过以下方式获取:
统计所述域名或所述子域名中每个字符的出现频率,按照出现频率降序对字符进行排列,然后计算相邻字符频率的差值,最后计算所述差值的平均值,记为所述域名或所述子域名的平均累计斜率。
6.根据权利要求3所述的检测方法,其特征在于,所述字符类型分布特征,包括:
大写字母占比:大写字母在域名的字符中所占的比例;和
数字占比:数字在域名的字符中所占的比例。
7.根据权利要求1所述的检测方法,其特征在于,所述预测模型为GBDT模型、lightGBM模型、xgboost模型和随机森林模型中的一者;
所述训练好的预测模型包括:采用正常流量样本和DNS隧道样本作为训练样本,选用调优工具优化所述预测模型的参数,将参数优化后的预测模型作为所述训练好的预测模型。
8.一种基于Spark流式的DNS隧道检测装置,其特征在于,所述装置包括:
数据切片模块,用于采用SparkStreaming将数据流量按时间切片为分布式数据格式;
数据提取模块,用于从时间切片后的数据流量中提取DNS协议数据;
特征提取模块,用于从所述DNS协议数据中提取数据特征;
模型预测模块,用于将提取出的数据特征输入训练好的预测模型中,得到预测结果;
次数统计模块,用于统计所述预测结果大于预设的预测结果阈值的DNS协议数据的二级域名的出现次数;以及
结果判定模块,用于确定所述二级域名的出现次数大于设定的二级域名次数阈值,则所述DNS协议数据为DNS隧道。
9.一种电子设备,其特征在于,包括:至少一个处理器;
存储器,与所述至少一个处理器连接;
其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现权利要求1至7中任意一项权利要求所述的基于Spark流式的DNS隧道检测方法。
10.根据权利要求9所述的电子设备,其特征在于,所述电子设备为防火墙或服务器。
CN202110241537.7A 2021-03-04 2021-03-04 基于Spark流式的DNS隧道检测方法、装置及电子设备 Active CN113114524B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110241537.7A CN113114524B (zh) 2021-03-04 2021-03-04 基于Spark流式的DNS隧道检测方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110241537.7A CN113114524B (zh) 2021-03-04 2021-03-04 基于Spark流式的DNS隧道检测方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113114524A true CN113114524A (zh) 2021-07-13
CN113114524B CN113114524B (zh) 2022-07-05

Family

ID=76710225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110241537.7A Active CN113114524B (zh) 2021-03-04 2021-03-04 基于Spark流式的DNS隧道检测方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113114524B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448846A (zh) * 2021-12-27 2022-05-06 奇安信科技集团股份有限公司 一种dns隧道通信检测方法及系统
CN115086080A (zh) * 2022-08-03 2022-09-20 上海欣诺通信技术股份有限公司 一种基于流量特征的dns隐蔽隧道检测方法
CN115348188A (zh) * 2022-10-18 2022-11-15 安徽华云安科技有限公司 一种dns隧道流量检测方法、装置、存储介质及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897714A (zh) * 2016-04-11 2016-08-24 天津大学 基于dns流量特征的僵尸网络检测方法
CN109218124A (zh) * 2017-07-06 2019-01-15 杨连群 Dns隧道传输检测方法和装置
CN110602100A (zh) * 2019-09-16 2019-12-20 上海斗象信息科技有限公司 Dns隧道流量的检测方法
US20200396201A1 (en) * 2018-01-15 2020-12-17 Shenzhen Leagsoft Technology Co., Ltd. C&c domain name analysis-based botnet detection method, device, apparatus and mediumc&c domain name analysis-based botnet detection method, device, apparatus and medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897714A (zh) * 2016-04-11 2016-08-24 天津大学 基于dns流量特征的僵尸网络检测方法
CN109218124A (zh) * 2017-07-06 2019-01-15 杨连群 Dns隧道传输检测方法和装置
US20200396201A1 (en) * 2018-01-15 2020-12-17 Shenzhen Leagsoft Technology Co., Ltd. C&c domain name analysis-based botnet detection method, device, apparatus and mediumc&c domain name analysis-based botnet detection method, device, apparatus and medium
CN110602100A (zh) * 2019-09-16 2019-12-20 上海斗象信息科技有限公司 Dns隧道流量的检测方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448846A (zh) * 2021-12-27 2022-05-06 奇安信科技集团股份有限公司 一种dns隧道通信检测方法及系统
CN114448846B (zh) * 2021-12-27 2024-06-28 奇安信科技集团股份有限公司 一种dns隧道通信检测方法及系统
CN115086080A (zh) * 2022-08-03 2022-09-20 上海欣诺通信技术股份有限公司 一种基于流量特征的dns隐蔽隧道检测方法
CN115086080B (zh) * 2022-08-03 2024-05-07 上海欣诺通信技术股份有限公司 一种基于流量特征的dns隐蔽隧道检测方法
CN115348188A (zh) * 2022-10-18 2022-11-15 安徽华云安科技有限公司 一种dns隧道流量检测方法、装置、存储介质及终端

Also Published As

Publication number Publication date
CN113114524B (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
CN113114524B (zh) 基于Spark流式的DNS隧道检测方法、装置及电子设备
Choi et al. A method of DDoS attack detection using HTTP packet pattern and rule engine in cloud computing environment
Stevanovic et al. An analysis of network traffic classification for botnet detection
US10122722B2 (en) Resource classification using resource requests
CN111641658A (zh) 一种请求拦截方法、装置、设备及可读存储介质
CN108768883A (zh) 一种网络流量识别方法及装置
CN111245784A (zh) 多维度检测恶意域名的方法
CN113497797B (zh) 一种icmp隧道传输数据的异常检测方法及装置
CN112565229B (zh) 隐蔽通道检测方法及装置
EP4293550A1 (en) Traffic processing method and protection system
Gomez et al. Unsupervised detection and clustering of malicious tls flows
CN112134829A (zh) 生成加密流量特征集的方法及装置
CN108667782B (zh) 一种用于DNS服务的DDoS攻击防御方法及系统
CN108650274B (zh) 一种网络入侵检测方法及系统
CN111224890A (zh) 一种云平台的流量分类方法、系统及相关设备
US12058274B2 (en) Method for detecting anomalies in SSL and/or TLS communications, corresponding device, and computer program product
CN113938315B (zh) 隐蔽信道检测方法、装置、设备及存储介质
CN113051876B (zh) 恶意网址识别方法及装置、存储介质、电子设备
CN114422232A (zh) 一种违规流量的监测方法、装置、电子设备、系统及介质
CN112995111B (zh) 基于区块链的物联网安全检测方法、设备、系统和介质
CN111988271A (zh) 一种通信流处理方法及装置
CN113852625A (zh) 一种弱口令监测方法、装置、设备及存储介质
CN108768987B (zh) 数据交互方法、装置及系统
CN111541675A (zh) 一种基于白名单的网络安全防护方法、装置及设备
MontazeriShatoori An anomaly detection framework for DNS-over-HTTPS (DoH) tunnel using time-series analysis

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