為什麼 Java 6 讓人對2014年4月之後的 Windows XP 感到顫慄?

當 Windows XP 的支援終止,Java 6和 Windows XP 加起來每年會出現160個無修補的漏洞

作者:Christopher Budd(全球威脅交流)

我在2013年9月說過,關於Java 6的安全形勢已經變得更壞。而趨勢科技最近所發表的2013年威脅綜合報告裡,有一項是我們觀察目前針對Java漏洞攻擊的狀況。從報告裡可以證實,在2013年底,Java 6的安全形勢確實變得更糟。如果將關於Java 6的攻擊狀況放到Windows XP身上,當它在2014年4月後停止支援,可以遇見在2014年會出現相當嚴峻的形勢。趨勢科技的2013年威脅綜合報告裡顯示,當Windows XP的支援終止,Java 6和Windows XP加起來每年會出現160個無修補的漏洞,這讓人感覺到恐怖風暴來臨前的烏雲密佈。

桌上地腦 戶外 藍天白雲

 首先,2013年威脅綜合報告裡提到什麼樣目前的Java 6狀況?趨勢科技的分析顯示,2013年針對Java的攻擊佔了所有網頁攻擊的91%。這並不令人驚訝,因為整個2013年影響所有版本Java的零時差漏洞很多。趨勢科技的分析還指出,到了2013年底,針對Java的所有攻擊裡,有50%使用兩個Java 6上不曾被修補的漏洞:CVE-2013-2465(30%)和CVE-2013-2463(20%)。這兩個漏洞都比較新,是在甲骨文公司的2013年6月季度修補程式發佈後才比較為人所知,攻擊者針對它們的攻擊在2013年8月才出現。這些漏洞在這樣短的時間內就佔據了攻擊「市場」的50%,這事實也告訴了我們,攻擊者知道攻擊永遠不會被修補的漏洞是多麼有價值。

弱點攻擊 為什麼 Java 6 讓人對2014年 Windows XP 感到顫慄?

有充分的理由讓攻擊者有這種的轉變。趨勢科技在報告裡指出,當對Java 6的支援終止後,有76%的組織還在使用它。而從那之後,這數目是否降低也是很令人懷疑。而無修補程式的Java 6漏洞數量只會越來越多,因為它們不會被修補了。到了2013年第三季底,趨勢科技注意到已經有31個未修補的Java 6漏洞。包括那兩個甲骨文公司的修補程式發佈,因此我們可以大致推估出,每年大約會有60個未修補的Java 6漏洞出現。

 

這些告訴了我們在Windows XP四月終止支援後會發生什麼事。首先,Windows XP在2013年底時仍佔所有使用中Windows系統的30%。就跟Java 6一樣,Windows在支援結束後仍會被廣泛的使用,開始累積未修補的漏洞。我們可以猜一下,當Windows XP結束支援,有多少漏洞會被發現而且不會被修補,就跟Java 6和CVE- 2013 -2465CVE -2013- 2463漏洞一樣。

 

為了做出預測,我在2013年分析了微軟安全性公告資料內的Windows漏洞。我看到有104個安全漏洞影響Windows XP。其中88個也會影響Windows Vista和/或Windows 7(我沒算入Windows 8)。換句話說,如果Windows XP在2013年就已經停止支援,我們在微軟自己的安全性公告裡就會看到有88個未修補的漏洞。這還不包括其他由獨立研究人員所發現的漏洞。如果我們估計獨立研究人員每月會發現一個漏洞(非常保守的),那麼很合理的,一年推估會有約100個未修補的漏洞出現在Windows XP上。不是每個漏洞都會引來攻擊,但每年100個也是極大的漏洞數量了。

 

潛在目標的數量太大了。Windows XP可能還會佔所有連網系統的20%以上好一段時間。而這情況在某些產業會更加嚴重。據估計,有95%的提款機還在運行Windows XP,而且並不急於改變這狀況。我在微軟的同事Tim Rains指出:「我已經和一些因為某些原因而將不會在4月8日前完全自Windows XP轉移的客戶談過。有些客戶甚至說,直到硬體支撐不下去前,他們不會從Windows XP轉移」。有大量的未修補漏洞,加上可能被影響的大量潛在目標,這是相當可怕的一件事。

 

