第三章
Java 安全沙箱
一:组成java沙箱的基本组件:
1> 类装载器结构
对沙箱起的作用:
a>: 防止恶意代码去干涉善意代码
b>:守护了被信任的类库的边界
c>:将代码归入了保护域,该保护域确定了代码可以进行哪些操作。
2> Class文件检验器.
3> 内置于java虚拟机(及语言)的安全特性
4> 安全管理器用javaAPI
JAVA的沙箱安全模型,最重要的优点:这些组件中的类装载器和安全管理器是可以由用户定制的。
1:类装载器通过为不同的类提供不同的类装载命名空间来防止恶意代码干涉善意代码。相同命名空间内的类可以相互访问而不同命名空间内的类彼此并不可视因而也无法相互访问。
类装载器守护被信任的类库边界 通过使用不同的类装载器装载不同的包而实现的。
2:class文件检验器
1> 保证装载的class文件内容有正确的内部结构,并且这些class文件相互协调一致.
2> 实现的安全目标之一就是程序的健壮性.
3>须进行四趟扫描完成操作
第一趟是在类被加载时进行的
检查class文件的内部结构.
第二趟和第三趟是在连接过程中进行的
确认类型数据符合java语义,包括字节码验证。
第四趟 是在进行动态连接的过程中解析符号引用时进行的
确认被引用的类,字段以及方法确实存在.
转载于:https://blog.51cto.com/wen5566/464715