基于Spark流式的DNS隧道检测方法、装置及电子设备制造方法及图纸

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

【技术实现步骤摘要】
基于Spark流式的DNS隧道检测方法、装置及电子设备
本专利技术涉及数据通信
,具体地涉及一种基于Spark流式的DNS隧道检测方法、一种基于Spark流式的DNS隧道检测装置以及一种电子设备。
技术介绍
域名系统(DomainNameSystem)是一种域名(Domain)和网络地址(IP)一一对应的标准协议,实现这种协议提供DNS服务的称为DNS服务器。为了便于管理,域名系统在因特网中的命名也采用层次结构的命名方法。域名系统中也有权威的根域名服务器、权威域名服务器等。DNS隧道是将其他协议的内容封装在DNS协议中,然后以DNS请求和响应包完成传输数据(通信)的技术。当前网络世界中的DNS是一项必不可少的服务,所以防火墙和入侵检测设备处于可用性和用户友好的考虑很难做到完全过滤掉DNS流量,因此,攻击者可以利用它实现诸如远程控制,文件传输等操作,众多研究表明DNSTunneling在僵尸网络和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协议数据的数据特征输入训练好的预测模型中,得到预测结果;此处的训练好的预测模型可以是一个本文档来自技高网...

【技术保护点】
1.一种基于Spark流式的DNS隧道检测方法,其特征在于,所述检测方法包括:/n采用SparkStreaming将数据流量按时间切片为分布式数据格式;/n从时间切片后的数据流量中提取DNS协议数据;/n从所述DNS协议数据中提取数据特征;/n将提取出的数据特征输入训练好的预测模型中,得到预测结果;/n统计所述预测结果大于预设的预测结果阈值的DNS协议数据的二级域名的出现次数;/n确定所述二级域名的出现次数大于设定的二级域名次数阈值,则所述DNS协议数据为DNS隧道。/n

【技术特征摘要】
1.一种基于Spark流式的DNS隧道检测方法,其特征在于,所述检测方法包括:
采用SparkStreaming将数据流量按时间切片为分布式数据格式;
从时间切片后的数据流量中提取DNS协议数据;
从所述DNS协议数据中提取数据特征;
将提取出的数据特征输入训练好的预测模型中,得到预测结果;
统计所述预测结果大于预设的预测结果阈值的DNS协议数据的二级域名的出现次数;
确定所述二级域名的出现次数大于设定的二级域名次数阈值,则所述DNS协议数据为DNS隧道。


2.根据权利要求1所述的检测方法,其特征在于,在确定所述二级域名的出现次数大于设定的二级域名次数阈值之后,所述检测方法还包括:
确定所述预测结果大于预设的预测结果阈值的DNS协议数据存在三级域名;
评价所述三级域名的出现次数的离散程度;
确定所述离散程度小于预设的离散程度阈值。


3.根据权利要求1或2所述的检测方法,其特征在于,所述数据特征包括:
域名长度、域名信息熵、域名平均累计斜率、字符类型分布特征、子域名长度、域名与类型组合的信息熵和子域名平均累计斜率中的至少一种。


4.根据权利要求3所述的检测方法,其特征在于,所述域名与类型组合的信息熵通过以下方式获得:
确定所述域名的类型;
将确定的类型对应的文字标识补充至所述域名之后;
计算所述域名和所述文字标识组成的字符的信息熵。


5.根据权利要求3所述的检测方法,其特征在于,所述域名平均累计斜率或子域名平均累计斜率通过以下方式获取:
统计所述域名或所述子域名中每个字符的出现频率,按照出现频率降序对字符进行排列,然后计算相邻字符频率的差值,最后计算所述差值的平均值,记为所述域名或所述子域名...

【专利技术属性】
技术研发人员:卯路宁于金龙王智民王高杰
申请(专利权)人:北京六方云信息技术有限公司北京六方云科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1