Web应用程序行为提取方法和恶意行为检测方法转让专利

申请号 : CN201510881765.5

文献号 : CN105488398B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 毛剑陈岳史福田伍前红刘建伟田文倩

申请人 : 北京航空航天大学

摘要 :

本发明公开一种Web应用程序行为提取方法和恶意行为检测方法,所述Web应用程序行为提取方法包括以下步骤:Web应用程序行为记录模块拦截JavaScript函数,并提取待测Web应用程序的行为记录,其中,行为记录包括待测Web应用程序调用的JavaScript函数的名称、接收参数和函数调用栈信息;将待测Web应用程序的行为记录发送到恶意行为检测模块,并将待测Web应用程序的行为记录写入行为日志文件。根据本发明实施例的方法,实现简单、适用性好,并能够实现对Web应用程序行为的全面监控,有助于实现对恶意行为的检测。

权利要求 :

1.一种Web应用程序行为提取方法,其特征在于,包括以下步骤:

Web应用程序行为记录模块拦截JavaScript函数,并提取待测Web应用程序的行为记录,其中,所述行为记录包括所述待测Web应用程序调用的所述JavaScript函数的名称、接收参数和函数调用栈信息;

将所述待测Web应用程序的行为记录发送到恶意行为检测模块,并将所述待测Web应用程序的行为记录写入行为日志文件,所述的Web应用程序行为提取方法还包括:

行为绘制模块根据所述待测Web应用程序的行为记录统计所述函数的调用次数和HTML元素访问次数,并根据所述函数的调用次数和HTML元素访问次数绘制待测Web应用程序实时行为图表,以实时显示所述待测Web应用程序的行为记录。

2.根据权利要求1所述的Web应用程序行为提取方法,其特征在于,在Web浏览器的popup页面中绘制所述待测Web应用程序实时行为图表。

3.根据权利要求1所述的Web应用程序行为提取方法,其特征在于,所述提取所述待测Web应用程序的行为记录包括:将待拦截的所述JavaScript函数重命名;

定义新函数,所述新函数与重命名前的所述JavaScript函数同名;

在所述新函数中加入代码以获取所述JavaScript函数的名称和所述函数的接收参数;

利用所述JavaScript函数的错误处理机制获取所述函数调用栈信息。

4.根据权利要求1或3所述的Web应用程序行为提取方法,其特征在于,所述JavaScript函数位于Web浏览器中。

5.一种通过权利要求1所述的Web应用程序行为进行恶意行为检测方法,其特征在于,包括以下步骤:获取所述待测Web应用程序的行为记录;

获取预先确定的恶意行为模式库,恶意行为检测模块将所述待测Web应用程序的行为记录与所述恶意行为模式库中的每个恶意行为模式进行匹配,并将匹配成功的所述待测Web应用程序的行为记录确定为异常行为;

获取预先确定的正常行为模式库,恶意行为确认模块将所述异常行为与所述正常行为模式库中的每个正常行为模式进行匹配,并将匹配失败的所述异常行为确定为疑似恶意行为;

如果所述疑似恶意行为的数量超过预设阈值,则发出恶意行为告警,

其中,所述恶意行为模式为在恶意行为发生时,被调用的当前JavaScript函数的名称和所述当前JavaScript函数的父函数的名称组成的字符串对,其中,所述父函数为直接或间接调用所述当前JavaScript函数的函数;

所述正常行为模式为在正常行为发生时,被调用的当前JavaScript函数的名称和所述当前JavaScript函数的各级父函数的名称组成的字符串组,其中,在所述字符串组中,后一个字符串代表的函数为前一个字符串代表的函数的父函数。

6.根据权利要求5所述的通过所述Web应用程序行为进行恶意行为检测方法,其特征在于,还包括:判断所述待测Web应用程序的疑似恶意行为是否为恶意行为,如果所述待测Web应用程序的疑似恶意行为不是恶意行为,则将所述疑似恶意行为加入所述正常行为模式库。

7.根据权利要求5所述的通过所述Web应用程序行为进行恶意行为检测方法,其特征在于,如果所述待测Web应用程序的行为记录中的JavaScript函数的名称和所述恶意行为模式中的所述当前JavaScript函数的名称相同,并且根据所述行为记录中的函数调用栈信息确定的所述JavaScript函数的父函数与所述恶意行为模式中所述当前JavaScript函数的父函数的名称相同时,则所述待测Web应用程序的行为记录匹配成功,否则所述待测Web应用程序的行为记录匹配失败;

