.NET编码库存在严重的反序列化漏洞

Posted E安全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET编码库存在严重的反序列化漏洞相关的知识,希望对你有一定的参考价值。

关注E安全 关注网络安全一手资讯

E安全8月11日讯  据报道,.NET编码库存在反序列化(Deserialization)漏洞,会让攻击者在处理反序列化数据的服务器和计算机上执行代码,从而影响.NET生态系统。

何为序列化和反序列化?

序列化(Serialization)是将对象转换成字节流的过程,以存储对象或将对象传输至内存、数据库或文件。序列化的主要目的在于保存对象的状态,以便能在需要时重新创建对象,而逆向过程就被称为反序列化(Deserialization)。

2015年和2016年 “Java末日”(Java Apocalypse

通过反序列化操作实施攻击自2011年就已为人所知,但这类攻击2015年初成为困扰每个人的问题,当时两名研究人员(克里斯ž弗洛霍夫和加布里埃尔ž劳伦斯)发现一款相当热门的Java应用程序---Apache Commons Collection中存在反序列化漏洞。

Foxglove Security的研究人员于2015年底详细阐述了此类攻击的最初攻击模式,展示了攻击者如何使用Java应用程序(开发人员正确使用Apache Commons Collection库处理反序列化操作的应用程序)中的反序列化漏洞。

研究人员的实验表明,攻击者可以在热门Java中间件(例如WebLogic、WebSphere、JBoss、Jenkins和OpenNMS)内上传恶意数据。恶意数据会被序列化并存储在数据库或内存中,但当应用程序将数据反序列化时,中间件还将执行被感染系统上的其它恶意代码。

该漏洞2016年掀起Java生态系统大波澜,因为此漏洞还影响了70个其它的Java库,甚至被用来感染PayPal服务器。

包括Apache、Oracle、Cisco、Red Hat、 Jenkins、VMWare、IBM、Intel、Adobe、HP和SolarWinds在内的公司均发布了产品安全补丁。

这个Java反序列化漏洞相当危险,以至Google工程师利用自由时间修复开源Java库,并限制漏洞的企及范围,修复了2600多个项目。

在Google内部,该漏洞被称为“疯狂工具”(Mad Gadget),而业界将其称之为“Java末日”(Java Apocalypse

反序列化漏洞也会影响.NET应用程序

如今,惠普(HP)软件安全研究人员阿尔瓦罗ž穆尼奥斯和亚科文科·麦罗西在一份新研究中披露,类似的反序列化漏洞也会影响.NET生态系统。

.NET应用程序中存在的反序列化漏洞允许攻击者偷偷溜进目标设备执行代码。

与Java类似,某些.NET库未受该漏洞影响。使用受影响.NET库的应用程序是安全的,因为程序员视序列化的数据为不安全因素,不允许访问特定功能和方法。

穆尼奥斯和麦罗西着重分析使用JSON数据的.NET和Java库。

研究人员还在研究论文中评价了分析的所有.NET和Java应用程序,并提到哪些应用程序是安全的,并建议开发人员使用JSON数据时用相对安全的应用程序避免反序列化攻击(参见文末链接了解详情)。

热门.NET项目中存在反序列化漏洞

为了说明该漏洞可能会影响真实存在的应用程序,而不仅仅是理论威胁,研究人员在.NET数据管理后端框架Breeze中发现一个JSON反序列化漏洞(CVE-2017-9424);此外,还在基于 Ruby's Sinatra的网络框架NancyFX中发现JSON反序列化漏洞(CVE-2017-9785)。

除了JSON反序列化漏洞,其它处理XML数据对象的库也存在这类漏洞。研究人员还发现如今最常用的.NET CMS--- DotNetNuke中存在XML反序列化漏洞。

上述这些漏洞反映了.NET库中存在的漏洞以及开发人员的不良编码习惯,开发人员并未认识到,默认序列化数据并不一定安全。

要解决该漏洞,须改进许多.NET库的安全性,同时还需普通程序员提高意识。

研究人员表示,序列化器(Serializer)是对安全性要求特别高的API,不应与不受信任的数据一起使用。这不是Java序列化、特定.NET格式化程序或任何特定格式(例如JSON、XML或Binary)的特定问题。所有序列化器需重建对象,通常会调用攻击者试图滥用以启动工具链执行任意代码的方法。

研究人员建议使用的.NET应用程序见:

https://www.blackhat.com/docs/us-17/thursday/us-17-Munoz-Friday-The-13th-JSON-Attacks-wp.pdf#page=5

11
E安全推荐文章

官网:www.easyaq.com

2017年8月

01

02

03


04

05

06

07


以上是关于.NET编码库存在严重的反序列化漏洞的主要内容,如果未能解决你的问题,请参考以下文章

思科产品中存在严重硬编码密码漏洞和Java反序列化漏洞

漏洞预警:PHP 7的反序列化机制存在致命安全漏洞

记一次反序列化漏洞的利用之路

反序列化漏洞屡被黑客利用,危害巨大,代码怎样写才安全?

网络安全漏洞安全反序列化漏洞深入分析

网络安全漏洞安全反序列化漏洞深入分析