沙箱安全機制


一:什么是沙箱

Java安全模型的核心就是Java沙箱(sandbox),什么是沙箱?沙箱是一個限制程序運行的環境。沙箱機制就是將 Java 代碼限定在虛擬機(JVM)特定的運行范圍中,並且嚴格限制代碼對本地系統資源訪問,通過這樣的措施來保證對代碼的有效隔離,防止對本地系統造成破壞。沙箱主要限制系統資源訪問,那系統資源包括什么?——CPU、內存、文件系統、網絡。不同級別的沙箱對這些資源訪問的限制也可以不一樣。

  所有的Java程序運行都可以指定沙箱,可以定制安全策略。

首先進行一個字節碼校驗器:確保java類文件遵循java語言規范,這樣可以幫助java程序實現內存保護,但並不是所有的類文件都會經過字節碼校驗,比如核心類。

接下來類裝載器:其中類裝載器在3個方面對java沙箱起作用

    1. 它防止惡意代碼去干涉善意的代碼。//雙親委派機制

    2.它守護了被信任的類庫邊界。//雙親委派機制

    3.它將代碼歸入保護域,確定了代碼可以進行哪些操作。

虛擬機為不同的類加載器載入的類提供不同的命名空間,命名空間由一系列唯一的名稱組成,每一個被裝載的類將有一個名字,這個命名空間是由java虛擬機為每個類裝載器維護的,他們互相之間甚至不可以見。

    類裝載器采用的機制是雙親委派模式。

二:java類運行

第一步:編譯

利用編譯器將源程序編譯成字節碼a字節碼文件名;源文件名.class

第二步:運行

利用虛擬機(解釋器,java)解析執行class字節碼文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM