攻击检测系统、方法、计算机设备及存储介质技术方案

技术编号:20081380 阅读:42 留言:0更新日期:2019-01-15 02:43
本发明专利技术公开了攻击检测系统、方法、计算机设备及存储介质,其中方法包括:安装到WEB服务器上的RASP子系统在预定的关键调用位置进行hook点的挂载;当调用到每个hook点时,所述RASP子系统采用结合WEB服务器上下文信息的检测方式进行攻击检测。应用本发明专利技术所述方案,能够提高处理结果的准确性等。

Attack Detection System, Method, Computer Equipment and Storage Media

The invention discloses an attack detection system, method, computer equipment and storage medium. The method includes: the RASP subsystem installed on the WEB server mounts hook points at a predetermined key call location; when each hook point is invoked, the RASP subsystem adopts a detection method combining with the context information of the WEB server to detect attacks. By applying the scheme of the invention, the accuracy of the processing results can be improved, etc.

【技术实现步骤摘要】
攻击检测系统、方法、计算机设备及存储介质
本专利技术涉及计算机应用技术,特别涉及攻击检测系统、方法、计算机设备及存储介质。
技术介绍
运行时自我保护技术(RASP,RuntimeApplicationSelf-Protection),是一种在运行时检测攻击并进行自我保护的技术。目前,WEB服务器为了能够抵御外部攻击,通常都会采取一定的攻击检测方式。比如,采用WEB应用防火墙(WAF,WebApplicationFirewall)。即在用户请求进入WEB服务器之前,拦截原始请求数据进行解析,解析之后主要采用正则表达式的方式对请求的各个部分进行检测,在认定有攻击的情况下将会拦截该请求,使得请求数据不能到达WEB服务器,从而保证WEB服务器的运行安全,在认定安全的情况下将会放行该请求。但上述方式中,检测方式为正则匹配,误报率和漏报率都比较高,另外,检测之前需要解析请求数据,这些数据在进入WEB服务器之后还需要再次解析,从而造成计算量冗余等。传统的RASP技术中,在WEB服务器的关键调用位置设置拦截点,将调用位置的调用参数提取出来,使用预设的检测逻辑进行检测,如果检测到攻击,则在调用位置拦截并结束请求,否则,正常继续后续处理。这种方式相比于WAF方式,克服了计算量冗余等问题,并在一定程度上降低了误报率和漏报率,但是,这种方式下的检测逻辑通常都比较简单,因此仍会造成较高的误报率和漏报率,即处理结果的准确性仍有待提高。
技术实现思路
有鉴于此,本专利技术提供了攻击检测系统、方法、计算机设备及存储介质,能够提高处理结果的准确性。具体技术方案如下:一种攻击检测系统,包括:运行时自我保护RASP子系统,所述RASP子系统中包括:启动模块以及处理模块;所述启动模块,用于当所述RASP子系统安装到WEB服务器上后,启动所述处理模块;所述处理模块,用于在预定的关键调用位置进行hook点的挂载,当调用到每个hook点时,采用结合所述WEB服务器上下文信息的检测方式进行攻击检测。一种攻击检测方法,包括:安装在WEB服务器上的运行时自我保护RASP子系统在预定的关键调用位置进行hook点的挂载;当调用到每个hook点时,所述RASP子系统采用结合所述WEB服务器上下文信息的检测方式进行攻击检测。一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。基于上述介绍可以看出,采用本专利技术所述方案,可结合WEB服务器上下文信息来进行攻击检测,从而降低了攻击检测的误报率和漏报率,进而提高了处理结果的准确性等。【附图说明】图1为本专利技术所述攻击检测系统实施例的组成结构示意图。图2为本专利技术所述java服务器中的hook点的挂载方式示意图。图3为本专利技术所述攻击检测方法实施例的流程图。图4示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图。【具体实施方式】针对现有技术中存在的问题,本专利技术中提出一种攻击检测方式,较佳地,可应用于java或php服务器上。为了使本专利技术的技术方案更加清楚、明白,以下参照附图并举实施例,对本专利技术所述方案进行进一步说明。显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。图1为本专利技术所述攻击检测系统实施例的组成结构示意图。如图1所示,包括:RASP子系统100,RASP子系统100中可进一步包括:启动模块101以及处理模块102。当RASP子系统100安装到WEB服务器上后,启动模块101启动处理模块102;处理模块102可在预定的关键调用位置进行hook点的挂载,并在当调用到每个hook点时,采用结合WEB服务器上下文信息的检测方式进行攻击检测。如前所述,较佳地,所述WEB服务器可为java服务器或php服务器。java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,具有功能强大和简单易用等特征。php即指超文本预处理器(HypertextPreprocessor),是一种通用开源脚本语言,语法吸收了C语言、java等的特点,利于学习,使用广泛。在将RASP子系统安装到WEB服务器上后,启动模块101可启动处理模块102,以便处理模块102执行RASP子系统的核心功能,即在关键调用位置进行hook点的挂载,并在当调用到每个hook点时,采用结合WEB服务器上下文信息的检测方式进行攻击检测等。如图1所示,处理模块102中又可具体包括:挂载单元1021以及检测单元1022。挂载单元1021可在关键调用位置进行hook点的挂载,并在当调用到每个hook点时,执行检测单元1022;相应地,检测单元1022可加载对应的JavaScript插件,或简称为JS插件,以便JavaScript插件采用结合WEB服务器上下文信息的检测方式进行攻击检测。关键调用位置即指拦截位置。如何确定关键调用位置不作限制,可根据实际需要而定,比如,关键调用位置可为执行结构化查询语言(SQL,StructuredQueryLanguage)查询,文件读取等操作的位置。挂载单元1021可在各关键调用位置进行hook点的挂载。其中,对于java服务器,可使用javaagent技术和java代码编织技术进行字节码的修改,来实现hook点的挂载,具体挂载方式可如图2所示,图2为本专利技术所述java服务器中的hook点的挂载方式示意图。php服务器中,可使用php的zend扩展开发技术,在启动php进程的过程中加载相应的扩展,完成hook点的挂载。如何进行hook点的挂载为现有技术。完成hook点的挂载之后,每当调用到相应的hook点时,可执行检测单元1022。检测单元1022可加载对应的JavaScript插件,以便JavaScript插件采用结合WEB服务器上下文信息的检测方式进行攻击检测。如图2所示,在JavaScript插件加载之前,检测单元1022还可先将插件的运行环境初始化,以避免影响运行时的效率。另外,在JavaScript插件加载之后,检测单元1022还可针对JavaScript插件进行文件监控,当监控到发生更新(变化)时,可重新加载JavaScript插件,以确保JavaScript插件的实时更新。在java服务器中,会将JavaScript编译为能够运行在Java虚拟机(JVM,JavaVirtualMachine)上的字节码,另外,在java和php服务器中,可在本地的运行环境中注册一定的回调接口,以方便JavaScript插件在检测过程中获取WEB服务器上下文信息等。JavaScript插件可采用结合WEB服务器上下文信息的检测方式进行攻击检测。WEB服务器上下文信息可以包括请求信息以及运行环境信息等。所述检测方式至少可包括以下1)~12)中的任意一个或任意组合。1)SQL注入检测具体地,可包括以下两种实现方式。方式一:识别用户输入比如,可对要执行的SQL语句进行语法的token本文档来自技高网...

