一种网络访问识别方法及系统与流程

文档序号:15281678发布日期:2018-08-28 23:36阅读:157来源:国知局

本申请涉及互联网技术领域,特别涉及一种网络访问识别方法及系统。



背景技术:

在服务器或某些内部网络的日常安全管理中,通常需要监控其服务器是否有被入侵的痕迹。目前,现有技术中可以通过nids对进出目标网络或服务器的所有流量展开监管,或者通过在服务器上安装软件的方式监控服务器的行为。

现有技术中,安全人员需要监控服务器的所有流量或大量行为动作,其中掺杂了巨量的正常行为或流量,这将使得整个监控过程变得不再有参考意义,真正的攻击隐藏在其中变得不易发觉。

应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

本申请实施方式的目的在于提供一种网络访问识别方法及系统,能够识别掺杂于正常流量中的异常数据。

为实现上述目的,本申请一方面提供一种网络访问识别方法,所述方法包括:从预设网络设备中引入待识别的流量;从所述待识别的流量中分离出dns数据包;对所述dns数据包进行解析,以生成符合预设数据结构的dns数据;根据预先训练的数据模型,对所述dns数据进行模型匹配,并根据匹配结果确定所述dns数据中的异常数据;将所述异常数据的提示信息通过预设通知机制发送至管理人员处。

进一步地,所述方法还包括:接收所述管理人员发来的针对所述异常数据的判定信息;根据所述判定信息以及与所述判定信息相对应的dns数据,对所述预先训练的数据模型再次进行训练,以修正所述数据模型中的错误。

进一步地,在从预设网络设备中引入待识别的流量的步骤之后,所述方法还包括:对所述待识别的流量进行osi参考模型中的传输层预处理,以提供具备可识别的数据格式的流量;从所述待识别的流量中分离出dns数据包的步骤具体包括:对所述待识别的流量进行osi参考模型的应用层预处理,以获取来自53端口的udp请求数据。

进一步地,在将所述异常数据的提示信息通过预设通知机制发送至管理人员处之后,所述方法还包括:将所述异常数据对应的网络通信地址加入黑名单中,以屏蔽所述异常数据对应的网络通信地址后续发来的数据。

进一步地,所述数据模型按照下述方式训练得到:获取预设数量的域名访问记录,并将获取的域名访问记录作为训练样本;利用预设特征学习算法对所述训练样本进行计算,以获取所述域名访问记录中各个域名的特征向量;按照预设聚类算法对各个域名的特征向量进行聚类,得到至少一个向量集合,其中,每个向量集合对应一个诊断信息;其中,所述预设特征学习算法包括word2vec算法;所述预设聚类算法包括以下至少一种:k-means聚类算法;凝聚层次聚类算法;或者dbscan算法。

进一步地,在获取所述域名访问记录中各个域名的特征向量之后,所述方法还包括:根据预设分类算法对所述各个域名的特征向量进行分类,以区分正常域名和异常域名;其中,所述预设分类算法包括贝叶斯分类算法或者k最近邻算法。

进一步地,根据预先训练的数据模型,对所述dns数据进行模型匹配具体包括:利用预设特征学习算法对所述dns数据进行计算,以得到所述dns数据对应的目标特征向量;确定所述目标特征向量所属的目标向量集合,并将所述目标向量集合对应的诊断信息作为所述dns数据的匹配结果。

为实现上述目的,本申请另一方面还提供一种网络访问识别系统,所述系统包括:流量引入单元,用于从预设网络设备中引入待识别的流量;dns数据包分离单元,用于从所述待识别的流量中分离出dns数据包;解析单元,用于对所述dns数据包进行解析,以生成符合预设数据结构的dns数据;异常数据确定单元,用于根据预先训练的数据模型,对所述dns数据进行模型匹配,并根据匹配结果确定所述dns数据中的异常数据;提示信息发送单元,用于将所述异常数据的提示信息通过预设通知机制发送至管理人员处。

进一步地,所述系统还包括:判定信息接收单元,用于接收所述管理人员发来的针对所述异常数据的判定信息;修正单元,用于根据所述判定信息以及与所述判定信息相对应的dns数据,对所述预先训练的数据模型再次进行训练,以修正所述数据模型中的错误。

