WebLogic接二连三被曝漏洞,到底是为啥?

近日,国家信息安全漏洞共享平台(CNVD)公开了Weblogic反序列化远程代码执行漏洞(CNVD-C-2019-48814),延续了前几年不断爆出的Weblogic反序列化漏洞历史。趁此机会我们来总结分析一下,这些漏洞都是些啥?

 

▶WebLogic是干嘛的?

WebLogic是美国甲骨文(Oracle)公司的一款知名应用服务中间件,它被用来开发、集成、部署和管理多种大型分布式系统,极大的方便了系统管理,以及简化部署步骤,在世界范围内被广泛运用。在中国常见于电信、政府行业和金融行业。

CNVD秘书处对WebLogic服务在全球范围内的分布情况进行分析,结果显示该服务的全球用户规模约为6.9万,其中位于我国境内的用户规模约为2.9万。

 

▶WebLogic的反序列化好像被爆出很多次?这次是哪个?

WebLogic历代反序列化漏洞(不完全统计):

 

漏洞编号

涉及组件/协议

CVE-2015-4852

T3协议

CVE-2016-0638

T3协议

CVE-2017-3506

http协议/wls-wsat组件

CVE-2017-10271

http协议/wls-wsat组件

CVE-2018-2628

T3协议

CVE-2018-2893

T3协议

CNVD-C-2019-48814

http协议/wls-wsat和wls9-async组件

                                                       本次!这个!

本次爆出的CNVD-C-2019-48814漏洞,存在于部分版本WebLogic默认包含的一级应用包wls9_async_response,该包为WebLogic sever提供异步通讯服务。由于该WAR包在反序列化处理输入信息时存在缺陷,攻击者可以发送精心构造的恶意HTTP请求,获得目标服务器的权限,在未授权的情况下远程执行命令。目前,官方补丁尚未发布,漏洞细节未公开。

 

CNVD对该漏洞的综合评级为“高危”

影响版本如下:

WebLogic 10.X

WebLogic 12.1.3

 

▶什么是序列化和反序列化?

Java 序列化是指把Java对象转换为字节序列的过程,来便于保存在内存、文件、数据库中,反序列化即逆过程,由字节流还原成对象,ObjectInputStream类的 readObject()方法用于反序列化。

WebLogic接二连三被曝漏洞,到底是为啥?_第1张图片

 

常见的应用场景例如处理Web服务器中的Session对象。当有大量用户并发访问时,会创建大量session对象,这种时候为了避免内存的大量消耗,Web容器就会把一些seesion先序列化到硬盘中,需要用时再把硬盘中的对象反序列化还原到内存中。

XML序列化同理,使用XMLDecoder解析,进行反序列化。

WebLogic在多种组件中进行了序列化反序列化过程。

 

▶为什么WebLogic的反序列化漏洞修修补补总是被爆出?

WebLogic反序列化漏洞的补丁大都采用黑名单方式过滤不安全的反序列化类,这种修复方式很容易被黑客绕过,典型例如一系列有关T3协议的反序列化漏洞。

历史曾加过的黑名单包括:

WebLogic.rjvm.InboundMsgAbbrev.class :: ServerChannelInputStream

WebLogic.rjvm.MsgAbbrevInputStream.class   

WebLogic.iiop.Utils.class

WebLogic.jms.common.StreamMessageImpl

WebLogic.corba.utils.MarshalledObject

java.rmi.registry.Registry

java.rmi.activation.Activator

....................

全部列出来估计就“太长不看”了......

WebLogic的反序列化漏洞由于修补不完全,外加WebLogic使用面广漏洞可利用性高,影响面尤其广泛,很多漏洞的CVSS评分都是9.8、9.9甚至为10,多个漏洞被利用在黑产层面,例如挖矿程序。因此受关注度高,总被攻击者盯上,导致频繁被爆出漏洞。

 

▶什么是T3协议,什么是wls-wsat组件?

T3协议是WebLogic内部的通讯协议,并且默认都是开启的。

wls-wsat是WebLogic Server大部分版本都默认包含的核心组件之一。

 

▶针对以上漏洞,应该如何防御?

1.针对部分已提供补丁的漏洞,您可以通过及时更新官方补丁进行防御;

2.如果官方暂未发布正式修复补丁,可执行官方提供的缓解措施,如删除受影响的组件(该操作存在一定风险,修改前请备份)并重启服务器;

3.您可部署腾讯云Web应用防火墙,将业务通过Web应用防火墙进行代理转发,Web应用防火墙主动阻断T3协议,防止T3协议相关漏洞利用,同时可防御上诉非T3协议WebLogic漏洞。您还可以开启Web应用防火墙AI防御,AI智能学习,可针对不同的业务形态,对未知0day漏洞进行防御。

4.针对T3协议相关漏洞,除了执行以上步骤,您还可以

关闭受影响的协议进行缓解, WebLogic Server提供了名为

WebLogic.security.net.ConnectionFilterImpl 

的默认连接筛选器,用户可通过控制T3协议的访问来临时阻断

  • Step1:打开WebLogic控制台,进入base_domain配置页面,找到右侧“安全”下方的“筛选器”页面,进入连接筛选器配置界面;

  • Step2:在连接筛选器中输入:WebLogic.security.net.ConnectionFilterImpl,在连接筛选器规则中输入:127.0.0.1 * * allow t3 t3s,0.0.0.0/0 * * deny t3 t3s(T3 和 T3S 协议的所有端口只允许本地访问);

  • Step3:保存后规则即可生效.无需重新启动。

5.针对wls-wsat组件相关漏洞,您还可以

1)通过访问策略控制禁止外部/_async/* 及 /wls-wsat/*路径的URL访问;

2)通过控制台云安全组限制指定源 IP 对WebLogic默认端口7001的访问,进行应用加固;

 

▶什么是腾讯云Web应用防火墙?

专业的网站防护能力+AI智能识别未知0day

  • 千余条防御规则全面防护各种Web入侵攻击,专业攻防团队7x24小时实时迭代防护系统,云端自动升级,保障您的网站防御系统永远处于行业前沿。

  • 在防御永远比漏洞晚出现的情况下。Web应用防火墙使用AI学习经验数据,形成行为模型,然后对目标事件做出判断和预测,使产品具备自学习、自进化、自适应的特性,这从检测机制上改变了WAF应对未知0day攻击的被动局面。

  • 将机器学习应用到WAF攻击检测中,理论上可以进一步提升当前传统WAF 的能力,帮助企业安全团队从被动防护的困局中突破出来。

 

有关AI WAF相关更多的信息,请点击:

AI in WAF | 腾讯云网站管家 WAF AI 引擎实践(下篇)

 

稳定的业务风险防护

稳定的低延时高性能VIP专线服务,在隐藏保护源站IP的同时,优质加速线路可保障毫秒级业务延时。更为您提供BOT行为管理/智能防刷、DNS劫持监测、垃圾访问过滤等防护功能,更有价值,更满足业务安全运营和防护的需求。

 

无缝扩展防护

一键无缝接入百G抗DDoS能力,应对敏感大流量DDoS攻击问题,无惧突发风险。

你可能感兴趣的:(WebLogic接二连三被曝漏洞,到底是为啥?)