首頁安全服務安全公告
正文

緊急通告2015年第7號(java反序列化漏洞)

發布時間:2015-11-20 17:11   瀏覽次數:1737

 

尊敬的海峽用戶:

最近幾年,不斷的有java反序列化漏洞被曝光,至2015年11月6日,FoxGlove Security安全團隊的@breenmachine 介紹了如何利用Java反序列化漏洞來攻擊WebLogic、WebSphere、JBoss、Jenkins、OpenNMS這些著名的Java應用,來實現遠程代碼執行,才引起了高度重視。這意味著黑客可以利用java反序列化漏洞,實現遠程代碼執行,這是一個極其嚴重的問題。

【漏洞危害】

    攻擊者可以利用java反序列化漏洞實現遠程代碼的任意執行,如可調用java中方法Runtime.getRuntime().exec()來實現遠程任意系統命令執行,危害極大。

【受威脅對象】

    只要有使用java中的類ObjectInputStream處理反序列化的應用系統均有可能存在java反序列化漏洞。由于目前互聯網中已出現利用java反序列化漏洞對weblogic、WebSphere、JBoss、Jenkins的攻擊代碼,所以使用此類應用的系統,受黑客攻擊的可能性較大,請特別注意使用這些應用的系統。

【漏洞成因】

     Java反序列化就是把字節流轉換為java對象,如果Java應用對用戶輸入的不可信數據做了反序列化處理,那么攻擊者可以通過構造惡意輸入,讓反序列化產生非預期的對象,非預期的對象在產生過程中就有可能帶來任意代碼執行。這個問題的根源在于java中的類ObjectInputStream中方法readObject()在反序列化時,沒有對生成的對象的類型做限制。

【修復方案】

    因為受影響的多家廠商在今年1月拿到POC至今都沒有對該問題做任何修復,所以短期內并不會有官方補丁放出,如果很重視這個安全問題并且想要有一個臨時的解決方案,可以參考如下:

1、下載由NibbleSecurity公司在github上放出了一個臨時補丁SerialKiller(下載地址:https://github.com/ikkisoft/SerialKiller)。下載這個jar后放置于classpath,將應用代碼中的java.io.ObjectInputStream替換為SerialKiller,之后配置讓其能夠允許或禁用一些存在問題的類,SerialKiller有Hot-Reload,Whitelisting,Blacklisting幾個特性,控制了外部輸入反序列化后的可信類型。

2、在不影響業務的情況下,臨時刪除掉項目里的“org/apache/commons/collections/functors/InvokerTransformer.class”文件。

3、針對jboss應用可以選擇關閉jmx-console。


【參考資料】

http://www.freebuf.com/vuls/86566.html

http://blog.chaitin.com/2015-11-11_java_unserialize_rce/?from=timeline&isappinstalled=0#rd


福建省海峽信息技術有限公司 版權所有  聯系: [email protected] 閩ICP備06011901號 ? 1999-2019 Fujian Strait Information Corporation. All Rights Reserved.

返回頂部

加拿大快乐8开奖结果