入侵检测的方法、装置和系统与流程

文档序号:12890014阅读:284来源:国知局
入侵检测的方法、装置和系统与流程

本发明涉及数据处理领域,具体而言,涉及一种入侵检测的方法、装置和系统。



背景技术:

由于web2.0技术的不断发展,以及云计算的服务能力不断的演化,越来越多的应用与业务都以b/s(browser/server,浏览器/服务器模式)的形式展现给客户。而黑客的入侵攻击手段也越来越偏向于以web作为入侵的突破口进行攻击。传统的入侵检测系统更偏向于检测自身应用和匹配安全策略的模式来达到目的。

在当前在业界内通常使用的入侵分析的手段均为基于后端去检测,或者是通过数据驱动来分析入侵的轨迹,需要从大量的日志数据中提取并且分析可能潜在的入侵特征,属于“事后”行为。常规的入侵检测系统分为以下几种:

1.完整性分析,通过监测某个文件或者某个对象是否被更改,例如文件或者目录的属性,文件的md5值等,如果监测到预设的文件或对象发生修改,则认为可能存在入侵者非法侵入对某个文件或对象进行修改,并启动报警。

2.匹配模式,通过收集的网络信息,如用户请求的url(uniformresourcelocator,统一资源定位符)和参数等,通过匹配安全策略的形式来检测是否存在攻击性行为,如果匹配到相似的安全策略,则触发报警机制,通知管理员存在疑似入侵的现象。

3.统计性分析,收集各种操作日志记录和行为记录,通过利用大数据计算的方法分析出可能存在攻击性行为的操作,通常攻击性行为大都表象为,请求数量大,速度快等。一些非正常业务的交互能够通过数学算法从大量的操作日志记录中分析出具有攻击性的操作记录。

因为目前的入侵检测系统大都通过检测自身应用、监视网络传输数据或者监视系统完整性来达到入侵检测的目的,而对入侵的溯源主要通过日志分析来定位入侵者的攻击路径和攻击者的ip地址。但这种分析形势过于被动,时效性差,不能在第一时间内主动发现攻击者的入侵行为和对入侵者进行实时的监控手段。

针对现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种入侵检测的方法、装置和系统,以至少解决现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的技术问题。

根据本发明实施例的一个方面,提供了一种入侵检测的方法,包括:获取前端客户端的交互行为;检测交互行为是否为攻击网络应用的攻击行为;在确定交互行为是攻击网络应用的攻击行为的情况下,触发前端客户端监控发生在本地的行为。

根据本发明实施例的另一方面,还提供了一种入侵检测的装置,包括:第一获取模块,用于获取前端客户端的交互行为;检测模块,用于检测交互行为是否为攻击网络应用的攻击行为;监控模块,用于在确定交互行为是攻击网络应用的攻击行为的情况下,触发前端客户端监控发生在本地的行为。

根据本发明实施例的另一方面,还提供了一种入侵检测的系统,包括:前端客户端,用于发送交互行为;中间设备,与前端客户端具有通信关系,用于检测交互行为是否为攻击网络应用的攻击行为,在确定交互行为是攻击网络应用的攻击行为的情况下,触发前端客户端监控发生在本地的行为。

根据本发明实施例的另一方面,还提供了一种入侵检测的方法,包括:前端客户端检测本地发生的交互行为是否为攻击网络应用的攻击行为;在确定交互行为是攻击网络应用的攻击行为的情况下,前端客户端监控发生在本地的行为。

由此可知,通过本发明提供的技术方案:获取前端客户端的交互行为;检测交互行为是否为攻击网络应用的攻击行为;在确定交互行为是攻击网络应用的攻击行为的情况下,触发前端客户端监控发生在本地的行为,由此本申请提出了一种利用前端技术来发现入侵行为手段的方案,在业界内通常使用的入侵分析手段都是基于后端去检测,或者是数据驱动来分析入侵的轨迹,通常需要从大量的日志数据中提取并且分析可能潜在的入侵特征,属于“事后”行为。而本申请通过对前端客户端的交互行为进行检测,一旦发行交互行为是入侵行为,就对该入侵行为进行监测的方法,实现了对前端客户端的交互行为进行实时监测的技术效果,也实现了对入侵行为进行跟踪监测的技术效果,充分利用前端具有的属性,能够在第一时间内发现入侵行为,并且能够精确的定位出攻击者,从而解决了现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种入侵检测的方法的计算机终端的硬件结构框图;

图2是根据本发明实施例1的入侵检测的方法的流程图;

图3是根据本发明实施例1的一种可选的入侵检测的方法的示意图;

图4是根据本发明实施例1的一种可选的入侵检测的方法的信息交互图;

图5是根据本发明实施例2的一种入侵检测的系统的结构示意图;

图6是根据本发明实施例2的一种可选的入侵检测的系统的结构示意图;

图7是根据本发明实施例3的一种入侵检测的装置的示意图;

图8是根据本发明实施例3的一种可选的入侵检测的装置的示意图;

图9是根据本发明实施例3的一种可选的入侵检测的装置的示意图;

图10是根据本发明实施例3的一种可选的入侵检测的装置的示意图;

图11是根据本发明实施例3的一种可选的入侵检测的装置的示意图;

图12是根据本发明实施例3的一种可选的入侵检测的装置的示意图;

图13是根据本发明实施例4的另一种入侵检测的方法的流程图;以及

图14是根据本申请实施例5的一种计算机终端的结构框图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第 二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

waf:网站应用级入侵防御系统,即webapplicationfirewall,用于通过执行一系列针对http/https的安全策略来保障web应用的安全。

入侵检测系统:是一种对网络传输进行即时监视,在发现可疑传输时发出警报或采取主动反应措施的网络安全设备。例如:部署在网关或交换机层的waf系统(webapplicationfirewall,网站应用级入侵防御系统)。

hook:中文译为“钩子”,是一种消息处理机制,即应用程序可以在指定的窗口或者函数进行监听某种消息,当消息到达后,该窗口或者函数就会受到系统的通知,程序就能在第一时间内做出响应操作。

javascript:javascript是一种直译式脚本语言,内置支持类型,用于给html网页增加动态功能。

webrtc:即webreal-timecommucation,网页实时通信,是一个支持网络浏览器进行实时语音对话或视频对话的技术。

交互行为:可以是用户对当前前端的网站进行点击等操作,生成访问请求的行为,例如,用户使用鼠标对前端网页中的某一控件或某一个网页链接进行点击,如果该点击行为发生在前端网页的空白区域,并未生成访问请求,则该行不为前端客户端的交互行为,如果该点击行为成功并生成了访问请求,则可以认为该点击行为为前端客户端的交互行为。

攻击网络应用的攻击行为:利用网络存在的漏洞或安全缺陷对网络应用及其系统中的数据进行的攻击,例如对网络应用中的数据进行篡改或伪造、降低网络应用的性能等。

实施例1

根据本发明实施例,还提供了一种入侵检测的方法的方法实施例,需要说明的是, 在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种入侵检测的方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的入侵检测的方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的入侵检测的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在上述运行环境下,本申请提供了如图2所示的入侵检测的方法。图2是根据本发明实施例1的一种入侵检测的方法的流程图。

步骤s21,获取前端客户端的交互行为。

