Web应用程序行为提取方法和恶意行为检测方法
【技术领域】
[0001] 本发明设及网络及信息安全技术领域,特别设及一种Web应用程序行为提取方法 和恶意行为检测方法。
【背景技术】
[0002] Web(网络)应用程序是使用浏览器所支持的语言(如化vaScript(-种直译式脚本 语言)、HTML(Hyper Text Markup Language,超级文本标记语言)、CSSKascading Style Sheets,层叠样式表)等)编写的、在浏览器环境中运行的并用于支撑Web服务的应用软件。 WWeb浏览器作为客户端的Web应用程序,可W方便地部署到各种平台,如Windows(视窗操 作系统)等桌面平台,W及Amlroid(-种主要用于移动设备的操作系统)等移动平台。由于 Web应用程序使用简便且功能丰富,现在的电子邮件、电子商务、在线词典等应用基本都基 于Web应用程序来完成,使得它成为了人们日常生活中非常重要的部分。
[0003] 随着Web应用程序的普及,它也逐渐成为越来越多攻击者的攻击目标。攻击者通过 使Web应用程序执行恶意行为而达到攻击的目的。因此,如果能够高效地提取Web应用程序 行为,便可有效地检测出其中的恶意行为。
[0004] 目前,对于Web应用程序行为的提取大多是通过对Web浏览器源代码的修改来实现 的,该实现过程较为复杂,无法被普通用户使用,并且较难推广到其他版本和品牌的浏览器 中。并且,该方法所提取的Web应用程序行为仅限于单个的化vaScript函数调用的信息,并 没有实现对Web应用程序行为的全面监控,无法实现对复杂的Web应用程序行为的分析。
【发明内容】
[0005] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的 目的在于提出一种Web应用程序行为提取方法,实现简单、适用性好,并能够实现对Web应用 程序行为的全面监控,有助于实现对恶意行为的检测。
[0006] 本发明的第二个目的在于提出一种通过Web应用程序行为进行恶意行为检测方 法。
[0007] 根据本发明第一方面实施例的Web应用程序行为提取方法,包括W下步骤:Web应 用程序行为记录模块拦截化vaScript函数,并提取所述待测Web应用程序的行为记录,其 中,所述行为记录包括所述待测Web应用程序调用的化vaScript函数的名称、接收参数和函 数调用找信息;将所述待测Web应用程序的行为记录发送到恶意行为检测模块,并将所述待 ^UWeb应用程序的行为记录写入行为日志文件。
[000引根据本发明实施例的Web应用程序行为提取方法,通过获取待测Web应用程序调用 的化vaScript函数的名称、接收参数W及函数调用找信息等行为记录,并将上述行为记录 发送到恶意行为检测模块,同时将上述行为记录写入行为日志文件,由此,可避免对Web浏 览器源代码的修改,实现简单且适用性较好,同时通过提取函数调用找信息,能够获取多个 被调用的函数之间的关系,从而实现了对Web应用程序行为的全面监控,有助于实现后续对 恶意行为的检测。
[0009] 另外,根据本发明上述实施例的Web应用程序行为提取方法还可W具有如下附加 的技术特征:
[0010] 根据本发明的一个实施例,所述方法还包括:行为绘制模块根据所述待测Web应用 程序的行为记录统计所述函数的调用次数和HTML元素访问次数,并根据所述函数的调用次 数和HTML元素访问次数绘制待测Web应用程序实时行为图表,W实时显示所述待测Web应用 程序的行为记录。
[OOW 进一步地,在所述Web浏览器的popup (弹出)页面中绘制所述待测Web应用程序实 时行为图表。
[0012] 根据本发明的一个实施例,所述提取所述待测Web应用程序的行为记录包括:将待 拦截的所述JavaScript函数重命名;定义新函数,所述新函数与重命名前的所述 化vaScript函数同名;在所述新函数中加入代码W获取所述化vaScript函数的名称和所述 函数的接收参数;利用所述化vaScript函数的错误处理机制获取所述函数调用找信息。
[0013] 根据本发明的一个实施例,所述化vaScript函数位于所述Web浏览器中。
[0014] 根据本发明第二方面实施例的通过Web应用程序行为进行恶意行为检测方法,其 特征在于,包括W下步骤:获取所述待测Web应用程序的行为记录;获取预先确定的恶意行 为模式库,恶意行为检测模块将所述待测Web应用程序的行为记录与所述恶意行为模式库 中的每个恶意行为模式进行匹配,并将匹配成功的所述待测Web应用程序的行为记录确定 为异常行为;获取预先确定的正常行为模式列表,恶意行为确认模块将所述异常行为与所 述正常行为模式列表中的每个正常行为模式进行匹配,并将匹配失败的所述异常行为确定 为疑似恶意行为;如果所述疑似恶意行为的数量超过预设阔值,则发出恶意行为告警。
[0015] 根据本发明实施例的通过Web应用程序行为进行恶意行为检测方法,通过获取待 ^UWeb应用程序的行为记录,并将其与恶意行为模式进行匹配,W初步确定出异常行为,然 后将异常行为与正常行为模式进行匹配,W进一步确定出疑似恶意行为,当疑似恶意行为 过多时,可发出告警,由此,通过本发明实施例的Web应用程序行为提取方法所提取的Web应 用程序行为进行恶意行为检测,能够结合多个被调用的函数之间的关系,有效检测出诸如 探测攻击等攻击效果较为隐蔽的恶意行为,从而大大提高了恶意行为检测的准确性。
[0016] 另外,根据本发明上述实施例的通过Web应用程序行为进行恶意行为检测方法还 可W具有如下附加的技术特征:
[0017] 根据本发明的一个实施例,所述方法还包括:判断所述待测Web应用程序的疑似恶 意行为是否为恶意行为,如果所述待测Web应用程序的疑似恶意行为不是恶意行为,则将所 述疑似恶意行为加入所述正常行为模式列表。
[0018] 根据本发明的一个实施例,所述恶意行为模式为在恶意行为发生时,被调用的当 前化vaScript函数的名称和所述当前化vaScript函数的父函数的名称组成的字符串对,其 中,所述父函数为直接或间接调用所述当前化vaScript函数的函数;所述正常行为模式为 在正常行为发生时,被调用的当前化vaScript函数的名称和所述当前化vaScript函数的各 级父函数的名称组成的字符串组,其中,在所述字符串组中,后一个字符串代表的函数为前 一个字符串代表的函数的父函数。
[0019] 进一步地,如果所述待测Web应用程序的行为记录中的化vaScript函数的名称和 所述恶意行为模式中的所述当前化vaScript函数的名称相同,并且根据所述行为记录中的 函数调用找信息确定的所述化vaScript函数的父函数与所述恶意行为模式中所述当前 化vaScript函数的父函数的名称相同时,则所述待测Web应用程序的行为记录匹配成功,否 则所述待测Web应用程序的行为记录匹配失败;如果所述异常行为在所述待测Web应用程序 的行为记录中的化vaScript函数的名称和所述正常行为模式中的所述当前化vaScript函 数的名称相同,并且根据所述行为记录中的函数调用找信息确定的所述化vaScript函数的 各级父函数与所述正常行为模式中所述当前化vaScript函数的各级父函数的名称相同时, 则所述异常行为匹配成功,否则,所述异常行为匹配失败。
【附图说明】
[0020] 图1为根据本发明一个实施例的Web应用程序行为提取方法的流程图;
[0021] 图2为根据本发明一个实施例的Web应
用程序行为提取和恶意行为检测过程的示 意图;
[0022] 图3为根据本发明实施例的通过Web应用程序行为进行恶意行为检测方法的流程 图。
【具体实施方式】
[0023] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0024] 下面结合附图描述本发明实施例的Web应用程序行为提取方法和通过Web应用程 序行为进行恶意行为检测方法。
[0025] 图1为根据本发明一个实施例的Web应用程序行为提取方法的流程图。
[0026] 如图1所示,本发明实施例的Web应用程序行为提取方法,包括W下步骤:
[0027] S101,Web应用程序行为记录模块拦截化vaScript函数,并提取待测Web应用程序 的行为记录,其中,行为记录包括待测Web应用程序调用的化vaScript函数的名称、接收参 数和函数调用找信息。
[0028] 在本发明的实施例中,运行待测Web应用程序的Web浏览器可安装有Web应用程序 行为记录浏览器扩展插件。
[0029] 在本发明的实施例中,可通过Web应用程序行为记录浏览器扩展插件拦截 JavaScript函数,并提取待测Web应用程序的行为记录,具体可包括:将待拦截的 化vaScript函数重命名;定义新函数,新函数与重命名前的化vaScript函数同名;在新函数 中加入代码W获取化vaScript函数的名称和函数的接收参数;利用化vaScript函数的错误 处理机制获取函数调用找信息。其中JavaScript函数位于Web浏览器中。
[0030] 具体地,在化vaScript函数代码中,将待拦截的化vaScript函数重命名,然后定义 与待拦截的化vaScript函数同名的函数,从而当Web应用程序根据化vaScript函数的函数 名调用JavaScript函数时,可令Web应用程序调用新函数,同时,在新函数中根据 化vaScript函数的函数名调用化vaScript函数,从而可避免影响函数的正常功能。实现上 述步骤的代码如下:
[0031]
[0032] 在本发明的实施例中,上述步骤可不指定新函数的接收参数,从而使新函数能够 接收任意数量的参数。新函数所接收的参数可通过apply(this,a巧umentsΓ的方式传递 给原JavaScript函数,并令该新函数返回原JavaScript函数的返回值,从而保证原 化vaScript函数的功能不受到影响。
[0033] 上述代码所实现的步骤仅适用于化vaScript的全局系统函数,而对于HTML元素的 成员函数,则需要逐个获取运些HTML元素并对其成员函数逐个进行修改,运些HTML元素包 括已有的HTML元素和之后新创建的HTML元素,其示例代码如下:
[0034]
[0036]在上述新函数中加入代码,即可获取化vaScript函数的名称和函数的接收参数。 对参数的记录可W通过读取"arguments (-种自变量Γ运一变量来实现,具体地,可先将 "a巧uments"变量转为数组,使得数组的每个元素都存放一个传入参数的值,之后再将运些 值转换为字符串并连接起来,组成一个完整的字符串,w便于记录。其示例代码如下:
[0037]
[0038] 其中,妒可对各个参数进行分隔。
[0039] 化vaScript函数的名称和接收参数仅表示了单次调用函数的调用信息,在本发明 的实施例中,可通过函数调用找信息来表示多次调用的函数之间的关系。利用化vaScript 函数的错误处理机制获取函数调用找信息具体包括:首先定义一个t巧块(一种监视所有可 能发生异常的代码),在其中故意触发一个错误,如访问没有事先定义的变量,然后在对应 的catch块(一种处理异常的代码)中读取该错误所提供的当前函数调用找信息,最后将函 数调用找信息转为字符串并写入行为记录。其示例代码如下:
[0040]
[0041 ]由此,通过上述方法提取出了待测Web应用程序调用的化vaScript函数的名称、函 数的接收参数、W及函数调用找信息。
[0042] S102,将待测Web应用程序的行为记录发送到恶意行为检测模块,并将待测Web应 用程序的行为记录写入行为日志文件。
[0043] 在本发明的实施例中,参照图2,恶意行为检测模块与提取待测Web应用程序的行 为记录的行为提取模块可同处于content_script.js脚本中,因此,恶意行为检测模块可从 content_sc;ript. js脚本中实时读取待测Web应用程序的行为记录,从而进行实时恶意行为 检测。
[0044] 在步骤S101中,所提取的待测Web应用程序行为记录可被写入Web浏览器的控制 台,因此,可将控制台中的待测Web应用程序的行为记录写入行为日志文件。在本发明的实 施例中,W化rome浏览器为例,在运行化rome浏览器时加上一enable-logging参数,可令 Chrome浏览器将控制台中的内容写入Chrome浏览器用户数据目录下的ch;rome_debug. log 文件中。
[0045] 根据本发明实施例的Web应用程序行为提取方法,通过获取待测Web应用程序调用 的化vaScript函数的名称、接收参数W及函数调用找信息等行为记录,并将上述行为记录 发送到恶意行为检测模块,同时将上述行为记录写入行为日志文件,由此,可避免对Web浏 览器源代码的修改,实现简单且适用性较好,同时通过提取函数调用找信息,能够获取多个 被调用的函数之间的关系,从而实现了对Web应用程序行为的全面监控,有助于实现后续对 恶意行为的检测。
[0046] 对于Web浏览器用户来说,Web应用程序的行为往往是隐藏在后台的,运不利于Web 浏览器用户了解Web应用程序并发现其中隐含的恶意行为。鉴于此,本发明实施例的Web应 用程序行为提取方法,还包括了将待测Web应用程序的行为记录显示出来的步骤。具体地, 图2中的行为绘制模块可根据待测Web应用程序的行为记录统计函数的调用次数和HTML元 素访问次数,并根据函数的调用次数和HTML元素访问次数绘制待测Web应用程序实时行为 图表,W实时显示待测Web应用程序的行为记录。
[0047] 在本发明的实施例中,为了避免遮挡Web应用程序本身,可在Web浏览器的popup页 面中绘制待测Web应用程序实时行为图表。因此,可将产生于Web应用程序内部的函数的调 用次数和HTML元素访问次数数据传递到Web浏览器扩展的popup, js脚本中。在本发明的实 施例中,可将Web浏览器扩展的content_sc;ript. js脚本作为中间桥梁,将数据从Web应用程 序内部传递到浏览器扩展的popup, js脚本。因此具体传递过程可如下述步骤a和b。
[004引曰、从Web应用程序内部传递到浏览器扩展的content_sc;ript. js脚本。
[0049] 具体地,对于函数的调用次数数据,可为每个化vaScript函数创建一个计数HTML 元素(若该化vaScript系统函数为HTML元素的成员函数,则全部HTML元素共享同一个计数 HTML元素),用该计数HTML元素的属性值来记录所对应的化vaScript函数的名称和该函数 的调用次数。函数调用次数的统计过程示例代码如下:
[(K)加 ]
[0051 ] 对于HTML元素访问次数数据,可为每个HTML元素创建
一个计数HTML元素,用该计 数HTML元素的属性值来记录该元素在整个Web应用程序中的唯一编号、该元素的标签名W 及该元素的成员函数被调用的次数。其中,该HTML元素的唯一编号是在行为记录的提取过 程中根据该元素被加入DOM(Document Object Model,文档对象模型)的次序进行顺序编号 所得到的。该元素的标签名e即是<p〉、<img>等HTML元素标签名。在此可将某个HTML元素被 访问一次定义为该HTML元素的某个成员函数的被调用一次,因此成员函数被调用的总次数 就是对应的HTML元素访问次数。
[0052] b、从Web浏览器扩展的content_sc;ript. js脚本传递到Web浏览器扩展的popup, js 脚本。
[0053] 具体地,首先pop叫.js脚本向content_sc;ript. js脚本发送一个请求,content_ script. js脚本收到请求之后向popup. js脚本返回数据,最后popup. js脚本得到content_ script, js脚本返回的数据。其示例代码如下:
[0化4]
[0055] popup, js收到数据后,可使用定时刷新HTML表格元素数据的方式实现实时行为图 表的动态绘制。该表格的各行代表各个化vaScript系统函数或HTML元素,各列代表经过的 时间,则每个表格元素表示一段时间内某个函数的调用次数或某个HTML元素的访问次数, 具体可使用表格内部的数字和柱形图像来表示。
[0056] 每隔一段时间,popup, js获取一次函数的调用次数和HTML元素访问次数数据,然 后将表格中各个元素的数据向左平移一列(舍弃原来的最左列数据),最后将刚获取的数据 与上一次获取的数据的差置于新表格的最右列,运样就实现了整个表格数据随着时间前进 而不断向左平移,从而形成Web应用程序实时行为图表。
[0057] 在一个具体实施例中,某次所获取的window.aled函数的调用次数为30次,1号 IMG元素元素访问次数为70次,间隔一段时间后,所获取的window.aled函数的调用次数为 60次,1号IMG元素元素访问次数为120次,具体的示例代码如下:
[0化引
[0060]由此,通过待测Web应用程序实时行为图表实时显示待测Web应用程序的行为记 录,能够使Web浏览器用户根据经验从Web应用程序的行为记录中发现隐含的恶意行为。 [0061 ] 对应本发明上述实施例的Web应用程序行为提取方法,本发明还提出一种通过Web 应用程序行为进行恶意行为检测方法。
[0062] 图3为根据本发明实施例的通过Web应用程序行为进行恶意行为检测方法的流程 图。
[0063] 如图3所示,本发明实施例的通过Web应用程序行为进行恶意行为检测方法,包括 W下步骤:
[0064] S301,获取待测Web应用程序的行为记录。
[0065] 在本发明的实施例中,若进行实时的恶意行为检测,则可从行为提取模块获取待 巧iJWeb应用程序的行为记录,即可从content_sc;ript. js脚本中实时读取待测Web应用程序 的行为记录。
[0066] 若进行非实时的恶意行为检测,则可从行为日志文件中获取待测Web应用程序的 行为记录。在本发明的实施例中,为了区分待测Web应用程序的行为记录与待测Web应用程 序本身写入浏览器控制台的内容,可在每条行为记录的开头和结尾均加入标识字符串。因 此最终从ch;rome_debug. log文件中筛选出上述标识字符串之间的部分,即得到待测Web应 用程序的行为记录。
[0067] S302,获取预先确定的恶意行为模式库,恶意行为检测模块将待测Web应用程序的 行为记录与恶意行为模式库中的每个恶意行为模式进行匹配,并将匹配成功的待测Web应 用程序的行为记录确定为异常行为。
[0068] S303,获取预先确定的正常行为模式库,恶意行为确认模块将异常行为与正常行 为模式库中的每个正常行为模式进行匹配,并将匹配失败的异常行为确定为疑似恶意行 为。
[0069] 在本发明的实施例中,恶意行为模式为在恶意行为发生时,被调用的当前 化vaScript函数的名称和当前化vaScript函数的父函数的名称组成的字符串对,其中,父 函数为直接或间接调用当前化vaScript函数的函数;正常行为模式为在正常行为发生时, 被调用的当前化vaScript函数的名称和当前化vaScript函数的各级父函数的名称组成的 字符串组,其中,在字符串组中,后一个字符串代表的函数为前一个字符串代表的函数的父 函数。
[0070] 参照图2,在本发明的实施例中,如果待测Web应用程序的行为记录中的 化vaScript函数的名称和恶意行为模式中的当前化vaScript函数的名称相同,并且根据行 为记录中的函数调用找信息确定的JavaScript函数的父函数与恶意行为模式中当前 化vaScript函数的父函数的名称相同时,则待测Web应用程序的行为记录匹配成功,否则待 ^UWeb应用程序的行为记录匹配失败;如果异常行为在待测Web应用程序的行为记录中的 化vaScript函数的名称和正常行为模式中的当前化vaScript函数的名称相同,并且根据行 为记录中的函数调用找信息确定的化vaScript函数的各级父函数与正常行为模式中当前 化vaScript函数的各级父函数的名称相同时,则异常行为匹配成功,否则,异常行为匹配失 败。
[0071] S304,如果疑似恶意行为的数量超过预设阔值,则发出恶意行为告警。
[0072] 如图2所示,在本发明的实施例中,据上述步骤所确定的疑似恶意行为的数量过多 时,可向安全人员发出恶意行为告警。在本发明的实施例中,预设阔值可根据疑似恶意行为 的类别和具体的检测要求等条件来确定,在此不限定为具体数值。
[0073] 在本发明的实施例中,当安全分析人员接收到恶意行为告警时,可结合Web应用程 序的源代码等信息对Web应用程序进行人工分析,W判断待测Web应用程序的疑似恶意行为 是否为恶意行为(如判断Web应用的源代码是否包含疑似恶意行为对应的恶意行为示例代 码)。如果Web应用程序的确含有告警所述的恶意行为,则可进一步对该Web应用程序进行处 理,如采取相应措施终止程序运行或阻止恶意行为等。
[0074] 在本发明的实施例中,如果待测Web应用程序的疑似恶意行为不是恶意行为,则可 将疑似恶意行为加入正常行为模式库。应当理解,若待测Web应用程序的疑似恶意行为不是 恶意行为,则可判断该待测Web应用程序的疑似恶意行为为正常行为,将其加入正常行为模 式库,能够避免再次将该正常行为误认为是恶意行为。
[0075] 根据本发明实施例的通过Web应用程序行为进行恶意行为检测方法,通过获取待 ^UWeb应用程序的行为记录,并将其与恶意行为模式进行匹配,W初步确定出异常行为,然 后将异常行为与正常行为模式进行匹配,W进一步确定出疑似恶意行为,当疑似恶意行为 过多时,可发出告警,由此,通过本发明实施例的Web应用程序行为提取方法所提取的Web应 用程序行为进行恶意行为检测,能够结合多个被调用的函数之间的关系,有效检测出诸如 探测攻击等攻击效果较为隐蔽的恶意行为,从而大大提高了恶意行为检测的准确性。
[0076] 在本发明的描述中,需要理解的是,术语"中也'、"纵向"、"横向"、"长度"、"宽度"、 "厚度'、"上"、"TV'前"、"后V'左V'右"、"竖直"、"水甲V'顶'、"底'、"内"、"外"、"顺时 针"、"逆时针"、"轴向"、"径向"、"周
向"等指示的方位或位置关系为基于附图所示的方位或 位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必 须具有特定的方位、W特定的方位构造和操作,因此不能理解为对本发明的限制。
[0077] 此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性 或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可W明示或者 隐含地包括一个或者更多个该特征。在本发明的描述中,"多个"的含义是两个或两个W上, 除非另有明确具体的限定。
[0078] 在本发明中,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"、"固定"等 术语应做广义理解,例如,可W是固定连接,也可W是可拆卸连接,或成一体;可W是机械连 接,也可W是电连接;可W是直接相连,也可W通过中间媒介间接相连,可W是两个元件内 部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可W根据具体情 况理解上述术语在本发明中的具体含义。
[0079] 在本发明中,除非另有明确的规定和限定,第一特征在第二特征"上"或"下"可W 是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在 第二特征"之上"、"上方"和"上面"可是第一特征在第二特征正上方或斜上方,或仅仅表示 第一特征水平高度高于第二特征。第一特征在第二特征"之下"、"下方"和"下面"可W是第 一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0080] 在本说明书的描述中,参考术语"一个实施例"、"一些实施例"、"示例"、"具体示 例"、或"一些示例"等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特 点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不 必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可W在任 一个或多个实施例或示例中W合适的方式结合。此外,在不相互矛盾的情况下,本领域的技 术人员可W将本说明书中描述的不同实施例或示例W及不同实施例或示例的特征进行结 合和组合。
[0081]尽管上面已经示出和描述了本发明的实施例,可W理解的是,上述实施例是示例 性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可W对上述 实施例进行变化、修改、替换和变型。
【主权项】
1. 一种Web应用程序行为提取方法,其特征在于,包括以下步骤: Web应用程序行为记录模块拦截JavaScript函数,并提取所述待测Web应用程序的行为 记录,其中,所述行为记录包括所述待测Web应用程序调用的所述JavaScript函数的名称、 接收参数和函数调用栈信息; 将所述待测Web应用程序的行为记录发送到恶意行为检测模块,并将所述待测Web应用 程序的行为记录写入行为日志文件。2. 根据权利要求1所述的Web应用程序行为提取方法,其特征在于,还包括: 行为绘制模块根据所述待测Web应用程序的行为记录统计所述函数的调用次数和HTML元素访问次数,并根据所述函数的调用次数和HTML元素访问次数绘制待测Web应用程序实 时行为图表,以实时显示所述待测Web应用程序的行为记录。3. 根据权利要求2所述的Web应用程序行为提取方法,其特征在于,在所述Web浏览器的 popup页面中绘制所述待测Web应用程序实时行为图表。4.根据权利要求1所述的Web应用程序行为提取方法,其特征在于,所述提取所述待测 Web应用程序的行为记录包括: 将待拦截的所述JavaScript函数重命名; 定义新函数,所述新函数与重命名前的所述JavaScript函数同名; 在所述新函数中加入代码以获取所述JavaScript函数的名称和所述函数的接收参数; 利用所述JavaScript函数的错误处理机制获取所述函数调用栈信息。5.根据权利要求1或4所述的Web应用程序行为提取方法,其特征在于,所述JavaScript 函数位于所述Web浏览器中。6. -种通过权利要求1所述的Web应用程序行为进行恶意行为检测方法,其特征在于, 包括以下步骤: 获取所述待测Web应用程序的行为记录; 获取预先确定的恶意行为模式库,恶意行为检测模块将所述待测Web应用程序的行为 记录与所述恶意行为模式库中的每个恶意行为模式进行匹配,并将匹配成功的所述待测 Web应用程序的行为记录确定为异常行为; 获取预先确定的正常行为模式库,恶意行为确认模块将所述异常行为与所述正常行为 模式库中的每个正常行为模式进行匹配,并将匹配失败的所述异常行为确定为疑似恶意行 为; 如果所述疑似恶意行为的数量超过预设阈值,则发出恶意行为告警。7. 根据权利要求6所述的通过所述Web应用程序行为进行恶意行为检测方法,其特征在 于,还包括: 判断所述待测Web应用程序的疑似恶意行为是否为恶意行为,如果所述待测Web应用程 序的疑似恶意行为不是恶意行为,则将所述疑似恶意行为加入所述正常行为模式库。8. 根据权利要求6所述的通过所述Web应用程序行为进行恶意行为检测方法,其特征在 于, 所述恶意行为模式为在恶意行为发生时,被调用的当前JavaScript函数的名称和所述 当前JavaScript函数的父函数的名称组成的字符串对,其中,所述父函数为直接或间接调 用所述当前JavaScript函数的函数; 所述正常行为模式为在正常行为发生时,被调用的当前JavaScript函数的名称和所述 当前JavaScript函数的各级父函数的名称组成的字符串组,其中,在所述字符串组中,后一 个字符串代表的函数为前一个字符串代表的函数的父函数。9.根据权利要求6或8所述的通过所述Web应用程序行为进行恶意行为检测方法,其特 征在于, 如果所述待测Web应用程序的行为记录中的JavaScript函数的名称和所述恶意行为模 式中的所述当前JavaScript函数的名称相同,并且根据所述行为记录中的函数调用栈信息 确定的所述JavaScript函数的父函数与所述恶意行为模式中所述当前JavaScript函数的 父函数的名称相同时,则所述待测Web应用程序的行为记录匹配成功,否则所述待测Web应 用程序的行为记录匹配失败; 如果所述异常行为在所述待测Web应用程序的行为记录中的JavaScript函数的名称和 所述正常行为模式中的所述当前JavaScript函数的名称相同,并且根据所述行为记录中的 函数调用栈信息确定的所述JavaScript函数的各级父函数与所述正常行为模式中所述当 前JavaScript函数的各级父函数的名称相同时,则所述异常行为匹配成功,否则,所述异常 行为匹配失败。
【专利摘要】本发明公开一种Web应用程序行为提取方法和恶意行为检测方法,所述Web应用程序行为提取方法包括以下步骤:Web应用程序行为记录模块拦截JavaScript函数,并提取待测Web应用程序的行为记录,其中,行为记录包括待测Web应用程序调用的JavaScript函数的名称、接收参数和函数调用栈信息;将待测Web应用程序的行为记录发送到恶意行为检测模块,并将待测Web应用程序的行为记录写入行为日志文件。根据本发明实施例的方法,实现简单、适用性好,并能够实现对Web应用程序行为的全面监控,有助于实现对恶意行为的检测。
【IPC分类】G06F21/56, G06F21/55
【公开号】CN105488398
【申请号】CN201510881765
【发明人】毛剑, 陈岳, 史福田, 伍前红, 刘建伟, 田文倩
【申请人】北京航空航天大学
【公开日】2016年4月13日
【申请日】2015年12月4日