【技术保护点】
1.一种攻击检测系统,其特征在于,包括:运行时自我保护RASP子系统,所述RASP子系统中包括:启动模块以及处理模块;所述启动模块,用于当所述RASP子系统安装到WEB服务器上后,启动所述处理模块;所述处理模块,用于在预定的关键调用位置进行hook点的挂载,当调用到每个hook点时,采用结合所述WEB服务器上下文信息的检测方式进行攻击检测。

【技术特征摘要】
1.一种攻击检测系统,其特征在于,包括:运行时自我保护RASP子系统,所述RASP子系统中包括:启动模块以及处理模块;所述启动模块,用于当所述RASP子系统安装到WEB服务器上后,启动所述处理模块;所述处理模块,用于在预定的关键调用位置进行hook点的挂载,当调用到每个hook点时,采用结合所述WEB服务器上下文信息的检测方式进行攻击检测。2.根据权利要求1所述的攻击检测系统,其特征在于,所述处理模块中包括:挂载单元以及检测单元;所述挂载单元,用于在所述关键调用位置进行hook点的挂载,当调用到每个hook点时,执行所述检测单元;所述检测单元,用于加载对应的JavaScript插件,以便所述JavaScript插件采用结合所述WEB服务器上下文信息的检测方式进行攻击检测。3.根据权利要求2所述的攻击检测系统,其特征在于,所述检测单元进一步用于,针对所述JavaScript插件进行文件监控,当监控到更新时,重新加载所述JavaScript插件。4.根据权利要求2所述的攻击检测系统,其特征在于,所述检测单元进一步用于,当检测到攻击时,跳转到默认的拦截页面或跳转到定制的拦截页面。5.根据权利要求1所述的攻击检测系统,其特征在于,当所述WEB服务器为java服务器时,所述检测方式至少包括以下之一或任意组合:结构化查询语言SQL注入检测;服务器端请求伪造SSRF检测;文件目录列出检测;文件读取检测;文件包含检测;文件写入检测;文件上传检测;命令执行检测;可扩展标记语言XML外部实体攻击检测;strutsognl攻击检测;反序列化检测;跨站脚本XSS攻击检测;当所述WEB服务器为php服务器时,所述检测方式至少包括以下之一或任意组合:SQL注入检测;SSRF检测;文件目录列出检测;文件读取检测;文件包含检测;文件写入检测;文件上传检测;命令执行检测;XML外部实体攻击检测;XSS攻击检测。6.根据权利要求1所述的攻击检测系统,其特征在于,所述RASP子系统支持不重启服务器的安装方式;所述处理模块进一步用于,在不重启服务器的情况下完成自身功能的更新。7.根据权利要求1所述的攻击检测系统,其特征在于,所述攻击检测系统中进一步包括:云端控制平台子系统;所述云端控制平台子系统,用于对安装在不同WEB服务器上的RASP子系统进行集中管理。8.根据权利要求7所述的攻击检测系统,其特征在于,所述云端控制平台子系统中包括:云控后台以及代理Agent;所述Agent运行在所述WEB服...

【专利技术属性】
技术研发人员:曹新宇唐友谊李新开兰宇航安阳裴奕
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1