在上述步骤中,上述交互行为可以是用户对当前前端的网站进行点击等操作,生成访问请求的行为,例如,用户使用鼠标对前端网页中的某一控件或某一个网页链接进行点击,如果该点击行为发生在前端网页的空白区域,并未生成访问请求,则该行不为前端客户端的交互行为,如果该点击行为成功并生成了访问请求,则可以认为该 点击行为为前端客户端的交互行为。

步骤s23,检测交互行为是否为攻击网络应用的攻击行为。

在上述步骤中,攻击网络应用的攻击行为可以是利用网络存在的漏洞或安全缺陷对网络应用及其系统中的数据进行的攻击,例如对网络应用中的数据进行篡改或伪造、降低网络应用的性能等。

一种可选方案中,本申请可以实现通过部署在前端应用层的入侵检测系统检测当前前端客户端的交互行为。上述入侵检测系统可以是部署在网关或交换机层的waf系统(webapplicationfirewall,网站应用级入侵防御系统),前端在网络应用中可以指网站的前台部分,主要包括网站的表现层和结构,另外,上述入侵检测系统也可以是前端客户端中具有检测攻击行为功能的应用软件或插件。

具体的,结合图3所示的一种可选示例中,当攻击者尝试对前端客户端的网站应用进行攻击时,可以使用部署于b/s前端应用上层的waf系统中预设的安全策略对当前前端客户端产生的交互行为进行匹配,来检测该交互行为是否为攻击行为。

步骤s25,在确定交互行为是攻击网络应用的攻击行为的情况下,触发前端客户端监控发生在本地的行为。在上述步骤中,确认交互行为是攻击行为的方式可以是多种,在此不做具体限定。其中,在采用入侵检测系统检测当前前端客户端的交互行为的一种可选方案中,上述入侵检测系统可以通过透传该攻击行为至前端客户端,来实现触发监控发起攻击行为的前端客户端的行为。

此处需要说明的是,上述前端客户端所监控的行为不限于入侵行为的内容,还包括前端客户端的日常操作行为,例如键盘、鼠标等i/o设备的操作记录、用户在前端客户端的应用软件操作记录和网络流量的记录等。

此处还需要说明的是,本申请上述入侵检测系统在确定当前交互行为是一种攻击网络应用的攻击行为的情况下,该入侵检测系统透传该攻击行为的数据,此处的透传用于表示在传输攻击行为的过程中,不对上述攻击行为做任何处理,直接将其传输至预设目标(例如图3所示的行为分析监测系统)即可,上述可用于透传的设备还可以包括透传网关、无限透传模块(透传grrs模块、透传zigbee模块)等。

由此可知,上述步骤实现了在确定当前前端客户端发生了攻击行为之后,则确定该前端客户端是一个高危的攻击源,进而启动监控该前端客户端后续的网络交互、设备操作等行为,例如监控该前端客户端后续发起的入侵行为,从而实现对前端客户端进行实时监测行为的方案,而无需等到后续的日志分析等来确定攻击行为,提高了监控前端客户端行为的效率。

另外,在透传攻击行为后,对前端客户端的入侵行为进行监控的监控内容可以包括:入侵行为的入侵时间、入侵目的以及入侵源等。

图3是根据本申请实施例1的一种可选的入侵检测的方法的示意图,结合图3所示的示例,上述方案可以实现通过入侵检测系统对前端客户端的交互行为进行检测,并判断当前获取的前端客户端的交互行为是否具有攻击性,即判断当前前端客户端的交互行为是否是攻击行为,在当前交互行为为攻击行为的情况下,可以通过将所述攻击行为进行透传来获取对应的监测模块,进而通过在前端客户端中加载对应的监测模块实现前端客户端对本地发生的行为,包括入侵行为进行监控。其中,在交互行为为正常交互行为的情况下,向前端客户端返回正常的交互请求即可。

此处需要说明的是,在上述实施例中,在确定交互行为是攻击网络应用的攻击行为的情况下,对上述前端客户端进行监控,在得到前端客户端的行为监控结果后,可以根据监控结果在判定入侵行为,进而对进行入侵行为的攻击者进行定位、也可以对入侵行为进行防御,或通过对入侵行为的学习来得到新的入侵行为的防御规则,即本申请上述方案对监控入侵行为后的方法不做具体限定,但对入侵行为进行监控后能够根据监控结果实现对入侵行为的防御、攻击等多种行为。其中,现有技术中的入侵检测系统单一的对攻击的行为做拦截操作,而在本申请提供的入侵检测方法中,入侵检测系统对交互行为进行检测,在确认交互行为是攻击行为的情况下,再对交互行为进行监控。

此处还需要说明的是,本申请上述实施例提供的方法在前端客户端发生交互行为的同时对交互行为进行检测,一旦发现交互行为是前端客户端发生的攻击行为,便立刻对该发生了攻击行为的前端客户端进行监控,从而达到了实时发现入侵行为,实时分析入侵行为的技术效果,避免了现有技术中在后端对入侵行为进行分析所产生的延时。

由此可知,本申请提出了一种利用前端技术来发现入侵行为手段的方法,在业界内通常使用的入侵分析手段都是基于后端去检测,或者是数据驱动来分析入侵的轨迹,通常需要从大量的日志数据中提取并且分析可能潜在的入侵特征,属于“事后”行为。而本申请通过对前端客户端的交互行为进行检测,一旦发行交互行为是入侵行为,就对该入侵行为进行监测的方法,实现了对前端客户端的交互行为进行实时监测的技术效果,也实现了对入侵行为进行跟踪监测的技术效果,充分利用前端具有的属性,能够在第一时间内发现入侵行为,并且能够精确的定位出攻击者,从而解决了现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的技术问题。

由此,本申请提供的上述实施例1的方案解决了现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的技术问题。

在本申请上述实施例中,上述通过部署在前端应用层的入侵检测系统检测当前前端客户端的交互行为的方案可以通过如下步骤来实现:

步骤s211,读取预先配置的安全策略信息,安全策略信息包括:用于确定交互行为是否具备攻击性的信息。

步骤s213,根据安全策略信息判断交互行为对应的请求内容是否具有攻击性。

在上述步骤中,攻击性的请求内容可以是对网络用户数据的修改、剽窃等,攻击性的请求内容可以是前端客户端的交互行为中的请求内容,在一种可选的实施例中,当前前端客户端伪造一个正常请求向当前网页请求上传伪造的用户表单数据,网页接收该伪造的用户表单数据后,网页中其他用户的数据则可能被前端客户端窃取或修改。

判断交互行为对应的请求内容是否具有攻击性可以是将交互行为中的请求内容与安全策略信息中包含的用于确定交互行为是否具有攻击性的信息进行匹配,匹配成功的情况下可以认为该交互行为的请求内容具有攻击性,否则,认为该交互行为的请求内容不具有攻击性。

步骤s215,在交互行为对应的请求内容具有攻击性的情况下,确定交互行为为攻击行为。

步骤s217,在交互行为对应的请求内容不具有攻击性的情况下,确定交互行为为安全行为,并根据请求内容得到返回给前端客户端的响应信息。

在一种可选的实施例中,上述安全策略信息中可以包含请求频率的预设阀值,在交互行为对前端客户端的访问频率大于安全策略信息中包含的请求频率时,可以认为该交互行为具有攻击性,否则,可以认为该交互行为是安全行为。

此处需要说明的是,上述安全策略信息可以是多维度的信息,并不限于上述请求频率,也可以是根据对大量安全的交互行为和大量具有攻击性的交互行为进行学习得到的安全策略模型,从而能够更准确的判断交互行为的种类。

