一种网页攻击数据的检测方法及装置的制造方法
【技术领域】
[0001]本申请涉及网络安全技术领域,尤其是一种网页攻击数据的检测方法及装置。
【背景技术】
[0002]目前,网页服务器的安全已成为网络安全领域中一个重要研宄方面。网页服务器具有开放性及广泛应用性,但同时其也是网络攻击中主要被攻击目标。攻击者攻击网页服务器的一种方式是利用网页木马,具体地,网页服务器中包含有用户访问的网页文件,攻击者将攻击数据传入某个网页文件中,该网页文件即被称为网页木马。攻击者从而利用网页木马对网页服务器进行攻击,达到破坏网页服务器的目的。
[0003]因此,需要一种技术方案,来检测攻击者上传到网页服务器的攻击数据。
【发明内容】
[0004]本申请还提供了一种网页攻击数据的检测方法,用以检测攻击者上传到网页服务器的攻击数据。另外,本申请还提供了一种网页攻击数据的检测装置,用以保证所述方法在实际中的应用及实现。
[0005]为实现所述目的,本申请提供的技术方案如下:
[0006]一种网页攻击数据的检测方法,包括:
[0007]接收到用户发送的网页访问请求后,提取所述网页访问请求中包含的初始访问变量;
[0008]判断所述初始访问变量是否具有预设污点数据特征;
[0009]若是,确定所述初始访问变量在网页访问响应中的传播路径;其中,所述网页访问响应为依据所述网页访问请求生成展示网页的过程;
[0010]在所述传播路径中包含预设目标函数的情况下,确定所述初始访问变量为网页攻击数据。
[0011]可选地,所述判断所述初始访问变量是否具有预设污点数据特征,包括:
[0012]判断所述初始访问变量中是否包含预设特征库中的污点数据关键词;其中,所述预设特征库中包含至少一个污点数据关键词。
[0013]可选地,所述确定所述初始访问变量在网页访问响应中的传播路径,包括:
[0014]监测网页访问响应中是否利用所述初始访问变量生成后续访问变量;
[0015]若是,在所述初始访问变量仍存在的情况下,将所述初始访问变量及所述后续访问变量调用的函数确定为所述访问变量的传播路径;在所述初始访问变量不存在的情况下,将所述后续访问变量调用的函数确定为所述访问变量的传播路径;
[0016]否则,将所述初始访问变量调用的函数确定为所述访问变量的传播路径。
[0017]可选地,所述监测网页访问响应中是否利用所述初始访问变量生成后续访问变量,包括:
[0018]标记所述初始访问变量;
[0019]在网页访问响应中当前变量生成后续变量时,判断所述当前变量是否为标记的所述初始访问变量。
[0020]可选地,所述监测网页访问响应中是否利用所述初始访问变量生成后续访问变量,包括:
[0021]监测网页访问响应中是否对所述初始访问变量进行字符串操作后生成后续访问变量;其中,所述字符串操作包括字符串赋值、字符串拷贝、字符串拆分中及字符串合并中的至少一个。
[0022]可选地,在所述确定所述初始访问变量为网页攻击数据之后,还包括:
[0023]终止所述网页访问响应,并记录所述预设目标函数。
[0024]本申请还提供了一种网页攻击数据的检测装置,包括:
[0025]初始访问变量提取模块,用于接收到用户发送的网页访问请求后,提取所述网页访问请求中包含的初始访问变量;
[0026]污点数据特征判断模块,用于判断所述初始访问变量是否具有预设污点数据特征;若是,触发传播路径确定模块;
[0027]传播路径确定模块,用于确定所述初始访问变量在网页访问响应中的传播路径;其中,所述网页访问响应为依据所述网页访问请求生成展示网页的过程;
[0028]攻击数据确定模块,用于在所述传播路径中包含预设目标函数的情况下,确定所述初始访问变量为网页攻击数据。
[0029]可选地,上述的网页攻击数据的检测装置还包括:
[0030]终止网页访问响应模块,用于终止所述网页访问响应,并记录所述预设目标函数。
[0031]可选地,上述的网页攻击数据的检测装置中,所述传播路径确定模块包括:
[0032]后续访问变量监测子模块,用于监测网页访问响应中是否利用所述初始访问变量生成后续访问变量;若是,触发第一传播路径确定子模块;否则,触发第二传播路径确定子丰吴块;
[0033]第一传播路径确定子模块,用于在所述初始访问变量仍存在的情况下,将所述初始访问变量及所述后续访问变量调用的函数确定为所述访问变量的传播路径;在所述初始访问变量不存在的情况下,将所述后续访问变量调用的函数确定为所述访问变量的传播路径;
[0034]第二传播路径确定子模块,用于将所述初始访问变量调用的函数确定为所述访问变量的传播路径。
[0035]可选地,上述的网页攻击数据的检测装置中,所述后续访问变量监测子模块包括:
[0036]初始访问变量标记单元,用于标记所述初始访问变量;
[0037]后续访问变量监测单元,用于在网页访问响应中当前变量生成后续变量时,判断所述当前变量是否为标记的所述初始访问变量。
[0038]本申请提供的网页攻击数据的检测方法,首先初步判断初始访问变量是否具有污点数据特征,然后对具有污点数据特征的初始访问变量进行追踪,以确定其传播路径,在所述传播路径中包含预设目标函数的情况下,确定初始访问变量为网页攻击数据。可见,本申请提供的网页攻击数据检测方法通过对初始访问变量的初步判断及传播路径的追踪,来判断初始访问变量是否为网页攻击数据。
[0039]当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
【附图说明】
[0040]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0041]图1为本申请提供的网页攻击数据的检测方法一个实施例的流程图;
[0042]图2为本申请提供的网页攻击数据的检测方法另一实施例的流程图;
[0043]图3为本申请提供的确定初始访问变量传播路径的一种实现方式流程图;
[0044]图4为本申请提供的网页攻击数据的检测装置一个实施例的结构示意图;
[0045]图5为本申请提供的网页攻击数据的检测装置另一实施例的结构示意图。
【具体实施方式】
[0046]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0047]参照图1,其示出了本申请提供的网页攻击数据的检测方法一个实施例的流程。本实施例应用于网页服务器,网页服务器用于对用户发送的网页访问请求作出响应,从而生成需要展示给用户的目标网页。如图1所示,本实施例的流程具体包括以下步骤SlOl?S104。
[0048]步骤SlOl:接收到用户发送的网页访问请求后,提取所述网页访问请求中包含的初始访问变量。
[0049]其中:用户向网页服务器发送网页访问请求,网页访问请求中包含访问变量,为了便于与后续的变量区分,此处的访问变量称之为初始
访问变量。需要说明的是,正常用户通过该种向网页服务器发送网页访问请求的方式,来进行网页访问,同样,攻击者也利用该种方式向网页服务器发送攻击数据。
[0050]具体地,攻击者向网页服务器中的某个网页文件(网页木马)发送网页访问请求,该网页访问请求中包含初始访问变量,初始访问变量的内容即为网页攻击数据(或者称之为对网页木马的访问数据)。例如,网页服务器中包含的网页木马为“a.php”,攻击者向网页木马“a.php”发送的网页访问请求为“GET/a.php ? p = format HTTP/1.1”。该网页访问请求中包含的初始访问变量为“P”,初始访问变量“P”的具体内容为“format”命令,“ format ”命令的功能是格式化。
[0051]需要说明的是,网页访问请求中可以包含HTTP(HyperText Transfer Protocol,超文本传输协议)访问变量,HTTP访问变量可以具体为GET、P0ST或COOKIE等,当然,访问变量的所述具体形式仅仅作为说明示例,本申请并不限定于此。这些访问变量中包含的数据即用户发送的访问数据,通常,网页攻击数据也封装在这些访问变量中。
[0052]步骤S102:判断所述初始访问变量是否具有预设污点数据特征;若是,执行步骤S103o
[0053]发明人经过研宄发现,网页攻击数据通常具有一些自身特有的特征,利用预先统计的网页攻击数据特征生成污点数据特征,用来判断初始访问变量是否可能为网页攻击数据。若初始访问变量具有预先设置的污点数据特征,则表明初始访问变量可能为网页攻击数据,并进一步利用后续步骤S103及步骤S104进行准确判定。
[0054]在实施例中,可以根据预先统计的网页攻击数据特征生成特征库,特征库中包含至少一个污点数据关键词,相应地,判断初始访问变量是否具有预设污点数据特征的一种具体实现方式可以是:
[0055]判断初始访问变量中是否包含特征库中的污点数据关键词,若包含,则执行步骤S103o
[0056]步骤S103:确定所述初始访问变量在网页访问响应中的传播路径;其中,所述网页访问响应为依据所述网页访问请求生成展示网页的过程。
[0057]其中,网页服务器在接收到网页访问请求后,进行网页访问响应。若网页访问响应成功,则会生成向用户展示的网页。本实施例即是监测整个网页访问响应过程中,以进一步确定具有污点数据特征的初始访问变量是否为网页攻击数据。
[0058]网页访问响应中需要利用初始访问变量进行响应操作,该响应操作中会涉及到对函数的操作,例如,将初始访问变量作为参数调用函数。具体地,函数调用的具体形式可以是,直接将初始访问变量作为参数调用函数,也可以是对初始访问变量进行变形操作后,生成新的访问变量,将新的访问变量作为参数调用函数。网页访问响应中对函数的操作表明初始访问变量在整个网页访问响应中存在传播路径,该传播路径表示初始访问变量在网页访问响应中参与的函数操作。
[0059]步骤S104:在所述传播路径中包含预设目标函数的情况下,确定所述初始访问变量为网页攻击数据。
[0060]需要说明的是,初始访问变量的传播路径中包含函数,表明初始访问变量参与的操作内容中包含对函数的相关操作。进而,可通过判断初始访问变量的传播路径中是否包含预设的目标函数,来确定初始访问变量是否为网页攻击数据。具体地,若初始访问变量的传播路径中包含预设目标函数,则将该初始访问变量确定为网页攻击数据。
[0061]发明人经过研宄发现,网页攻击数据在网页响应中会作为参数调用脚本内部函数,且调用的函数具有一定的特征,即函数会执行参数传入的代码或命令。具体地,网页木马只有运行才能发挥破坏作用,但网页木马的运行需要借助于网页响应中操作的函数才能运行,因此,网页攻击数据会作为参数,调用执行外部传入代码或命令的函数,以触发这些函数来执行网页木马。因此,将具有如上特征的函数预先设置为目标函数。例如,以PHP脚本语言为例,目标函数为eval函数、assert函数、require函数、system函数及SQL查询函数等。当然,这几个函数仅仅是示例,本申请并不局限于此。其中,在预设目标函数中包含SQL查询函数时,说明本实施例除了可以检测网页木马型的攻击数据,还可用来检测SQL注入攻击型的攻击数据。
[0062]由以上的技术方案可知,本实施例提供的网页木马的检测方法中,首先判断网页访问请求中的初始访问变量是否具有污点数据的特征,如果具有,则追踪初始访问变量在网页访问响应中的传播路径,若传播路径中包含预设目标函数,则确定初始访问变量为网页攻击数据。可见,应用本实施例提供的网页木马的检测方法,可以检测出网页访问请求中是否存在网页木马。
[0063]更具体地讲,本实施例提供的网页木马的检测方法,首先利用污点数据特征对初始访问变量进行初步判断,由于网页木马可能利用脚本变形、加密等方法改变初始访问变量,使初始访问变量不具备预设污点数据特征,因此,本实施例进一步跟踪初始访问变量在网页响应过程中的传播路径,利用传播路径进行精确判断,进而检测出变形后的网页木马,提高网页木马的检测全面性。
[0064]另外,本实施例在接收到用户发送的网页访问请求后,即可进行网页木马的检测。并且检测的是网页响应的过程,网页响应是依据网页访问请求生成用户访问的页面的过程,可见,本实施例是实时检测,或者称之为动态检测,保证网页木马在被访问的过程中即被检测出来,避免事后检测的滞后性。
[0065]需要说明的是,一种动态检测方法可以是,拦截一句话函数,判断如果在同一线程内发生特定系统API调用如操作文件、数据库等,则确定存在网页木马。这种检测方法误报率较高。具体地,这种方法是判断网页木马是否执行了一些敏感操作,而判断依据是线程ID,这种判断方式中会将正常脚本误报为网页木马。因为,正常脚本可能在同一个线程中先调用正常函数,再继续调用文件的操作,而机械地判断该脚本是否在同一线程中的检测方法则会将正常脚本进行误报。然而,本实施例中,并未判断脚本的操作是否在同一线程中,而是跟踪初始访问变量的传播路径,从而避免对正常脚本的误报。
[0066]如图2所示,在上述实施例确定出网页木马后,还可以包括步骤S105:终止所述网页访问响应,并记录所述预设目标函数。
[0067]其中,网页访问响应是为用户生成待访问的目标网页,开始于接收到网页访问请求,在网页访问响应的过程中,若检测到网页木马,则表明该网页访问请求了攻击者的网页木马,因此,为了保证网页服务器的安全,终止该网页访问响应过程。同时,可记录网页木马的传播路径中的预设目标函数,表明预设目标函数被网页木马调用。在实际应用中,本实施例是可以多次重复执行的,因此,可实现对每个网页木马调用的预设目标函数的记录,进而统计出每个预设目标函数被调用的频率,这些数据以供相关人员对网页木马的函数调用情况进行分析。
[0068]需要说明的是,上述的实施例中,确定出初始访问变量的传播路径后,只有在出传播路径中包含预设目标函数的情况下,才确定初始访问变量为网页攻击数据。因此,需要准确判断传播路径中是否包含预设目标函数。为实现所述目的,本申请提供以下实现方案。
[0069]在网页访问响应中,初始访问变量可能调用各种函数。预先为目标函数设置钩子函数,钩子函数的作用是监测目标函数是否被初始访问变量调用。初始访问变量调用目标函数的方式是,初始访问变量作为外部传入参数调用目标函数,由于在正常情况下,目标函数仅仅执行系统内部的参数,并不执行外部传入的参数。因此,一旦目标函数被外部传入参数调用,则说明该外部传入参数为网页攻击数据,也说明初始访问变量调用预设目标函数,也即初始访问变
量的传播路径中包含预设目标函数。
[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,用于终止所述网页访
问响应,并记录所述预设目标函数。
[0100]可选地,所述传播路径确定模块403包括:
[0101]后续访问变量监测子模块,用于监测网页访问响应中是否利用所述初始访问变量生成后续访问变量;若是,触发第一传播路径确定子模块;否则,触发第二传播路径确定子丰吴块;
[0102]第一传播路径确定子模块,用于在所述初始访问变量仍存在的情况下,将所述初始访问变量及所述后续访问变量调用的函数确定为所述访问变量的传播路径;在所述初始访问变量不存在的情况下,将所述后续访问变量调用的函数确定为所述访问变量的传播路径;
[0103]第二传播路径确定子模块,用于将所述初始访问变量调用的函数确定为所述访问变量的传播路径。
[0104]可选地,所述后续访问变量监测子模块包括:初始访问变量标记单元及后续访问变量监测单元;其中:
[0105]初始访问变量标记单元,用于标记所述初始访问变量;
[0106]后续访问变量监测单元,用于在网页访问响应中当前变量生成后续变量时,判断所述当前变量是否为标记的所述初始访问变量。
[0107]可选地,所述后续访问变量监测子模块包括:后续访问变量监测单元,用于监测网页访问响应中是否对所述初始访问变量进行字符串操作后生成后续访问变量;其中,所述字符串操作包括字符串赋值、字符串拷贝、字符串拆分中及字符串合并中的至少一个。
[0108]可选地,所述污点数据特征判断模块402包括:污点数据特征判断子模块,用于判断所述初始访问变量中是否包含预设特征库中的污点数据关键词;其中,所述预设特征库中包含至少一个污点数据关键词。
[0109]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0110]还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0111]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【主权项】
1.一种网页攻击数据的检测方法,其特征在于,包括: 接收到用户发送的网页访问请求后,提取所述网页访问请求中包含的初始访问变量; 判断所述初始访问变量是否具有预设污点数据特征; 若是,确定所述初始访问变量在网页访问响应中的传播路径;其中,所述网页访问响应为依据所述网页访问请求生成展示网页的过程; 在所述传播路径中包含预设目标函数的情况下,确定所述初始访问变量为网页攻击数据。2.根据权利要求1所述的网页攻击数据的检测方法,其特征在于,所述判断所述初始访问变量是否具有预设污点数据特征,包括: 判断所述初始访问变量中是否包含预设特征库中的污点数据关键词;其中,所述预设特征库中包含至少一个污点数据关键词。3.根据权利要求1所述的网页攻击数据的检测方法,其特征在于,所述确定所述初始访问变量在网页访问响应中的传播路径,包括: 监测网页访问响应中是否利用所述初始访问变量生成后续访问变量; 若是,在所述初始访问变量仍存在的情况下,将所述初始访问变量及所述后续访问变量调用的函数确定为所述访问变量的传播路径;在所述初始访问变量不存在的情况下,将所述后续访问变量调用的函数确定为所述访问变量的传播路径; 否则,将所述初始访问变量调用的函数确定为所述访问变量的传播路径。4.根据权利要求3所述的网页攻击数据的检测方法,其特征在于,所述监测网页访问响应中是否利用所述初始访问变量生成后续访问变量,包括: 标记所述初始访问变量; 在网页访问响应中当前变量生成后续变量时,判断所述当前变量是否为标记的所述初始访问变量。5.根据权利要求3所述的网页攻击数据的检测方法,其特征在于,所述监测网页访问响应中是否利用所述初始访问变量生成后续访问变量,包括: 监测网页访问响应中是否对所述初始访问变量进行字符串操作后生成后续访问变量;其中,所述字符串操作包括字符串赋值、字符串拷贝、字符串拆分中及字符串合并中的至少—个°6.根据权利要求1所述的网页攻击数据的检测方法,其特征在于,在所述确定所述初始访问变量为网页攻击数据之后,还包括: 终止所述网页访问响应,并记录所述预设目标函数。7.—种网页攻击数据的检测装置,其特征在于,包括: 初始访问变量提取模块,用于接收到用户发送的网页访问请求后,提取所述网页访问请求中包含的初始访问变量; 污点数据特征判断模块,用于判断所述初始访问变量是否具有预设污点数据特征;若是,触发传播路径确定模块; 传播路径确定模块,用于确定所述初始访问变量在网页访问响应中的传播路径;其中,所述网页访问响应为依据所述网页访问请求生成展示网页的过程; 攻击数据确定模块,用于在所述传播路径中包含预设目标函数的情况下,确定所述初始访问变量为网页攻击数据。8.根据权利要求7所述的网页攻击数据的检测装置,其特征在于,还包括: 终止网页访问响应模块,用于终止所述网页访问响应,并记录所述预设目标函数。9.根据权利要求7所述的网页攻击数据的检测装置,其特征在于,所述传播路径确定丰吴块包括: 后续访问变量监测子模块,用于监测网页访问响应中是否利用所述初始访问变量生成后续访问变量;若是,触发第一传播路径确定子模块;否则,触发第二传播路径确定子模块; 第一传播路径确定子模块,用于在所述初始访问变量仍存在的情况下,将所述初始访问变量及所述后续访问变量调用的函数确定为所述访问变量的传播路径;在所述初始访问变量不存在的情况下,将所述后续访问变量调用的函数确定为所述访问变量的传播路径; 第二传播路径确定子模块,用于将所述初始访问变量调用的函数确定为所述访问变量的传播路径。10.根据权利要求9所述的网页攻击数据的检测装置,其特征在于,所述后续访问变量监测子模块包括: 初始访问变量标记单元,用于标记所述初始访问变量; 后续访问变量监测单元,用于在网页访问响应中当前变量生成后续变量时,判断所述当前变量是否为标记的所述初始访问变量。
【专利摘要】本申请提供了一种网页攻击数据的检测方法,首先初步判断初始访问变量是否具有污点数据特征,然后对具有污点数据特征的初始访问变量进行追踪,以确定其传播路径,在所述传播路径中包含预设目标函数的情况下,确定初始访问变量为网页攻击数据。可见,本申请提供的网页攻击数据检测方法通过对初始访问变量的初步判断及传播路径的追踪,来判断初始访问变量是否为网页攻击数据。另外,本申请还提供了一种网页攻击数据的检测装置,用以保证所述方法在实际中的应用及实现。
【IPC分类】H04L29/06
【公开号】CN104901962
【申请号】CN201510282839
【发明人】闫雪
【申请人】北京椒图科技有限公司
【公开日】2015年9月9日
【申请日】2015年5月28日