网络数据检测方法及相关设备技术

技术编号:21278170 阅读:34 留言:0更新日期:2019-06-06 10:41
本申请提供了一种网络数据检测方法,可以获得预构建的检测模型,检测模型是由机器学习算法对训练样本训练得到的,训练样本为DNS查询请求,且训练样本具有用于区分DNS查询请求是否异常的属性项,获得待检测的DNS查询请求后,获得DNS查询请求在这些属性项上的属性值,并将这些属性值输入至检测模型中,检测模型通过对属性值进行分类判断便可以确定DNS查询请求的分类结果,分类结果表示DNS查询请求为正常还是异常。该方法中,检测模型使用的属性项更为复杂,且无需依靠人工经验设置的判断阈值,检测使用的人工成本较低且检测结果的准确度更高。另外,本申请还提供了一种网络数据检测装置,用以保证所述方法在实际中的应用及实现。

Network Data Detection Method and Related Equipment

This application provides a network data detection method, which can obtain the pre-constructed detection model. The detection model is trained by machine learning algorithm for training samples. The training samples are DNS query requests, and the training samples have attributes to distinguish whether the DNS query requests are abnormal or not. After obtaining the DNS query requests to be detected, the DNS query requests are obtained on these attributes. The attribute values are input into the detection model. The detection model can determine the classification results of DNS query requests by classifying and judging the attribute values. The classification results indicate whether the DNS query requests are normal or abnormal. In this method, the attributes used in the detection model are more complex, and there is no need to rely on artificial experience to set the judgment threshold. The labor cost of detection is lower and the accuracy of detection results is higher. In addition, the application also provides a network data detection device to ensure the practical application and implementation of the method.