结合图3所示的示例在判断交互行为是否有攻击性之后,得到上述交互行为是否为入侵行为的结果,在上述交互行为具有攻击性的情况下,确认上述交互行为入侵行为,否则,确认上述交互行为为安全行为。再确认上述交互行为是安全行为的情况下,可以将上述安全行为的访问请求返回至web服务器,由web服务器将正常的交互请求 返回至前端客户端。

容易注意到的是,本申请上述步骤通过预先配置的安全策略信息对前端客户端的交互行为进行判断,来确认前端客户端的交互信息是否为入侵行为信息,从而实现了对前端客户端的交互行为进行判断的技术效果。

在本申请上述实施例中,在执行步骤s25,触发前端客户端监控发生在本地的行为之前,还可以执行如下步骤:

步骤s231,获取攻击行为所对应的入侵等级。

在上述步骤中,入侵等级的获取可以是根据多维度的数据得到,例如,可以根据入侵次数进行判别,也可以根据交互行为的访问流量判别,但此处需要说明的是,无论本申请上述步骤采用何种数据或方法获取入侵等级,都能够快速的对数据进行处理,短时间内通过大量的多维度数据判别出攻击行为的入侵等级。

此处需要说明的是,上述入侵等级分析可以由入侵等级分析服务器完成。作为一种可选的方案,在waf将流量数据转交到后端的入侵等级分析服务器后,入侵等级分析服务器通过拆分攻击者的流量数据,并通过判断网站应用的重要程度,以及攻击者尝试攻击的次数,漏洞危险程度综合判定出攻击的威胁等级,当达到威胁等级的阈值,通知埋点在前端的入侵行为监测系统。

步骤s233,根据攻击行为所对应的入侵等级选择与入侵等级相匹配的行为监控模块。

在上述步骤中,由于攻击行为具有不同的入侵等级,因此为了达到对应不同入侵等级的攻击行为行为进行监控的目的,需要对不同入侵等级的攻击行为匹配不同的行为监控模块。

步骤s235,将与入侵等级相匹配的行为监控模块加载至前端客户端,其中,监控模块用于监控并记录前端客户端发起的入侵行为。

在确认该交互行为为攻击行为的情况下,可以通过威胁等级分析系统对上述攻击行为进行入侵等级分析,分析方法可以是判断攻击行为的威胁值是否到达预设阀值,根据一个或多个威胁阀值对攻击行为进行分级,然后通过网关对攻击行为进行透传,最后将与入侵等级相匹配的行为监控模块加载至前端客户端,上述加载方法可以是将携带与入侵等级对应的行为监控模块的访问请求响应返回至前端客户端。

以图3所示的实施例为示例,上述入侵检测系统可以执行上述步骤231至步骤s235,在入侵检测系统为waf系统的可选实施例中,上述waf系统主要通过各种安全 策略配置检测用户的交互行为是否存在攻击行为,本发明对传统的waf系统进行了改进,不再单一的对攻击的行为做拦截操作,而是会将数据转发到威胁等级分析系统,得出一定的威胁等级结果后再通知行为分析监测系统开启不同程度的行为监测,例如入侵行为监测。通知的行为主要表现在将不同的监测模块混淆后的代码渲染到客户端的前端。一般部署在web服务器前一层,如交换机层、网关层。

此处还需要说明的是,上述行为分析监测系统核心主要由javascript实现,可动态的配置化,选择性的加载不同模块来对攻击者进行网络监测,主要由keylogger模块、infologger模块、全流量监测模块组成,keylogger模块主要通过hook技术将javascript内置对象中的onkeypress、onkeydown对象,对攻击者的按键信息进行详细记录,并发送到大数据存储系统。infologger模块主要用于收集客户端基础信息,并把这些基础特征信息发送到大数据存储系统,便于后期对攻击者的溯源分析。全流量监测模块是使用webrtc技术对攻击者所在的网络环境进行深层次的探测,尝试对攻击者的网络环境下的dns服务器进行替换,达到全流量监测的目的。以上模块都通过特定的混淆算法对javascript进行混淆后渲染在前端客户端的浏览器中。

值得注意的是,使用javascript语言实现行为分析监测系统,能够最接近攻击者,实时对攻击者的行为做详细的记录。

在本申请上述实施例中,步骤s231,获取攻击行为所对应的入侵等级,包括:

步骤s2311,获取攻击行为所对应的流量数据。

步骤s2313,分析攻击行为所对应的流量数据,得到至少如下任意一个或多个参数:网络应用的重要程度、发起攻击行为的次数和漏洞危险程度。

由于上述三个维度的数值均为单位不相等的数值,不能进行直接计算,因此,可以将上述三个维度的数值进行归一化处理。

在一种可选的实施例中,在预设的网络应用的重要程度的等级分布数据中,查找当前网络应用的重要程度,以0至1中的数据进行表示,数值越接近1表示网站越重要,数值越趋近于0表示网站的重要程度越低,例如,政府官方的网站应用的网络应用的重要程度为1,以娱乐为主的视频网站的重要程度为0.5,也可以是,某一企业对属于自身的所有网站的网络应用的重要程度进行判定,例如,该企业的账单数据的重要程度为1,产品介绍的网络应用的重要程度可以是0.7。

对发起攻击行为的次数进行归一化可以是,设置一个预定的攻击次数,这一预定的攻击次数对应的归一化后的值为1,可以根据这一预定的攻击次数来计算当前攻击次数的归一化至,例如,预定的攻击次数为10000,当前攻击次数为2479,则当前攻 击次数对应的归一化的值可以是0.25。

而漏洞危险程度的归一化值的计算方法可以与网络应用的重要程度的计算方法类似,同样在预设的漏洞危险程度中查找当前漏洞对应的危险程度,得到对应的漏洞危险程度的归一化值。

步骤s2315,根据网络应用的重要程度、发起攻击行为的次数和漏洞危险程度以及对应的权重值,计算得到攻击行为所对应的入侵值。

本发明提供的一种可选实施例中,可以通过威胁等级分析系统来执行上述步骤,此系统主要根据waf系统输入的数据,根据特定的因素分析出攻击者的交互行为是否到达威胁等级划分的阈值,假如到达一定的威胁等级阈值,则对攻击者前端渲染的页面加载不同程度的入侵监测模块,其核心是能够快速的处理数据,能在短时间内在大量流量数据中判定威胁等级,以便能够及时的对攻击者采取监测行动。

上述威胁等级分析系统所采用的技术,可以结合攻击者进行攻击的目标系统和历史的攻击数据判定出攻击者此次攻击携带的危险程度,给出一个危险等级的分析结果。

例如,本发明可以实现在读取当前网络应用的重要程度、发起攻击行为的次数和漏洞危险程度以及预先设置的对应的权重值之后,进行求和运算来得到所述攻击行为的入侵值。

例如,在一种应用场景中,网络应用的重要程度、发起攻击行为的次数和漏洞危险程度的权重值分别可以为:0.5、0.3和0.2,因此,在当前网络应用的重要程度为1、发起攻击行为的次数为10次、漏洞危险程度为2,则可以通过如下计算得到当前攻击行为所对应的入侵值y:y=0.5*1+0.3*10+0.2*2=3.4。

步骤s2317,将入侵值与至少一个入侵阈值进行比较,确定攻击行为所对应的入侵等级,其中,入侵等级包括:低级入侵等级、中级入侵等级和高级入侵等级。

