您现在的位置是:亿华云 > 数据库
JVM系列之沙箱安全机制笔记
亿华云2025-10-09 11:08:34【数据库】6人已围观
简介1.沙箱机制的概念Java安全模型的核心就是Java沙箱(sandbox)。沙箱机制就是将Java代码限定只能在虚JVM虚拟机中特定的运行范围,并且严格限制代码对本地系统资源访问,通过这样的方式来保证
1.沙箱机制的沙箱概念
Java安全模型的核心就是Java沙箱(sandbox)。沙箱机制就是安全将Java代码限定只能在虚JVM虚拟机中特定的运行范围,并且严格限制代码对本地系统资源访问,机制通过这样的笔记方式来保证对Java代码的有效隔离,防止对本地操作系统造成破坏。沙箱
2.沙箱的安全作用
主要限制系统资源(CPU、内存、机制文件系统、笔记网络)的沙箱访问。不同级别的安全沙箱对系统资源访问的限制也有差异。
3.本地代码和远程代码
Java的机制执行程序分为:本地代码和远程代码。,笔记本地代码:默认视为可信任的沙箱,可以访问一切本地资源。安全远程代码:被看作是机制不受信的。对于授信的本地代码,对于非授信的服务器租用远程代码在早期的Java实现中,安全依赖于沙箱(Sandbox)机制。
4.沙箱安全机制模型
4.1 JDK1 .0安全模型JDK1 .0安全模型本地代码可以访问系统资源,远程代码无法访问系统资源,比如用户希望远程代码访问本地系统的文件时候,就无法实现。
JDK1 .1 安全模型版本中,针对安全机制做了改进,增加了受信任安全策略,允许用户指定代码对本地资源的访问权限
JDK1 .2安全模型改进了安全机制,增加了代码签名。不论本地代码或是远程代码,统一按照用户的安全策略设定,由类加载器加载到虚拟机中权限不同的运行空间,从而来实现差异化的代码执行权限控制。
目前最新的安全模型引入了域 (Domain) 的概念。JVM虚拟机会把所有代码加载到不同的系统域和应用域,系统域部分专门负责与关键资源系统进行交互,而每个应用域部分则通过系统域的部分代理来对各种需要的资源进行精细划分然后可以进行访问。JVM虚拟机中不同的企商汇受保护域 (Protected Domain)对应不一样的权限 (Permission)。存在于不同域中的类文件就拥有了它所包含应用域所有可访问资源之和。
5.沙箱安全机制的基本组件
5.1 字节码校验器(bytecode verifier)确保lava类文件遵循lava语言规范。这样可以帮助Java程序实现内存保护。但并不是所有的类文件都会经过字节码校验,比如核心类。
5.2 类装载器(class loader)防止恶意代码去干涉善意的代码,比如:双亲委派机制
守护了被信任的类库边界;
将代码归入保护域,确定了代码的权限范围可以进行哪些资源操作
5.3 存取控制器(access controller)存取控制器可以控制核心API对操作系统的存取权限,用户可以设定控制策略。
5.4 安全管理器(security manager)安全管理器主要是核心API和操作系统之间的主要接口。比如实现权限控制,比存取控制器优先级高。
5.5 安全软件包(security package) :java.security下的类和扩展包下的类,允许用户为应用增加所需要安全特性:安全提供者、消息摘要、数字签名keytools、加密、鉴别。b2b供应网
很赞哦!(3)
相关文章
- 在数以亿计的网站中,我们应该抓住每一个可能带来宣传的机会,域名可以带有企业的名字,一般可以使用汉语拼音或者英语单词或者是相关缩写的形式,只要用户记住了你企业的名字,就能很容易的打出你的网站域名,同样的,记住了网站域名也能很快的记住你公司的名字。
- Vue用prerender-spa-plugin做SEO优化
- 5分钟让你理解K8S必备架构概念,以及网络模型
- Nginx 最实用的配置技巧,用到过才是老司机
- 当投资者经过第二阶段的认真学习之后又充满了信心,认为自己可以在市场上叱咤风云地大干一场了。但没想到“看花容易绣花难”,由于对理论知识不会灵活运用.从而失去灵活应变的本能,就经常会出现小赢大亏的局面,结果往往仍以失败告终。这使投资者很是困惑和痛苦,不知该如何办,甚至开始怀疑这个市场是不是不适合自己。在这种情况下,有的人选择了放弃,但有的意志坚定者则决定做最后的尝试。
- 6大分类,17大有用的Docker工具
- 程序运行时,是怎么找到动态库的?
- 什么是架构设计的五个核心要素?
- 在数以亿计的网站中,我们应该抓住每一个可能带来宣传的机会,域名可以带有企业的名字,一般可以使用汉语拼音或者英语单词或者是相关缩写的形式,只要用户记住了你企业的名字,就能很容易的打出你的网站域名,同样的,记住了网站域名也能很快的记住你公司的名字。
- 2021年,每个数据科学家都应该阅读的5本书