如果所述异常行为在所述待测Web应用程序的行为记录中的JavaScript函数的名称和所述正常行为模式中的所述当前JavaScript函数的名称相同,并且根据所述行为记录中的函数调用栈信息确定的所述JavaScript函数的各级父函数与所述正常行为模式中所述当前JavaScript函数的各级父函数的名称相同时,则所述异常行为匹配成功,否则,所述异常行为匹配失败。

说明书 :

Web应用程序行为提取方法和恶意行为检测方法

技术领域

[0001] 本发明涉及网络及信息安全技术领域,特别涉及一种Web应用程序行为提取方法和恶意行为检测方法。

背景技术

[0002] Web(网络)应用程序是使用浏览器所支持的语言(如JavaScript(一种直译式脚本语言)、HTML(Hyper Text Markup Language,超级文本标记语言)、CSS(Cascading Style 
Sheets,层叠样式表)等)编写的、在浏览器环境中运行的并用于支撑Web服务的应用软件。
以Web浏览器作为客户端的Web应用程序,可以方便地部署到各种平台,如Windows(视窗操
作系统)等桌面平台,以及Android(一种主要用于移动设备的操作系统)等移动平台。由于
Web应用程序使用简便且功能丰富,现在的电子邮件、电子商务、在线词典等应用基本都基
于Web应用程序来完成,使得它成为了人们日常生活中非常重要的部分。
[0003] 随着Web应用程序的普及,它也逐渐成为越来越多攻击者的攻击目标。攻击者通过使Web应用程序执行恶意行为而达到攻击的目的。因此,如果能够高效地提取Web应用程序
行为,便可有效地检测出其中的恶意行为。
[0004] 目前,对于Web应用程序行为的提取大多是通过对Web浏览器源代码的修改来实现的,该实现过程较为复杂,无法被普通用户使用,并且较难推广到其他版本和品牌的浏览器
中。并且,该方法所提取的Web应用程序行为仅限于单个的JavaScript函数调用的信息,并
没有实现对Web应用程序行为的全面监控,无法实现对复杂的Web应用程序行为的分析。

发明内容