在一种可选的实施例中,预设两个入侵阈值a、b,其中,a<b,入侵小于a的攻击行为为低级入侵等级,入侵值大于等于a且小于b的为中级入侵等级,入侵值大于等于b的为高级入侵等级,网络应用的重要程度、发起攻击行为的次数和漏洞危险程度以及对应的权重值分别为0.3,0.3,0.4,在以上述情况为基础的示例中,获取网络应用的重要程度、发起攻击行为的次数以及漏洞危险程度,对于网络应用的重要程度、发起攻击行为的次数以及漏洞危险程度的归一化值分别为0.7,0.25,0.61这一攻击行为可以有如下示例:入侵值w=0.3*0.3+0.3*0.25+0.4*0.61=0.424,如果两个入侵阈值a=0.3,b=0.7,则可以认为,上述攻击行为的入侵等为中级入侵等级。

在本申请上述实施例中,步骤s233,根据攻击行为所对应的入侵等级选择与入侵等级相匹配的行为监控模块,包括:

步骤s2331,根据攻击行为所对应的入侵等级在行为分析监测服务器中查询得到对应的行为监控模块;其中,

步骤s2333,当入侵等级为低级入侵等级的情况下,行为监控模块为空。

步骤s2335,当入侵等级为中级入侵等级的情况下,行为监控模块包括:入侵数据收集模块。

基于上述步骤所提供的技术方案,使得行为监测分析系统可以根据当前确定的入侵等级来确定当前攻击程序的威胁度,从而加载并开启不同模式的行为记录模块,例如中级等级的威胁则开启数据收集模块,即可以使用行为监测分析系统确定的keylogger模块和infologger模块实现对入侵数据的收集,其中,keylogger模块主要是在前端通过hookjavascript中的onkeypress对象和onkeydown对象,将攻击者攻击过程中输入的按键记录下来,而infologger模块主要通过javascript收集攻击者的ip地址,mac地址,user-agent等基础特征信息。通过keylogger模块和infologger模块获取的信息能够很精确的分析出攻击者的行为。

步骤s2337,当入侵等级为高级入侵等级的情况下,行为监控模块包括:入侵数据收集模块和/或全流量检测模块。

在上述步骤中,行为分析监测服务器还可以包括webrtc模块来开启全流量监控。

在一种可选的实施例中,当威胁等级分析系统发现攻击行为属于高等级的威胁,则通知前端客户端在收集攻击者数据的同时开启全流量监测模块,其中,全流量监测系统可以通过webrtc技术捕获攻击者的内网ip地址,然后尝试探测攻击者的路由器或者网关ip,进而登录路由器替换攻击者的默认dns服务器,采取全流量监测模式,最终攻击者的全流量信息会存储到大数据存储系统,同时也可以触发报警机制,进而便于网警对攻击者的行为进行全量的分析。

结合图3所示的示例,在确认上述确认入侵行为的入侵等级后,入侵检测系统根据入侵等级匹配对应的行为监控模块,在入侵等级为低等级的情况下,对应的监控模块为空,在入侵等级为中等级的情况下,启动keylogger模块和infologger模块进行入侵数据收集,在入侵等级为高等级的情况下,在启动keylogger模块和infologger模块的同时启动webrtc模块来对攻击行为开启全流量监控。

在本申请上述实施例中,在行为监控模块为空的情况下,确定前端客户端为安全 用户。

在上述步骤中,在行为监控模块为空的情况下,可以认为该入侵行为无需进行监控,从而可以认为该前端客户端为安全用户。

在上述实施例中,确认前端客户端为安全用户可以包括如下任意一种情况,该前端客户端为安全用户,在进行攻击行为检测时由于与攻击行为类似而被确认为攻击行为,或该前端客户端存在入侵行为,但入侵的等级较低,无需使用监控模块对其进行监控,因此可以认为该前端客户端作为安全用户。

在本申请上述实施例中,入侵数据收集模块至少包括:输入信息监控模块和/或前端基础信息监控模块,其中,输入信息监控模块用于监控并记录如下任意一种或多种输入输出设备的操作信息:键盘、鼠标和触摸板,前端基础信息监控模块用于监控并记录前端客户端的如下任意一个或多个信息:前端客户端的ip地址、mac地址、登录用户信息和序列号。

在上述步骤中,结合图3所示的示例,输入信息监控模块可以是keylogger模块,例如,当攻击者通过点击操作对网络应用发起攻击时,输入信息监控模块能够监测到该点击事件,并记录该点击事件发生的事件、点击位置、点击事件所生成的请求信息等数据,在获取到任意操作设备的操作信息,输入信息检测模块还可以将监测到的操作信息发送至大数据存储系统;前端基础信息监控模块可以是infologger模块,在一种可选的实施例中,前端基础信息监控模块可以通过javascript收集前端客户端的ip地址、mac地址、登录用户信息和序列号等信息,在获取到前端客户端的上述信息后,也可以将上述信息发送至大数据存储系统。

在一种可选的实施例中,以上模块都通过特定的混淆算法对javascript进行混淆后渲染在网络应用前端的。

此处需要说明的是,在上述攻击行为的入侵等级为中级的情况下,通过上述入侵数据收集模块和/或全流量检测模块所获取的操作信息和前端信息,能够分析得到精确的前端客户端的攻击行为。

在本申请上述实施例中,全流量检测模块用于探测前端客户端所在的网络环境中的如下一个或多个参数信息:前端客户端的内网ip地址、路由器地址、网关地址和dns服务器地址。

结合图3所示的示例,全流量监测模块使用webrtc技术对攻击者所在的网络环境进行深层次的探测,尝试对前端客户端的网络环境下的dns服务器进行替换,达到全流量监测的目的。在一种可选的实施例中,全流量检测模通过特定的混淆算法对 javascript进行混淆后渲染在浏览器前端。

在本申请上述实施例中,步骤s23,在触发前端客户端监控发生在本地的行为之后,方法还可以执行如下步骤:

步骤s27,获取监控前端客户端入侵行为而得到的监控数据。

步骤s29,通过大数据引擎将监控数据进行数据结构化处理和/或可视化处理,得到前端客户端的攻击分析结果。

此系统主要用于存储攻击者的攻击行为数据,通过大数据引擎(hadoop或odps)将数据结构化、可视化的展现出来,用于对前端客户端进行攻击路径分析、攻击图分析以及溯源分析。

结合图3所示的示例,在获取得到监控前端客户端入侵行为的监控数据后,可以将数据上传至大数据存储系统,大数据存储系统通过自身具备的大数据计算能力,对监控数据进行攻击分析,在得到监控数据的分析结果后,大数据存储系统可以将分析结果进行结构化和/或可视化处理,并可以将处理后的监控数据发送至显示终端。

值得注意的是,上述入侵等级分析服务器和大数据存储系统都可以使用hadoop或odps作为的媒介,以便快速处理各种数据,迅速分析得出威胁结果。

下面结合图4所示,就本申请的方案应用在任意前端网络应用上的入侵检测的应用场景所实现的功能进行详细描述。

步骤s402,通过部署在前端客户端的应用层的入侵检测系统,检测前端客户端的交互行为。

在上述步骤中,入侵检测系统可以部署在网关、交换机等中间设备上述,检测前端客户端的交互行为可以是通过根据预先配置的安全策略信息对交互行为的攻击性进行判断,在交互行为对应的请求内容具有攻击性的情况下,确定交互行为为攻击行为;在交互行为对应的请求内容不具有攻击性的情况下,确定交互行为为安全行为。

