CN106407802A - 一种对应用安全进行监控的装置、方法以及系统 - Google Patents

一种对应用安全进行监控的装置、方法以及系统 Download PDF

Info

Publication number
CN106407802A
CN106407802A CN201610805221.5A CN201610805221A CN106407802A CN 106407802 A CN106407802 A CN 106407802A CN 201610805221 A CN201610805221 A CN 201610805221A CN 106407802 A CN106407802 A CN 106407802A
Authority
CN
China
Prior art keywords
attack
protection
application
configuration information
information
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.)
Granted
Application number
CN201610805221.5A
Other languages
English (en)
Other versions
CN106407802B (zh
Inventor
王义明
吕龙涛
刘再耀
何晓阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ruixiang Technology Co.,Ltd.
Original Assignee
Beijing Oneapm Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Oneapm Communication Technology Co Ltd filed Critical Beijing Oneapm Communication Technology Co Ltd
Priority to CN201610805221.5A priority Critical patent/CN106407802B/zh
Publication of CN106407802A publication Critical patent/CN106407802A/zh
Application granted granted Critical
Publication of CN106407802B publication Critical patent/CN106407802B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

本发明公开了一种对应用安全进行监控的装置,驻留在应用服务器中,该装置包括:通信模块,适于向安全服务器获取该装置的配置信息;监控模块,适于检测加载应用中第一对象的操作;插装模块,适于当监控模块检测到第一对象将被加载至内存时,从配置信息中的防护规则获取与第一对象匹配的防护片段;还适于将获取的防护片段插装至第一对象中,以生成第二对象;处理引擎,适于在要执行第一对象时,执行第二对象,其中,还适于执行第二对象中的防护片段,以便根据完成相应逻辑的关键参数判断是否存在攻击行为,若是,记录攻击信息。本发明还公开了一种相应的对应用安全进行监控的方法和系统。

Description

一种对应用安全进行监控的装置、方法以及系统
技术领域
本发明涉及互联网安全技术领域,尤其涉及一种对应用安全进行监控的装置、方法以及系统。
背景技术
随着互联网的日益普及,越来越多的企业通过网络服务器以及应用服务器中的各类应用向用户提供各种产品和服务。应用无处不在,而且通常运行在企业内部能够访问敏感数据,而大型机构运行的应用越来越复杂和多样,其中还包含了许多第三方的软件库,同时应用更新极其频繁,网络攻击经常以应用为目标,因此应用安全防护是一项极富挑战性的任务。目前用来对抗这些威胁的解决方案大多是web防火墙等应用级的安全防护工具,其中Web应用程序防火墙(WAF)和防入侵系统(IPS)部署最为广泛,但都有一个致命的缺陷:不了解应用程序的上下文,因而无法高效地区分恶意行为与合法行为,在防护效果和操作效率上都差强人意。
传统的WAF式安全防护策略有较多的局限性,例如要对进入应用程序的所有行为进行扫描,会造成很多误杀或者漏掉很多攻击行为。而WAF是一种旁路式的保护机制,无法进入到应用程序内部进行监测。
因此,需要提出一种更优越的应用安全监控策略。
发明内容
为此,本发明提供一种应用安全监控方案,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种对应用安全进行监控的装置,驻留在应用服务器中,应用服务器与安全服务器通过网络连接,安全服务器存储有该装置的配置信息,配置信息包括与应用相关的每一类攻击行为对应的防护规则,防护规则指示应用中需要监控的第一对象,并包括与第一对象匹配的防护片段,该装置包括:通信模块,适于向安全服务器获取该装置的配置信息;监控模块,适于检测加载应用中第一对象的操作,第一对象由配置信息确定,并能够被执行以完成相应逻辑;插装模块,适于当监控模块检测到第一对象将被加载至内存时,从配置信息中的防护规则获取与第一对象匹配的防护片段;还适于将获取的防护片段插装至第一对象中,以生成第二对象;处理引擎,适于在要执行第一对象时,执行第二对象以完成执行第一对象时的相应逻辑,其中,还适于执行第二对象中的防护片段,以便根据完成相应逻辑的关键参数判断是否存在攻击行为,若是,记录攻击信息。
可选地,在根据本发明的装置中,配置信息还包括该装置的监控模式,监控模式包括监听模式和防护模式。
可选地,在根据本发明的装置中,处理引擎还适于从配置信息获取该装置的监控模式,还适于执行第二对象中的防护片段,以便在监听模式下判断存在攻击行为时记录攻击信息、在防护模式下判断存在攻击行为时记录攻击信息并拦截该攻击行为。
可选地,在根据本发明的装置中,第一对象包括下列中的至少一种:位于与外部交互的重要节点的类、接口以及其中定义的方法、参数、返回值和变量。
可选地,在根据本发明的装置中,防护规则还指示防护片段在第一对象中的插装位置,插装模块还适于将防护片段插入到相应的插装位置,生成第二对象。
可选地,在根据本发明的装置中,插装位置包括下列位置中的至少一个:第一对象初始化的位置;第一对象中的方法开始执行和/或结束执行的位置。
可选地,在根据本发明的装置中,攻击信息包括攻击行为的种类、触发原因、威胁等级、用户请求详情和程序堆栈信息。
可选地,在根据本发明的装置中,攻击行为的种类包括下列中的至少一个:SQL注入、XPath注入、跨站脚本攻击、已知漏洞扫描、不安全的反序列化、CSRF攻击、目录遍历漏洞、未处理的异常、内部隐私泄露、系统信息泄露、系统命令注入攻击、shellshock命令注入、本地文件包含威胁、远程文件包含威胁、HTTP协议头操纵、未验证的URL重定向、SessionCookie中未设置HTTPOnly、暴力文件浏览、Cookie篡改、不安全的随机数、数据库访问调用失败、非标准请求:不支持的请求方法、非标准请求:HTTP Accept头缺失、非标准请求:HTTPContent-type缺失、CC攻击、XML外部实体注入、XML实体扩展、可疑IP分析、HTTP请求过滤、慢方法调用:数据库连接、以及慢方法调用:数据库查询。
可选地,在根据本发明的装置中,通信模块还适于将攻击信息发送至安全服务器,以便存储并生成报表。
根据本发明的另一个方面,提供了一种应用安全监控系统,包括:根据本发明的对应用安全进行监控的装置;以及安全服务器,适于存储装置的配置信息,该配置信息包括与应用相关的每一类攻击行为对应的防护规则,防护规则指示应用中需要监控的第一对象,并包括与第一对象匹配的防护片段;还适于存储攻击信息,并根据攻击信息生成报表供用户查询。
根据本发明的还有一个方面,提供了一种应用安全的监控方法,该方法适于在应用服务器中执行,应用服务器与安全服务器通过网络连接,安全服务器存储有配置信息,配置信息包括与应用相关的每一类攻击行为对应的防护规则,防护规则指示应用中需要监控的第一对象,并包括与第一对象匹配的防护片段,该方法包括:向安全服务器获取配置信息;检测加载应用中第一对象的操作,第一对象由配置信息确定,并能够被执行以完成相应逻辑;当检测到第一对象将被加载至内存时,从配置信息中的防护规则获取与第一对象匹配的防护片段;将获取的防护片段插装至第一对象中,以生成第二对象;在要执行第一对象时,执行第二对象以完成执行第一对象时的相应逻辑,其中,执行第二对象中的防护片段,以便根据完成相应逻辑的关键参数判断是否存在攻击行为,若是,记录攻击信息。
可选地,在根据本发明的方法中,配置信息还包括该装置的监控模式,监控模式包括监听模式和防护模式。
可选地,在根据本发明的方法中,执行第二对象中的防护片段的步骤还包括:从配置信息获取该装置的监控模式;执行第二对象中的防护片段,以便在监听模式下判断存在攻击行为时记录攻击信息、在防护模式下判断存在攻击行为时记录攻击信息并拦截该攻击行为。
可选地,在根据本发明的方法中,第一对象包括下列中的至少一种:位于与外部交互的重要节点的类、接口以及其中定义的方法、参数、返回值和变量。
可选地,在根据本发明的方法中,防护规则还指示防护片段在第一对象中的插装位置,将获取的防护片段插装至第一对象中的步骤包括:将防护片段插入到相应的插装位置,生成第二对象。
可选地,在根据本发明的方法中,插装位置包括下列位置中的至少一个:第一对象初始化的位置;第一对象中的方法开始执行和/或结束执行的位置。
可选地,在根据本发明的方法中,攻击信息包括攻击行为的种类、触发原因、威胁等级、用户请求详情和程序堆栈信息。
可选地,在根据本发明的方法中,攻击行为的种类包括下列中的至少一个:SQL注入、XPath注入、跨站脚本攻击、已知漏洞扫描、不安全的反序列化、CSRF攻击、目录遍历漏洞、未处理的异常、内部隐私泄露、系统信息泄露、系统命令注入攻击、shellshock命令注入、本地文件包含威胁、远程文件包含威胁、HTTP协议头操纵、未验证的URL重定向、SessionCookie中未设置HTTPOnly、暴力文件浏览、Cookie篡改、不安全的随机数、数据库访问调用失败、非标准请求:不支持的请求方法、非标准请求:HTTP Accept头缺失、非标准请求:HTTPContent-type缺失、CC攻击、XML外部实体注入、XML实体扩展、可疑IP分析、HTTP请求过滤、慢方法调用:数据库连接、以及慢方法调用:数据库查询。
可选地,在根据本发明的方法中,还包括步骤:将所述攻击信息发送至所述安全服务器,以便存储并生成报表。
本发明的应用安全监控方案通过在对象中自动插装防护片段,因此可以在不修改应用源代码的前提下,使应用自身具备安全防护能力,从而有效防御不同种类的攻击。又由于是在应用的实际运行期间发挥作用的,因此可以拥有应用的上下文,使防护片段可以精确分析和处理应用本身的实际动作,而不是猜测应用的行为,因此误报率低,定位精准、效率更高,并且攻击信息收集更全面,准确。
同时,整个方案易于部署管理,无需修改应用的代码,省去了开发者手动添加代码的麻烦,只需简单配置就可以使应用免受攻击,因而可以自适应保护不同规模的IT应用系统。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个示例性实施方式的应用安全监控系统100的结构框图;
图2示出了根据本发明的一个示例性实施方式的对应用安全进行监控的装置110的结构框图;以及
图3示出了根据本发明一个示例性实施方式的应用安全的监控方法200的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个示例性实施方式的应用安全监控系统100的结构框图。如图1所示,应用安全监控系统100可以包括对应用安全进行监控的装置110和安全服务器120。其中,安全服务器120存储有对应用安全进行监控的装置110的配置信息,该配置信息包括与装置110驻留的应用服务器中的应用相关的每一类攻击行为对应的防护规则,该防护规则指示应用中需要监控的第一对象,并包括与第一对象匹配的防护片段。
对应用安全进行监控的装置110驻留在应用服务器中,应用服务器可以通过网络与安全服务器120连接。应用服务器上存储有一个或多个应用,以便应用服务器接收到用户的访问请求时调用相应的应用进行处理。用户可以通过web浏览器或应用客户端经由网络访问应用服务器。应用服务器接收用户的访问请求,并为了响应和处理该访问请求,需要调用应用服务器中的应用。访问请求可以是经由http(s)协议而传输到应用服务器120。
应用服务器调用应用处理用户访问请求时,此时根据本发明的对应用安全进行监控的装置110包含在应用服务器中,可以工作在运行时环境,深入应用内部,了解应用的上下文,从而可以实时彻底的保护应用,更精准地监控和拦截攻击事件。
图2示出了根据本发明一个示例性实施方式的对应用安全进行监控的装置110的结构框图。如图2所示,对应用安全进行监控的装置110可以包括通信模块111、监控模块112、插装模块113和处理引擎114。
通信模块111向安全服务器120获取该装置110的配置信息。监控模块112与通信模块111连接,可以根据获取的配置信息确定应用中需要监控的第一对象。该第一对象能够被执行以完成相应逻辑,例如可以是应用中位于与外部通信的重要节点(数据库访问的节点、网络访问的节点和文件系统访问的节点等等)的接口、及其定义的方法,还可以由用户根据实际情况配置,本发明对此不做限制。例如,对于Java应用,第一对象通常为用于支持数据库调用、网络通信、磁盘读写的Java标准库及其扩展库和第三方库中定义的类、接口以及其中定义的方法、参数、返回值和变量。
在应用服务器调用应用处理用户访问请求时,监控模块112检测加载应用中第一对象的操作。通常,Java应用在Java虚拟机(JVM)中执行,具体来说,Java源代码经由Java编译器转化为Java字节码,类加载器(classloader)将Java字节码加载到Java虚拟机执行,其中需要将Java字节码加载至内存。监控模块112可以检测其中的第一对象是否将被加载至内存。
当监控模块112检测到第一对象将被加载至内存时,与监控模块112连接的插装模块113可以从配置信息中的防护规则获取与该第一对象匹配的防护片段。该防护片段可以是字节码片段,能够被执行以完成对应用安全的监控。
而后,插装模块113将获取的防护片段插装至将要被加载至内存的第一对象中,以生成第二对象,这样第二对象能够取代第一对象被加载到运行环境中。对于Java应用,该防护片段为Java字节码片段,在Java源代码经由Java编译器转化为Java字节码之后,插装模块114可以利用Java instrumentation技术将上述对应的Java字节码片段插装至应用的Java字节码之中。
具体地,配置信息中的防护规则还可以指示防护片段在第一对象中的插装位置,插装模块113可以将防护片段插入到相应的插装位置,生成第二对象。其中,插装位置可以包括下列位置中的至少一个:第一对象初始化的位置;第一对象中的方法开始执行和/或结束执行的位置。
接下来在要执行第一对象时,与插装模块113连接的处理引擎114可以执行第二对象以完成执行第一对象时的相应逻辑。例如,对于Java应用,插装模块113在监控模块112检测到类加载器要将对象A.class加载至内存时,在A.class的字节码中插入匹配的防护字节码,生成A’.class。而后当接收到请求要调用A.class时,Java虚拟机需要找到并执行A’.class,由A’.class完成A.class的正常业务逻辑,并返回执行结果。这里,A.class就是第一对象,A’.class为生成的第二对象。
可以理解地,处理引擎114在执行生成的第二对象时,防护片段也会被一起被执行。例如,第二对象的方法被执行时,会在执行第一对象的方法逻辑的之前或之后,执行防护片段的方法。
处理引擎114执行第二对象中的防护片段,以便根据完成相应逻辑的关键参数(例如输入参数和/或输出参数)判断是否存在攻击行为,若是,记录攻击信息。其中攻击信息可以包括攻击行为的种类、触发原因、威胁等级、用户请求详情和程序堆栈信息。攻击行为的种类可以包括下列中的至少一个:SQL注入、XPath注入、跨站脚本攻击、已知漏洞扫描、不安全的反序列化、CSRF攻击、目录遍历漏洞、未处理的异常、内部隐私泄露、系统信息泄露、系统命令注入攻击、shellshock命令注入、本地文件包含威胁、远程文件包含威胁、HTTP协议头操纵、未验证的URL重定向、Session Cookie中未设置HTTPOnly、暴力文件浏览、Cookie篡改、不安全的随机数、数据库访问调用失败、非标准请求:不支持的请求方法、非标准请求:HTTP Accept头缺失、非标准请求:HTTP Content-type缺失、CC攻击、XML外部实体注入、XML实体扩展、可疑IP分析、HTTP请求过滤、慢方法调用:数据库连接、以及慢方法调用:数据库查询。
例如,对于JDBC(Java Data Base Connectivity,Java数据库连接)的Statement类的execute(String sql)方法,其匹配的防护片段可以获取输入参数sql,对该sql语句进行分析,判定是否存在sql注入的攻击事件。
又例如,与应用相关的攻击事件的种类为非标准请求:不支持的请求方法、非标准请求:HTTP Accept头缺失、以及非标准请求:HTTP Content-type缺失,则通过执行相应的防护片段可以分别检查Http请求的请求方法,Http Accept头和Content-type头是否含有表示攻击事件的标识,例如检查Http请求头的User-Agent中是否含有知名扫描器的标识sqlmap、nessus和w3af等等。若存在,则判断存在攻击行为并记录攻击信息。
确定存在攻击行为并记录攻击信息后,处理引擎114可以通过通信模块111将攻击信息发送至安全服务器120,安全服务器120接收攻击信息后,将其存储,并根据攻击信息生成报表供用户查询。
进一步地,处理引擎114还可以根据用户设置的监控模式来确定对攻击行为的处理。安全服务器120存储的配置信息还可以包括装置100的监控模式,监控模式包括监听模式和防护模式,可以由用户自定义设置。
处理引擎114可以从配置信息获取该装置100的监控模式,并执行第二对象中的防护片段,以便在监听模式下判断存在攻击行为时记录攻击信息、在防护模式下判断存在攻击行为时记录攻击信息并拦截该攻击行为。具体地,当处理引擎114在防护模式判断存在攻击行为后可以中断相应方法的执行,并向用户返回403(禁止访问)响应。
综上,通过在对象中自动插装防护片段,因此可以在不修改应用源代码的前提下,使应用自身具备安全防护能力,从而有效防御不同种类的攻击。又由于是在应用的实际运行期间发挥作用的,因此可以拥有应用的上下文,使防护片段可以精确分析和处理应用本身的实际动作,而不是猜测应用的行为,因此误报率低,定位精准、效率更高,并且攻击信息收集更全面,准确。
同时,整个方案易于部署管理,无需修改应用的代码,省去了开发者手动添加代码的麻烦,只需简单配置就可以使应用免受攻击,因而可以自适应保护不同规模的IT应用系统。
图3示出了根据本发明一个示例性实施方式的应用安全的监控方法200的流程图。该方法200适于在应用服务器中执行,应用服务器与安全服务器120通过网络连接,安全服务器120存储有配置信息,配置信息包括与应用相关的每一类攻击行为对应的防护规则,防护规则指示应用中需要监控的第一对象,并包括与第一对象匹配的防护片段。
如图3所示,该方法200始于步骤S210,在步骤S210中,向安全服务器120获取配置信息。而后在步骤S220中,检测加载应用中第一对象的操作,该第一对象由配置信息确定,并能够被执行以完成相应逻辑。其中,第一对象可以包括下列中的至少一种:位于与外部通信的重要节点的类、接口以及其中定义的方法。例如,对于Java应用,第一对象通常为用于支持数据库调用、网络通信、磁盘读写的Java标准库及其扩展库和第三方库中定义的类、接口以及其中定义的方法、参数、返回值和变量。
当检测到第一对象将被加载至内存时,在步骤S230中,从配置信息中的防护规则获取与第一对象匹配的防护片段。
而后在步骤S240中,将获取的防护片段插装至第一对象中,以生成第二对象。具体地,配置信息中的防护规则还可以指示防护片段在第一对象中的插装位置,步骤S240还可以包括:将防护片段插入到相应的插装位置,生成第二对象。插装位置可以包括下列位置中的至少一个:第一对象初始化的位置;第一对象中的方法开始执行和/或结束执行的位置。
生成第二对象之后,在步骤S250中,在要执行第一对象时,执行第二对象以完成执行第一对象时的相应逻辑,例如,第二对象的方法被执行时,会在执行第一对象的方法逻辑的之前或之后,执行防护片段的方法。
其中,执行第二对象中的防护片段,以便根据完成相应逻辑的关键参数判断是否存在攻击行为,若是,记录攻击信息。该攻击信息可以包括攻击行为的种类、触发原因、威胁等级、用户请求详情和程序堆栈信息。攻击行为的种类可以包括下列中的至少一个:SQL注入、XPath注入、跨站脚本攻击、已知漏洞扫描、不安全的反序列化、CSRF攻击、目录遍历漏洞、未处理的异常、内部隐私泄露、系统信息泄露、系统命令注入攻击、shellshock命令注入、本地文件包含威胁、远程文件包含威胁、HTTP协议头操纵、未验证的URL重定向、SessionCookie中未设置HTTPOnly、暴力文件浏览、Cookie篡改、不安全的随机数、数据库访问调用失败、非标准请求:不支持的请求方法、非标准请求:HTTP Accept头缺失、非标准请求:HTTPContent-type缺失、CC攻击、XML外部实体注入、XML实体扩展、可疑IP分析、HTTP请求过滤、慢方法调用:数据库连接、以及慢方法调用:数据库查询。
另外,根据本发明的一个实施方式,配置信息还可以包括由用户设置的监控模式,该监控模式包括监听模式和防护模式。执行第二对象中的防护片段的步骤还可以包括:从配置信息获取该装置的监控模式;执行第二对象中的防护片段,以便在监听模式下判断存在攻击行为时记录攻击信息、在防护模式下判断存在攻击行为时记录攻击信息并拦截该攻击行为。
最后,根据本发明的另一个实施方式,方法200还可以包括步骤:将攻击信息发送至安全服务器120,以便存储并生成报表。
以上在结合图1~图2说明应用安全监控系统100的原理的具体描述中已经对各步骤中的相应处理进行了详细解释,这里不再对重复内容进行赘述。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明还包括:A6、如A5所述的装置,其中,所述插装位置包括下列位置中的至少一个:第一对象初始化的位置;第一对象中的方法开始执行和/或结束执行的位置。A7、如A1-6中任一项所述的装置,其中,所述攻击信息包括攻击行为的种类、触发原因、威胁等级、用户请求详情和程序堆栈信息。A8、如A7所述的装置,其中,所述攻击行为的种类包括下列中的至少一个:SQL注入、XPath注入、跨站脚本攻击、已知漏洞扫描、不安全的反序列化、CSRF攻击、目录遍历漏洞、未处理的异常、内部隐私泄露、系统信息泄露、系统命令注入攻击、shellshock命令注入、本地文件包含威胁、远程文件包含威胁、HTTP协议头操纵、未验证的URL重定向、Session Cookie中未设置HTTPOnly、暴力文件浏览、Cookie篡改、不安全的随机数、数据库访问调用失败、非标准请求:不支持的请求方法、非标准请求:HTTP Accept头缺失、非标准请求:HTTP Content-type缺失、CC攻击、XML外部实体注入、XML实体扩展、可疑IP分析、HTTP请求过滤、慢方法调用:数据库连接、以及慢方法调用:数据库查询。A9、如A1-8中任一项所述的装置,其中,所述通信模块还适于将所述攻击信息发送至所述安全服务器,以便存储并生成报表。
B15、如B11-14中任一项所述的方法,其中,所述防护规则还指示所述防护片段在第一对象中的插装位置,所述将获取的防护片段插装至第一对象中的步骤包括:将所述防护片段插入到相应的插装位置,生成第二对象。B16、如B15所述的方法,其中,所述插装位置包括下列位置中的至少一个:第一对象初始化的位置;第一对象中的方法开始执行和/或结束执行的位置。B17、如B11-16中任一项所述的方法,其中,所述攻击信息包括攻击行为的种类、触发原因、威胁等级、用户请求详情和程序堆栈信息。B18、如B17所述的方法,其中,所述攻击行为的种类包括下列中的至少一个:SQL注入、XPath注入、跨站脚本攻击、已知漏洞扫描、不安全的反序列化、CSRF攻击、目录遍历漏洞、未处理的异常、内部隐私泄露、系统信息泄露、系统命令注入攻击、shellshock命令注入、本地文件包含威胁、远程文件包含威胁、HTTP协议头操纵、未验证的URL重定向、Session Cookie中未设置HTTPOnly、暴力文件浏览、Cookie篡改、不安全的随机数、数据库访问调用失败、非标准请求:不支持的请求方法、非标准请求:HTTP Accept头缺失、非标准请求:HTTP Content-type缺失、CC攻击、XML外部实体注入、XML实体扩展、可疑IP分析、HTTP请求过滤、慢方法调用:数据库连接、以及慢方法调用:数据库查询。B19、如B11-18中任一项所述的方法,其中,还包括步骤:将所述攻击信息发送至所述安全服务器,以便存储并生成报表。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种对应用安全进行监控的装置,驻留在应用服务器中,应用服务器与安全服务器通过网络连接,所述安全服务器存储有所述装置的配置信息,所述配置信息包括与应用相关的每一类攻击行为对应的防护规则,所述防护规则指示所述应用中需要监控的第一对象,并包括与第一对象匹配的防护片段,所述装置包括:
通信模块,适于向所述安全服务器获取该装置的配置信息;
监控模块,适于检测加载应用中第一对象的操作,所述第一对象由所述配置信息确定,并能够被执行以完成相应逻辑;
插装模块,适于当监控模块检测到所述第一对象将被加载至内存时,从所述配置信息中的防护规则获取与所述第一对象匹配的防护片段;还适于将获取的防护片段插装至所述第一对象中,以生成第二对象;
处理引擎,适于在要执行第一对象时,执行第二对象以完成执行第一对象时的相应逻辑,其中,还适于执行第二对象中的防护片段,以便根据完成相应逻辑的关键参数判断是否存在攻击行为,若是,记录攻击信息。
2.如权利要求1所述的装置,其中,所述配置信息还包括该装置的监控模式,所述监控模式包括监听模式和防护模式。
3.如权利要求2所述的装置,其中,所述处理引擎还适于从所述配置信息获取该装置的监控模式,还适于执行第二对象中的防护片段,以便在监听模式下判断存在攻击行为时记录攻击信息、在防护模式下判断存在攻击行为时记录攻击信息并拦截该攻击行为。
4.如权利要求1-3中任一项所述的装置,其中,所述第一对象包括下列中的至少一种:位于与外部交互的重要节点的类、接口以及其中定义的方法、参数、返回值和变量。
5.如权利要求1-4中任一项所述的装置,其中,所述防护规则还指示所述防护片段在第一对象中的插装位置,所述插装模块还适于将所述防护片段插入到相应的插装位置,生成第二对象。
6.一种应用安全监控系统,包括:
如权利要求1-5中任一项所述的装置;以及
安全服务器,适于存储所述装置的配置信息,所述配置信息包括与应用相关的每一类攻击行为对应的防护规则,所述防护规则指示所述应用中需要监控的第一对象,并包括与第一对象匹配的防护片段;还适于存储攻击信息,并根据攻击信息生成报表供用户查询。
7.一种应用安全的监控方法,该方法适于在应用服务器中执行,所述应用服务器与安全服务器通过网络连接,所述安全服务器存储有配置信息,所述配置信息包括与应用相关的每一类攻击行为对应的防护规则,所述防护规则指示所述应用中需要监控的第一对象,并包括与第一对象匹配的防护片段,所述方法包括:
向所述安全服务器获取配置信息;
检测加载应用中第一对象的操作,所述第一对象由所述配置信息确定,并能够被执行以完成相应逻辑;
当检测到所述第一对象将被加载至内存时,从所述配置信息中的防护规则获取与所述第一对象匹配的防护片段;
将获取的防护片段插装至所述第一对象中,以生成第二对象;
在要执行第一对象时,执行第二对象以完成执行第一对象时的相应逻辑,其中,执行第二对象中的防护片段,以便根据完成相应逻辑的关键参数判断是否存在攻击行为,若是,记录攻击信息。
8.如权利要求7所述的方法,其中,所述配置信息还包括该装置的监控模式,所述监控模式包括监听模式和防护模式。
9.如权利要求8所述的方法,其中,所述执行第二对象中的防护片段的步骤还包括:
从所述配置信息获取该装置的监控模式;
执行第二对象中的防护片段,以便在监听模式下判断存在攻击行为时记录攻击信息、在防护模式下判断存在攻击行为时记录攻击信息并拦截该攻击行为。
10.如权利要求7-9中任一项所述的方法,其中,所述第一对象包括下列中的至少一种:位于与外部交互的重要节点的类、接口以及其中定义的方法、参数、返回值和变量。
CN201610805221.5A 2016-09-05 2016-09-05 一种对应用安全进行监控的装置、方法以及系统 Active CN106407802B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610805221.5A CN106407802B (zh) 2016-09-05 2016-09-05 一种对应用安全进行监控的装置、方法以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610805221.5A CN106407802B (zh) 2016-09-05 2016-09-05 一种对应用安全进行监控的装置、方法以及系统

Publications (2)

Publication Number Publication Date
CN106407802A true CN106407802A (zh) 2017-02-15
CN106407802B CN106407802B (zh) 2019-04-02

Family

ID=57999913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610805221.5A Active CN106407802B (zh) 2016-09-05 2016-09-05 一种对应用安全进行监控的装置、方法以及系统

Country Status (1)

Country Link
CN (1) CN106407802B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194606A (zh) * 2018-07-05 2019-01-11 百度在线网络技术(北京)有限公司 攻击检测系统、方法、计算机设备及存储介质
CN110866226A (zh) * 2019-11-15 2020-03-06 中博信息技术研究院有限公司 一种基于加密技术的java应用软件版权保护方法
CN111460440A (zh) * 2020-04-03 2020-07-28 大汉软件股份有限公司 一种政府门户网站的健康度评测和防篡改方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610264A (zh) * 2009-07-24 2009-12-23 深圳市永达电子股份有限公司 一种防火墙系统、安全服务平台及防火墙系统的管理方法
CN102215222A (zh) * 2011-05-09 2011-10-12 北京艾普优计算机系统有限公司 网站防护方法和装置
CN102984134A (zh) * 2012-11-12 2013-03-20 北京奇虎科技有限公司 安全防御系统
CN104079528A (zh) * 2013-03-26 2014-10-01 北大方正集团有限公司 一种Web应用的安全防护方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610264A (zh) * 2009-07-24 2009-12-23 深圳市永达电子股份有限公司 一种防火墙系统、安全服务平台及防火墙系统的管理方法
CN102215222A (zh) * 2011-05-09 2011-10-12 北京艾普优计算机系统有限公司 网站防护方法和装置
CN102984134A (zh) * 2012-11-12 2013-03-20 北京奇虎科技有限公司 安全防御系统
CN104079528A (zh) * 2013-03-26 2014-10-01 北大方正集团有限公司 一种Web应用的安全防护方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194606A (zh) * 2018-07-05 2019-01-11 百度在线网络技术(北京)有限公司 攻击检测系统、方法、计算机设备及存储介质
CN109194606B (zh) * 2018-07-05 2022-05-03 百度在线网络技术(北京)有限公司 攻击检测系统、方法、计算机设备及存储介质
CN110866226A (zh) * 2019-11-15 2020-03-06 中博信息技术研究院有限公司 一种基于加密技术的java应用软件版权保护方法
CN110866226B (zh) * 2019-11-15 2022-05-24 中博信息技术研究院有限公司 一种基于加密技术的java应用软件版权保护方法
CN111460440A (zh) * 2020-04-03 2020-07-28 大汉软件股份有限公司 一种政府门户网站的健康度评测和防篡改方法及系统

Also Published As

Publication number Publication date
CN106407802B (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
Alwan et al. Detection and prevention of SQL injection attack: a survey
US10623440B2 (en) Method and system for protecting web applications against web attacks
US8572750B2 (en) Web application exploit mitigation in an information technology environment
TWI603600B (zh) 利用運行期代理器及網路探查器判定漏洞之技術
Wei et al. Preventing SQL injection attacks in stored procedures
CN103780450B (zh) 浏览器访问网址的检测方法和系统
CN101482847A (zh) 一种基于安全漏洞缺陷模式的检测方法
CN105939311A (zh) 一种网络攻击行为的确定方法和装置
CN109800577B (zh) 一种识别逃逸安全监控行为的方法及装置
CN103685293A (zh) 拒绝服务攻击的防护方法和装置
US10846410B2 (en) Automated fuzzing based on analysis of application execution flow
IL265518B2 (en) Management of security vulnerabilities
CN106407802A (zh) 一种对应用安全进行监控的装置、方法以及系统
Dharam et al. Runtime monitors for tautology based SQL injection attacks
CN109379389A (zh) 网络攻击防御方法及相关设备
CN106446690B (zh) 一种对应用漏洞进行修复的装置、方法以及系统
US11886599B2 (en) Method and system for data flow monitoring to identify application security vulnerabilities and to detect and prevent attacks
KR20190020523A (ko) 로그 분석을 이용한 공격 탐지 장치 및 방법
CN114021123A (zh) 行为基线库的构造方法、安全检查方法、装置及介质
CN107451470A (zh) 页面安全检测方法、装置及设备
Goichon et al. Static vulnerability detection in Java service-oriented components
Wang Vulnerability analysis and improvement of RASP technology
US20240160748A1 (en) Method And System For Data Flow Monitoring To Identify Application Security Vulnerabilities And To Detect And Prevent Attacks
Balasundram et al. Prevention of SQL Injection attacks by using service oriented authentication technique
Akram et al. Defense Mechanism Using Multilayered Approach and SQL Injection Methods for Web Based Attacks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220712

Address after: 100193 room 101-216, 2nd floor, building 4, East District, yard 10, northwest Wangdong Road, Haidian District, Beijing

Patentee after: Beijing Ruixiang Technology Co.,Ltd.

Address before: 100191 floors 3 and 4, building a-5, Dongsheng Science Park, Zhongguancun, No. 66, xixiaokou Road, Haidian District, Beijing

Patentee before: BEIJING ONEAPM Co.,Ltd.