CN110166459A - 一种反序列化漏洞的防护方法及装置 - Google Patents

一种反序列化漏洞的防护方法及装置 Download PDF

Info

Publication number
CN110166459A
CN110166459A CN201910438428.7A CN201910438428A CN110166459A CN 110166459 A CN110166459 A CN 110166459A CN 201910438428 A CN201910438428 A CN 201910438428A CN 110166459 A CN110166459 A CN 110166459A
Authority
CN
China
Prior art keywords
client
address
data
weblogic
request
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
CN201910438428.7A
Other languages
English (en)
Other versions
CN110166459B (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910438428.7A priority Critical patent/CN110166459B/zh
Publication of CN110166459A publication Critical patent/CN110166459A/zh
Priority to PCT/CN2020/083363 priority patent/WO2020238414A1/zh
Application granted granted Critical
Publication of CN110166459B publication Critical patent/CN110166459B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

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)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及金融科技领域,并公开了一种反序列化漏洞的防护方法及装置,涉及计算机技术领域,方法包括:WebLogic服务器接收至少一个客户端发送的数据请求,确定数据请求中是否包括T3/T3S协议数据;若WebLogic服务器确定数据请求中包括T3/T3S协议数据,则根据客户端的网际协议IP地址以及预先配置的IP地址白名单确定客户端的IP地址是否为受信任IP地址;若WebLogic服务器确定客户端的网际协议IP地址为受信任IP地址,则处理T3/T3S协议数据。通过在WebLogic服务器中设置白名单,尽可能防止反序列化漏洞的攻击,提高了WebLogic服务器的安全性。

Description

一种反序列化漏洞的防护方法及装置
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种反序列化漏洞的防护方法及装置。
背景技术
WebLogic是基于Java EE架构的中间件,可作为用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。广泛用于政府、金融、医疗、交通、教育、科研等行业及领域。
WebLogic存在Java反序列化漏洞,当攻击者向WebLogic发送精心构造的反序列化数据时,会触发漏洞,会执行攻击者指定的操作,可以控制服务器,窃取数据库中的数据,造成严重影响。
现有技术中,通常禁止对存在反序列化漏洞的类进行反序列化,但是现有技术中当出现新的引发反序列漏洞的类时,仍然可以利用漏洞,无法进行防护。且进行替换类、删除类操作时,由于替换的类为Java的基础类,影响范围太大;删除类时会导致依赖该类的功能无法使用,均有可能影响WebLogic的正常功能。
发明内容
有鉴于此,本发明实施例提供一种反序列化漏洞的防护方法及装置,至少解决了现有技术存在的问题。
一方面,本发明实施例提供一种反序列化漏洞的防护方法,应用于WebLogic服务器中,包括:
WebLogic服务器接收至少一个客户端发送的数据请求,确定所述数据请求中是否包括T3/T3S协议数据;
若所述WebLogic服务器确定所述数据请求中包括T3/T3S协议数据,则根据所述客户端的网际协议IP地址以及预先配置的IP地址白名单确定所述客户端的IP地址是否为受信任IP地址;
若所述WebLogic服务器确定所述客户端的网际协议IP地址为受信任IP地址,则处理所述T3/T3S协议数据,使请求被正常流程处理。
可选的,所述WebLogic服务器根据所述客户端的网际协议IP地址以及预先配置的IP地址白名单确定所述客户端的IP地址是否为受信任IP地址,包括:
所述WebLogic服务器执行MuxableSocketT3类时,获取所述WebLogic服务器的启动参数,所述启动参数中包括所述IP地址白名单;
若所述WebLogic服务器确定所述客户端的IP与所述IP地址白名单匹配,则确定所述客户端的IP地址为受信任IP地址。
可选的,所述方法还包括:
若所述WebLogic服务器确定所述客户端的IP与所述IP地址白名单不匹配,则拒绝与所述客户端连接,并将所述数据请求作为攻击事件进行记录。
可选的,所述WebLogic服务器接收至少一个客户端发送的数据请求,包括:
所述WebLogic服务器通过代理服务器接收互联网客户端发送的数据请求以及所述WebLogic服务器接收同一局域网的客户端发送的数据请求。
可选的,所述WebLogic服务器接收至少一个客户端发送的数据请求前,还包括:
所述WebLogic服务器确定MuxableSocketT3类的位置;所述WebLogic服务器在所述MuxableSocketT3类中增加反序列化漏洞的防护方法的步骤。
可选的,所述WebLogic服务器确定MuxableSocketT3类的位置,包括:
所述WebLogic服务器根据所述MuxableSocketT3类是否单独存在确定MuxableSocketT3类的位置。
一方面,本发明实施例提供一种反序列化漏洞的防护装置,包括:
T3/T3S协议数据确定单元,用于接收至少一个客户端发送的数据请求,确定所述数据请求中是否包括T3/T3S协议数据;
判断单元,用于若确定所述数据请求中包括T3/T3S协议数据,则根据所述客户端的网际协议IP地址以及预先配置的IP地址白名单确定所述客户端的IP地址是否为受信任IP地址;
T3/T3S协议数据处理单元,用于若确定所述客户端的网际协议IP地址为受信任IP地址,则处理所述T3/T3S协议数据,使请求被正常流程处理。
可选的,所述判断单元具体用于:
执行MuxableSocketT3类时,获取所述WebLogic服务器的启动参数,所述启动参数中包括所述IP地址白名单;
若确定所述客户端的IP与所述IP地址白名单匹配,则确定所述客户端的IP地址为受信任IP地址。
可选的,所述T3/T3S协议数据处理单元还用于:
若确定所述客户端的IP与所述IP地址白名单不匹配,则拒绝与所述客户端连接,并将所述数据请求作为攻击事件进行记录。
可选的,所述T3/T3S协议数据确定单元具体用于:
通过代理服务器接收互联网客户端发送的数据请求以及接收同一局域网的客户端发送的数据请求。
可选的,所述装置还包括配置单元,所述配置单元用于:确定MuxableSocketT3类的位置,在所述MuxableSocketT3类中增加反序列化漏洞的防护方法的步骤。
可选的,所述配置单元具体用于:
根据所述MuxableSocketT3类是否单独存在确定MuxableSocketT3类的位置。
一方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现反序列化漏洞的防护方法的步骤。
一方面,本发明实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行反序列化漏洞的防护方法的步骤。
在WebLogic服务器接收客户端发送的数据请求后,若确定该数据请求包括T3/T3S协议数据,则说明可能受到Java反序列化漏洞攻击,所以继续根据IP地址白名单确定该客户端的IP地址是否为受信任的IP地址,若是,则处理T3/T3S协议数据,也就是说,通过在WebLogic服务器中设置白名单,能够有效地阻断不信任的客户端发送的T3/T3S协议数据,尽可能防止反序列化漏洞的攻击,提高了WebLogic服务器的安全性。并且在WebLogic服务器中设置白名单就能够有效防止反序列化漏洞的攻击,对于新出现的类引起的反序列化漏洞也能够进行防护。在防护反序列化漏洞时,没有对Java的基础类或其他公共组件的类进行修改,也没有进行删除类的处理,不会影响WebLogic的正常功能,避免了造成应用运行不稳定等问题。由于设置白名单都是与WebLogic服务器信任度较高的客户端(如内部运维人员使用的服务器),也不会向WebLogic服务发起攻击,所以解决了现有技术中的问题。
附图说明
图1为本发明实施例提供的一种代理服务器部署在与WebLogic服务器独立的其他服务器的场景示意图;
图2为本发明实施例提供的一种将代理应用与WebLogic部署在同一台服务器中的场景示意图;
图3为本发明实施例提供的一种反序列化漏洞的防护方法的流程示意图;
图4为本发明实施例提供的一种WebLogic的处理流程的示意图;
图5为本发明实施例提供的一种MuxableSocketT3定位方法的流程示意图;
图6为本发明实施例提供的一种MuxableSocketT3定位方法的流程示意图;
图7为本发明实施例提供的一种反序列化漏洞的防护方法的流程示意图;
图8为本发明实施例提供的一种反序列化漏洞的防护装置的结构示意图;
图9为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了方便理解,下面对本申请实施例中涉及的名词进行解释。
WebLogic:WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE(Java平台企业版)架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
序列化与反序列化,序列化的过程就是把一个对象变成可以传输的数据,而反序列化的过程就是把序列化数据再变回对象的过程。
反序列化漏洞,如果Java应用对用户输入,即不可信数据做了反序列化处理,那么攻击者可以通过构造恶意输入,让反序列化产生非预期的对象,非预期的对象在产生过程中就有可能带来任意代码执行。在利用WebLogic Java反序列化漏洞时,需要向WebLogic提供服务的端口发送T3/T3S协议数据包。T3是一种优化协议,用于在WebLogic Server和其他Java程序(包括客户端和其他WebLogic Server)之间传输数据。WebLogic Server会跟踪与其连接的每个Java虚拟机(JVM),并创建单个T3连接以承载每个JVM的所有流量。T3S是在SSL(Secure Sockets Layer,安全套接字层)上的WebLogic T3协议。
在具体实践过程中,本发明的发明人发现,在WebLogic的默认服务端口为7001,该端口提供了对HTTP(Hyper Text Transfer Protocol,超文本传输协议)/HTTPS(HypertextTransfer Protocol Secure,超文本安全传输协议)、SNMP(Simple Network ManagementProtocol,简单网络管理协议)、T3/T3S等协议的服务。由于WebLogic的不同协议均使用一个端口,因此无法通过防火墙限制端口访问的方式防护Java反序列化漏洞。而随着金融科技的发展,在金融行业内的金融机构(如银行机构、保险机构和证券机构等)对技术的要求也越来越高。传统反序列化方式严重不符合银行机构等金融机构的要求。所以首先提出一种构思,在客户与银行等金融机构的WebLogic服务器之间增加代理服务器,使Java反序列化漏洞的请求数据被代理服务器过滤,不会发送给WebLogic服务器。
该防护思路是使用户发送的数据中,只有满足HTTP/HTTPS协议的数据可以经过代理服务器进而转发给WebLogic服务器,由于Java反序列化数据的协议为T3/T3S,不满足HTTP/HTTPS协议,因此会被代理服务器进行过滤,WebLogic服务器无法接收到Java反序列化数据,因此可以防护漏洞。
但是本申请的申请人在实验过程中发现,代理服务器的位置不同,会导致不同的结果,具体的有几种不同的部署方案:
部署方案1、代理服务器部署在与WebLogic服务器独立的其他服务器,如图1所示,将代理服务器部署在与WebLogic服务器独立的其他服务器时,需要在WebLogic管理台将监听IP地址设置为“0.0.0.0”,使代理服务器可以访问WebLogic提供的服务。
WebLogic提供服务的端口可以保持不变,继续监听原有端口。例如WebLogic原有监听端口为7001,继续使用该端口。
在这种部署方式下,正常用户可以通过代理服务器正常访问WebLogic提供的服务,攻击者无法通过互联网向WebLogic发送T3/T3S协议的Java反序列化漏洞利用数据包,该种部署方式的局域网中的其他服务器(包括代理服务器)仍然可以正常访问WebLogic提供的T3/T3S协议的服务。
但是该种部署的缺点是,如图1所示,假如攻击者通过其他漏洞或安全问题控制了局域网中的其他服务器(包括代理服务器),可以通过被控制机器从局域网内向WebLogic服务器发送Java反序列化漏洞利用数据包,对漏洞进行利用。也就是说,仅能防护通过互联网发起的反序列化漏洞攻击,无法防护局域网内其他服务器发起的漏洞攻击。
部署方案2、将代理应用与WebLogic部署在同一台服务器中,如图2所示。代理应用可与WebLogic部署在同一台服务器,可将WebLogic监听IP地址设置为“127.0.0.1”;或将监听IP地址设置为“0.0.0.0”,并通过防火墙对允许访问WebLogic服务端口的IP进行限制。通过以上设置,可以限制只有本机能够访问WebLogic提供的服务,其他机器无法访问。例如使用Linux操作***的iptables命令,设置仅允许“127.0.0.1”IP地址/loopback回环网络接口访问WebLogic的服务端口,可以完成上述限制。
WebLogic提供服务的端口需要修改为其他端口,由代理服务器监听WebLogic原本提供服务的端口。例如WebLogic原有监听端口为7001,改为使用8001端口,由代理应用监听7001端口。
在这种部署方式下,正常用户可以通过代理服务器正常访问WebLogic提供的服务,攻击者无法通过互联网向WebLogic发送T3/T3S协议的Java反序列化漏洞利用数据包,也无法通过被控制的局域网的其他服务器发送。
但是该种部署方式的缺点是需要修改WebLogic提供服务的端口,并调整网络策略,可能影响正常的业务功能;需要在WebLogic服务器新增代理应用,会增加服务器的性能开销,可能影响正常业务功能;限制了WebLogic的服务端口只能在本机访问,由于无法在局域网其他服务器访问WebLogic提供的T3/T3S服务,会导致只能在WebLogic服务器本机对WebLogic进行命令管理,无法对WebLogic服务进行远程命令管理,降低了WebLogic的可用性,对运维产生了影响;按照以上部署方案进行调整之后,为了验证是否影响正常的业务功能,需要测试的范围较大,会带来较大的测试工作量。
基于上述部署的缺点,本申请的申请人进一步改进了反序列化漏洞的防护方法,具体如图3所示,包括以下步骤:
步骤S301,WebLogic服务器接收至少一个客户端发送的数据请求,确定所述数据请求中是否包括T3/T3S协议数据。
具体的,在本发明实施例中,WebLogic服务器接收至少一个客户端发送的数据请求,一个WebLogic服务器与至少一个客户端连接,并接收客户端发送的数据请求。
一种可选的实施例中,WebLogic服务器接收到的数据请求中包括T3/T3S协议数据,也就是说,该数据请求可能造成反序列化漏洞的攻击。具体的,当需要在WebLogic服务器本机执行WebLogic的停止或启动脚本,客户端会向WebLogic服务器发送T3/T3S协议数据;当需要通过WLST(WebLogic Scripting Tool,WebLogic脚本工具)对WebLogic进行命令方式的配置、管理时,客户端会向WebLogic服务器发送T3/T3S协议数据;当需要编写使用T3/T3S协议进行通信的程序对WebLogic进行监控及管理等功能时,客户端会向WebLogic服务器发送T3/T3S协议数据。
步骤S302,若所述WebLogic服务器确定所述数据请求中包括T3/T3S协议数据,则根据所述客户端的网际协议IP地址以及预先配置的IP地址白名单确定所述客户端的IP地址是否为受信任IP地址。
具体的,在确定WebLogic服务器接收的客户端发送的数据请求中包括T3/T3S协议数据,即说明该数据请求可能为反序列化漏洞利用数据,可能导致WebLogic服务器被攻击,所以为了提高WebLogic服务器的安全性,通过预先配置的IP地址白名单以及发送该T3/T3S协议数据的客户端的IP地址,来判断需要对该T3/T3S协议数据进行正常处理还是拒绝请求。
可选的通过确定客户端的IP地址是否为受信任的IP地址来确定是否对T3/T3S协议数据进行处理,也就是说,在本发明实施例中,可以认为IP地址白名单中的客户端为安全性较高的客户端,这类客户端的可信度也极高,若这些客户端也被劫持,则可以认为所有的服务器都已被攻击者控制了。
所以符合IP地址白名单的客户端为可以信任的客户端,该客户端发送的T3/T3S协议数据为可信任的,而不符合IP地址白名单的客户端为不可以信任的客户端,则该客户端发送的T3/T3S协议数据也是不可信任的。
在本发明实施例中,WebLogic服务器中的IP地址白名单是预先设置的,该IP地址白名单是根据整个网络中各个客户端的安全等级确定的,可选的,在Java程序的启动参数中增加配置文件名,该配置文件名为IP地址白名单,则IP地址白名单改变时,可以通过修改该配置文件或者新增该配置文件或者替换该配置文件来实现。
可选的,在本发明实施例中,WebLogic服务器想要实现IP地址白名单的判断,还需要确定在WebLogic服务器中处理T3/T3S的类。
具体的,可以通过历史WebLogic Java反序列化漏洞触发时,在WebLogic日志中记录的异常信息来确定WebLogic服务器中处理T3/T3S的类。
在异常信息中包含了漏洞触发时的堆栈信息,根据堆栈信息可以了解WebLogic的处理流程。经过分析发现,当漏洞触发时,WebLogic会按照固定的步骤对T3/T3S协议数据进行处理,分别经过了线程相关类、套接字相关类的处理,最后进行Java反序列化处理,具体过程如图4所示,经过分析后可以确认WebLogic处理T3协议的类为“WebLogic.rjvm.t3.MuxableSocketT3”;处理T3S协议的类为“WebLogic.rjvm.t3.MuxableSocketT3S”,继承自MuxableSocketT3类,且MuxableSocketT3S类中没有对协议处理过程进行修改,因此只需要处理MuxableSocketT3类。
也就是说,也就是说,修改WebLogic服务器的MuxableSocketT3类,可以增加判断IP地址是否在白名单中的判断过程。
具体的,在对MuxableSocketT3类进行优化前,需要定位MuxableSocketT3所在的jar包路径,可以通过以下方法对MuxableSocketT3进行定位。
第一种方法,当MuxableSocketT3类单独存在时,在WebLogic中安装任意一个J2EE应用,在应用目录中JSP文件可以被解析的位置创建JSP文件,保存以下内容,用于输出MuxableSocketT3类所在的jar包位置,具体如图5所示,包括:
步骤S501,获取WebLogic.rjvm.t3.MuxableSocketT3类的class对象;
步骤S502,调用上述对象的getResource(””).getPath()方法;
步骤S503,获取上述方法返回的MuxableSocketT3类所在jar包路径;
步骤S504,打印MuxableSocketT3类所在jar包路径。
第二种方法,当MuxableSocketT3类存在在jar包中,在WebLogic中安装任意一个J2EE应用,在应用目录中JSP文件可以被解析的位置创建JSP文件,保存以下内容,用于输出MuxableSocketT3类所在的jar包位置,具体如图6所示,包括:
步骤S601,获取WebLogic.rjvm.t3.MuxableSocketT3类的class对象;
步骤S602,调用上述对象的getProtectionDomain().getCodeSource().
getFile()方法;
步骤S603,获取上述方法返回的MuxableSocketT3类所在jar包路径;
步骤S604,打印MuxableSocketT3类所在jar包路径。
使用浏览器访问上述创建的JSP文件,会输出MuxableSocketT3类所在jar包的完整路径。
在定位了MuxableSocketT3类所在jar包后,开始改进MuxableSocketT3类的T3/T3S协议处理流程,以便WebLogic服务器能够在接收到T3/T3S协议后,确定客户端的IP地址是否为白名单中的IP地址。
在完成对MuxableSocketT3类的改进后,需要将其所在jar包中的MuxableSocketT3类相关的文件更新为改进后的类,重启WebLogic后即可生效。
通过上述内容可知,若WebLogic服务器确定客户端的IP与IP地址白名单匹配,则确定客户端的IP地址是否为受信任IP地址。
步骤S303,若所述WebLogic服务器确定所述客户端的网际协议IP地址为受信任IP地址,则处理所述T3/T3S协议数据,使请求被正常流程处理。
具体的,当确定了客户端为受信任的客户端后,则执行T3/T3S协议数据,例如WebLogic服务器本机执行WebLogic的停止脚本或启动脚本;或者WebLogic执行命令方式的配置、管理等操作;或者WebLogic执行监控及管理等功能操作。
一种可选的实施例,当WebLogic服务器确定所述客户端的IP与所述IP地址白名单不匹配,则拒绝与所述客户端连接,并将所述数据请求作为攻击事件进行记录,将攻击事件进行记录可以进行攻击事件的分析。
在本发明实施例中,为了避免WebLogic服务器端口直接在互联网暴露后产生其他潜在的安全问题,也可以在用户与WebLogic服务器之间部署代理服务器,该代理服务器可以部署在单独的服务器,不会增加WebLogic服务器的性能开销,不会影响正常业务;进行验证时,需要测试的范围较小,测试工作量也较小。不会影响正常功能,也不存在Java反序列化漏洞的隐患。
也就是说,WebLogic服务器通过代理服务器接收互联网客户端发送的数据请求以及WebLogic服务器接收同一局域网的客户端发送的数据请求。不会增加WebLogic服务器的性能开销,不会影响正常业务;进行验证时,需要测试的范围较小,测试工作量也较小。不会影响正常功能,也不存在Java反序列化漏洞的隐患。
通过本发明上述实施例的内容,在不影响正常用户使用各业务功能的前提下,攻击者无法在互联网利用WebLogic Java反序列化漏洞,也无法在控制局域网其他服务器后利用WebLogic Java反序列化漏洞,与现有技术相比,控制WebLogic提供的T3/T3S服务仅能通过受信任的服务器访问,例如WebLogic服务器本机或运维人员使用的防护措施完善的服务器,能够对未知类造成的Java反序列化漏洞进行防护,在最大程度上保护WebLogic不受Java反序列化漏洞影响;并且允许受信任的其他服务器访问WebLogic提供的T3/T3S服务,可以在受信任的其他服务器对WebLogic服务进行远程命令管理,不影响WebLogic的可用性,不会对运维产生影响;能够在攻击者尝试利用WebLogic Java反序列化漏洞时进行感知,获得威胁情报信息;不需要修改WebLogic提供服务的端口,不需要调整网络策略,不会影响正常的业务功能;不需要在WebLogic服务器新增代理应用,不会增加WebLogic服务器的性能开销,不会影响正常业务;按照本发明实施例中的方法在WebLogic中增加白名单判断之后,为了验证是否影响正常的业务功能,需要测试的范围较小,测试工作量也较小。
为了更好的解释本申请实施例,下面结合具体的实施场景描述本申请实施例提供的一种反序列化漏洞的防护方法,该方法应用在银行等金融机构所在的WebLogic服务器中,在WebLogic服务器的Java程序的启动参数中增加配置文件名,即增加了IP地址白名单,用于动态配置允许WebLogic接收T3/T3S协议的受信任IP,即对受信任IP进行修改后,不需要重启WebLogic服务器即可生效。在MuxableSocketT3类用于处理T3/T3S协议数据的dispatch方法中,每次接收到T3/T3S协议请求时,从指定的配置文件中读取受信任IP,判断当前请求IP是否为受信任IP,若为受信任的IP则继续处理T3/T3S协议;若不是受信任的IP则拒绝连接并在特定日志文件中记录攻击事件的详细信息。MuxableSocketT3类的dispatch方法优化后流程如图7所示,应用于WebLogic服务器中,具体步骤为:
步骤S701,接收T3/T3S协议数据;
步骤S702,获取Java程序启动参数中配置的IP地址白名单;
步骤S703,判断当前的发送T3/T3S协议数据的客户端的IP地址是否与IP地址白名单中的IP地址匹配,若是,则执行步骤S704;否则,执行步骤S705;
步骤S704,执行T3/T3S协议数据;
步骤S705,拒绝与客户端的连接,并在将数据请求作为攻击事件进行记录。
基于相同的技术构思,本申请实施例提供了一种反序列化漏洞的防护装置,如图8所示,该装置800包括:
T3/T3S协议数据确定单元801,用于接收至少一个客户端发送的数据请求,确定所述数据请求中是否包括T3/T3S协议数据;
判断单元802,用于若确定所述数据请求中包括T3/T3S协议数据,则根据所述客户端的网际协议IP地址以及预先配置的IP地址白名单确定所述客户端的IP地址是否为受信任IP地址;
T3/T3S协议数据处理单元803,用于若确定所述客户端的网际协议IP地址为受信任IP地址,则处理所述T3/T3S协议数据,使请求被正常流程处理。
进一步地,判断单元802具体用于:
执行MuxableSocketT3类时,获取所述WebLogic服务器的启动参数,所述启动参数中包括所述IP地址白名单;
若确定所述客户端的IP与所述IP地址白名单匹配,则确定所述客户端的IP地址为受信任IP地址。
进一步地,T3/T3S协议数据处理单元803还用于:
若确定所述客户端的IP与所述IP地址白名单不匹配,则拒绝与所述客户端连接,并将所述数据请求作为攻击事件进行记录。
进一步地,T3/T3S协议数据确定单元801具体用于:
通过代理服务器接收互联网客户端发送的数据请求以及接收同一局域网的客户端发送的数据请求。
进一步地,所述装置还包括配置单元804:
用于确定MuxableSocketT3类的位置,在所述MuxableSocketT3类中增加反序列化漏洞的防护方法的步骤。
进一步地,所述配置单元804具体用于:
根据所述MuxableSocketT3类是否单独存在确定MuxableSocketT3类的位置。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图9所示,包括至少一个处理器901,以及与至少一个处理器连接的存储器902,本申请实施例中不限定处理器901与存储器902之间的具体连接介质,图9中处理器901和存储器902之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器902存储有可被至少一个处理器901执行的指令,至少一个处理器901通过执行存储器902存储的指令,可以执行前述的反序列化漏洞的防护方法中所包括的步骤。
其中,处理器901是计算机设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器902内的指令以及调用存储在存储器902内的数据,从而获得客户端地址。可选的,处理器901可包括一个或多个处理单元,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。在一些实施例中,处理器901和存储器902可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器901可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器902可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行反序列化漏洞的防护方法的步骤。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种反序列化漏洞的防护方法,其特征在于,应用于WebLogic服务器中,所述方法包括:
WebLogic服务器接收至少一个客户端发送的数据请求,确定所述数据请求中是否包括T3/T3S协议数据;
若所述WebLogic服务器确定所述数据请求中包括T3/T3S协议数据,则根据所述客户端的网际协议IP地址以及预先配置的IP地址白名单确定所述客户端的IP地址是否为受信任IP地址;
若所述WebLogic服务器确定所述客户端的网际协议IP地址为受信任IP地址,则处理所述T3/T3S协议数据,使请求被正常流程处理。
2.根据权利要求1所述的方法,其特征在于,所述WebLogic服务器根据所述客户端的网际协议IP地址以及预先配置的IP地址白名单确定所述客户端的IP地址是否为受信任IP地址,包括:
所述WebLogic服务器执行MuxableSocketT3类时,获取所述WebLogic服务器的启动参数,所述启动参数中包括所述IP地址白名单;
若所述WebLogic服务器确定所述客户端的IP与所述IP地址白名单匹配,则确定所述客户端的IP地址为受信任IP地址。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述WebLogic服务器确定所述客户端的IP与所述IP地址白名单不匹配,则拒绝与所述客户端连接,并将所述数据请求作为攻击事件进行记录。
4.根据权利要求1所述的方法,其特征在于,所述WebLogic服务器接收至少一个客户端发送的数据请求,包括:
所述WebLogic服务器通过代理服务器接收互联网客户端发送的数据请求以及所述WebLogic服务器接收同一局域网的客户端发送的数据请求。
5.根据权利要求2所述的方法,其特征在于,所述WebLogic服务器接收至少一个客户端发送的数据请求前,还包括:
所述WebLogic服务器确定MuxableSocketT3类的位置;所述WebLogic服务器在所述MuxableSocketT3类中增加反序列化漏洞的防护方法的步骤。
6.根据权利要求5所述的方法,其特征在于,所述WebLogic服务器确定MuxableSocketT3类的位置,包括:
所述WebLogic服务器根据所述MuxableSocketT3类是否单独存在确定MuxableSocketT3类的位置。
7.一种反序列化漏洞的防护装置,其特征在于,所述装置包括:
T3/T3S协议数据确定单元,用于接收至少一个客户端发送的数据请求,确定所述数据请求中是否包括T3/T3S协议数据;
判断单元,用于若确定所述数据请求中包括T3/T3S协议数据,则根据所述客户端的网际协议IP地址以及预先配置的IP地址白名单确定所述客户端的IP地址是否为受信任IP地址;
T3/T3S协议数据处理单元,用于若确定所述客户端的网际协议IP地址为受信任IP地址,则处理所述T3/T3S协议数据,使请求被正常流程处理。
8.根据权利要求7所述的装置,其特征在于,所述判断单元具体用于:
执行MuxableSocketT3类时,获取所述WebLogic服务器的启动参数,所述启动参数中包括所述IP地址白名单;
若确定所述客户端的IP与所述IP地址白名单匹配,则确定所述客户端的IP地址为受信任IP地址。
9.根据权利要求8所述的装置,其特征在于,所述T3/T3S协议数据处理单元还用于:
若确定所述客户端的IP与所述IP地址白名单不匹配,则拒绝与所述客户端连接,并将所述数据请求作为攻击事件进行记录。
10.根据权利要求7所述的装置,其特征在于,所述T3/T3S协议数据确定单元具体用于:
通过代理服务器接收互联网客户端发送的数据请求以及接收同一局域网的客户端发送的数据请求。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括配置单元,所述配置单元用于:确定MuxableSocketT3类的位置,在所述MuxableSocketT3类中增加反序列化漏洞的防护方法的步骤。
12.根据权利要求11所述的装置,其特征在于,所述配置单元具体用于:
根据所述MuxableSocketT3类是否单独存在确定MuxableSocketT3类的位置。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。
14.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得计算机执行如权利要求1至6中任一项所述的方法。
CN201910438428.7A 2019-05-24 2019-05-24 反序列化漏洞的防护方法、装置、设备及可读存储介质 Active CN110166459B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910438428.7A CN110166459B (zh) 2019-05-24 2019-05-24 反序列化漏洞的防护方法、装置、设备及可读存储介质
PCT/CN2020/083363 WO2020238414A1 (zh) 2019-05-24 2020-04-03 一种反序列化漏洞的防护方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910438428.7A CN110166459B (zh) 2019-05-24 2019-05-24 反序列化漏洞的防护方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN110166459A true CN110166459A (zh) 2019-08-23
CN110166459B CN110166459B (zh) 2022-12-27