[0005] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的目的在于提出一种Web应用程序行为提取方法,实现简单、适用性好,并能够实现对Web应用
程序行为的全面监控,有助于实现对恶意行为的检测。
[0006] 本发明的第二个目的在于提出一种通过Web应用程序行为进行恶意行为检测方法。
[0007] 根据本发明第一方面实施例的Web应用程序行为提取方法,包括以下步骤:Web应用程序行为记录模块拦截JavaScript函数,并提取所述待测Web应用程序的行为记录,其
中,所述行为记录包括所述待测Web应用程序调用的JavaScript函数的名称、接收参数和函
数调用栈信息;将所述待测Web应用程序的行为记录发送到恶意行为检测模块,并将所述待
测Web应用程序的行为记录写入行为日志文件。
[0008] 根据本发明实施例的Web应用程序行为提取方法,通过获取待测Web应用程序调用的JavaScript函数的名称、接收参数以及函数调用栈信息等行为记录,并将上述行为记录
发送到恶意行为检测模块,同时将上述行为记录写入行为日志文件,由此,可避免对Web浏
览器源代码的修改,实现简单且适用性较好,同时通过提取函数调用栈信息,能够获取多个
被调用的函数之间的关系,从而实现了对Web应用程序行为的全面监控,有助于实现后续对
恶意行为的检测。
[0009] 另外,根据本发明上述实施例的Web应用程序行为提取方法还可以具有如下附加的技术特征:
[0010] 根据本发明的一个实施例,所述方法还包括:行为绘制模块根据所述待测Web应用程序的行为记录统计所述函数的调用次数和HTML元素访问次数,并根据所述函数的调用次
数和HTML元素访问次数绘制待测Web应用程序实时行为图表,以实时显示所述待测Web应用
程序的行为记录。
[0011] 进一步地,在所述Web浏览器的popup(弹出)页面中绘制所述待测Web应用程序实时行为图表。
[0012] 根据本发明的一个实施例,所述提取所述待测Web应用程序的行为记录包括:将待拦截的所述JavaScript函数重命名;定义新函数,所述新函数与重命名前的所述
JavaScript函数同名;在所述新函数中加入代码以获取所述JavaScript函数的名称和所述
函数的接收参数;利用所述JavaScript函数的错误处理机制获取所述函数调用栈信息。
[0013] 根据本发明的一个实施例,所述JavaScript函数位于所述Web浏览器中。
[0014] 根据本发明第二方面实施例的通过Web应用程序行为进行恶意行为检测方法,其特征在于,包括以下步骤:获取所述待测Web应用程序的行为记录;获取预先确定的恶意行
为模式库,恶意行为检测模块将所述待测Web应用程序的行为记录与所述恶意行为模式库
中的每个恶意行为模式进行匹配,并将匹配成功的所述待测Web应用程序的行为记录确定
为异常行为;获取预先确定的正常行为模式列表,恶意行为确认模块将所述异常行为与所
述正常行为模式列表中的每个正常行为模式进行匹配,并将匹配失败的所述异常行为确定
为疑似恶意行为;如果所述疑似恶意行为的数量超过预设阈值,则发出恶意行为告警。
[0015] 根据本发明实施例的通过Web应用程序行为进行恶意行为检测方法,通过获取待测Web应用程序的行为记录,并将其与恶意行为模式进行匹配,以初步确定出异常行为,然
后将异常行为与正常行为模式进行匹配,以进一步确定出疑似恶意行为,当疑似恶意行为
过多时,可发出告警,由此,通过本发明实施例的Web应用程序行为提取方法所提取的Web应
用程序行为进行恶意行为检测,能够结合多个被调用的函数之间的关系,有效检测出诸如
探测攻击等攻击效果较为隐蔽的恶意行为,从而大大提高了恶意行为检测的准确性。
[0016] 另外,根据本发明上述实施例的通过Web应用程序行为进行恶意行为检测方法还可以具有如下附加的技术特征:
[0017] 根据本发明的一个实施例,所述方法还包括:判断所述待测Web应用程序的疑似恶意行为是否为恶意行为,如果所述待测Web应用程序的疑似恶意行为不是恶意行为,则将所
述疑似恶意行为加入所述正常行为模式列表。
[0018] 根据本发明的一个实施例,所述恶意行为模式为在恶意行为发生时,被调用的当前JavaScript函数的名称和所述当前JavaScript函数的父函数的名称组成的字符串对,其
中,所述父函数为直接或间接调用所述当前JavaScript函数的函数;所述正常行为模式为
在正常行为发生时,被调用的当前JavaScript函数的名称和所述当前JavaScript函数的各
级父函数的名称组成的字符串组,其中,在所述字符串组中,后一个字符串代表的函数为前
一个字符串代表的函数的父函数。
[0019] 进一步地,如果所述待测Web应用程序的行为记录中的JavaScript函数的名称和所述恶意行为模式中的所述当前JavaScript函数的名称相同,并且根据所述行为记录中的
函数调用栈信息确定的所述JavaScript函数的父函数与所述恶意行为模式中所述当前
JavaScript函数的父函数的名称相同时,则所述待测Web应用程序的行为记录匹配成功,否
则所述待测Web应用程序的行为记录匹配失败;如果所述异常行为在所述待测Web应用程序
的行为记录中的JavaScript函数的名称和所述正常行为模式中的所述当前JavaScript函
数的名称相同,并且根据所述行为记录中的函数调用栈信息确定的所述JavaScript函数的
各级父函数与所述正常行为模式中所述当前JavaScript函数的各级父函数的名称相同时,
则所述异常行为匹配成功,否则,所述异常行为匹配失败。

附图说明

[0020] 图1为根据本发明一个实施例的Web应用程序行为提取方法的流程图;
[0021] 图2为根据本发明一个实施例的Web应用程序行为提取和恶意行为检测过程的示意图;
[0022] 图3为根据本发明实施例的通过Web应用程序行为进行恶意行为检测方法的流程图。

具体实施方式