【技术实现步骤摘要】
网络数据检测方法及相关设备
本申请涉及网络检测
,更具体地,是网络数据检测方法及相关设备。
技术介绍
企业等单位会构建内部网络,内部网络可能会受到外部恶意程序的攻击,虽然内部网络可以通过设置防火墙阻挡一部分恶意攻击,但对于某些恶意攻击行为如高级持续性威胁(AdvancedPersistentThreat,简称为APT)却不能有效地检测并进行处理。这些恶意程序拥有防火墙穿透技术,可以将数据包伪装后通过内部网络的基础通信通道将数据包隐蔽地传输出去,从而与外界网络进行通信。如图1所示,一种常用的穿透防火墙的手段是,域名系统(DomainNameSystem,简称为DNS)隧道技术。使用DNS隧道技术的恶意程序可以在内部网络植入客户端并在外部伪装DNS服务器,客户端与伪装DNS服务器之间能够建立隧道,从而避开防火墙的检测。因此,为了能够发现这种能够穿透防火墙的恶意攻击,需要提供一种网络数据检测方案。
技术实现思路
有鉴于此,本申请提供了一种网络数据检测方法,用于发现使用DNS隧道技术进行恶意攻击的网络攻击行为。为实现所述目的,本申请提供的技术方案如下:第一方面,本申请提供了一种网络数据检测方法,包括:获得通过机器学习算法构建的检测模型,其中,所述检测模型是对DNS查询请求样本训练得到的,所述DNS查询请求样本具有属性项,所述属性项为用于区分DNS查询请求是否异常的特征;获得待检测的DNS查询请求;确定所述待检测的DNS查询请求在所述属性项上的属性值;将所述属性值输入至所述检测模型中,以确定所述待检测的DNS查询请求是否为异常的DNS查询请求。第二方面,本申请提供了一种网络数据检测装置,包括:检测模型获得单元,用于获得通过机器学习算法构建的检测模型,其中,所述检测模型是对DNS查询请求样本训练得到的,所述DNS查询请求样本具有属性项,所述属性项为用于区分DNS查询请求是否异常的特征;查询请求获得单元,用于获得待检测的DNS查询请求;属性值确定单元,用于确定所述待检测的DNS查询请求在所述属性项上的属性值;查询请求检测单元,用于将所述属性值输入至所述检测模型中,以确定所述待检测的DNS查询请求是否为异常的DNS查询请求。第三方面,本申请提供了一种网络数据检测设备,包括:处理器和存储器,所述处理器通过运行存储在所述存储器内的软件程序、调用存储在所述存储器内的数据,至少执行如下步骤:获得通过机器学习算法构建的检测模型,其中,所述检测模型是对DNS查询请求样本训练得到的,所述DNS查询请求样本具有属性项,所述属性项为用于区分DNS查询请求是否异常的特征;获得待检测的DNS查询请求;确定所述待检测的DNS查询请求在所述属性项上的属性值;将所述属性值输入至所述检测模型中,以确定所述待检测的DNS查询请求是否为异常的DNS查询请求。第四方面,本申请提供了一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述的网络数据检测方法中的步骤。由以上技术方案可知,本申请提供的网络数据检测方法,可以获得预先构建的检测模型,检测模型是由机器学习算法对训练样本训练得到的,训练样本为DNS查询请求,且训练样本具有用于区分DNS查询请求是否异常的属性项,在获得待检测的DNS查询请求后,获得DNS查询请求在这些属性项上的属性值,并将这些属性值输入至检测模型中,检测模型通过对属性值进行分类判断便可以确定DNS查询请求的分类结果,分类结果表示DNS查询请求为正常还是异常。可见,本申请提供的网络数据检测方法可以使用机器学习训练而得的检测模型对DNS查询请求进行判断,检测模型使用的属性项更为复杂,且无需依靠人工经验设置的判断阈值,可以减少人工对阈值的调试时间,检测使用的人工成本较低且检测结果的准确度更高。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请提供的DNS隧道技术的应用场景示意图;图2为本申请提供的网络数据检测方法的一种流程示意图;图3为本申请提供的决策树形式的检测模型的一种示意图;图4为本申请提供的网络数据检测方法的另一种流程示意图;图5为本申请提供的构建检测模型的一种流程示意图;图6为本申请提供的网络数据检测方法的又一种流程示意图;图7为本申请提供的网络数据检测装置的一种结构示意图;图8为本申请提供的网络数据检测装置的另一种结构示意图;图9为本申请提供的网络数据检测设备的一种硬件结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为了网络安全,企业等单位的内部网络设置有防火墙,用于检测可能存在的恶意攻击行为。但是,一些恶意程序会使用域名系统(DomainNameSystem,简称为DNS)隧道技术来规避防火墙的检测。DNS隧道技术规避防火墙检测的方式是,DNS隧道技术中,可以利用DNS协议封装用于查询请求域名地址的查询请求数据包,虽然防火墙可以封锁大部分协议端口,但是并不包括对外发送DNS查询请求的端口,因此恶意程序可以在封装的数据包中携带攻击数据,并在外部网络伪装DNS服务器,且在内部网络植入恶意客户端。这样,恶意客户端可以不受防火墙的限制,通过DNS查询请求与外部伪装的DNS服务器进行数据通信以实现网络攻击。需要说明的是,即使防火墙对发送出去的查询请求进行检测,但目前检测方案的检测结果较为不佳。原因是,目前的检测方案主要采用统计分析方法,在该方法中根据人工经验设置需要分析的检测项,并为每个检测项设置相应的阈值。例如,检测项包括:查询请求中的域名长度,以及查询请求的发送频率,分别设置域名长度阈值,以及发送频率阈值。检测设备根据检测项,对待检测的查询请求分析后获得与检测项对应的数值,并将分析得到的数值与阈值进行比较后,得到该查询请求是否为恶意攻击程序发送的查询请求的判断结果。但是,该种检测方式中需要人工根据检测经验设置检测项的阈值,因此判断结果的准确性较为依赖人工设置的经验阈值。若人工经验阈值不够准确如过大或过小,则会直接导致检测结果的不准确性。并且,若检测项较多,人工经验也难为把握各个检测项之间的关系,即如何根据各个检测项的阈值判断结果得到最终的告警判断结果。对此,本申请提供了一种网络数据检测方法。见图2,其示出了该网络检测数据检测方法的一种流程,具体包括以下步骤S201~S204。S201:获得通过机器学习算法构建的检测模型,其中,检测模型是对DNS查询请求样本训练得到的,DNS查询请求样本具有属性项,属性项为用于区分DNS查询请求是否异常的特征。其中,本申请主要是使用机器学习模型对网络数据是否异常进行检测,因此,在进行网络数据检测之前,需要预先构建有检测模型,检测模型的构建流程在后文详细说明,此处并不赘述。检测模型的作用是,对输入检测模型的网络数本文档来自技高网...

【技术保护点】
1.一种网络数据检测方法,其特征在于,包括:获得通过机器学习算法构建的检测模型,其中,所述检测模型是对域名系统DNS查询请求样本训练得到的,所述域名系统DNS查询请求样本具有属性项,所述属性项为用于区分域名系统DNS查询请求是否异常的特征;获得待检测的域名系统DNS查询请求;确定所述待检测的域名系统DNS查询请求在所述属性项上的属性值;将所述属性值输入至所述检测模型中,以确定所述待检测的域名系统DNS查询请求是否为异常的域名系统DNS查询请求。

【技术特征摘要】
1.一种网络数据检测方法,其特征在于,包括:获得通过机器学习算法构建的检测模型,其中,所述检测模型是对域名系统DNS查询请求样本训练得到的,所述域名系统DNS查询请求样本具有属性项,所述属性项为用于区分域名系统DNS查询请求是否异常的特征;获得待检测的域名系统DNS查询请求;确定所述待检测的域名系统DNS查询请求在所述属性项上的属性值;将所述属性值输入至所述检测模型中,以确定所述待检测的域名系统DNS查询请求是否为异常的域名系统DNS查询请求。2.根据权利要求1所述的网络数据检测方法,其特征在于,还包括:验证所述检测模型对所述待检测的域名系统DNS查询请求的确定结果是否准确;若所述检测模型的确定结果错误,则将所述待检测的域名系统DNS查询请求加入域名系统DNS查询请求样本,得到新的域名系统DNS查询请求样本,并使用所述新的域名系统DNS查询请求样本训练所述检测模型。3.根据权利要求1所述的网络数据检测方法,其特征在于,待检测的域名系统DNS查询请求为一个时间切片内的多条待检测的域名系统DNS查询请求;则所述确定所述待检测的域名系统DNS查询请求在所述属性项上的属性值,包括:获得每条待检测的域名系统DNS查询请求在第一类型属性项上的属性值;和/或,统计一个时间切片内,多条待检测的域名系统DNS查询请求在第二类型属性项上的属性值。4.根据权利要求3所述网络数据检测方法,其特征在于,所述统计一个时间切片内,多条待检测的域名系统DNS查询请求在第二类型属性项上的属性值,包括:根据每条待检测的域名系统DNS查询请求在第一类型属性项上的属性值,计算多条所述待检测的域名系统DNS查询请求在第一类型属性项上的统计属性值,其中统计属性值包括以下几项中的任意一项或多项:总和属性值、平均属性值、极值属性值;和/或依据每条待检测的域名系统DNS查询请求,统计不同的待检测的域名系统DNS查询请求的个数。5.根据权利要求3所述网络数据检测方法,其特征在于,所述域名系统DNS查询请求中包括查询域名;则:所述第一类型属性项包括:域名系统DNS查询请求的数据包长度、查询域名的个数、查询域名中标签的个数、查询域名中子域名的长度、查询域名中非法字符的个数;所述第二类型属性项包括:域名系统DNS查询请求的总个数、域名系统DNS查询请求的发送频率、数据包总长、数据包平均长度、非法字符总数、非法字符平均个数、标签个数最大值、标签个数最小值、标签总个数、标签平均个数、不同域名系统DNS查询请求的个数。6.根据权利要求1所述的网络数据检测方法,其特征在于,所述检测模型的训练方式包括:采集域名系统DNS查询请求样本,所述域名系统DNS查询请求样本中包含被标注为异常的域名系统DNS查询请求,以及被标注为正常的域名系统DNS查询请求;确定所述域名系统DNS查询请求样本在所述属性项上的属性值;通过机器学习算法,对所述域名系统DNS查询请求样本的属性值进行训练后得到检测模型。7.根据权利要求6所述的网络数据检测方法,其特征在于,所述采集域名系统DNS查询请求样本,包括:使用域名系统DNS隧道工具生成域名系统DNS查询请求,并将生成的域名系统DNS查询请求标注为异常的域名系统DNS查询请求;从收集到的域名系统DNS查询请求样本中,提取查询域名为正常域名且数量较多的预设数量的域名系统DNS查询请求样本,并将提取到的域名系统DNS查询请求标注为正常的域名系统DNS查询请求;则所述确定所述域名系统DNS查询请求样本在所述属性项上的属性值,包括:获得每条域名系统DNS查询请求样本在第一类型属性项上的属性值;和/或,统计一个时间切片内,多条域名系统DNS查询请求样本在第二类型属性项上的属性值;则所述通过机器学习算法,对所述域名系统DNS查询请求样本的属性值进行训练后得到检测模型,包括:通过机器学习算法,对所述域名系统DNS查询请求样本的第一属性值和/或第二属性值进行训练后得到检测模型。8.一种网络数据检测装置,其特征在于,...

【专利技术属性】
技术研发人员:马慧培胡珀马传雷
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1