CN109194606B - 攻击检测系统、方法、计算机设备及存储介质 - Google Patents
攻击检测系统、方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109194606B CN109194606B CN201810730540.3A CN201810730540A CN109194606B CN 109194606 B CN109194606 B CN 109194606B CN 201810730540 A CN201810730540 A CN 201810730540A CN 109194606 B CN109194606 B CN 109194606B
- Authority
- CN
- China
- Prior art keywords
- detection
- attack
- file
- rasp
- subsystem
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了攻击检测系统、方法、计算机设备及存储介质,其中方法包括:安装到WEB服务器上的RASP子系统在预定的关键调用位置进行hook点的挂载;当调用到每个hook点时,所述RASP子系统采用结合WEB服务器上下文信息的检测方式进行攻击检测。应用本发明所述方案,能够提高处理结果的准确性等。
Description
【技术领域】
本发明涉及计算机应用技术,特别涉及攻击检测系统、方法、计算机设备及存储介质。
【背景技术】
运行时自我保护技术(RASP,Runtime Application Self-Protection),是一种在运行时检测攻击并进行自我保护的技术。
目前,WEB服务器为了能够抵御外部攻击,通常都会采取一定的攻击检测方式。比如,采用WEB应用防火墙(WAF,Web Application Firewall)。即在用户请求进入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即指超文本预处理器(Hypertext Preprocessor),是一种通用开源脚本语言,语法吸收了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,Structured Query Language)查询,文件读取等操作的位置。
挂载单元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,JavaVirtual Machine)上的字节码,另外,在java和php服务器中,可在本地的运行环境中注册一定的回调接口,以方便JavaScript插件在检测过程中获取WEB服务器上下文信息等。
JavaScript插件可采用结合WEB服务器上下文信息的检测方式进行攻击检测。WEB服务器上下文信息可以包括请求信息以及运行环境信息等。所述检测方式至少可包括以下1)~12)中的任意一个或任意组合。
1)SQL注入检测
具体地,可包括以下两种实现方式。
方式一:识别用户输入
比如,可对要执行的SQL语句进行语法的token化,然后匹配请求参数,去掉匹配成功的内容后再次进行token化,对比前后两次token化的结果,确定语义是否被请求参数污染,如果语义有变化则认为被污染,从而判定为SQL注入攻击。其中,可基于WEB服务器上下文信息获取所述请求参数。
方式二:SQL语句策略
根据上述第一次token化结果,基于“UNION-NULL、多语句查询、16进制字符串、版本号注释、常量比较、敏感函数调用”等SQL注入攻击策略,分析确定是否存在SQL注入攻击。
2)服务器端请求伪造(SSRF,Server-Side Request Forgery)检测
具体地,可包括以下三种实现方式。
方式一:识别用户输入,如果请求的IP来自请求参数,且IP为内网IP,则可判定为SSRF攻击。
方式二:探测域名检测,匹配是否请求域名为常见(如预定列表中)的内网探测域名,如果是,则可判定为SSRF攻击。
方式三:IP混淆检测,检测IP是否为纯数字或者十六进制等混淆IP,如果是,则可判定为SSRF攻击。
3)文件目录列出检测
检测请求的响应中是否列出了敏感目录文件,或使用“../../”等方式进行目录探测行为,如果是,则可判定为攻击。
4)文件读取检测
通过对文件读取函数的hook,检测是否通过webdav等方式尝试读取敏感文件,如果是,则可判定为攻击。
5)文件包含检测
检测java服务器页面(JSP,Java Server Pages)或php文件中是否有通过文件包涵接口读取web目录外敏感文件的行为,如果是,则可判定为攻击。
6)文件写入检测
检测是否有尝试写入脚本文件,或者通过新技术文件系统(NTFS,New TechnologyFile System)流上传后门的行为,如果是,则可判定为攻击。
7)文件上传检测
检测是否有尝试通过超文本传输协议(HTTP,HyperText Transfer Protocol)文件上传文件的方式,或向后台写入脚本文件的行为,如果是,则可判定为攻击。
8)命令执行检测
通过获取执行命令时的调用栈,分析命令执行前的WEB进程行为特征,从而确定命令执行是否安全。
9)可扩展标记语言(XML,Extend Markup Languge)外部实体攻击检测
对XML头部的协议进行分析,识别是否有敏感协议,如果是,则可判定为攻击。
10)struts ognl攻击检测
对java服务器的struts框架的ognl表达式进行分析,查看是否有敏感部分,如果是,则可判定为攻击,其中,ognl指对象图导航语言(Object-Graph NavigationLanguage)。
11)反序列化检测
检测java服务器中反序列化对象的类是否为敏感类,如果是,则可判定为攻击。
12)XSS攻击检测
XSS攻击全称为跨站脚本(Cross Site Scripting)攻击,为不和层叠样式表(CSS,Cascading Style Sheets)的缩写混淆,故将跨站脚本攻击缩写为XSS。
当WEB服务器响应页面为超文本标记语言(HTML,HyperText Markup Language)页面时,向响应页面结尾插入一段检测JavaScript脚本,脚本在浏览器中对页面进行分析,检查XSS攻击。
上述10)和11)中所述的检测方式仅适用于java服务器,其它各检测方式均同时适用于java服务器和php服务器。
另外,上述文件相关的检测方式中,可对检测参数中的文件的可达性进行分析,如果文件不存在,则无需进行进一步的检测,以提升检测效率并降低误报率等。
通常,每个hook点可分别对应1)~12)中的一种检测方式,但同一检测方式可对应多个hook点,在进行hook点的挂载时即可绑定好对应的检测方式,当然,如果需要,每个hook点也可分别对应多种检测方式。
当检测到攻击时,检测单元1022可跳转到默认的拦截页面或跳转到定制的拦截页面。
比如,当检测到攻击时,可清空当前未响应的缓存,之后可根据配置进行302跳转到默认的拦截页面,或者,可向响应页面结尾插入一段跳转JavaScript代码,跳转到定制的拦截页面,实现方式灵活方便。
另外,本发明所述RASP子系统100支持不重启服务器的安装方式。
通常来说,在WEB服务器上安装RASP子系统100时,可首先将RASP实体释放到WEB服务器的安装目录,并识别WEB服务器的类型和版本信息,然后根据类型和版本信息更改WEB服务器的配置,在用户重启WEB服务器之后即可将RASP子系统100运行于WEB服务器的进程之中。本发明中,为java服务器提供了不重启服务器的安装方式,即可通过javaagent的Attach方式,将安装进程Attach到正在运行的java服务器进程,使java服务器进程全局暂停(stop-the-world)从而完成RASP子系统100的安装。
当需要卸载RASP子系统100时,可根据安装所进行的操作执行对应的操作,如将增加的文件删除、修改的文件回滚等。
处理模块102也可在不重启服务器的情况下完成自身功能的更新。在实际应用中,启动模块101和处理模块102可分别对应于启动包和引擎包,其中,启动包负责启动引擎包并将RASP核心功能植入WEB服务器进程,引擎包提供了RASP核心功能,符合开放服务网关协议(OSGI,Open Service Gateway Initiative)规范,能够在运行时根据文件的更新进行重新加载,加载过程中会进行hook点的回滚和重新加载等,从而完成不重启服务器的RASP核心功能的更新。
图1所示攻击检测系统中还可进一步包括:云端控制平台子系统200,用于对安装在不同WEB服务器上的RASP子系统100进行集中管理,即提供云端控制能力,方便集群批量管理RASP子系统100,需要说明的是,为简化附图,图1中只表示出了一个RASP子系统100。
云端控制平台子系统200中又可进一步包括:云控后台201以及代理(Agent)202。
Agent202运行在WEB服务器上,每个Agent对应一台WEB服务器。云控后台201与Agent 202进行通信。
Agent 202收集所在WEB服务器中的RASP子系统100的预定信息,上报给云控后台201进行管理,并获取来自云控后台201的更新信息,下发给RASP子系统100进行更新。
所述预定信息可包括RASP子系统100的运行状态信息、所在的WEB服务器信息等,云控后台201可根据获取到的信息实时监控RASP子系统100的运行状态,并可根据需要对RASP子系统100进行更新等。
基于上述介绍可以看出,采用本发明所述方案,至少具有以下优势:
结合WEB服务器上下文信息来进行攻击检测,从而降低了攻击检测的误报率和漏报率,进而提高了处理结果的准确性;
检测方式覆盖了主流的攻击类型,并采用零规则算法,能够更有效地防止绕过,从而进一步降低了攻击检测的误报率和漏报率;
采用JavaScript插件来进行攻击检测,并为插件添加了文件监控,能够方便地根据业务需求定制检测逻辑(检测方式),并能够及时更新;
提供了不重启安装RASP子系统以及不重启更新RASP核心功能的能力,降低了运维成本;
拦截采用重定向与脚本跳转相结合的方式,方便定制拦截页面和拦截方式等;
提供了云端控制能力,方便集群批量管理RASP子系统。
以上是关于系统实施例的介绍,以下通过方法实施例,对本发明所述方案进行进一步说明。
图3为本发明所述攻击检测方法实施例的流程图。如图3所示,包括以下具体实现方式。
在301中,安装在WEB服务器上的RASP子系统在预定的关键调用位置进行hook点的挂载。
在302中,当调用到每个hook点时,RASP子系统采用结合所述WEB服务器上下文信息的检测方式进行攻击检测。
较佳地,所述WEB服务器可为java服务器或php服务器。
RASP子系统安装到WEB服务器上后,可在关键调用位置进行hook点的挂载,并在当调用到每个hook点时,加载对应的JavaScript插件,以便JavaScript插件采用结合WEB服务器上下文信息的检测方式进行攻击检测。
其中,对于java服务器,可使用javaagent技术和java代码编织技术进行字节码的修改,来实现hook点的挂载。对于php服务器,可使用php的zend扩展开发技术,在启动php进程的过程中加载相应的扩展,完成hook点的挂载
另外,在JavaScript插件加载之前,还可先将插件的运行环境初始化,以避免影响运行时的效率。在JavaScript插件加载之后,还可针对JavaScript插件进行文件监控,如对插件文件夹进行文件监控,当监控到发生更新(变化)时,可重新加载JavaScript插件,以确保JavaScript插件的实时更新。
JavaScript插件可采用结合WEB服务器上下文信息的检测方式进行攻击检测。比如,当WEB服务器为java服务器时,所述检测方式至少可包括以下之一或任意组合:SQL注入检测;SSRF检测;文件目录列出检测;文件读取检测;文件包含检测;文件写入检测;文件上传检测;命令执行检测;XML外部实体攻击检测;struts ognl攻击检测;反序列化检测;XSS攻击检测。当WEB服务器为php服务器时,所述检测方式至少可包括以下之一或任意组合:SQL注入检测;SSRF检测;文件目录列出检测;文件读取检测;文件包含检测;文件写入检测;文件上传检测;命令执行检测;XML外部实体攻击检测;XSS攻击检测。
通常,每个hook点可分别对应一种检测方式,但同一检测方式可对应多个hook点,在进行hook点的挂载时即可绑定好对应的检测方式。
当检测到攻击时,可跳转到默认的拦截页面或跳转到定制的拦截页面。比如,当检测到攻击时,可清空当前未响应的缓存,之后可根据配置进行302跳转到默认的拦截页面,或者,可向响应页面结尾插入一段跳转JavaScript代码,跳转到定制的拦截页面,实现方式灵活方便。
另外,RASP子系统可支持不重启服务器的安装方式。比如,可通过javaagent的Attach方式,将安装进程Attach到正在运行的java服务器进程,使java服务器进程stop-the-world从而完成RASP子系统的安装。
RASP子系统还可接入云端控制平台子系统,以便云端控制平台子系统对安装在不同WEB服务器上的RASP子系统进行集中管理。
其中,云端控制平台子系统中又可进一步包括:云控后台以及Agent。Agent运行在WEB服务器上,每个Agent对应一台WEB服务器。云控后台与Agent进行通信。
Agent可收集所在WEB服务器中的RASP子系统的预定信息,上报给云控后台进行管理,并获取来自云控后台的更新信息,下发给RASP子系统进行更新等。
图3所示方法实施例的具体工作流程请参照前述系统实施例中的相关说明,不再赘述。
图4示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图4显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器(处理单元)16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现图3所示实施例中的方法。
本发明同时公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时将实现如图3所示实施例中的方法。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种攻击检测系统,其特征在于,包括:运行时自我保护RASP子系统,所述RASP子系统中包括:启动模块以及处理模块;
所述启动模块,用于当所述RASP子系统安装到WEB服务器上后,启动所述处理模块;
所述处理模块,用于在预定的关键调用位置进行hook点的挂载,并针对每个hook点,分别绑定对应的至少一种检测方式,当调用到每个hook点时,加载对应的JavaScript插件,以便所述JavaScript插件采用结合所述WEB服务器上下文信息的检测方式进行攻击检测,其中,针对每个hook点,分别采用所述hook点对应的至少一种检测方式进行攻击检测。
2.根据权利要求1所述的攻击检测系统,其特征在于,
所述处理模块中包括:挂载单元以及检测单元;
所述挂载单元,用于在所述关键调用位置进行hook点的挂载,并针对每个hook点,分别绑定对应的至少一种检测方式,当调用到每个hook点时,执行所述检测单元;
所述检测单元,用于加载对应的JavaScript插件,以便所述JavaScript插件采用结合所述WEB服务器上下文信息的检测方式进行攻击检测。
3.根据权利要求2所述的攻击检测系统,其特征在于,
所述检测单元进一步用于,针对所述JavaScript插件进行文件监控,当监控到更新时,重新加载所述JavaScript插件。
4.根据权利要求2所述的攻击检测系统,其特征在于,
所述检测单元进一步用于,当检测到攻击时,跳转到默认的拦截页面或跳转到定制的拦截页面。
5.根据权利要求1所述的攻击检测系统,其特征在于,
当所述WEB服务器为java服务器时,所述检测方式至少包括以下之一或任意组合:
结构化查询语言SQL注入检测;服务器端请求伪造SSRF检测;文件目录列出检测;文件读取检测;文件包含检测;文件写入检测;文件上传检测;命令执行检测;可扩展标记语言XML外部实体攻击检测;struts ognl攻击检测;反序列化检测;跨站脚本XSS攻击检测;
当所述WEB服务器为php服务器时,所述检测方式至少包括以下之一或任意组合:
SQL注入检测;SSRF检测;文件目录列出检测;文件读取检测;文件包含检测;文件写入检测;文件上传检测;命令执行检测;XML外部实体攻击检测;XSS攻击检测。
6.根据权利要求1所述的攻击检测系统,其特征在于,
所述RASP子系统支持不重启服务器的安装方式;
所述处理模块进一步用于,在不重启服务器的情况下完成自身功能的更新。
7.根据权利要求1所述的攻击检测系统,其特征在于,
所述攻击检测系统中进一步包括:云端控制平台子系统;
所述云端控制平台子系统,用于对安装在不同WEB服务器上的RASP子系统进行集中管理。
8.根据权利要求7所述的攻击检测系统,其特征在于,
所述云端控制平台子系统中包括:云控后台以及代理Agent;
所述Agent运行在所述WEB服务器上,每个Agent对应一台WEB服务器;
所述Agent,用于收集所述RASP子系统的预定信息,上报给所述云控后台进行管理,并获取来自所述云控后台的更新信息,下发给所述RASP子系统进行更新。
9.一种攻击检测方法,其特征在于,包括:
安装在WEB服务器上的运行时自我保护RASP子系统在预定的关键调用位置进行hook点的挂载,并针对每个hook点,分别绑定对应的至少一种检测方式;
当调用到每个hook点时,所述RASP子系统加载对应的JavaScript插件,以便所述JavaScript插件采用结合所述WEB服务器上下文信息的检测方式进行攻击检测,其中,针对每个hook点,分别采用所述hook点对应的至少一种检测方式进行攻击检测。
10.根据权利要求9所述的方法,其特征在于,
该方法进一步包括:
针对所述JavaScript插件进行文件监控,当监控到更新时,重新加载所述JavaScript插件。
11.根据权利要求9所述的方法,其特征在于,
该方法进一步包括:
当检测到攻击时,跳转到默认的拦截页面或跳转到定制的拦截页面。
12.根据权利要求9所述的方法,其特征在于,
当所述WEB服务器为java服务器时,所述检测方式至少包括以下之一或任意组合:
结构化查询语言SQL注入检测;服务器端请求伪造SSRF检测;文件目录列出检测;文件读取检测;文件包含检测;文件写入检测;文件上传检测;命令执行检测;可扩展标记语言XML外部实体攻击检测;struts ognl攻击检测;反序列化检测;跨站脚本XSS攻击检测;
当所述WEB服务器为php服务器时,所述检测方式至少包括以下之一或任意组合:
SQL注入检测;SSRF检测;文件目录列出检测;文件读取检测;文件包含检测;文件写入检测;文件上传检测;命令执行检测;XML外部实体攻击检测;XSS攻击检测。
13.根据权利要求9所述的方法,其特征在于,
所述RASP子系统支持不重启服务器的安装方式。
14.根据权利要求9所述的方法,其特征在于,
该方法进一步包括:
所述RASP子系统接入云端控制平台子系统,以便所述云端控制平台子系统对安装在不同WEB服务器上的RASP子系统进行集中管理。
15.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求9~14中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求9~14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810730540.3A CN109194606B (zh) | 2018-07-05 | 2018-07-05 | 攻击检测系统、方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810730540.3A CN109194606B (zh) | 2018-07-05 | 2018-07-05 | 攻击检测系统、方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109194606A CN109194606A (zh) | 2019-01-11 |
CN109194606B true CN109194606B (zh) | 2022-05-03 |
Family
ID=64948898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810730540.3A Active CN109194606B (zh) | 2018-07-05 | 2018-07-05 | 攻击检测系统、方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109194606B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505247B (zh) * | 2019-09-27 | 2022-05-17 | 百度在线网络技术(北京)有限公司 | 攻击检测方法、装置、电子设备及存储介质 |
CN112671781A (zh) * | 2020-12-24 | 2021-04-16 | 北京华顺信安信息技术有限公司 | 基于rasp的防火墙系统 |
CN113489677B (zh) * | 2021-05-27 | 2022-06-07 | 贵州电网有限责任公司 | 一种基于语义上下文的零规则攻击检测方法及装置 |
CN113486335B (zh) * | 2021-05-27 | 2023-02-03 | 贵州电网有限责任公司 | 一种基于rasp零规则的jni恶意攻击检测方法及装置 |
CN113486277A (zh) * | 2021-06-15 | 2021-10-08 | 北京华胜久安科技有限公司 | Web应用访问方法、装置、电子设备及存储介质 |
CN115801456B (zh) * | 2023-01-31 | 2023-06-23 | 天翼云科技有限公司 | 网络攻击检测方法、装置、电子设备及存储介质 |
CN117879976B (zh) * | 2024-03-11 | 2024-05-28 | 全通金信控股(广东)有限公司 | 基于跨站脚本攻击的请求数据处理方法、计算机设备 |
CN117891502B (zh) * | 2024-03-14 | 2024-05-24 | 北京长亭科技有限公司 | 一种jsp文件解混淆方法、系统、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407802A (zh) * | 2016-09-05 | 2017-02-15 | 北京蓝海讯通科技股份有限公司 | 一种对应用安全进行监控的装置、方法以及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8875285B2 (en) * | 2010-03-24 | 2014-10-28 | Microsoft Corporation | Executable code validation in a web browser |
CN103685567A (zh) * | 2013-12-31 | 2014-03-26 | 曙光云计算技术有限公司 | 云环境下配置虚拟应用服务器的方法 |
CN107888554B (zh) * | 2016-09-30 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 服务器攻击的检测方法和装置 |
CN106528143A (zh) * | 2016-10-27 | 2017-03-22 | 杭州昆海信息技术有限公司 | 一种配置管理方法及装置 |
-
2018
- 2018-07-05 CN CN201810730540.3A patent/CN109194606B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407802A (zh) * | 2016-09-05 | 2017-02-15 | 北京蓝海讯通科技股份有限公司 | 一种对应用安全进行监控的装置、方法以及系统 |
Non-Patent Citations (3)
Title |
---|
Web服务器攻击日志分析研究;邓诗琪等;《信息网络安全》;20160610(第06期);全文 * |
Web网站敏感目录自动检测工具设计;李晨阳等;《网络空间安全》;20180125(第01期);全文 * |
基于SQL注入的安全防范检测技术研究;阴国富;《河南科学》;20090315(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109194606A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109194606B (zh) | 攻击检测系统、方法、计算机设备及存储介质 | |
US11392461B2 (en) | Method and apparatus for processing information | |
CN110062043B (zh) | 服务治理方法、服务治理装置、存储介质及电子设备 | |
KR101966754B1 (ko) | 소프트웨어 코드의 생성 및 캐싱 기법 | |
CN110941528B (zh) | 一种基于故障的日志埋点设置方法、装置及系统 | |
US9229844B2 (en) | System and method for monitoring web service | |
US20130086687A1 (en) | Context-sensitive application security | |
CN107783795A (zh) | 应用程序启动方法、装置、计算机设备和存储介质 | |
CN108334779B (zh) | 一种应用的处理方法、设备和计算存储介质 | |
CN110929128A (zh) | 一种数据爬取方法、装置、设备和介质 | |
CN110659210A (zh) | 一种信息获取方法、装置、电子设备及存储介质 | |
CN114726633B (zh) | 流量数据处理方法及装置、存储介质及电子设备 | |
CN109189652A (zh) | 一种封闭网络终端行为数据的采集方法及系统 | |
CN112068932A (zh) | 应用程序的集成、监控方法、装置、系统、设备及介质 | |
KR102132449B1 (ko) | 자바스크립트 파일 재작성을 통한 자바스크립트 해석 엔진 테스트 방법 및 장치 | |
US8171345B2 (en) | Disablement of an exception generating operation of a client system | |
US20200117482A1 (en) | Dynamic loading of a java agent into a running process through direct process memory manipulation | |
EP2600271A1 (en) | Device for right managing web data, recording medium for performing method for right managing web data on computer, and device and method for providing right management information | |
CN109597952B (zh) | 网页信息处理方法、系统、电子设备和存储介质 | |
CN109634636B (zh) | 应用处理方法、装置、设备和介质 | |
CN113282363A (zh) | 一种优化混合app的方法及装置 | |
CN105610908B (zh) | 一种基于安卓设备的samba服务实现方法及系统 | |
CN111488230A (zh) | 修改日志输出级别的方法、装置、电子设备及存储介质 | |
CN109639686B (zh) | 分布式网页过滤方法、装置、电子设备、存储介质 | |
CN116204749A (zh) | 页面加载方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |