CN114070580B - 反序列化攻击检测方法、装置、电子设备、介质及程序 - Google Patents
反序列化攻击检测方法、装置、电子设备、介质及程序 Download PDFInfo
- Publication number
- CN114070580B CN114070580B CN202111165518.7A CN202111165518A CN114070580B CN 114070580 B CN114070580 B CN 114070580B CN 202111165518 A CN202111165518 A CN 202111165518A CN 114070580 B CN114070580 B CN 114070580B
- Authority
- CN
- China
- Prior art keywords
- serialization
- detected
- attack
- sensitive
- class
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000006399 behavior Effects 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 2
- 244000046052 Phaseolus vulgaris Species 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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/1433—Vulnerability analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种反序列化攻击检测方法、装置、电子设备、介质及程序,该方法包括:在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;其中,所述敏感操作是与夺取操作系统控制权相关的操作。本发明基于敏感操作和反序列化有关的类准确地检测了反序列化攻击行为,能够检测未知漏洞类的反序列化攻击,且降低了误报率。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种反序列化攻击检测方法、装置、电子设备、存储介质及程序产品。
背景技术
在面向对象的编程中,通常会涉及到序列化和反序列化,序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据,这就是序列化的意义所在。
如果应用程序对用户输入的不可信数据做了反序列化处理,那么攻击者可以通过构造恶意输入,让反序列化产生非预期的类或对象,这个类或对象在产生过程中就有可能带来任意代码执行。
现有技术中反序列化攻击检测通常为基于黑规则的检测,检测反序列化的过程中是否会反序列化出属于黑规则的反序列化漏洞类(如某公司的OpenRasp),当反序列化过程中生成了这些反序列化漏洞类的时候则进行告警。但是,黑规则匹配只能防护已知漏洞,不能对未知漏洞(尚未被发现的反序列化漏洞)进行防护,且反序列化漏洞类的使用并不代表就是反序列化攻击,存在误报。
对此,现亟需一种克服现有技术中反序列化攻击检测误报率较高,且不能预防未知漏洞的缺陷的技术方案。
发明内容
本发明提供一种反序列化攻击检测方法、装置、电子设备、存储介质及程序产品,用以解决现有技术中反序列化攻击检测误报率较高,且不能预防未知漏洞的缺陷。
本发明提供一种反序列化攻击检测方法,包括:
在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;
检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;
其中,所述敏感操作是与夺取操作系统控制权相关的操作。
根据本发明提供的一种反序列化攻击检测方法,在所述在检测到待检测操作属于敏感操作的情况下之前,方法还包括:
利用插桩技术在程序运行平台设置监控点,以对运行于所述程序运行平台的待检测操作进行是否为敏感操作的检测。
根据本发明提供的一种反序列化攻击检测方法,所述利用插桩技术在程序运行平台设置监控点,包括:
在Java虚拟机的安全管理器中设置监控点。
根据本发明提供的一种反序列化攻击检测方法,在所述确定所述待检测操作为反序列化攻击行为之后,方法还包括:
阻止所述待检测操作,和/或,对所述待检测操作进行告警。
根据本发明提供的一种反序列化攻击检测方法,所述与反序列化操作有关的类包括:反序列化操作所调用的类,和/或,与反序列化攻击有关的漏洞类。
根据本发明提供的一种反序列化攻击检测方法,所述敏感操作至少包括下列之一:连接网络、执行命令、文件写入。
本发明还提供一种反序列化攻击检测装置,包括:
获取模块,用于在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;
确定模块,用于检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;
其中,所述敏感操作是与夺取操作系统控制权相关的操作。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述反序列化攻击检测方法的全部或部分步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述反序列化攻击检测方法的全部或部分步骤。
本发明提供的一种反序列化攻击检测方法、装置、电子设备、介质及程序,通过在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;并进一步检测所述调用序列中是否存在与反序列化操作有关的类,确定敏感操作是否为反序列化过程中执行的敏感操作。基于敏感操作和反序列化有关的类准确地检测了反序列化攻击行为,能够检测未知漏洞类的反序列化攻击,且降低了误报率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种反序列化攻击检测方法的流程示意图;
图2是本发明提供的一种反序列化攻击检测装置的结构示意图;
图3是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中通常为基于黑规则的反序列化检测,当反序列化过程中生成了属于黑规则的反序列化漏洞类的时候则进行告警。例如某公司的OpenRasp基于黑规则检测反序列化漏洞,其检测的反序列化漏洞类例如:
“org.apache.commons.collections.functors.ChainedTransformer.transform”;
“org.apache.commons.collections.functors.InvokerTransformer”;
“org.apache.commons.collections.functors.InstantiaeTransformer”;
“org.apache.commons.collections4.functors.InvokerTransformer”;
“org.apache.commons.collections4.functors.InstantiaeTransformer”;
“org.codehaus.groovy.runtime.ConvertedClosure”;
……
但是上述反序列化漏洞类检测固定类别的类,黑规则匹配只能防护已知漏洞,不能对未知漏洞(尚未被发现的反序列化漏洞)进行防护,且反序列化漏洞类的使用并不代表就是反序列化攻击,存在误报。对此,本申请提出一种反序列化攻击检测方法,该方法通过对敏感操作检测进而结合反序列化进程可以准确判断反序列化攻击行为。
下面结合图1-图3描述本发明的一种反序列化攻击检测方法、装置、电子设备、存储介质及程序产品。
需要说明的是面向对象的编程语言均涉及序列化及反序列化过程,像Java中,有一个接口Serializable,用来实现Java反序列化,PHP中也有Serializable方法来实现PHP反序列化,此外还有通过第三方组件实现反序列化的方式。本申请的反序列化攻击检测方法、装置、电子设备、存储介质及程序产品可以应用于多种面向对象的编程语言,例如Java、PHP、.NET等。
图1是本发明提供的一种反序列化攻击检测方法的流程示意图,如图1所示,该方法包括:
S11、在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列。
具体地,发明人研究发现,攻击目的是为了夺取操作系统控制权,要达成这个目的需要执行敏感操作,而正常的反序列化过程中是不会进行敏感操作的(如连接网络、执行命令、文件写入等)。
基于此特性,可以利用插桩技术(RASP)在程序运行环境中设置监控点对程序运行环境中的操作进行检测,在检测到待检测操作属于敏感操作的情况下,获取待检测操作所对应的调用序列,以进行下一步检测。其中,所述敏感操作是与夺取操作系统控制权相关的操作,该敏感操作是攻击者夺取系统控制权所必须的但是不会出现在正常的反序列化过程中的操作,例如:连接网络(如恶意程序连接网络泄露安全信息、连接远程攻击者等)、执行命令(执行非法操作)、文件写入(篡改本机文件)等等。可以理解的是,调用序列即程序的一系列待执行的指令,因为程序调试的基本需求,不同的语言都有获取调用序列的能力,对于调用序列的获取,可以根据编程语言的特点,在程序运行起来后通过在程序内部输出堆栈信息的方式获取。
S12、检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;
具体地,在调用序列中检测是否存在反序列化有关的类,如果存在,就说明在反序列化的过程中执行了正常反序列化操作不会执行的敏感操作,此时即可确定所述待检测操作为反序列化攻击行为。需要说明的是,此处检测是否存储反序列化有关的类是为了进一步确定待检测操作是否属于反序列化过程中出现的操作,检测的“反序列化有关的类”包括正常的反序列化使用的类,而不限于反序列化过程中的漏洞类。正常的反序列化使用的类例如:
“java.io.bojectInputStream”;
“java.bean.XMLDecoder”;
“javax.xml.bind.Marshaller”;
“com.thoughtworks.xstream.Xstream”;
“com.caucho.hessian.io.HessianInput”;
“com.estericsoftware.kryo.Kryo”;
“org.nustag.serialiazation.FSRobjectInput”。
本实施例中在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;并进一步检测所述调用序列中是否存在与反序列化操作有关的类,确定敏感操作是否为反序列化过程中执行的敏感操作,从而确定所述待检测操作是否为反序列化攻击行为。本实施例中基于敏感操作和反序列化有关的类准确地检测了反序列化攻击行为,能够检测未知漏洞类的反序列化攻击,且降低了误报率。
基于上述任一实施例,在一个实施例中,在所述在检测到待检测操作属于敏感操作的情况下之前,方法还包括:
利用插桩技术在程序运行平台设置监控点,以对运行于所述程序运行平台的待检测操作进行是否为敏感操作的检测。
具体地,程序运行平台即程序的运行环境,例如PHP的Zend虚拟机运行平台,例如Java的JVM虚拟机运行平台。程序代码需要在运行平台中才能够正常执行,因此,可以利用插桩技术(RASP)在程序运行环境中设置监控点,以对各种待检测操作进行监控,从而确定是否出现了敏感操作。插桩技术(RASP)是指在保证原有程序逻辑完整性的基础上,在程序中插入探针,通过探针采集代码中的信息(方法本身、方法参数值、返回值等)在特定的位置插入代码段,从而收集程序运行时的动态上下文信息。例如,对于PHP程序语言,可以利用PHP扩展库在PHP的Zend虚拟机中设置监控点;例如,对于Java程序语言,可以利用JavaAgent在Java的JVM虚拟机运行平台中设置监控点;又例如,对于.Net开发平台(开源开发平台,可使用多种语言),可以利用IhostingStartup方法在.Net开发平台的相应语言的运行环境中设置监控点。
本实施例中通过在程序运行平台中设置监控点,便捷地对待检测操作进行了检测,从而确定出待检测操作是否为敏感操作。
基于上述任一实施例,在一个实施例中,所述利用插桩技术在程序运行平台设置监控点,包括:
在Java虚拟机的安全管理器中设置监控点。
具体地,Java虚拟机的安全管理器(Security Manager)是一个允许应用实现一种安全策略的类。它允许一个应用明确在执行一个可能安全或者敏感的操作之前,该操作是否允许被执行。通过执行运行阶段检查和访问授权,以实施应用所需的安全策略,从而保护资源免受恶意操作的攻击。本实施例中在Java虚拟机自有的安全管理器(SecurityManager)中设置监控点,能够便捷地对待检测操作进行检测,从而确定出待检测操作是否为敏感操作。
基于上述任一实施例,在一个实施例中,在所述确定所述待检测操作为反序列化攻击行为之后,方法还包括:
阻止所述待检测操作,和/或,对所述待检测操作进行告警。
具体地,确定待检测操作为反序列化攻击行为之后,可以进一步根据业务重要性、紧急性等因素,设置阻止已被确定为反序列化攻击行为的待检测操作,也可以根据需求对已被确定为反序列化攻击行为的待检测操作进行告警。当然,也可以阻止被确定为反序列化攻击的待检测操作同时进行告警。
本实施例中在确定反序列化攻击行为之后,对已被确定为反序列化攻击行为的待检测操作进行阻止和/或告警,保障了系统的安全性,方便技术人员及时处理。
基于上述任一实施例,在一个实施例中,所述与反序列化操作有关的类包括:反序列化操作所调用的类,和/或,与反序列化攻击有关的漏洞类。
具体地,反序列化操作有关的类包括:反序列化操作所调用的类,和/或,与反序列化攻击有关的漏洞类。
反序列化操作所调用的类即正常反序列化过程中所调用的普通类,例如:
“java.io.bojectInputStream”;
“java.bean.XMLDecoder”;
“javax.xml.bind.Marshaller”;
“com.thoughtworks.xstream.Xstream”;
“com.caucho.hessian.io.HessianInput”;
“com.estericsoftware.kryo.Kryo”;
“org.nustag.serialiazation.FSRobjectInput”。
反序列化攻击有关的漏洞类即用于反序列化攻击中调用的异常类,例如:
“org.apache.commons.collections.functors.ChainedTransformer.transform”;
“org.apache.commons.collections.functors.InvokerTransformer”;
“org.apache.commons.collections.functors.InstantiaeTransformer”;
“org.apache.commons.collections4.functors.InvokerTransformer”;
“org.apache.commons.collections4.functors.InstantiaeTransformer”;
“org.codehaus.groovy.runtime.ConvertedClosure”;
现有技术中的反序列攻击检测通常基于反序列化攻击有关的漏洞类来直接检测反序列化攻击行为,本实施例中通过反序列化操作所调用的类和/或与反序列化攻击有关的漏洞类来确定步骤S11中敏感操作是否属于反序列化过程中的操作来确定是否为反序列化攻击行为,本实施例中检测范围不局限于反序列化攻击有关的漏洞类,能够有效检测出未知漏洞,提高了反序列化攻击检测能力,降低了误报率。
基于上述任一实施例,在一个实施例中,所述敏感操作至少包括下列之一:连接网络、执行命令、文件写入。
具体地,敏感操作是与夺取操作系统控制权相关的操作,该敏感操作是攻击者夺取系统控制权所必须的但是不会出现在正常的反序列化过程中的基础操作。敏感操作可以包括连接网络:如恶意程序连接网络泄露安全信息、又例如连接远程攻击者接受远程控制等。敏感操作还可以包括执行命令:如执行非法操作,非法更改权限设置等。敏感操作还可以包括文件写入:如篡改本机文件等等。
本实施例中通过敏感操作至少包括连接网络、执行命令、文件写入之一,准确地对敏感操作进行了检测。
下面对本发明提供的一种反序列化攻击检测装置进行描述,下文描述的一种反序列化攻击检测装置与上文描述的一种反序列化攻击检测方法可相互对应参照。
图2是本发明提供的一种反序列化攻击检测装置的结构示意图,如图2所示,该装置包括:获取模块21以及确定模块22;
获取模块21,用于在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;
确定模块22,用于检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;
其中,所述敏感操作是与夺取操作系统控制权相关的操作。
本实施例中在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;并进一步检测所述调用序列中是否存在与反序列化操作有关的类,确定敏感操作是否为反序列化过程中执行的敏感操作,从而确定所述待检测操作是否为反序列化攻击行为。本实施例中基于敏感操作和反序列化有关的类准确地检测了反序列化攻击行为,能够检测未知漏洞类的反序列化攻击,且降低了误报率。
基于上述任一实施例,在一个实施例中,所述装置还包括:
检测模块,用于利用插桩技术在程序运行平台设置监控点,以对运行于所述程序运行平台的待检测操作进行是否为敏感操作的检测。
本实施例中通过在程序运行平台中设置监控点,便捷地对待检测操作进行了检测,从而确定出待检测操作是否为敏感操作。
基于上述任一实施例,在一个实施例中,所述检测模块,进一步用于:在Java虚拟机的安全管理器中设置监控点,以对运行于所述Java虚拟机的待检测操作进行是否为敏感操作的检测。
本实施例中在Java虚拟机自带的安全管理器(SecurityManager)中设置监控点,能够便捷地对待检测操作进行检测,从而确定出待检测操作是否为敏感操作。
基于上述任一实施例,在一个实施例中,所述装置还包括:
响应模块,用于阻止所述待检测操作,和/或,对所述待检测操作进行告警。
本实施例中在确定反序列化攻击行为之后,对已被确定为反序列化攻击行为的待检测操作进行阻止和/或告警,保障了系统的安全性,方便技术人员及时处理。
基于上述任一实施例,在一个实施例中,所述与反序列化操作有关的类包括:反序列化操作所调用的类,和/或,与反序列化攻击有关的漏洞类。
本实施例中检测范围不局限于反序列化攻击有关的漏洞类,能够有效检测出未知漏洞,提高了反序列化攻击检测能力,降低了误报率。
基于上述任一实施例,在一个实施例中,所述敏感操作至少包括下列之一:连接网络、执行命令、文件写入。
本实施例中通过敏感操作至少包括连接网络、执行命令、文件写入之一,准确地对敏感操作进行了检测。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行上述各提供的反序列化攻击检测方法的全部或部分步骤,该方法包括:在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;其中,所述敏感操作是与夺取操作系统控制权相关的操作。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各提供的反序列化攻击检测方法的全部或部分步骤,该方法包括:在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;其中,所述敏感操作是与夺取操作系统控制权相关的操作。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的反序列化攻击检测方法的全部或部分步骤,该方法包括:在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;其中,所述敏感操作是与夺取操作系统控制权相关的操作。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种反序列化攻击检测方法,其特征在于,包括:
在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;
检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;
其中,所述敏感操作是与夺取操作系统控制权相关的操作。
2.根据权利要求1所述的反序列化攻击检测方法,其特征在于,在所述在检测到待检测操作属于敏感操作的情况下之前,方法还包括:
利用插桩技术在程序运行平台设置监控点,以对运行于所述程序运行平台的待检测操作进行是否为敏感操作的检测。
3.根据权利要求2所述的反序列化攻击检测方法,其特征在于,所述利用插桩技术在程序运行平台设置监控点,包括:
在Java虚拟机的安全管理器中设置监控点。
4.根据权利要求1至3任一项所述的反序列化攻击检测方法,其特征在于,在所述确定所述待检测操作为反序列化攻击行为之后,方法还包括:
阻止所述待检测操作,和/或,对所述待检测操作进行告警。
5.根据权利要求1所述的反序列化攻击检测方法,其特征在于,所述与反序列化操作有关的类包括:反序列化操作所调用的类,和/或,与反序列化攻击有关的漏洞类。
6.根据权利要求1所述的反序列化攻击检测方法,其特征在于,所述敏感操作至少包括下列之一:连接网络、执行命令、文件写入。
7.一种反序列化攻击检测装置,其特征在于,包括:
获取模块,用于在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;
确定模块,用于检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;
其中,所述敏感操作是与夺取操作系统控制权相关的操作。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述反序列化攻击检测方法的全部或部分步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述反序列化攻击检测方法的全部或部分步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111165518.7A CN114070580B (zh) | 2021-09-30 | 2021-09-30 | 反序列化攻击检测方法、装置、电子设备、介质及程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111165518.7A CN114070580B (zh) | 2021-09-30 | 2021-09-30 | 反序列化攻击检测方法、装置、电子设备、介质及程序 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114070580A CN114070580A (zh) | 2022-02-18 |
CN114070580B true CN114070580B (zh) | 2024-05-07 |
Family
ID=80234138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111165518.7A Active CN114070580B (zh) | 2021-09-30 | 2021-09-30 | 反序列化攻击检测方法、装置、电子设备、介质及程序 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114070580B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166459A (zh) * | 2019-05-24 | 2019-08-23 | 深圳前海微众银行股份有限公司 | 一种反序列化漏洞的防护方法及装置 |
CN110276202A (zh) * | 2019-06-24 | 2019-09-24 | 深圳前海微众银行股份有限公司 | 一种反序列化漏洞的检测方法及装置 |
CN112329024A (zh) * | 2020-11-17 | 2021-02-05 | 国网北京市电力公司 | 漏洞的检测方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11017094B2 (en) * | 2018-01-03 | 2021-05-25 | Beijing Jingdong Shangke Information Technology Co., Ltd. | System and method for java deserialization vulnerability detection |
-
2021
- 2021-09-30 CN CN202111165518.7A patent/CN114070580B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166459A (zh) * | 2019-05-24 | 2019-08-23 | 深圳前海微众银行股份有限公司 | 一种反序列化漏洞的防护方法及装置 |
CN110276202A (zh) * | 2019-06-24 | 2019-09-24 | 深圳前海微众银行股份有限公司 | 一种反序列化漏洞的检测方法及装置 |
CN112329024A (zh) * | 2020-11-17 | 2021-02-05 | 国网北京市电力公司 | 漏洞的检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114070580A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10839077B2 (en) | Detecting malicious software | |
US7665139B1 (en) | Method and apparatus to detect and prevent malicious changes to tokens | |
US10733296B2 (en) | Software security | |
US8918885B2 (en) | Automatic discovery of system integrity exposures in system code | |
CN109409087B (zh) | 防提权检测方法及设备 | |
US20070067623A1 (en) | Detection of system compromise by correlation of information objects | |
CN107690645A (zh) | 使用解释器虚拟机的行为恶意软件检测 | |
US20240143739A1 (en) | Intelligent obfuscation of mobile applications | |
WO2021146988A1 (en) | Method and apparatus for protecting smart contracts against attacks | |
CN113946825B (zh) | 一种内存马处理方法及系统 | |
CN111524007A (zh) | 一种智能合约的嵌入式入侵检测方法及装置 | |
JP4363214B2 (ja) | アクセスポリシ生成システム、アクセスポリシ生成方法およびアクセスポリシ生成用プログラム | |
CN111488576B (zh) | 一种首页篡改的保护方法、系统、电子设备及存储介质 | |
CN114070580B (zh) | 反序列化攻击检测方法、装置、电子设备、介质及程序 | |
CN112257037A (zh) | 一种进程水印方法、系统及电子设备 | |
KR100985071B1 (ko) | 스크립트 언어를 사용한 취약점 공격 코드의 실시간 탐지및 차단 방법, 및 그 장치 | |
KR102541888B1 (ko) | 이미지 기반 악성코드 탐지 방법 및 장치와 이를 이용하는 인공지능 기반 엔드포인트 위협탐지 및 대응 시스템 | |
CN115292707A (zh) | 基于动态类调用序列的可信度判断方法及装置 | |
EP3394786B1 (en) | Software security | |
Chen et al. | Testing approach of component security based on dynamic monitoring | |
JP2018198000A (ja) | 監視プログラム、監視方法および情報処理装置 | |
CN111625824A (zh) | 基于iast的安全测试方法、装置、电子装置及存储介质 | |
CN112422553A (zh) | 一种检测VBScript漏洞利用的方法、装置及设备 | |
CN110990277A (zh) | 一种漏洞挖掘方法、装置及计算机可读存储介质 | |
CN115114649A (zh) | 一种Android平台so文件保护方法及系统 |
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 |