程序员-张三

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在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  程序员-张三  阅读(275)  评论(0编辑  收藏  举报