目录
1.什么是沙箱?
2.什么是沙箱机制?
3.沙箱机制的发展
jdk1.0安全模型
jdk1.1安全模型
jdk1.2安全模型
jdk1.6安全模型
4.沙箱的基本组件
1.什么是沙箱?
沙箱是一个限制程序运行的环境(沙箱主要限制系统资源的访问,如cpu,内存等等。不同级别的沙箱对这些资源的访问限制也不一样)
2.什么是沙箱机制?
就是将java代码限定在虚拟机(jvm) 特定的运行范围中,并且严格限制代码对本地系统资源的访问,通过这样的措施来保证对代码的有效隔离,防止对系统造成破坏。
3.沙箱机制的发展
jdk1.0安全模型
在java中将程序分为本地代码和远程代码两种,本地代码默认是可信任的,而远程代码则被看作是不可信任的。对于授信的本地代码可以访问一切本地资源,而对于非授信的远程代码在早期java实现中,安全依赖于沙箱机制
缺点:如此严格的机制为程序的功能扩展带来了障碍,比如当用户希望远程代码访问本地系统文件时,就无法实现
jdk1.1安全模型
增加了安全策略,允许用户指定远程代码对资源的访问权限
jdk1.2安全模型
再次改进了安全机制,增加了代码签名。无论是本地代码还是远程代码,都会按照策略设定,由类加载器加载到不同的空间,来实现差异化的代码执行权限控制
jdk1.6安全模型
当前最新安全机制
引入了域的概念,虚拟机会把所有代码加载到不同的系统域和应用域,系统域部分专门负责与关键资源进行交互,各个应用域部分则通过系统域代理来对各种需要的资源进行访问。虚拟机中不同的受保护域对应不一样的权限。存在于不同域的类文件就具有了当前域的全部权限
4.沙箱的基本组件
字节码校验器:确保Java类文件遵循java语言规范。这样可以帮助Java实现内存保护。但并不是所有类文件都会经过字节码校验,比如核心类。
类装载器:在三个方面对沙箱起作用
1.防止恶意代码去干涉善意代码(双亲委派机制)
2.守护了被信任的类库边界文章来源:https://www.toymoban.com/news/detail-448559.html
3.它将代码归入保护域,确定了代码可以执行哪些操作文章来源地址https://www.toymoban.com/news/detail-448559.html
到了这里,关于沙箱安全机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!