CN114070580A - 反序列化攻击检测方法、装置、电子设备、介质及程序 - Google Patents

反序列化攻击检测方法、装置、电子设备、介质及程序 Download PDF

Info

Publication number
CN114070580A
CN114070580A CN202111165518.7A CN202111165518A CN114070580A CN 114070580 A CN114070580 A CN 114070580A CN 202111165518 A CN202111165518 A CN 202111165518A CN 114070580 A CN114070580 A CN 114070580A
Authority
CN
China
Prior art keywords
deserialization
detected
attack
attack detection
serialization
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
CN202111165518.7A
Other languages
English (en)
Other versions
CN114070580B (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.)
Qianxin Technology Group Co Ltd
Qianxin Safety Technology Zhuhai Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Qianxin Safety Technology Zhuhai 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 Qianxin Technology Group Co Ltd, Qianxin Safety Technology Zhuhai Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202111165518.7A priority Critical patent/CN114070580B/zh
Publication of CN114070580A publication Critical patent/CN114070580A/zh
Application granted granted Critical
Publication of CN114070580B publication Critical patent/CN114070580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability 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 (10)

1.一种反序列化攻击检测方法,其特征在于,包括:
在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;
检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;
其中,所述敏感操作是与夺取操作系统控制权相关的操作。
2.根据权利要求1所述的反序列化攻击检测方法,其特征在于,在所述在检测到待检测操作属于敏感操作的情况下之前,方法还包括:
利用插桩技术在程序运行平台设置监控点,以对运行于所述程序运行平台的待检测操作进行是否为敏感操作的检测。
3.根据权利要求2所述的反序列化攻击检测方法,其特征在于,所述利用插桩技术在程序运行平台设置监控点,包括:
在Java虚拟机的安全管理器中设置监控点。
4.根据权利要求1至3任一项所述的反序列化攻击检测方法,其特征在于,在所述确定所述待检测操作为反序列化攻击行为之后,方法还包括:
阻止所述待检测操作,和/或,对所述待检测操作进行告警。
5.根据权利要求1所述的反序列化攻击检测方法,其特征在于,所述与反序列化操作有关的类包括:反序列化操作所调用的类,和/或,与反序列化攻击有关的漏洞类。
6.根据权利要求1所述的反序列化攻击检测方法,其特征在于,所述敏感操作至少包括下列之一:连接网络、执行命令、文件写入。
7.一种反序列化攻击检测装置,其特征在于,包括:
获取模块,用于在检测到待检测操作属于敏感操作的情况下,获取所述待检测操作所对应的调用序列;
确定模块,用于检测所述调用序列中是否存在与反序列化操作有关的类,在存在所述与反序列化操作有关的类的情况下,确定所述待检测操作为反序列化攻击行为;
其中,所述敏感操作是与夺取操作系统控制权相关的操作。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述反序列化攻击检测方法的全部或部分步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述反序列化攻击检测方法的全部或部分步骤。
10.一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,其特征在于,所述指令在被执行时用于实现如权利要求1至6任一项所述反序列化攻击检测方法的步骤。
CN202111165518.7A 2021-09-30 2021-09-30 反序列化攻击检测方法、装置、电子设备、介质及程序 Active CN114070580B (zh)

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 true CN114070580A (zh) 2022-02-18
CN114070580B 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190205543A1 (en) * 2018-01-03 2019-07-04 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for java deserialization vulnerability detection
CN110166459A (zh) * 2019-05-24 2019-08-23 深圳前海微众银行股份有限公司 一种反序列化漏洞的防护方法及装置
CN110276202A (zh) * 2019-06-24 2019-09-24 深圳前海微众银行股份有限公司 一种反序列化漏洞的检测方法及装置
CN112329024A (zh) * 2020-11-17 2021-02-05 国网北京市电力公司 漏洞的检测方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190205543A1 (en) * 2018-01-03 2019-07-04 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for java deserialization vulnerability detection
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
CN114070580B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
US9418227B2 (en) Detecting malicious software
US10839077B2 (en) Detecting malicious software
US10733296B2 (en) Software security
KR20180032566A (ko) 다수 소프트웨어 개체들에 걸쳐서 악성 행동을 트래킹하기 위한 시스템들 및 방법들
CN109074448B (zh) 计算装置的安全状态与额定安全状态的偏差的检测
CN109409087B (zh) 防提权检测方法及设备
KR101064164B1 (ko) 리눅스 커널 기반 스마트 플랫폼 내에서의 커널 무결성 검사 및 변조된 커널 데이터 복구 방법
CN108595953A (zh) 对手机应用进行风险评估的方法
US20180341770A1 (en) Anomaly detection method and anomaly detection apparatus
KR100954356B1 (ko) 코드 보호 기법을 고려한 악성 프로그램 감지 시스템 및 그방법
CN110414220B (zh) 沙箱内程序动态执行过程中的操作文件提取方法及装置
CN112035831A (zh) 一种数据处理方法、装置、服务器及存储介质
KR100985071B1 (ko) 스크립트 언어를 사용한 취약점 공격 코드의 실시간 탐지및 차단 방법, 및 그 장치
CN114070580B (zh) 反序列化攻击检测方法、装置、电子设备、介质及程序
CN111259392B (zh) 一种基于内核模块的恶意软件拦截方法及装置
CN113836529A (zh) 进程检测方法、装置、存储介质以及计算机设备
EP3394786B1 (en) Software security
Harel et al. Mitigating Unknown Cybersecurity Threats in Performance Constrained Electronic Control Units
CN110633568B (zh) 用于主机的监控系统及其方法
CN114896596A (zh) 安全防护方法及装置
CN111625824A (zh) 基于iast的安全测试方法、装置、电子装置及存储介质
CN113407940A (zh) 脚本检测方法、装置、存储介质以及计算机设备
CN114398192A (zh) 一种检测绕过Windows控制流防护CFG的方法及装置
CN115292707A (zh) 基于动态类调用序列的可信度判断方法及装置
CN116684161A (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