步骤s404,请求确定所述交互行为是安全行为的情况下,接收所述前端客户端的请求内容。

步骤s406,请求服务器将请求内容对应的响应信息返回至前端客户端。

步骤s408,在确定交互行为是攻击网络应用的攻击行为的情况下,可以将攻击行为输入至入侵等级分析服务器。入侵等级分析服务器获取攻击行为后所对应的入侵等级。

在上述步骤中,入侵等级分析服务器接收攻击行为后,获取上述攻击行为所对应的入侵等级。

步骤s410,行为分析监测服务器根据攻击行为所对应的入侵等级选择与入侵等级相匹配的行为监控模块。

在上述步骤中,可以采用如下方法为攻击行为匹配行为监控模块,当入侵等级为低级入侵等级的情况下,行为监控模块为空;当入侵等级为中级入侵等级的情况下,行为监控模块包括:入侵数据收集模块;当入侵等级为高级入侵等级的情况下,行为监控模块包括:入侵数据收集模块和/或全流量检测模块。

步骤s412,行为分析监测服务器将与入侵等级相匹配的行为监控模块加载至前端客户端。

在上述步骤中红,在行为分析监测服务器将与入侵等级相匹配的行为监控模块加载至前端客户端后,前端客户端监控本地行为,例如入侵行为而得到的监控数据,并可以数据引擎将监控数据进行数据结构化处理和/或可视化处理,得到前端客户端的攻击分析结果。

一种可选实施例中,可以通过大数据存储系统来实现上述步骤,此系统主要用于存储攻击者的攻击行为数据,通过大数据引擎将数据结构化、可视化的展现出来,用于对攻击者的攻击路径分析、攻击图分析以及溯源分析。

另外,本申请还可以通过与前端客户端连接的日志服务器来进行日志记录和后端入侵行为分析:记录所有的用户请求数据,存储在后端,然后进行分析提炼,得出哪些请求是带有攻击特征的,再对用户客户端特征(如ip地址,唯一用户标识)反向查询日志记录,查看攻击者还做了哪些攻击行为。推测攻击者的攻击路径和攻击图。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端 设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

根据本发明实施例,还提供了一种用于实施上述入侵检测的方法的入侵检测的系统,如图5所示,该系统包括:

前端客户端50,用于发送交互行为;中间设备52,与前端客户端50具有通信关系,用于检测交互行为是否为攻击网络应用的攻击行为,在确定交互行为是攻击网络应用的攻击行为的情况下,触发前端客户端监控发生在本地的行为。

一种可选方案中,上述中间设备52可以是部署了入侵检测系统的网关、交换机等转发设备,可以通过部署在中间设备的前端应用层的入侵检测系统检测前端客户端的交互行为,其中,入侵检测系统透传攻击行为至前端客户端。

图6是根据本申请实施例2的一种可选的入侵检测系统的结构示意图,在一种可选的实施例中,结合图6所示的系统,前端客户端上的网络应用发起交互行为后,部署在中间设备中的入侵检测服务器对上述交互行为的攻击性进行检测,在确认上述交互行为是攻击设备攻击前端客户端而产生的攻击行为的情况下,触发前端客户端继续对本地产生的各种行为进行监控,进而确定后的交互行为是否为攻击设备攻击而产生的攻击行为。

在上述系统中,在一种可选的实施例中,入侵检测系统检测前端客户端的交互行为,可以读取预先配置的安全策略信息,安全策略信息包括:用于确定交互行为是否具备攻击性的信息;根据安全策略信息判断交互行为对应的请求内容是否具有攻击性;在交互行为对应的请求内容具有攻击性的情况下,确定交互行为为攻击行为;在交互行为对应的请求内容不具有攻击性的情况下,确定交互行为为安全行为,并根据请求内容得到返回给前端客户端的响应信息。

此处需要说明的是,在上述实施例中,在确定交互行为是攻击网络应用的攻击行为的情况下,对上述前端客户端的行为进行监控,在得到前端客户端的入侵行为的监控结果后,可以根据监控结果在判定入侵行为,进而对进行入侵行为的攻击者进行定位、也可以对入侵行为进行防御,或通过对入侵行为的学习来得到新的入侵行为的防御规则,即本申请上述方案对监控入侵行为后的方法不做具体限定,但对入侵行为进行监控后能够根据监控结果实现对入侵行为的防御、攻击等多种行为。其中,现有技术中的入侵检测系统单一的对攻击的行为做拦截操作,而在本申请提供的入侵检测方法中,入侵检测系统对交互行为进行检测,在确认交互行为是攻击行为的情况下,再 对交互行为进行监控。

此处还需要说明的是,本申请上述实施例提供的系统在前端客户端发生交互行为的同时对交互行为进行检测,一旦发现交互行为是对前端客户端的入侵行为,便立刻对该交互行为进行监控,从而达到了实时发现入侵行为,实时分析入侵行为的技术效果,避免了现有技术中在后端对入侵行为进行分析所产生的延时。

由此可知,本申请提出了一种利用前端技术来发现入侵行为手段的系统,在业界内通常使用的入侵分析手段都是基于后端去检测,或者是数据驱动来分析入侵的轨迹,通常需要从大量的日志数据中提取并且分析可能潜在的入侵特征,属于“事后”行为。而本申请通过对前端客户端的交互行为进行检测,一旦发行交互行为是入侵行为,就对该入侵行为进行监测的方法,实现了对前端客户端的交互行为进行实时监测的技术效果,也实现了对入侵行为进行跟踪监测的技术效果,充分利用前端具有的属性,能够在第一时间内发现入侵行为,并且能够精确的定位出攻击者,从而解决了现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的技术问题。

由此,本申请提供的上述实施例2的方案解决了现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的技术问题。

在本申请上述实施例中,上述系统还包括:

请求服务器52,与前端客户端具有通信关系,用于在确定交互行为是安全行为的情况下,接收前端客户端的请求内容,并返回给前端客户端对应的响应信息。

结合图3所示的示例,上述请求服务器可以是web服务器,并与前端客户端之间具有通信关系,在上述交互行为为安全的交互行为的情况下,请求服务器向前端客户端正常返回上述交互行为中的请求内容对应的响应信息。

在本申请上述实施例中,上述系统还包括:

入侵等级分析服务器54,与前端客户端具有通信关系,用于获取攻击行为所对应的入侵等级。

上述入侵等级分析服务器可以根据waf输入的数据,根据特定的因素分析出攻击者的交互行为是否到达威胁等级划分的阈值,假如到达一定的威胁等级阈值,则对攻击者前端渲染的页面加载不同程度的入侵监测模块,其核心是能够快速的处理数据,能在短时间内在大量流量数据中判定威胁等级,以便能够及时的对攻击者采取监测行 动。

在一种可选的实施例中,上述入侵等级分析服务器可以通过拆分攻击者的流量数据,并通过判断网站应用的重要程度,以及攻击者尝试攻击的次数,漏洞危险程度综合判定出攻击的威胁等级,当达到威胁等级的阈值,通知埋点在前端的入侵行为监测系统。

