JVM--java沙箱安全機制

Yannick Li發表於2020-10-11

組成沙箱的基本元件

  • 位元組碼校驗器(bytecode verifier):確保java類檔案遵循java語言規範,可以幫助java程式實現記憶體保護。但不是所有的類檔案都會經過位元組碼校驗,比如核心類。

  • 類裝載器(class loader):類裝載器在三個方面對java沙箱起作用

    1. 防止惡意程式碼干涉善意程式碼---->雙親委派機制
    2. 守護了被信任的類庫邊界
    3. 將程式碼歸入保護域,確定了程式碼可以進行哪些操作。

    · 從最內層JVM自帶類載入器開始載入,外層惡意同名類得不到載入。
    · 嚴格通過包來區分訪問與,外層惡意的類通過內建程式碼無法獲得許可權訪問內層類。

  • 存取控制器(access controller):可以控制核心API對作業系統的存取許可權,而這個控制的策略設定,可以由使用者指定。

  • 安全管理器(security manager):是核心API和作業系統之間的主介面。實現許可權控制,比存取控制優先順序高。

  • 安全軟體包(security package):java.security下的類和擴充套件包下的類,允許使用者為自己的應用增加信的安全。包括:安全提供者、資訊摘要、數字簽名、加密、鑑別

相關文章