进一步地,所述异常数据确定单元中包括:训练样本获取模块,用于获取预设数量的域名访问记录,并将获取的域名访问记录作为训练样本;特征向量计算模块,用于利用预设特征学习算法对所述训练样本进行计算,以获取所述域名访问记录中各个域名的特征向量;聚类模块,用于按照预设聚类算法对各个域名的特征向量进行聚类,得到至少一个向量集合,其中,每个向量集合对应一个诊断信息。

本发明利用dns协议监控待识别的流量,通过从待识别的流量中分离出dns数据包,并将该dns数据包解析为dns数据后,可以根据预先训练的数据模型对dns数据进行模型匹配,从而能够识别dns数据中的异常数据。通过将该异常数据的提示信息发送给管理人员,从而能够对该异常数据进行阻断,以保证网络通信的安全。

参照后文的说明和附图,详细公开了本申请的特定实施方式,指明了本申请的原理可以被采用的方式。应该理解,本申请的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本申请的实施方式包括许多改变、修改和等同。

针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。

附图说明

所包括的附图用来提供对本申请实施方式的进一步的理解,其构成了说明书的一部分,用于例示本申请的实施方式,并与文字描述一起来阐释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本申请实施方式提供的一种网络访问识别方法的流程图;

图2为本申请实施方式提供的一种网络访问识别系统的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都应当属于本申请保护的范围。

请参阅图1,本申请实施方式提供一种网络访问识别方法,所述方法包括以下步骤。

s1:从预设网络设备中引入待识别的流量;

s2:从所述待识别的流量中分离出dns数据包;

s3:对所述dns数据包进行解析,以生成符合预设数据结构的dns数据;

s4:根据预先训练的数据模型,对所述dns数据进行模型匹配,并根据匹配结果确定所述dns数据中的异常数据;

s5:将所述异常数据的提示信息通过预设通知机制发送至管理人员处。

在本实施方式中,考虑到恶意软件与控制端连接时,出于方便随时变更ip地址的原因,往往使用域名的方式硬编码到配置文件或者恶意软件本体中。在域名解析为ip地址的过程中,会不可避免地使用dns协议完成这一过程。因此,通过分析网络中dns协议的query数据包,可以发现网络中绝大部分的异常行为。

在本实施方式中,可以对目标服务器或者目标网络的流量进行牵引或者镜像,从而可以引入待识别的流量。

在本申请一个实施方式中,在引入待识别的流量之后,可以对所述待识别的流量进行osi(opensysteminterconnection,开放式系统互联)参考模型中的第四层传输层预处理,以提供具备可识别的数据格式的流量给后续步骤,通常这一过程可在操作系统中完成。

在本实施方式中,可以检测待识别流量中的dns数据包。具体地,可以从所述待识别的流量中分离出dns数据包。在本实施方式中,可以对所述待识别的流量进行osi参考模型的第七层应用层预处理,以获取来自53端口的udp请求数据。对于其他数据包可以抛弃或者转交给其他协议模块进行处理。

在本实施方式中,在将所述异常数据的提示信息通过预设通知机制发送至管理人员处之后,可以采用黑白名单的方式,将所述异常数据对应的网络通信地址加入黑名单中,以屏蔽所述异常数据对应的网络通信地址后续发来的数据。

在本实施方式中,可以根据预先训练的数据模型,对所述dns数据进行模型匹配,并根据匹配结果确定所述dns数据中的异常数据。具体地,所述数据模型可以按照下述方式训练得到:

步骤1:获取预设数量的域名访问记录,并将获取的域名访问记录作为训练样本;

步骤2:利用预设特征学习算法对所述训练样本进行计算,以获取所述域名访问记录中各个域名的特征向量;

步骤3:按照预设聚类算法对各个域名的特征向量进行聚类,得到至少一个向量集合,其中,每个向量集合对应一个诊断信息。