结合图3所示的示例,入侵等级分析服务器用于在入侵检测系统检测得到上述交互行为为攻击行为后,确定上述攻击行为的入侵等级,在一种可选的实施例中,入侵等级可以分为低级入侵等级、中级入侵等级以及高级入侵等级。在确认上述攻击行为的入侵等级时,可以通过分析上述攻击行为对应的流量来确定攻击行为的入侵等级,分析所述攻击行为所对应的流量数据,得到至少如下任意一个或多个参数:所述网络应用的重要程度、发起所述攻击行为的次数和漏洞危险程度;根据所述网络应用的重要程度、发起所述攻击行为的次数和漏洞危险程度以及对应的权重值,计算得到所述攻击行为所对应的入侵值;将所述入侵值与至少一个入侵阈值进行比较,确定所述攻击行为所对应的入侵等级。

在本申请上述实施例中,上述系统还包括:

行为分析监测系统,连接于入侵等级分析服务器和前端客户端之间,用于根据攻击行为所对应的入侵等级选择与入侵等级相匹配的行为监控模块,并将与入侵等级相匹配的行为监控模块加载至前端客户端,其中,监控模块用于监控并记录前端客户端发起的入侵行为。

结合图3所示的示例,上述入侵检测服务器接收入侵等级分析服务器上传的攻击行为的入侵等级,并根据入侵行为的入侵等级选择对应的检测模块,在一种可选的实施例中,当入侵等级为低级入侵等级的情况下,行为监控模块为空;当入侵等级为中级入侵等级的情况下,行为监控模块包括:入侵数据收集模块;当入侵等级为高级入侵等级的情况下,行为监控模块包括:入侵数据收集模块和/或全流量检测模块。

在本申请上述实施例中,入侵等级分析服务器还用于获取攻击行为所对应的流量数据;分析攻击行为所对应的流量数据,得到至少如下任意一个或多个参数:网络应用的重要程度、发起攻击行为的次数和漏洞危险程度;根据网络应用的重要程度、发起攻击行为的次数和漏洞危险程度以及对应的权重值,计算得到攻击行为所对应的入侵值;将入侵值与至少一个入侵阈值进行比较,确定攻击行为所对应的入侵等级,其中,入侵等级包括:低级入侵等级、中级入侵等级和高级入侵等级。

在本申请上述实施例中,入侵监测服务器还用于根据攻击行为所对应的入侵等级 在入侵检测系统中查询得到对应的行为监控模块;其中,当入侵等级为低级入侵等级的情况下,行为监控模块为空;当入侵等级为中级入侵等级的情况下,行为监控模块包括:入侵数据收集模块;当入侵等级为高级入侵等级的情况下,行为监控模块包括:入侵数据收集模块和/或全流量检测模块。

在本申请上述实施例中,在行为监控模块为空的情况下,确定前端客户端为安全用户。

在本申请上述实施例中,上述系统还包括入侵数据收集模块,上述入侵数据收集模块至少包括:输入信息监控模块和/或前端基础信息监控模块,其中,输入信息监控模块用于监控并记录如下任意一种或多种输入输出设备的操作信息:键盘、鼠标和触摸板,前端基础信息监控模块用于监控并记录前端客户端的如下任意一个或多个信息:前端客户端的ip地址、mac地址、登录用户信息和序列号。

在本申请上述实施例中,上述系统还包括全流量检测模块,用于探测前端客户端所在的网络环境中的如下一个或多个参数信息:前端客户端的内网ip地址、路由器地址、网关地址和dns服务器地址。

在本申请上述实施例中,上述系统还包括:

大数据存储服务器,用于在监控发起攻击行为的前端客户端的入侵行为之后,获取监控前端客户端入侵行为而得到的监控数据;将监控数据进行数据结构化处理和/或可视化处理,得到前端客户端的攻击分析结果。

实施例3

根据本发明实施例,还提供了一种用于实施上述入侵检测的方法的入侵检测的系统,如图7所示,该系统包括:

第一获取模块70,用于获取前端客户端的交互行为;检测模块72,用于检测交互行为是否为攻击网络应用的攻击行为;监控模块74,用于在确定交互行为是攻击网络应用的攻击行为的情况下,触发前端客户端监控发生在本地的行为。

此处需要说明的是,上述第一获取模块70、检测模块72和监控模块74对应于实施例1中的步骤s21至步骤s25,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。

此处需要说明的是,在上述实施例中,在确定交互行为是攻击网络应用的攻击行为的情况下,对上述前端客户端进行监控,在得到前端客户端的行为监控结果后,可 以根据监控结果判定入侵行为、进而对进行入侵行为的攻击者进行定位,也可以对入侵行为进行防御,或通过对入侵行为的学习来得到新的入侵行为的防御规则,即本申请上述方案对监控入侵行为后的方法不做具体限定,但对入侵行为进行监控后能够根据监控结果实现对入侵行为的防御、攻击等多种行为。其中,现有技术中的入侵检测系统单一的对攻击的行为做拦截操作,而在本申请提供的入侵检测方法中,入侵检测系统对交互行为进行检测,在确认交互行为是攻击行为的情况下,再对交互行为进行监控。

此处还需要说明的是,本申请上述实施例提供的装置在前端客户端发生交互行为的同时对交互行为进行检测,一旦发现交互行为是对前端客户端的入侵行为,便立刻对该交互行为进行监控,从而达到了实时发现入侵行为,实时分析入侵行为的技术效果,避免了现有技术中在后端对入侵行为进行分析所产生的延时。

由此可知,本申请提出了一种利用前端技术来发现入侵行为手段的装置,在业界内通常使用的入侵分析手段都是基于后端去检测,或者是数据驱动来分析入侵的轨迹,通常需要从大量的日志数据中提取并且分析可能潜在的入侵特征,属于“事后”行为。而本申请通过对前端客户端的交互行为进行检测,一旦发行交互行为是入侵行为,就对该入侵行为进行监测的方法,实现了对前端客户端的交互行为进行实时监测的技术效果,也实现了对入侵行为进行跟踪监测的技术效果,充分利用前端具有的属性,能够在第一时间内发现入侵行为,并且能够精确的定位出攻击者,从而解决了现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的技术问题。

在本申请上述实施例中,结合图8所示,通过部署在前端应用层的入侵检测系统检测前端客户端的交互行为,上述装置还包括::

透传模块80,用于入侵检测系统透传攻击行为至前端客户端。

上述入侵检测系统可以通过透传该攻击行为至前端客户端,来实现触发监控发起攻击行为的前端客户端的行为。

此处需要说明的是,上述前端客户端所监控的行为不限于入侵行为的内容,还包括前端客户端的日常操作行为,例如键盘、鼠标等i/o设备的操作记录、用户在前端客户端的应用软件操作记录和网络流量的记录等。

此处还需要说明的是,本申请上述入侵检测系统在确定当前交互行为是一种攻击网络应用的攻击行为的情况下,该入侵检测系统透传该攻击行为的数据,此处的透传用于表示在传输攻击行为的过程中,不对上述攻击行为做任何处理,直接将其传输至 预设目标(例如图3所示的行为分析监测系统)即可,上述可用于透传的设备还可以包括透传网关、无限透传模块(透传grrs模块、透传zigbee模块)等。

在本申请上述实施例中,结合图9所示,上述检测模块70包括:

读取模块90,用于读取预先配置的安全策略信息,安全策略信息包括:用于确定交互行为是否具备攻击性的信息;判断模块92,用于根据安全策略信息判断交互行为对应的请求内容是否具有攻击性;第一确定模块94,用于在交互行为对应的请求内容具有攻击性的情况下,确定交互行为为攻击行为;第二确定模块96,用于在交互行为对应的请求内容不具有攻击性的情况下,确定交互行为为安全行为,并根据请求内容得到返回给前端客户端的响应信息。

