開發人員 - 瀏覽器中的 Java 內容 — 安全性資訊清單變更


本文適用於:
  • 平台: 所有平台
  • Java 版本: 7.0, 8.0

開發人員:在 7u51 (2014 年 1 月) 中,您必須更新「豐富網際網路應用程式 (RIA)」(亦稱為 Applet 及 Web Start 應用程式)。您所需的更新皆已封裝在發行版本上,不需要變更 API 程式碼。這些變更與封裝測試環境應用程式遭到改造的潛在風險有關,藉由將權限置於已簽署的 JAR 來避免您的指定權限層次遭到修改。
RIA 必須包含兩個項目:

  1. 來自信任授權單位的程式碼簽章。Applet 和 Web Start 應用程式的所有程式碼都必須經過簽署,無論其 Permissions 屬性為何。
  2. 資訊清單屬性
    1. Permissions – 於 7u25 中引進,在 7u51 時已為必要屬性。指示 RIA 是否應在封閉測試環境中執行,或者是否需要完整權限。
    2. Codebase – 於 7u25 中引進,在 7u51 時為選擇性但鼓勵使用的屬性。指向已知的裝載程式碼位置。

請參閱 Java Platform Group Product Management blog,瞭解詳細資訊。

Java 7 Update 45 (7u45),2013 年 10 月:與豐富網際網路應用程式互動之前,LiveConnect 呼叫將會要求權限
  • 將會提示使用者將權限授予透過 JavaScript LiveConnect 與 Java 應用程式互動的網頁 (網域)。
  • 開發人員應新增資訊清單屬性 Caller-Allowable-Codebase,以識別 JavaScript 程式碼能夠在應用程式中呼叫方法的位置
Java 7 Update 40 (7u40),2013 年 9 月:系統管理員可以在他們所管理的桌上型電腦中,將應用程式加入白名單
  • 系統管理員可以利用「建置規則集」,將特定的 Java 應用程式加入白名單,以在使用者的電腦上執行。系統管理員可以參考建置規則集文件,或利用「建置規則集」範例開始設定。
Java 7 Update 21 (7u21),2013 年 4 月:所有透過瀏覽器存取的 Java 內容 (包括 Applet 與應用程式) 必須先取得您的同意才能開始執行。
  • 提示中包含的訊息將視執行應用程式時所涉及的風險因素而有所不同。請參閱安全性對話方塊常見問題以檢視常見的安全性訊息。
  • 風險較低的情況所提供的訊息較為簡短,其中包含下次存取應用程式時不再顯示這些訊息的核取方塊。
  • 風險較高的情況 (例如執行不含任何已驗證之數位憑證的應用程式) 會要求您採取額外的互動動作。
開發人員與系統管理員可更進一步查看關於已簽署程式碼變更的詳細技術資訊

這些變更會有什麼效果?

這些變更能夠讓使用者驗證軟體發行者,以及確認與應用程式的互動。使用程式碼簽署憑證,可讓 Java 提供關於應用程式廠商的精確資訊,有助於使用者決定是否應執行該應用程式。

這些變更是否會中斷我常執行的 Java 應用程式?

我們描述的變更應該不會中斷您常執行的應用程式。但是,它們將提示您明確確認是否允許執行應用程式 (若允許,請按一下「執行」按鈕)。如此可避免高風險應用程式在您的電腦上自動執行。

需考量相容性的系統管理員,可以使用建置規則集功能,將多部受管理桌上型電腦上的特定豐富網際網路應用程式加入白名單。

在未簽署之應用程式的安全性對話方塊中,為何沒有看見可選取針對此應用程式不要再顯示此訊息的選項?

從 Java 7 Update 40 開始,不再提供選取針對此應用程式不要再顯示此訊息的選項。與先前版本的不同之處,在於使用者無法讓系統不顯示未簽署之應用程式的安全性對話方塊,在每次執行未簽署的應用程式時,都必須選取我接受風險且欲執行此應用程式選項。

何謂憑證授權單位?

「憑證授權單位」是可信任的第三方,通常是發行數位憑證的商業企業。組織或個人的身分在通過驗證之後便會發給憑證。數位憑證會加入至電腦應用程式中以驗證應用程式確實來自憑證的擁有者。如需詳細資訊,請參閱 http://wikipedia.org/wiki/Certificate_authority

為何這些變更對我很重要?

瀏覽器中的 Java 是攻擊者喜歡的目標。在 2012 年時,Java 7u10 引進了需要您明確確認是否允許執行 Java 應用程式的安全性功能。您也可以將 Java 設定為禁止執行任何不受信任的應用程式。信任的應用程式指的是含有「憑證授權單位」發行之有效數位憑證的應用程式,因此能夠提供與應用程式提供者身分識別相關的資訊。這些憑證可讓 Java 強制要求這些應用程式提供者建立的應用程式遵循特定的資訊安全與安全性規則。

我可以採取哪些額外的步驟確保在瀏覽器中執行 Java 應用程式時的系統安全性?

強烈鼓勵 Java 使用者、系統管理員及開發人員安裝最新版 Java 讓系統保持最新狀態。設計 Java 自動更新機制的主要目的是為了讓使用者透過最新的安全性修正永遠保持最新狀態。

如果您之前已經關閉自動更新,請重新啟用自動更新以確定系統上有最新與最安全的 Java 安裝。請參閱 Java 6 自動更新至 Java 7 常見問題,瞭解詳細資訊。

一般使用者 Java - 說明 (Java.com)
Java 控制面板中的安全層次設定
開發人員 Java 程式語言的 Java SE 安全性安全程式設計準則
與安全性相關的 JAR 檔案資訊清單屬性
Java SE 安全文件
關於已簽署程式碼變更的技術資訊
企業 Oracle Java SE Support 針對關鍵任務應用程式提供全年無休的電子郵件與電話支援
Oracle Java SE Advanced 與 Oracle Java SE Suite 產品提供的企業功能可大幅降低 Java 為基礎之 IT 環境的建置、監視與維護成本。
系統管理員 將應用程式加入白名單的建置規則集
建置最佳做法
系統管理員的 Java Plug-in 指南
教學課程:Java SE 的安全性功能