在本实施方式中,所述预设特征学习算法可以是word2vec算法,通过word2vec算法可以将域名转换为对应的特征向量。在本实施方式中可以对正常的域名和异常的域名进行分类。具体地,可以按照预设聚类算法对各个域名的特征向量进行聚类。所述预设聚类算法例如可以包括k-means聚类算法;凝聚层次聚类算法;或者dbscan算法中的至少一种。在聚类之后,具备相似或者相同特征的特征向量可以归于一类中。这样便可以得到至少一个向量集合,其中,每个向量集合对应一个诊断信息。例如,对于正常的域名而言,其对应的向量集合可以对应标识正常的诊断信息;而对于异常的域名而言,其对应的向量集合可以对应标识异常的诊断信息。

在本实施方式中,在获取所述域名访问记录中各个域名的特征向量之后,还可以根据预设分类算法对所述各个域名的特征向量进行分类,以区分正常域名和异常域名。其中,所述预设分类算法包括贝叶斯分类算法或者k最近邻算法。

在本实施方式中,在根据预先训练的数据模型,对所述dns数据进行模型匹配时,可以利用所述预设特征学习算法对所述dns数据进行计算,以得到所述dns数据对应的目标特征向量。这样,将所述目标特征向量输入所述数据模型,可以确定所述目标特征向量所属的目标向量集合,并将所述目标向量集合对应的诊断信息作为所述dns数据的匹配结果。

在本实施方式中,当所述匹配结果为标识异常的诊断信息时,可以将输入的特征向量对应的dns数据判定为异常数据。这样,可以将所述异常数据的提示信息通过预设通知机制发送至管理人员处。具体地,所述预设通知机制例如可以包括邮件、短信、客户端、即时通信软件消息等机制。

在本实施方式中,管理人员接收到异常数据的提示信息后,可以人为地对该异常数据再次进行判定,以避免自动识别出错。具体地,管理人员可以在判定之后,给异常数据再次进行评定,评定的结果可以是“确定异常”、“确定正常”或者“未知请求”这几种不同的形式。

在本实施方式中,评定的结果可以作为判定信息发送至网络访问识别的系统,这样,在接收所述管理人员发来的针对所述异常数据的判定信息后,所述系统可以根据所述判定信息以及与所述判定信息相对应的dns数据,对所述预先训练的数据模型再次进行训练,以修正所述数据模型中的错误。例如,系统初次判定的结果是异常数据,而人为判定是正常数据,那么则可以将该异常数据的特征向量以及标识正常数据的评定结果同时输入所述数据模型,以对所述数据模型中的参数进行校正。

在本实施方式中,在确定dns数据为异常数据时,可以对该dns数据进行阻断,从而能够避免网络攻击发生。

请参阅图2,本申请实施方式还提供一种网络访问识别系统,所述系统包括:

流量引入单元100,用于从预设网络设备中引入待识别的流量;

dns数据包分离单元200,用于从所述待识别的流量中分离出dns数据包;

解析单元300,用于对所述dns数据包进行解析,以生成符合预设数据结构的dns数据;

异常数据确定单元400,用于根据预先训练的数据模型,对所述dns数据进行模型匹配,并根据匹配结果确定所述dns数据中的异常数据;

提示信息发送单元500,用于将所述异常数据的提示信息通过预设通知机制发送至管理人员处。

在本实施方式中,所述系统还包括:

判定信息接收单元,用于接收所述管理人员发来的针对所述异常数据的判定信息;

修正单元,用于根据所述判定信息以及与所述判定信息相对应的dns数据,对所述预先训练的数据模型再次进行训练,以修正所述数据模型中的错误。

在本实施方式中,所述异常数据确定单元400中包括:

训练样本获取模块,用于获取预设数量的域名访问记录,并将获取的域名访问记录作为训练样本;

特征向量计算模块,用于利用预设特征学习算法对所述训练样本进行计算,以获取所述域名访问记录中各个域名的特征向量;

聚类模块,用于按照预设聚类算法对各个域名的特征向量进行聚类,得到至少一个向量集合,其中,每个向量集合对应一个诊断信息。

本发明利用dns协议监控待识别的流量,通过从待识别的流量中分离出dns数据包,并将该dns数据包解析为dns数据后,可以根据预先训练的数据模型对dns数据进行模型匹配,从而能够识别dns数据中的异常数据。通过将该异常数据的提示信息发送给管理人员,从而能够对该异常数据进行阻断,以保证网络通信的安全。

上面对本申请的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本申请的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本申请旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1