此处需要说明的是,上述读取模块90、判断模块92、第一确定模块94和第二确定模块96对应于实施例1中的步骤s211至步骤s217,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。

在本申请上述实施例中,结合图10所示,上述装置还包括:

第二获取模块100,用于获取攻击行为所对应的入侵等级;匹配模块102,用于根据攻击行为所对应的入侵等级选择与入侵等级相匹配的行为监控模块;加载模块104,用于将与入侵等级相匹配的行为监控模块加载至前端客户端,其中,行为监控模块用于监控并记录前端客户端发生的行为。

此处需要说明的是,上述第二获取模块100、匹配模块102和加载模块104对应于实施例1中的步骤s231至步骤s235,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。

在本申请上述实施例中,结合图11所示,上述获取模块100包括:

获取子模块110,用于获取攻击行为所对应的流量数据;分析模块112,用于分析攻击行为所对应的流量数据,得到至少如下任意一程度;发起模块114,用于根据网络应用的重要程度、发起攻击行为的次数和漏洞危险程度以及对应的权重值,计算得到攻击行为所对应的入侵值;第三确定模块116,用于将入侵值与至少一个入侵阈值进行比较,确定攻击行为所对应的入侵等级,其中,入侵等级包括:低级入侵等级、中级入侵等级和高级入侵等级。

此处需要说明的是,上述获取子模块110、分析模块112、发起模块114和第三确 定模块116对应于实施例1中的步骤s2311至步骤s2317,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。

在本申请上述实施例中,结合图12所示,上述匹配模块102包括:

查询模块120,用于根据攻击行为所对应的入侵等级在行为分析监测服务器中查询得到对应的行为监控模块;其中,当入侵等级为低级入侵等级的情况下,行为监控模块为空;当入侵等级为中级入侵等级的情况下,行为监控模块包括:入侵数据收集模块;当入侵等级为高级入侵等级的情况下,行为监控模块包括:入侵数据收集模块和/或全流量检测模块。

此处需要说明的是,上述查询模块120对应于实施例1中的步骤s2331至步骤s2337,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。

实施例4

在实施例1的运行环境下,本申请提供了如图13所示的入侵检测的方法。图13是根据本发明实施例4的另一种入侵检测的方法的流程图。

步骤s131,前端客户端检测本地发生的交互行为是否为攻击网络应用的攻击行为。

在上述步骤中,上述交互行为可以是用户对当前前端的网站进行点击等操作,生成访问请求的行为,例如,用户使用鼠标对前端网页中的某一控件或某一个网页链接进行点击,如果该点击行为发生在前端网页的空白区域,并未生成访问请求,则该行不为前端客户端的交互行为,如果该点击行为成功并生成了访问请求,在可以认为该点击行为为前端客户端的交互行为。

一种可选方案中,本申请可以实现通过部署在前端应用层的入侵检测系统检测当前前端客户端的交互行为。上述入侵检测系统可以是前端客户端中具有检测攻击行为功能的应用软件或插件。

步骤s133,在确定交互行为是攻击网络应用的攻击行为的情况下,前端客户端监控发生在本地的行为。

此处需要说明的是,上述前端客户端所监控的行为不限于入侵行为的内容,还包括前端客户端的日常操作行为,例如键盘、鼠标等i/o设备的操作记录、用户在前端客户端的应用软件操作记录和网络流量的记录等。

此处还需要说明的是,本申请上述前端客户端在确定本地交互行为是一种攻击网络应用的攻击行为的情况下,透传该攻击行为的数据,此处的透传用于表示在传输攻击行为的过程中,不对上述攻击行为做任何处理,直接将其传输至预设目标(例如图3所示的行为分析监测系统)即可,上述可用于透传的设备还可以包括透传网关、无限透传模块(透传grrs模块、透传zigbee模块)等。

由此可知,上述步骤实现了在当前前端客户端确定本地发生了攻击行为之后,启动监控本地后续的网络交互、设备操作等行为,例如监控该前端客户端后续发起的入侵行为,从而实现对前端客户端进行实时监测行为的方案,而无需等到后续的日志分析等来确定攻击行为,提高了监控前端客户端行为的效率。

图3是根据本申请实施例1的一种可选的入侵检测的方法的示意图,结合图3所示的示例,上述方案可以实现通过入侵检测系统对前端客户端的交互行为进行检测,并判断当前前端客户端本地的交互行为是否具有攻击性,即判断前端客户端本地的交互行为是否是攻击行为,在当前交互行为为攻击行为的情况下,可以通过将所述攻击行为进行透传来获取对应的监测模块,进而通过在前端客户端中加载对应的监测模块实现前端客户端对本地发生的行为,包括入侵行为进行监控。其中,在交互行为为正常交互行为的情况下,向前端客户端返回正常的交互请求即可。

此处需要说明的是,在上述实施例中,在确定交互行为是攻击网络应用的攻击行为的情况下,对发生在前端客户端的行为进行监控,在得到前端客户端的行为监控结果后,可以根据监控结果判定入侵行为,进而对进行入侵行为的攻击者进行定位、也可以对入侵行为进行防御,或通过对入侵行为的学习来得到新的入侵行为的防御规则,即本申请上述方案对监控入侵行为后的方法不做具体限定,但对入侵行为进行监控后能够根据监控结果实现对入侵行为的防御、攻击等多种行为。其中,现有技术中的入侵检测系统单一的对攻击的行为做拦截操作,而在本申请提供的入侵检测方法中,入侵检测系统对交互行为进行检测,在确认交互行为是攻击行为的情况下,再对交互行为进行监控。

此处还需要说明的是,本申请上述实施例提供的方法在前端客户端检测到本地发生交互行为的同时对交互行为进行检测,一旦发现交互行为是前端客户端发生的攻击行为,便立刻对该发生了攻击行为的前端客户端进行监控,从而达到了实时发现入侵行为,实时分析入侵行为的技术效果,避免了现有技术中在后端对入侵行为进行分析所产生的延时。

由此可知,本申请提出了一种利用前端技术来发现入侵行为手段的方法,在业界内通常使用的入侵分析手段都是基于后端去检测,或者是数据驱动来分析入侵的轨迹, 通常需要从大量的日志数据中提取并且分析可能潜在的入侵特征,属于“事后”行为。而本申请通过前端客户端检测发生在本地的交互行为,一旦发行交互行为是入侵行为,就对该入侵行为进行监测的方法,实现了对前端客户端的交互行为进行实时监测的技术效果,也实现了对入侵行为进行跟踪监测的技术效果,充分利用前端具有的属性,能够在第一时间内发现入侵行为,并且能够精确的定位出攻击者,从而解决了现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的技术问题。

由此,本申请提供的上述实施例1的方案解决了现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的技术问题。

实施例5

本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行应用程序的入侵检测的方法中以下步骤的程序代码:获取前端客户端的交互行为;检测交互行为是否为攻击网络应用的攻击行为;在确定交互行为是攻击网络应用的攻击行为的情况下,触发前端客户端监控发生在本地的行为。

可选地,图14是根据本发明实施例的一种计算机终端的结构框图。如图14所示,该计算机终端1400可以包括:一个或多个(图中仅示出一个)处理器1402、存储器1404、以及传输装置1406。

