JAVA沙箱安全总结WEB安全电脑资料.docVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA沙箱安全总结WEB安全电脑资料 本文介绍了JAVA虚拟机一些安全基础,第四节介绍了两个非常著名的JAVA 0day,分析了cve-xx-0507 漏洞原理和jdk1.70day漏洞,这两个漏洞被广泛应用于浏览器挂马, Java从JDK 1.0开始实现了一套沙箱环境,主要应用于Applet,使远程的非可信代码只能在受限的环境下执行。Java沙箱 安全建立在 Java 运行时环境的三个基本方面的基础上:ByteCode Verifier(字节码验证器)、Security Manager(安全器)以及 ClassLoader(类装入器)。 ByteCode Verifier 确保所下载的代码被恰当地格式化,字节码(“Java 虚拟机”指令)没有违反这种语言或虚拟机的安全限制(无非法数据转换),没有执行指针寻址,内部堆栈不能溢出或下溢,以及字节码指令将拥有正确的类型参数。 Security Manager 在尝试执行文件 I/O 和网络 I/O、创建新的ClassLoader、操作线程或线程组、启动底层平台(操作系统)上的进程、终止“Java 虚拟机”、将非 Java 库(本机代码)装入到 JVM、完成某种类型的窗口系统操作以及将某种类型的类装入到 JVM 中时发起运行时访问控制。 Java程序(class文件)并不是本地的可执行程序。当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java class的这部分就叫做Class Loader。当运行一个程序的时候,JVM启动,运行bootstrapclassloader,该ClassLoader加载java核心API(ExtClassLoader和AppClassLoader也在此时被加载),然后调用ExtClassLoader加载扩展API,最后AppClassLoader加载CLASSPATH目录下定义的Class,这就是一个程序最基本的加载流程。 安全管理器为JAVA沙箱安全最核心的部分,SecurityManager类包含了大量访问控制的方法。开启安全管理器意味着程序将在沙箱环境下运行,命令行下运行java程序可通过如下选项来启动安全管理器。 策略是指某些代码对某些资源具有某些操作权限,策略放在策略文件中,策略文件包含了将代码映射为权限的指令。下面是一个典型的策略文件: { permission java.io.FilePermission “/tmp/*”, “read,write”; }; 该文件给所有下载自lanz.sinaapp.的代码授予在/tmp目录下读取和写入文件的权限。 Java平台主目录的java.policy文件 用户主目录的.java.policy文件(注意文件名前面的圆点)。 Permission类表示对系统资源的访问权限。如下述代码Permission 实例perm表示对tmp目录下的可读权限。 PermissionCollection表示一个Permission的集合 Permissions是 PermissionCollection的扩展,表示PermissionCollection的集合。 ProtectionDomain 称之为安全域,相当于动态的policy策略集 (dynamic security policies , regardless of the Policy in force ) 权限控制器有3个用途: 基于当前生效的安全策略决定是允许还是拒绝对关键系统资源的访问 可以将调用方标记为享有“特权”(请参阅 doPrivileged 及下文)。在做访问控制决定时,如果遇到通过调用不带上下文参数的 doPrivileged 调用方,则 checkPermission 方法将停止检查 有时,本来应该在给定上下文中进行的安全性检查实际需要在另一个 上下文中(例如,在 worker 线程中)完成。getContext 方法和 AessControlContext 类是针对这种情况提供的。 AessControlContext为上下文权限控制器,含成员变量ProtectionDomain,其主要操作为checkPermission()函数。 perm.add(new AllPermission());

文档评论(0)

scj1122117 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档