安全-类装载器

2018-05-09  本文已影响0人  rock_fish

类装载器体系结构在三方面对java的沙箱起作用

1.防止恶意代码去干涉善意的代码(屏蔽不同命名空间的类)

命名空间:jvm为每个每个类加载器维护一个唯一的命名空间

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

不安全手段【替换核心类库】:如自己写一个java.lang.Integer,由于启动类加载器优先级最高,所以会加载核心javaAPI的java.lang.Integer,而不会让应用类加载器去加载自定义的java.lang.Integer,)

不安全手段【插入全新的类型】:如装载一个java.lang.virus(病毒),由于父类加载器中找不到,应用类加载器有机会加载这个病毒类(基于同一个包内类型可见性,暗示这个类是java api的一部分,将得到访问java.lang中被信任类的特殊访问权限,实施破坏),运行时包的限制了这种行为,因为是不同的类装载器。

3.将每一个被装载的类放置在一个保护域中。

上一篇 下一篇

猜你喜欢

热点阅读