java的沙盒安全模式_Java沙箱机制
自從 Java 技術出現以來, 有關 Java 平臺的安全性及由 Java 技術發展所引發的新的安全性問題,引起了越來越多的關注.目前,Java 已經大量應用在各個領域,研究 Java 的安全 性對于更好地使用 Java 具有深遠的意義.
本文主要從兩個方面闡述了 Java 的安全性:一是 Java 平臺(主要通過 JDK)的安全完備性;二是 Java 虛擬機的安全機制.
Java 平臺提供的原始安全模式是:沙箱模型.
對于從開放網絡中得到的不被信任的代碼, 該模型提供了一個非常嚴格的使用環境.沙箱模型的實質在于信任本地代碼, 使其可以完全訪問重要的系統資源(例如文件系統) ;而對于下載的遠程代碼則不被信任,因此只能訪問 沙箱內提供的有限資源.
沙箱模型通過 Java 開發工具包(JDK)發布,一般被用 JDK 編寫的應用程序所采納(包括支持 Java 的網絡瀏覽器) . Java 開發工具 JDK 1.2 中引入了新的安全體系結構,安全檢查擴展到所有Java 程序,包括應用程序及 Applet.所有本地代碼均可信任的概念已不再存在.相反,本地代碼的安全控制與Applet的類似.當然,必要時本地代碼(或遠程代碼)上的策略仍有可能被聲明為具有最大自由權,從而使之類似完全可信任的代碼那樣高效運行.同樣的原則適用于簽名的Applet和所有Java應用程序. Java 沙箱是運行 Java 小應用程序的一個軟件單元,對Java 小應用程序的訪問權限加以限制,防止它訪問計算機的關鍵部分,如磁盤驅動器,網絡套接口和內存區.
Java 沙箱由三部分組成:字節碼檢驗器,類裝載器和安全管理器,這三部分共同完成裝載和運行時對Java Applet的檢驗,用以限制對文件系統和網絡的訪問以及對瀏覽器內部的訪問. Java 程序可以從網絡上下載運行,這必然帶來許多不安全因素.一些惡意的 Hacker 可以直接寫出字節代碼段攻擊用戶節點, 如刪除文件, 搞亂硬盤或未經用戶許可在網上發送本地信息等.這些防衛本地機被攻擊的任務就交給了 Java 虛擬機完成.Java 虛擬機提供了幾種安全機制,其中兩種主要的機制是安全管理器和 Java 類文件認證器. 安全管理器是安全的實施者, 它是一個可擴展類, 提供加在應用程序和特殊系統上的安全措施.它實現 Java 虛擬機的安全策略.安全管理器建立 Java 程序的名空間,限制對網絡, 本地文件系統和程序其它部分的訪問. Java 認證器在.class 文件運行前完成該文件的安全檢查, 確保 Java 字節碼符合 Java 虛擬 機規范.Java 平臺通過使用認證器查看類文件的句法和詞法的正確性,檢查版本及 API 符合性等,保證病毒和其它惡意程序不會侵犯本地系統.認證器包括四個階段的操作:類文件認證,類型系統認證,字節碼認證和運行時類型的訪問檢查.此外,認證器在檢查期間還能識別算法操作的上溢和下溢等其它可能發生在運行期間的程序錯誤.
Java 虛擬機是加在當前主機操作系統上的,由于 Java 字節碼執行速度目前要比本地機器慢 10~20 倍,速度問題可能是影響 Java 推廣的惟一原因.目前,針對 Java 虛擬機程序速度慢的問題, Microsoft,Borland 等提出了及時編譯技術(Just-In-Time)JIT.具體說,就是 JIT 編譯器在程序開始執行前把所有字節碼翻譯成本地機器碼, 然后再將翻譯后的機器碼放在 CPU 上運行.這樣,就用字節碼編譯器代替了原來的解釋器,它對用戶透明而又提高 了執行速度.也許將來 JIT 編譯器加到 Java 虛擬機中,可以解決所有性能問題.
轉載自:http://blog.163.com/teach_wu/blog/static/212959047201362032648677/
如有侵權請作者聯系我刪除。
總結
以上是生活随笔為你收集整理的java的沙盒安全模式_Java沙箱机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式_3_建造者模式
- 下一篇: python语法基础知识案例_Pytho