.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
※2017上半年全球物聯網威脅報告:物聯網攻擊增加280%
※若缺乏強有力網路安全措施,英國企業或將被罰1700萬英鎊
※英國發布《聯網與自動駕駛汽車網路安全主要原則》
※打擊網路犯罪需要掌握哪些關鍵要素?
※澳大利亞ASIC投入6000萬澳元配合Nuix公司實現數據分析與監控
TAG:E安全 |
※PHP反序列化漏洞的新攻擊面
※Go 中 JSON 的序列化和反序列化
※Python編程:序列化和反序列化
※WebLogic WLS核心組件曝反序列化漏洞
※用GDB調試PHP及反序列化小記
※Weblogic反序列化遠程代碼執行漏洞研究分析
※Weblogic反序列化命令執行漏洞
※Mozilla Rhino 反序列化漏洞 POC 分析
※通過小細節大幅改善 Django Rest 框架序列化性能
※小白都能看懂的JSON反序列化遠程命令執行
※NodeJS反序列化漏洞利用getshell
※Oracle WebLogic Server反序列化遠程代碼執行漏洞成焦點
※關於思科安全訪問控制系統存在反序列化漏洞的情況通報
※使用RedisTemplate(JDK序列化策略)緩存實體類
※MapReduce數據序列化讀寫概念淺析!
※FastJson反序列化漏洞利用的三個細節-TemplatesImpl利用鏈
※關於使用fastjson統一序列化響應格式
※C 配置文件存儲 各種序列化演算法性能比較
※服務化基石之遠程通信系列五:序列化協議之二進位序列化
※千里眼可信主動免疫防護系統Weblogic反序列化漏洞防護方案