Family

ID=67632544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910438428.7A Active CN110166459B (zh) 2019-05-24 2019-05-24 反序列化漏洞的防护方法、装置、设备及可读存储介质

Country Status (2)

Country Link
CN (1) CN110166459B (zh)
WO (1) WO2020238414A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031067A (zh) * 2019-12-24 2020-04-17 上海中信信息发展股份有限公司 分布式***的监控数据传输方法、装置及电子设备
WO2020238414A1 (zh) * 2019-05-24 2020-12-03 深圳前海微众银行股份有限公司 一种反序列化漏洞的防护方法及装置
CN112035831A (zh) * 2020-08-14 2020-12-04 深信服科技股份有限公司 一种数据处理方法、装置、服务器及存储介质
CN112329024A (zh) * 2020-11-17 2021-02-05 国网北京市电力公司 漏洞的检测方法及装置
CN113760443A (zh) * 2020-11-19 2021-12-07 北京沃东天骏信息技术有限公司 数据处理方法、装置、电子设备、***和存储介质
CN114070580A (zh) * 2021-09-30 2022-02-18 奇安信科技集团股份有限公司 反序列化攻击检测方法、装置、电子设备、介质及程序
CN114143192A (zh) * 2021-12-03 2022-03-04 中国建设银行股份有限公司 Weblogic T3过滤器的配置方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116628694B (zh) * 2023-07-25 2023-11-21 杭州海康威视数字技术股份有限公司 反序列化0day安全风险防御方法、装置与设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102364921A (zh) * 2011-11-21 2012-02-29 携程计算机技术(上海)有限公司 企业服务总线的实现方法、设备及相应的平台
US20130160131A1 (en) * 2011-12-20 2013-06-20 Matias Madou Application security testing
CN103428186A (zh) * 2012-05-24 2013-12-04 ***通信集团公司 一种检测钓鱼网站的方法及装置
CN106993000A (zh) * 2017-05-26 2017-07-28 山东浪潮商用***有限公司 解决反序列化漏洞的方法、反向代理服务器及***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150082424A1 (en) * 2013-09-19 2015-03-19 Jayant Shukla Active Web Content Whitelisting
CN108234453A (zh) * 2017-12-12 2018-06-29 杭州安恒信息技术有限公司 一种基于规则的Java的web安全防御方法
CN110166459B (zh) * 2019-05-24 2022-12-27 深圳前海微众银行股份有限公司 反序列化漏洞的防护方法、装置、设备及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102364921A (zh) * 2011-11-21 2012-02-29 携程计算机技术(上海)有限公司 企业服务总线的实现方法、设备及相应的平台
US20130160131A1 (en) * 2011-12-20 2013-06-20 Matias Madou Application security testing
CN103428186A (zh) * 2012-05-24 2013-12-04 ***通信集团公司 一种检测钓鱼网站的方法及装置
CN106993000A (zh) * 2017-05-26 2017-07-28 山东浪潮商用***有限公司 解决反序列化漏洞的方法、反向代理服务器及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
三三得九_尚: ""Weblogic反序列化漏洞(CVE-2018-2628),T3协议白名单"", 《CSDN博客》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020238414A1 (zh) * 2019-05-24 2020-12-03 深圳前海微众银行股份有限公司 一种反序列化漏洞的防护方法及装置
CN111031067A (zh) * 2019-12-24 2020-04-17 上海中信信息发展股份有限公司 分布式***的监控数据传输方法、装置及电子设备
CN112035831A (zh) * 2020-08-14 2020-12-04 深信服科技股份有限公司 一种数据处理方法、装置、服务器及存储介质
CN112329024A (zh) * 2020-11-17 2021-02-05 国网北京市电力公司 漏洞的检测方法及装置
CN113760443A (zh) * 2020-11-19 2021-12-07 北京沃东天骏信息技术有限公司 数据处理方法、装置、电子设备、***和存储介质
CN114070580A (zh) * 2021-09-30 2022-02-18 奇安信科技集团股份有限公司 反序列化攻击检测方法、装置、电子设备、介质及程序
CN114070580B (zh) * 2021-09-30 2024-05-07 奇安信科技集团股份有限公司 反序列化攻击检测方法、装置、电子设备、介质及程序
CN114143192A (zh) * 2021-12-03 2022-03-04 中国建设银行股份有限公司 Weblogic T3过滤器的配置方法及装置

