一种网页攻击数据的检测方法及装置的制造方法_3

文档序号:8925220阅读:来源:国知局
量的传播路径中包含预设目标函数。
[0070]具体来讲,在未设置钩子函数时,初始访问变量在调用目标函数时,则直接将初始访问变量作为参数传入至目标函数。在为目标函数设置钩子函数后,则初始访问变量调用目标函数时,会首先调用钩子函数,钩子函数被调用时,会生成报警值,监测到报警值则可以确定初始访问变量调用目标函数,便可将该初始访问变量确定为网页攻击数据。可见,钩子函数也可以认为是拦截函数,其作用是拦截网页木马对目标函数的调用。
[0071]在实施例中,以PHP脚本为例,钩子函数是以扩展形式设置在网页服务器中的,并写入php.1ni的配置文件中,因此,在网页服务器接收到网页访问请求后进行网页访问响应时,会加载PHP运行环境并运行本申请提供的钩子函数,以实现对网页木马调用目标函数的拦截。
[0072]如上所述,初始访问变量在网页访问响应中具有自身的传播路径,传播路径表明初始访问变量、初始访问变量生成的后续访问变量或者两者在网页访问响应中对函数的操作。初始访问变量在网页访问响应中可能会生成后续访问变量,因此,如图3所示,上述实施例中的步骤S103确定初始访问变量在网页访问响应中的传播路径的具体实现方式可以包括下述步骤S301?S305:
[0073]步骤S301:监测网页访问响应中是否利用所述初始访问变量生成后续访问变量;若是,执行步骤S302,否则,执行步骤S305。
[0074]其中,网页访问响应中可能生成后续访问变量,该后续访问变量是初始访问变量生成的,其具有该初始访问变量的特征,若该初始访问变量为网页攻击数据,则后续访问变量也会是网页攻击数据。因此,需要监测初始访问变量是否生成后续访问变量。
[0075]初始访问变量生成后续访问变量的方式可以是通过字符串操作,因此,本步骤的具体实现方式可以是:监测网页访问响应中是否对所述初始访问变量进行字符串操作后生成后续访问变量;其中,所述字符串操作包括字符串赋值、字符串拷贝、字符串拆分中及字符串合并中的至少一个。
[0076]网页攻击数据一般为字符串形式,保存在初始访问变量中。在网页访问响应时,网页攻击数据可能被赋值给新的变量,即字符串赋值;网页攻击数据还可能被复制给新的变量,则字符串拷贝;网页攻击数据可能被拆分为多个子字符串,即字符串拆分;网页攻击数据还可能与其他的字符串合并,即字符串合并。当然,字符串操作还可以是其他形式,只要是利用初始访问变量生成新的变量的操作均为在本申请保护范围中的字符串操作。
[0077]需要说明的是,所述监测为持续进行的过程,即初始访问变量会生成后续访问变量,若初始访问变量生成后续访问变量,则继续监测该后续变量是否生成新的后续访问变量,直至网页访问响应过程结束。
[0078]步骤S302:判断所述初始访问变量是否存在,若是,执行步骤S303,否则执行步骤S304。
[0079]在上述几种初始访问变量的字符串操作中,字符串拷贝操作仍会存在初始访问变量,但字符串赋值、字符串拆分及字符串合并操作中,初始访问变量不存在,因此,判断初始访问变量是否存在,若存在,执行步骤S303,否则执行步骤S304。
[0080]步骤S303:将所述初始访问变量及所述后续访问变量调用的函数确定为所述访问变量的传播路径。
[0081]其中,若初始访问变量生成后续访问变量,且初始访问变量存在,则不仅需要追踪后续访问变量对函数的调用,而且需要追踪初始访问变量对函数的调用,将初始访问变量及后续访问变量调用的函数都确定为访问变量的传播路径。
[0082]步骤S304:将所述后续访问变量调用的函数确定为所述访问变量的传播路径。
[0083]其中,若初始访问变量生成后续访问变量,且初始访问变量不存在,则仅仅追踪后续访问变量对函数的调用。
[0084]步骤S305:将所述初始访问变量调用的函数确定为所述访问变量的传播路径。
[0085]其中,若初始访问变量并未生成后续访问变量,则仅仅追踪初始访问变量对函数的调用。
[0086]由以上的技术方案可知,通过跟踪初始访问变量、后续访问变量或者两者对函数的调用,来确定初始访问变量的传播路径。
[0087]网页访问响应中会对各种变量进行操作,其中可能包含利用初始访问变量生成后续访问变量的操作。因此,在上述实现方式中,步骤S301监测网页访问响应中是否利用所述初始访问变量生成后续访问变量的具体实现方式还可以是:
[0088]标记所述初始访问变量;在网页访问响应中当前变量生成后续变量时,判断所述当前变量是否为标记的所述初始访问变量。
[0089]其中,在从网页访问请求中提取到初始访问变量后,可以对该初始访问变量进行标记,进行标记后的初始访问变量在网页访问响应过程中的传播路径会被监测到。由于初始访问变量保存在结构体中,标记初始访问变量的方式可以是,分配比初始访问变量的结构体更大的结构体,用于保存初始访问变量,在该初始访问变量的后面添加上标记数据。标记数据可以是以空白字符开始,以预设字符结束。
[0090]这样,在网页访问响应过程中,每当一个当前变量生成后续变量时,则判断该当前变量的结尾处是否存在标记数据,若存在,说明该当前变量为初始访问变量,也即表明初始访问变量生成后续访问变量。可见,通过对初始访问变量标记及监测全部变量生成后续访问变量的操作,可以实现监测初始访问变量是否生成后续访问变量。
[0091]当前变量可以保存在另一变量中,如http_globals变量。这些变量可以组成数组,如zval*http_globals[6],从数组中获取到哈希表,再从哈希表中便可获取到初始访问变量。当然,该变量仅仅是一种示例,本申请还可以应用在其他形式的变量。
[0092]下面对本申请提供的网页木马的检测装置进行介绍,需要说明的是,有关网页木马的检测装置的说明可参照上文提供的网页木马的检测方法,以下并不赘述。
[0093]与上述图1所示的网页木马的检测方法相对应,本申请提供了一种网页木马的检测装置。参照图4,其示出了本申请提供的网页木马的检测装置实施例的结构,具体包括:初始访问变量提取模块401、污点数据特征判断模块402、传播路径确定模块403及网页木马确定模块404 ;其中:
[0094]初始访问变量提取模块401,用于接收到用户发送的网页访问请求后,提取所述网页访问请求中包含的初始访问变量;
[0095]污点数据特征判断模块402,用于判断所述初始访问变量是否具有预设污点数据特征;若是,触发传播路径确定模块;
[0096]传播路径确定模块403,用于确定所述初始访问变量在网页访问响应中的传播路径;其中,所述网页访问响应为依据所述网页访问请求生成展示网页的过程;
[0097]攻击数据确定模块404,用于在所述传播路径中包含预设目标函数的情况下,确定所述初始访问变量为网页攻击数据。
[0098]由以上技术方案可知,本实施了提供的网页攻击数据的检测装置中,污点数据特征判断模块402可以对初始访问变量进行初步判断,传播路径确定模块403对具有污点数据特征的初始访问变量进行追踪,以确定其传播路径,在所述传播路径中包含预设目标函数的情况下,攻击数据确定模块404确定初始访问变量为网页攻击数据。应用本实施例提供的网页攻击数据检测装置,可以准确实时地检测网页攻击数据。
[0099]对应上述图2所示的网页攻击数据的检测方法,本申请提供了一种网页攻击数据的检测装置。参照图5,其示出了网页攻击数据的检测装置另一实施例的结构,在图4所示的实施例的基础上,还可以包括:终止网页访问响应模块405,用于终止所述网页访
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1