《深入java虚拟机》 java的安全性

在java的安全模型的结构特点使其适用于网络环境技术。软件可以通过网络下载并在本地运行。

比如java applet,用户一打开网页。applet的class文件就会被自动下载,很有可能用户会遇到来自不可靠来源的applet。

jini服务:(Jini是Sun公司的研究与开发项目,它能极大扩展Java技术的能力。Jini技术可使范围广泛的多种硬件和软件---即可与网络相连的任何实体---能够自主联网.具体请连接http://www.sudu.cn/info/index.php?op=article&id=316631

 使用jini服务进行注册时,客户机遇到不可靠的服务对象。如果没有任何机制,这些代码自动下载的模式为恶意代码的发布提供了捷径。

java的安全模型侧重于保护终端用户免受从网络下载的,来自不可靠来源的恶意程序。所以java提供了一个用户可配置的“沙箱”,在沙箱中放置不可靠的java程序。它会对这些程序 的活动进行限制。虽然程序可以在沙箱的安全边界内做任何事情,但是却不能跨越。在java1.0中沙箱对很多不可靠的程序做了限制

 .对本地硬盘的读写操作

 .对任何网络连接

 .创建新的线程

 .装载新的动态连接库

由于这个机制太过于严格,所以后来得到了改进。引入了代码签名和认证的信任模式。

沙箱的体系防御

  类装载器体系结构 ,它防止恶意代码去干涉善意的代码(由命名空间来实现的),守护了被信任的类库边界,将代码归类,确定这些类的代码可以进行哪些操作。

     1 对class文件的结构扫描。

     2 类型数据的语义检查

     3 字节码验证

     4 符号引用

     5 二进制兼容
 jvm的安全特性、

 JVM装载一个class 并且对它进行扫描(1-3通过代表可以被运行),在此还有一些内置的安全机制的操作。如类型安全的引用转换,结构化的内存访问(无指针算法),自动垃圾收集(不必显示地释放被分配的内存),数组边界检查,空引用检查。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2011-12-26 15:58 程序员-张三 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/myclc/archive/2011/12/26/2299802.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值