甲骨文Java補(bǔ)丁已發(fā)布 但大多數(shù)用戶沒有更新
最近甲骨文公司發(fā)布了重大的安全補(bǔ)丁,在這次更新的40個補(bǔ)丁中,37個“無需驗(yàn)證即可被遠(yuǎn)程利用”。然而,有跡象表明,大多數(shù)企業(yè)并沒有急于部署這些補(bǔ)丁.
事實(shí)上,大多數(shù)企業(yè)可能會忽略此修補(bǔ)程序。盡管甲骨文發(fā)布了具有更新安全功能的新版本Java,并在4月中旬發(fā)布了Java補(bǔ)丁更新,web安全公司發(fā)現(xiàn),近93%的Java用戶仍然未升級到新版本的軟件。
Websense公司表示,甲骨文在4月16日發(fā)布的關(guān)鍵補(bǔ)丁更新包含42個新的涉及Java SE產(chǎn)品的安全修復(fù)程序。甲骨文指出,在這些漏洞中,39個漏洞無需驗(yàn)證就可以遠(yuǎn)程被利用;另外有兩個漏洞可用于Java的服務(wù)器部署。
在補(bǔ)丁發(fā)布的兩天后,Websense報告稱,不到2%的用戶安裝了這個Java補(bǔ)丁——Java SE版本7 更新 21。在發(fā)布的一個月后,Websense表示,使用最新版本Java的在線web請求數(shù)量只有7%。由于互聯(lián)網(wǎng)中有很多漏洞利用代碼,廣大用戶仍然容易受到攻擊。
Websense稱,在過去七周中,該公司使用其ThreatSeeker Network來追蹤最新版本Java的使用情況。該工具收集網(wǎng)頁、文檔、可執(zhí)行文件、移動應(yīng)用、流媒體、社交媒體和電子郵件內(nèi)包含的內(nèi)容。
該Java補(bǔ)丁可用性通過大家口口相傳,和甲骨文Java自動更新,Websense表示,“我們注意到,一些企業(yè)開始愿意安裝該補(bǔ)丁。”盡管如此,92.8%的Java用戶仍然易受攻擊。
分析師表示,理想的解決方法是禁用瀏覽器內(nèi) 的Java。“目前的挑戰(zhàn)是,很多企業(yè)甚至不知道哪些應(yīng)用需要運(yùn)行Java,禁用Java將會造成很多應(yīng)用無法正常運(yùn)行,”Forrester研究公司安 全和風(fēng)險管理高級分析師Rick Holland表示,“企業(yè)應(yīng)該花時間來全面整理其應(yīng)用,這需要運(yùn)作周期,而很多公司并沒有運(yùn)作周期。”
這些操作挑戰(zhàn)是造成Java補(bǔ)丁推遲部署的主要原因之一,Holland補(bǔ)充說,“對于微軟產(chǎn)品,很多公司都有相對成熟的補(bǔ)丁和配置管理計劃,但對于第三方應(yīng)用,這些操作挑戰(zhàn)就變得更加明顯。”
上面的代碼i和j的值會是多少呢?答案是:“00, 01, 10, 11”都是有可能的。
對于這種情況,如果我們想得到確定的結(jié)果則需要通過“synchronized”(或者j.c.u.locks)來做線程間同步。
所以,我個人對Java內(nèi)存模型的理解是:在編譯器各種優(yōu)化及多種類型的微架構(gòu)平臺上,Java語言規(guī)范制定者試圖創(chuàng)建一個虛擬的概念并傳遞到 Java程序員,讓他們能夠在這個虛擬的概念上寫出線程安全的程序來,而編譯器實(shí)現(xiàn)者會根據(jù)Java語言規(guī)范中的各種約束在不同的平臺上達(dá)到Java程序 員所需要的線程安全這個目的。
注1:關(guān)于“lock”前綴的詳細(xì)說明可以查看這個文檔《Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A: System Programming Guide, Part 1》的 這個章節(jié)“CHAPTER 8 MULTIPLE-PROCESSOR MANAGEMENT”。
注2:不同的微架構(gòu)的內(nèi)存模型都會有一些差別,本文中都是指x86/x64,如果想了解更多的微架構(gòu)是如何處理的可以參考這個文檔:http://gee.cs.oswego.edu/dl/jmm/cookbook.html