考量到這一切,加上我們在Java 6上所看到的經驗,只要一旦出現,攻擊者將會積極地攻擊Windows XP上的未修補漏洞。加上有許多Windows XP電腦上都還安裝Java 6,這些系統很容易就被Java 6和Windows XP所加起來的未修補漏洞影響。根據我的計算,這加起來是大約每年160個未修補的漏洞。

 

趨勢科技的2014年預測裡提到,攻擊未修補漏洞會是之後幾年的一大趨勢。

 

@原文出處:Why Java 6 Gives Me the Jitters about Windows XP in 2014: 160 Unpatched Vulnerabilities Combined per Year

Apple:這是Java的原罪

  早在2010年十月,Apple就宣布他們將會放棄對Java的支援。這並不會影響到Oracle去直接支援這個Unix系統平台,就跟它會支援其他的Unix作業系統一樣。因為OSX對Java更新的遲緩讓它面臨了clickjacking點擊劫持和其他惡意活動的威脅。Apple最後終於負起責任去更新了Java 6 Update 33。在那之後,Java 6的另一個變更會影響兩個不同地區的時區變化。但Apple似乎不大可能去進一步的更新OSX的Java 6。

  

 在2012年8月14日,Oracle釋出Java 7 Update 6給Mac上的Lion和Mountain Lion作業系統。Oracle對OSX的直接支援終止了Apple Java更新遲緩所受到的指責。Java的未來及相關的安全性現在顯然是握在Oracle的手上。在Oracle釋出OSX Java 7 Update 6更新版本的兩個禮拜內,一個漏洞被發現會影響Windows,而OSX和Linux上也都有相同的漏洞。這個漏洞會影響FireFox、IE 9和Safari 6。Oracle一向會及時的提供Java漏洞修補程式,也終於在近日推出更新版本修補此一漏洞,詳細資訊請參考下列網址: https://blogs.oracle.com/security/entry/security_alert_for_cve_20121

 Mac Java的背景知識

 Java是Sun在1990年代初期所開發的。這個編程環境是用來幫助跨越各種不同的作業系統,從大型主機到嵌入式裝置的作業系統。Java甚至被當成是微軟在1996年所推出的ActiveX的替代控制作法,以延伸微軟COM和OLE跟作業系統的通訊。在2000年。Windows用ActiveX來取代JavaScript作為自己瀏覽器的API。這個外掛API是為Netscape所開發。JavaScript並不是Java,但Netscape認為Java代表分散式作業系統的客戶端/伺服器解決方案。微軟Internet Explorer 5.5的ActiveX將作業系統的應用程式帶到網路上,微軟希望他們的應用程式可以在網路上被廣泛採用,以增加Windows的影響力。

 微軟對於將ActiveX擴展到他們瀏覽器的這項作法的說詞是為了要加強安全性。這時正好微軟也取消Windows Internet Name Service(WINS),而用DNS來提供名稱階層架構,也就是今天認證的基礎。ActiveX看起來是WINS的替代策略,讓微軟可以用來主宰網際網路。但是卻讓網路犯罪份子在網路上利用ActiveX來控制Windows應用程式。ActiveX並沒有讓Windows成為網際網路上的主導者,同時ActiveX也沒有提高安全性。

  在2005年,Android利用Java建立Java執行環境(JRE)。Sun在2006年11月將Java的原始碼用GPL v2開放出去。但是唯一的例外就是不包括行動應用程式。所以Google開發自己的Java虛擬機器(JVM)技術,稱為Dalvik,以避開編程介面的限制。並且將JRE的堆疊模式轉變成Java虛擬機器(JVM)的暫存器型態。

 接著,Sun在2010年被Oracle所收購。Apple並沒有替Java提供移除安裝程式,使用Java的程式可能不會取消檢查Apple的Java控制面板來直接使用Java。而許多這樣的程式也不會去注意到Oracle Java 7 Update 6的控制面板,更不會接受可用的Java 7環境位置。這些Java的問題需要一點時間來解決,但是Apple已經清楚的表達了他們的意思,不會再自動安裝Java,也不會支援Java 7。

 

Apple應用程式的規則

 在Mac App Store審核指南規則2.24指出:

 「應用程式使用不適用或需額外安裝的技術(例如Java、Rosetta)將會被拒絕」

 控制應用程式的更新,可被允許的元資料和捷徑、禁止未經使用者同意就自動啟動和禁止下載其他應用程式或修改 – 所有的這一切都是為了提高安全性的目標。但是如果還是允許Java的話,執行這些安全措施並不實際,也會讓網路犯罪份子更加容易攻擊成功。

   繼續閱讀