沙箱安全机制

1.什么是沙箱?

沙箱是一个限制程序运行的环境(沙箱主要限制系统资源的访问,如cpu,内存等等。不同级别的沙箱对这些资源的访问限制也不一样)

2.什么是沙箱机制?

就是将java代码限定在虚拟机(jvm) 特定的运行范围中,并且严格限制代码对本地系统资源的访问,通过这样的措施来保证对代码的有效隔离,防止对系统造成破坏。

3.沙箱机制的发展

jdk1.0安全模型

在java中将程序分为本地代码和远程代码两种,本地代码默认是可信任的,而远程代码则被看作是不可信任的。对于授信的本地代码可以访问一切本地资源,而对于非授信的远程代码在早期java实现中,安全依赖于沙箱机制

缺点:如此严格的机制为程序的功能扩展带来了障碍,比如当用户希望远程代码访问本地系统文件时,就无法实现

jdk1.1安全模型

增加了安全策略,允许用户指定远程代码对资源的访问权限

jdk1.2安全模型

再次改进了安全机制,增加了代码签名。无论是本地代码还是远程代码,都会按照策略设定,由类加载器加载到不同的空间,来实现差异化的代码执行权限控制

jdk1.6安全模型

当前最新安全机制

引入了域的概念,虚拟机会把所有代码加载到不同的系统域和应用域,系统域部分专门负责与关键资源进行交互,各个应用域部分则通过系统域代理来对各种需要的资源进行访问。虚拟机中不同的受保护域对应不一样的权限。存在于不同域的类文件就具有了当前域的全部权限

4.沙箱的基本组件

字节码校验器:确保Java类文件遵循java语言规范。这样可以帮助Java实现内存保护。但并不是所有类文件都会经过字节码校验,比如核心类。

类装载器:在三个方面对沙箱起作用

1.防止恶意代码去干涉善意代码(双亲委派机制)

2.守护了被信任的类库边界

3.它将代码归入保护域,确定了代码可以执行哪些操作

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值