其中,存储器可用于存储软件程序以及模块,如本发明实施例中的入侵检测的方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的系统漏洞攻击的检测方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端a。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤: 获取前端客户端的交互行为;检测交互行为是否为攻击网络应用的攻击行为;在确定交互行为是攻击网络应用的攻击行为的情况下,触发前端客户端监控发生在本地的行为。

可选的,上述处理器还可以执行如下步骤的程序代码:通过部署在前端应用层的入侵检测系统检测前端客户端的交互行为,其中,在触发前端客户端监控发生在本地的行为之前,方法还包括:入侵检测系统透传攻击行为至前端客户端。

可选的,上述处理器还可以执行如下步骤的程序代码:读取预先配置的安全策略信息,安全策略信息包括:用于确定交互行为是否具备攻击性的信息;根据安全策略信息判断交互行为对应的请求内容是否具有攻击性;在交互行为对应的请求内容具有攻击性的情况下,确定交互行为为攻击行为;在交互行为对应的请求内容不具有攻击性的情况下,确定交互行为为安全行为,并根据请求内容得到返回给前端客户端的响应信息。

可选的,上述处理器还可以执行如下步骤的程序代码:获取攻击行为所对应的入侵等级;根据攻击行为所对应的入侵等级选择与入侵等级相匹配的行为监控模块;将与入侵等级相匹配的行为监控模块加载至前端客户端,其中,监控模块用于监控并记录前端客户端发起的入侵行为。

可选的,上述处理器还可以执行如下步骤的程序代码:获取攻击行为所对应的流量数据;分析攻击行为所对应的流量数据,得到至少如下任意一个或多个参数:网络应用的重要程度、发起攻击行为的次数和漏洞危险程度;根据网络应用的重要程度、发起攻击行为的次数和漏洞危险程度以及对应的权重值,计算得到攻击行为所对应的入侵值;将入侵值与至少一个入侵阈值进行比较,确定攻击行为所对应的入侵等级,其中,入侵等级包括:低级入侵等级、中级入侵等级和高级入侵等级。

可选的,上述处理器还可以执行如下步骤的程序代码:根据攻击行为所对应的入侵等级在行为分析监测服务器中查询得到对应的行为监控模块;其中,当入侵等级为低级入侵等级的情况下,行为监控模块为空;当入侵等级为中级入侵等级的情况下,行为监控模块包括:入侵数据收集模块;当入侵等级为高级入侵等级的情况下,行为监控模块包括:入侵数据收集模块和/或全流量检测模块。

可选的,上述处理器还可以执行如下步骤的程序代码:在行为监控模块为空的情况下,确定前端客户端为安全用户。

可选的,上述处理器还可以执行如下步骤的程序代码:入侵数据收集模块至少包括:输入信息监控模块和/或前端基础信息监控模块,其中,输入信息监控模块用于监 控并记录如下任意一种或多种输入输出设备的操作信息:键盘、鼠标和触摸板,前端基础信息监控模块用于监控并记录前端客户端的如下任意一个或多个信息:前端客户端的ip地址、mac地址、登录用户信息和序列号。

可选的,上述处理器还可以执行如下步骤的程序代码:全流量检测模块用于探测前端客户端所在的网络环境中的如下一个或多个参数信息:前端客户端的内网ip地址、路由器地址、网关地址和dns服务器地址。

可选的,上述处理器还可以执行如下步骤的程序代码:获取监控前端客户端入侵行为而得到的监控数据;通过大数据引擎将监控数据进行数据结构化处理和/或可视化处理,得到前端客户端的攻击分析结果。

由此可知,本申请提出了一种利用前端技术来发现入侵行为手段的方案,在业界内通常使用的入侵分析手段都是基于后端去检测,或者是数据驱动来分析入侵的轨迹,通常需要从大量的日志数据中提取并且分析可能潜在的入侵特征,属于“事后”行为。而本申请通过对前端客户端的交互行为进行检测,一旦发行交互行为是入侵行为,就对该入侵行为进行监测的方法,实现了对前端客户端的交互行为进行实时监测的技术效果,也实现了对入侵行为进行跟踪监测的技术效果,充分利用前端具有的属性,能够在第一时间内发现入侵行为,并且能够精确的定位出攻击者,从而解决了现有技术采用后端检测或日志数据分析等在后端进行入侵检测的分析手段,导致监控客户端发生的行为时效性差的技术问题。

本领域普通技术人员可以理解,图14所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图14其并不对上述电子装置的结构造成限定。例如,计算机终端1400还可包括比图1400中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图1400所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

实施例6

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的入侵检测的方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的 任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取前端客户端的交互行为;检测交互行为是否为攻击网络应用的攻击行为;在确定交互行为是攻击网络应用的攻击行为的情况下,触发前端客户端监控发生在本地的行为。

可选的,上述处理器还可以执行如下步骤的程序代码:通过部署在前端应用层的入侵检测系统检测前端客户端的交互行为,其中,在触发前端客户端监控发生在本地的行为之前,方法还包括:入侵检测系统透传攻击行为至前端客户端。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:读取预先配置的安全策略信息,安全策略信息包括:用于确定交互行为是否具备攻击性的信息;根据安全策略信息判断交互行为对应的请求内容是否具有攻击性;在交互行为对应的请求内容具有攻击性的情况下,确定交互行为为攻击行为;在交互行为对应的请求内容不具有攻击性的情况下,确定交互行为为安全行为,并根据请求内容得到返回给前端客户端的响应信息。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取攻击行为所对应的入侵等级;根据攻击行为所对应的入侵等级选择与入侵等级相匹配的行为监控模块;将与入侵等级相匹配的行为监控模块加载至前端客户端,其中,监控模块用于监控并记录前端客户端发起的入侵行为。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取攻击行为所对应的流量数据;分析攻击行为所对应的流量数据,得到至少如下任意一个或多个参数:网络应用的重要程度、发起攻击行为的次数和漏洞危险程度;根据网络应用的重要程度、发起攻击行为的次数和漏洞危险程度以及对应的权重值,计算得到攻击行为所对应的入侵值;将入侵值与至少一个入侵阈值进行比较,确定攻击行为所对应的入侵等级,其中,入侵等级包括:低级入侵等级、中级入侵等级和高级入侵等级。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据攻击行为所对应的入侵等级在行为分析监测服务器中查询得到对应的行为监控模块;其中,当入侵等级为低级入侵等级的情况下,行为监控模块为空;当入侵等级为中级入侵等级的情况下,行为监控模块包括:入侵数据收集模块;当入侵等级为高级入侵等级的情况下,行为监控模块包括:入侵数据收集模块和/或全流量检测模块。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码: 在行为监控模块为空的情况下,确定前端客户端为安全用户。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:入侵数据收集模块至少包括:输入信息监控模块和/或前端基础信息监控模块,其中,输入信息监控模块用于监控并记录如下任意一种或多种输入输出设备的操作信息:键盘、鼠标和触摸板,前端基础信息监控模块用于监控并记录前端客户端的如下任意一个或多个信息:前端客户端的ip地址、mac地址、登录用户信息和序列号。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:全流量检测模块用于探测前端客户端所在的网络环境中的如下一个或多个参数信息:前端客户端的内网ip地址、路由器地址、网关地址和dns服务器地址。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取监控前端客户端入侵行为而得到的监控数据;通过大数据引擎将监控数据进行数据结构化处理和/或可视化处理,得到前端客户端的攻击分析结果。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质 上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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