自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JVM系列之沙箱安全機(jī)制筆記

開(kāi)發(fā) 前端
JDK1 .0安全模型本地代碼可以訪問(wèn)系統(tǒng)資源,遠(yuǎn)程代碼無(wú)法訪問(wèn)系統(tǒng)資源,比如用戶希望遠(yuǎn)程代碼訪問(wèn)本地系統(tǒng)的文件時(shí)候,就無(wú)法實(shí)現(xiàn)。

1.沙箱機(jī)制的概念

Java安全模型的核心就是Java沙箱(sandbox)。沙箱機(jī)制就是將Java代碼限定只能在虛JVM虛擬機(jī)中特定的運(yùn)行范圍,并且嚴(yán)格限制代碼對(duì)本地系統(tǒng)資源訪問(wèn),通過(guò)這樣的方式來(lái)保證對(duì)Java代碼的有效隔離,防止對(duì)本地操作系統(tǒng)造成破壞。

2.沙箱的作用

主要限制系統(tǒng)資源(CPU、內(nèi)存、文件系統(tǒng)、網(wǎng)絡(luò))的訪問(wèn)。不同級(jí)別的沙箱對(duì)系統(tǒng)資源訪問(wèn)的限制也有差異。

3.本地代碼和遠(yuǎn)程代碼

Java的執(zhí)行程序分為:本地代碼和遠(yuǎn)程代碼。,本地代碼:默認(rèn)視為可信任的,可以訪問(wèn)一切本地資源。遠(yuǎn)程代碼:被看作是不受信的。對(duì)于授信的本地代碼,對(duì)于非授信的遠(yuǎn)程代碼在早期的Java實(shí)現(xiàn)中,安全依賴于沙箱(Sandbox)機(jī)制。

4.沙箱安全機(jī)制模型

4.1 JDK1 .0安全模型

JDK1 .0安全模型本地代碼可以訪問(wèn)系統(tǒng)資源,遠(yuǎn)程代碼無(wú)法訪問(wèn)系統(tǒng)資源,比如用戶希望遠(yuǎn)程代碼訪問(wèn)本地系統(tǒng)的文件時(shí)候,就無(wú)法實(shí)現(xiàn)。

4.2 JDK1 .1安全模型

JDK1 .1 安全模型版本中,針對(duì)安全機(jī)制做了改進(jìn),增加了受信任安全策略,允許用戶指定代碼對(duì)本地資源的訪問(wèn)權(quán)限

4.3 JDK1 .2安全模型

JDK1 .2安全模型改進(jìn)了安全機(jī)制,增加了代碼簽名。不論本地代碼或是遠(yuǎn)程代碼,統(tǒng)一按照用戶的安全策略設(shè)定,由類加載器加載到虛擬機(jī)中權(quán)限不同的運(yùn)行空間,從而來(lái)實(shí)現(xiàn)差異化的代碼執(zhí)行權(quán)限控制。

4.4 目前最新的安全模型

目前最新的安全模型引入了域 (Domain) 的概念。JVM虛擬機(jī)會(huì)把所有代碼加載到不同的系統(tǒng)域和應(yīng)用域,系統(tǒng)域部分專門(mén)負(fù)責(zé)與關(guān)鍵資源系統(tǒng)進(jìn)行交互,而每個(gè)應(yīng)用域部分則通過(guò)系統(tǒng)域的部分代理來(lái)對(duì)各種需要的資源進(jìn)行精細(xì)劃分然后可以進(jìn)行訪問(wèn)。JVM虛擬機(jī)中不同的受保護(hù)域 (Protected Domain)對(duì)應(yīng)不一樣的權(quán)限 (Permission)。存在于不同域中的類文件就擁有了它所包含應(yīng)用域所有可訪問(wèn)資源之和。

5.沙箱安全機(jī)制的基本組件

5.1 字節(jié)碼校驗(yàn)器(bytecode verifier)

確保lava類文件遵循lava語(yǔ)言規(guī)范。這樣可以幫助Java程序?qū)崿F(xiàn)內(nèi)存保護(hù)。但并不是所有的類文件都會(huì)經(jīng)過(guò)字節(jié)碼校驗(yàn),比如核心類。

5.2 類裝載器(class loader)

防止惡意代碼去干涉善意的代碼,比如:雙親委派機(jī)制

守護(hù)了被信任的類庫(kù)邊界;

將代碼歸入保護(hù)域,確定了代碼的權(quán)限范圍可以進(jìn)行哪些資源操作

5.3 存取控制器(access controller)

存取控制器可以控制核心API對(duì)操作系統(tǒng)的存取權(quán)限,用戶可以設(shè)定控制策略。

5.4 安全管理器(security manager)

安全管理器主要是核心API和操作系統(tǒng)之間的主要接口。比如實(shí)現(xiàn)權(quán)限控制,比存取控制器優(yōu)先級(jí)高。

5.5 安全軟件包(security package) :

java.security下的類和擴(kuò)展包下的類,允許用戶為應(yīng)用增加所需要安全特性:安全提供者、消息摘要、數(shù)字簽名keytools、加密、鑒別。

責(zé)任編輯:武曉燕 來(lái)源: IT技術(shù)分享社區(qū)
相關(guān)推薦

2010-09-26 16:55:31

JVM學(xué)習(xí)筆記

2010-07-29 15:36:23

Flex安全沙箱

2017-09-20 08:07:32

java加載機(jī)制

2022-06-10 07:13:29

JVM垃圾回收

2023-06-09 07:59:37

多線程編程鎖機(jī)制

2020-05-26 18:50:46

JVMAttachJava

2010-08-11 13:46:01

Flex安全沙箱

2017-09-20 08:48:09

JVM內(nèi)存結(jié)構(gòu)

2021-09-24 08:10:40

Java 語(yǔ)言 Java 基礎(chǔ)

2023-10-31 16:00:51

類加載機(jī)制Java

2021-03-15 13:50:24

網(wǎng)絡(luò)安全Android安全機(jī)制

2019-02-12 09:52:20

Linux安全Windows

2017-01-11 22:51:39

2022-10-21 14:12:06

2010-09-26 16:42:04

JVM內(nèi)存組成JVM垃圾回收

2017-10-17 14:02:30

jvm調(diào)優(yōu)工具

2017-09-22 15:15:23

jvm調(diào)優(yōu)命令

2017-11-01 15:38:54

jvm知識(shí)點(diǎn)總覽

2015-08-10 10:04:28

2022-06-02 07:11:13

JVMJava
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)