[0023] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0024] 下面结合附图描述本发明实施例的Web应用程序行为提取方法和通过Web应用程序行为进行恶意行为检测方法。
[0025] 图1为根据本发明一个实施例的Web应用程序行为提取方法的流程图。
[0026] 如图1所示,本发明实施例的Web应用程序行为提取方法,包括以下步骤:
[0027] S101,Web应用程序行为记录模块拦截JavaScript函数,并提取待测Web应用程序的行为记录,其中,行为记录包括待测Web应用程序调用的JavaScript函数的名称、接收参
数和函数调用栈信息。
[0028] 在本发明的实施例中,运行待测Web应用程序的Web浏览器可安装有Web应用程序行为记录浏览器扩展插件。
[0029] 在本发明的实施例中,可通过Web应用程序行为记录浏览器扩展插件拦截JavaScript函数,并提取待测Web应用程序的行为记录,具体可包括:将待拦截的
JavaScript函数重命名;定义新函数,新函数与重命名前的JavaScript函数同名;在新函数
中加入代码以获取JavaScript函数的名称和函数的接收参数;利用JavaScript函数的错误
处理机制获取函数调用栈信息。其中,JavaScript函数位于Web浏览器中。
[0030] 具体地,在JavaScript函数代码中,将待拦截的JavaScript函数重命名,然后定义与待拦截的JavaScript函数同名的函数,从而当Web应用程序根据JavaScript函数的函数
名调用JavaScript函数时,可令Web应用程序调用新函数,同时,在新函数中根据
JavaScript函数的函数名调用JavaScript函数,从而可避免影响函数的正常功能。实现上
述步骤的代码如下:
[0031]
[0032] 在本发明的实施例中,上述步骤可不指定新函数的接收参数,从而使新函数能够接收任意数量的参数。新函数所接收的参数可通过“.apply(this,arguments)”的方式传递
给原JavaScript函数,并令该新函数返回原JavaScript函数的返回值,从而保证原
JavaScript函数的功能不受到影响。
[0033] 上述代码所实现的步骤仅适用于JavaScript的全局系统函数,而对于HTML元素的成员函数,则需要逐个获取这些HTML元素并对其成员函数逐个进行修改,这些HTML元素包
括已有的HTML元素和之后新创建的HTML元素,其示例代码如下:
[0034]
[0035]
[0036] 在上述新函数中加入代码,即可获取JavaScript函数的名称和函数的接收参数。对参数的记录可以通过读取“arguments(一种自变量)”这一变量来实现,具体地,可先将
“arguments”变量转为数组,使得数组的每个元素都存放一个传入参数的值,之后再将这些
值转换为字符串并连接起来,组成一个完整的字符串,以便于记录。其示例代码如下:
[0037]
[0038] 其中,“@@@”可对各个参数进行分隔。
[0039] JavaScript函数的名称和接收参数仅表示了单次调用函数的调用信息,在本发明的实施例中,可通过函数调用栈信息来表示多次调用的函数之间的关系。利用JavaScript
函数的错误处理机制获取函数调用栈信息具体包括:首先定义一个try块(一种监视所有可
能发生异常的代码),在其中故意触发一个错误,如访问没有事先定义的变量,然后在对应
的catch块(一种处理异常的代码)中读取该错误所提供的当前函数调用栈信息,最后将函
数调用栈信息转为字符串并写入行为记录。其示例代码如下:
[0040]
[0041] 由此,通过上述方法提取出了待测Web应用程序调用的JavaScript函数的名称、函数的接收参数、以及函数调用栈信息。
[0042] S102,将待测Web应用程序的行为记录发送到恶意行为检测模块,并将待测Web应用程序的行为记录写入行为日志文件。
[0043] 在本发明的实施例中,参照图2,恶意行为检测模块与提取待测Web应用程序的行为记录的行为提取模块可同处于content_script.js脚本中,因此,恶意行为检测模块可从
content_script.js脚本中实时读取待测Web应用程序的行为记录,从而进行实时恶意行为
检测。
[0044] 在步骤S101中,所提取的待测Web应用程序行为记录可被写入Web浏览器的控制台,因此,可将控制台中的待测Web应用程序的行为记录写入行为日志文件。在本发明的实
施例中,以Chrome浏览器为例,在运行Chrome浏览器时加上--enable-logging参数,可令
Chrome浏览器将控制台中的内容写入Chrome浏览器用户数据目录下的chrome_debug.log
文件中。
[0045] 根据本发明实施例的Web应用程序行为提取方法,通过获取待测Web应用程序调用的JavaScript函数的名称、接收参数以及函数调用栈信息等行为记录,并将上述行为记录
发送到恶意行为检测模块,同时将上述行为记录写入行为日志文件,由此,可避免对Web浏
览器源代码的修改,实现简单且适用性较好,同时通过提取函数调用栈信息,能够获取多个
被调用的函数之间的关系,从而实现了对Web应用程序行为的全面监控,有助于实现后续对
恶意行为的检测。
[0046] 对于Web浏览器用户来说,Web应用程序的行为往往是隐藏在后台的,这不利于Web浏览器用户了解Web应用程序并发现其中隐含的恶意行为。鉴于此,本发明实施例的Web应
用程序行为提取方法,还包括了将待测Web应用程序的行为记录显示出来的步骤。具体地,
图2中的行为绘制模块可根据待测Web应用程序的行为记录统计函数的调用次数和HTML元
素访问次数,并根据函数的调用次数和HTML元素访问次数绘制待测Web应用程序实时行为
图表,以实时显示待测Web应用程序的行为记录。
[0047] 在本发明的实施例中,为了避免遮挡Web应用程序本身,可在Web浏览器的popup页面中绘制待测Web应用程序实时行为图表。因此,可将产生于Web应用程序内部的函数的调
用次数和HTML元素访问次数数据传递到Web浏览器扩展的popup.js脚本中。在本发明的实
施例中,可将Web浏览器扩展的content_script.js脚本作为中间桥梁,将数据从Web应用程
序内部传递到浏览器扩展的popup.js脚本。因此具体传递过程可如下述步骤a和b。
[0048] a、从Web应用程序内部传递到浏览器扩展的content_script.js脚本。
[0049] 具体地,对于函数的调用次数数据,可为每个JavaScript函数创建一个计数HTML元素(若该JavaScript系统函数为HTML元素的成员函数,则全部HTML元素共享同一个计数
HTML元素),用该计数HTML元素的属性值来记录所对应的JavaScript函数的名称和该函数
的调用次数。函数调用次数的统计过程示例代码如下:
[0050]
[0051] 对于HTML元素访问次数数据,可为每个HTML元素创建一个计数HTML元素,用该计数HTML元素的属性值来记录该元素在整个Web应用程序中的唯一编号、该元素的标签名以
及该元素的成员函数被调用的次数。其中,该HTML元素的唯一编号是在行为记录的提取过
程中根据该元素被加入DOM(Document Object Model,文档对象模型)的次序进行顺序编号
所得到的。该元素的标签名e即是

等HTML元素标签名。在此可将某个HTML元素被访问一次定义为该HTML元素的某个成员函数的被调用一次,因此成员函数被调用的总次数
就是对应的HTML元素访问次数。

[0052] b、从Web浏览器扩展的content_script.js脚本传递到Web浏览器扩展的popup.js脚本。
[0053] 具体地,首先popup.js脚本向content_script.js脚本发送一个请求,content_script.js脚本收到请求之后向popup.js脚本返回数据,最后popup.js脚本得到content_
script.js脚本返回的数据。其示例代码如下:
[0054]
[0055] popup.js收到数据后,可使用定时刷新HTML表格元素数据的方式实现实时行为图表的动态绘制。该表格的各行代表各个JavaScript系统函数或HTML元素,各列代表经过的
时间,则每个表格元素表示一段时间内某个函数的调用次数或某个HTML元素的访问次数,
具体可使用表格内部的数字和柱形图像来表示。
[0056] 每隔一段时间,popup.js获取一次函数的调用次数和HTML元素访问次数数据,然后将表格中各个元素的数据向左平移一列(舍弃原来的最左列数据),最后将刚获取的数据
与上一次获取的数据的差置于新表格的最右列,这样就实现了整个表格数据随着时间前进
而不断向左平移,从而形成Web应用程序实时行为图表。
[0057] 在一个具体实施例中,某次所获取的window.alert函数的调用次数为30次,1号IMG元素元素访问次数为70次,间隔一段时间后,所获取的window.alert函数的调用次数为
60次,1号IMG元素元素访问次数为120次,具体的示例代码如下:
[0058]
[0059]
[0060] 由此,通过待测Web应用程序实时行为图表实时显示待测Web应用程序的行为记录,能够使Web浏览器用户根据经验从Web应用程序的行为记录中发现隐含的恶意行为。
[0061] 对应本发明上述实施例的Web应用程序行为提取方法,本发明还提出一种通过Web应用程序行为进行恶意行为检测方法。
[0062] 图3为根据本发明实施例的通过Web应用程序行为进行恶意行为检测方法的流程图。
[0063] 如图3所示,本发明实施例的通过Web应用程序行为进行恶意行为检测方法,包括以下步骤:
[0064] S301,获取待测Web应用程序的行为记录。
[0065] 在本发明的实施例中,若进行实时的恶意行为检测,则可从行为提取模块获取待测Web应用程序的行为记录,即可从content_script.js脚本中实时读取待测Web应用程序
的行为记录。
[0066] 若进行非实时的恶意行为检测,则可从行为日志文件中获取待测Web应用程序的行为记录。在本发明的实施例中,为了区分待测Web应用程序的行为记录与待测Web应用程
序本身写入浏览器控制台的内容,可在每条行为记录的开头和结尾均加入标识字符串。因
此最终从chrome_debug.log文件中筛选出上述标识字符串之间的部分,即得到待测Web应
用程序的行为记录。
[0067] S302,获取预先确定的恶意行为模式库,恶意行为检测模块将待测Web应用程序的行为记录与恶意行为模式库中的每个恶意行为模式进行匹配,并将匹配成功的待测Web应
用程序的行为记录确定为异常行为。
[0068] S303,获取预先确定的正常行为模式库,恶意行为确认模块将异常行为与正常行为模式库中的每个正常行为模式进行匹配,并将匹配失败的异常行为确定为疑似恶意行
为。
[0069] 在本发明的实施例中,恶意行为模式为在恶意行为发生时,被调用的当前JavaScript函数的名称和当前JavaScript函数的父函数的名称组成的字符串对,其中,父
函数为直接或间接调用当前JavaScript函数的函数;正常行为模式为在正常行为发生时,
被调用的当前JavaScript函数的名称和当前JavaScript函数的各级父函数的名称组成的
字符串组,其中,在字符串组中,后一个字符串代表的函数为前一个字符串代表的函数的父
函数。
[0070] 参照图2,在本发明的实施例中,如果待测Web应用程序的行为记录中的JavaScript函数的名称和恶意行为模式中的当前JavaScript函数的名称相同,并且根据行
为记录中的函数调用栈信息确定的JavaScript函数的父函数与恶意行为模式中当前
JavaScript函数的父函数的名称相同时,则待测Web应用程序的行为记录匹配成功,否则待
测Web应用程序的行为记录匹配失败;如果异常行为在待测Web应用程序的行为记录中的
JavaScript函数的名称和正常行为模式中的当前JavaScript函数的名称相同,并且根据行
为记录中的函数调用栈信息确定的JavaScript函数的各级父函数与正常行为模式中当前
JavaScript函数的各级父函数的名称相同时,则异常行为匹配成功,否则,异常行为匹配失
败。
[0071] S304,如果疑似恶意行为的数量超过预设阈值,则发出恶意行为告警。
[0072] 如图2所示,在本发明的实施例中,据上述步骤所确定的疑似恶意行为的数量过多时,可向安全人员发出恶意行为告警。在本发明的实施例中,预设阈值可根据疑似恶意行为
的类别和具体的检测要求等条件来确定,在此不限定为具体数值。
[0073] 在本发明的实施例中,当安全分析人员接收到恶意行为告警时,可结合Web应用程序的源代码等信息对Web应用程序进行人工分析,以判断待测Web应用程序的疑似恶意行为
是否为恶意行为(如判断Web应用的源代码是否包含疑似恶意行为对应的恶意行为示例代
码)。如果Web应用程序的确含有告警所述的恶意行为,则可进一步对该Web应用程序进行处
理,如采取相应措施终止程序运行或阻止恶意行为等。
[0074] 在本发明的实施例中,如果待测Web应用程序的疑似恶意行为不是恶意行为,则可将疑似恶意行为加入正常行为模式库。应当理解,若待测Web应用程序的疑似恶意行为不是
恶意行为,则可判断该待测Web应用程序的疑似恶意行为为正常行为,将其加入正常行为模
式库,能够避免再次将该正常行为误认为是恶意行为。
[0075] 根据本发明实施例的通过Web应用程序行为进行恶意行为检测方法,通过获取待测Web应用程序的行为记录,并将其与恶意行为模式进行匹配,以初步确定出异常行为,然
后将异常行为与正常行为模式进行匹配,以进一步确定出疑似恶意行为,当疑似恶意行为
过多时,可发出告警,由此,通过本发明实施例的Web应用程序行为提取方法所提取的Web应
用程序行为进行恶意行为检测,能够结合多个被调用的函数之间的关系,有效检测出诸如
探测攻击等攻击效果较为隐蔽的恶意行为,从而大大提高了恶意行为检测的准确性。
[0076] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必
须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0077] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,
除非另有明确具体的限定。
[0078] 在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连
接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内
部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情
况理解上述术语在本发明中的具体含义。
[0079] 在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在
第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示
第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第
一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0080] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任
一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技
术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结
合和组合。
[0081] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述
实施例进行变化、修改、替换和变型。