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