Also Published As

Publication number Publication date
WO2020238414A1 (zh) 2020-12-03
CN110166459B (zh) 2022-12-27

Similar Documents

Publication Publication Date Title
CN110166459A (zh) 一种反序列化漏洞的防护方法及装置
US20220116372A1 (en) System and method for providing controlled application programming interface security
Datta et al. Valve: Securing function workflows on serverless computing platforms
Bhathal et al. Big Data: Hadoop framework vulnerabilities, security issues and attacks
CN105359486B (zh) 使用代理安全访问资源
US9998470B1 (en) Enhanced data leakage detection in cloud services
Abuhussein et al. Evaluating security and privacy in cloud computing services: A Stakeholder's perspective
US11531929B2 (en) Systems and methods for machine generated training and imitation learning
CN110276202A (zh) 一种反序列化漏洞的检测方法及装置
US20220321602A1 (en) Frictionless supplementary multi-factor authentication for sensitive transactions within an application session
Talukder et al. Architecting secure software systems
Bulusu et al. A study on cloud computing security challenges
CN109726592B (zh) 一种数据沙盒的处理方法及装置
US7140038B2 (en) Security service layer
CN109726593B (zh) 一种数据沙盒的实现方法及装置
US11917064B2 (en) Token transformation filter for the service mesh
Rodigari Performance Analysis of Zero Trust in Cloud Native Systems
Barrow et al. Security in Cloud computing for service delivery models: Challenges and solutions
Ramirez A Framework to Build Secure Microservice Architecture
Joshi et al. A Comprehensive Study of Vulnerability Assessment Techniques of Existing Banking Apps
CN117762601B (zh) 一种hydra服务调用方法、***、终端及存储介质
Pace Zero Trust networks with Istio
Okonski Implementing Security Rules, Safeguards, and IPS tools for Private Cloud Infrastructures: GROOT: Infrastructure Security as a Service (ISaaS)
Bell et al. Developing Single Use Server Containers
Tai Ramirez A Framework To Build Secure Microservice Architecture

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