java虚拟机内置的安全特性
java虚拟机在执行字节码时还进行其他一些内置的安全机制的操作。
1.类型安全的引用转换
2.结构化的内存访问(无指针算法)
3.自动化垃圾收集(不必显式地释放被分配的内存)
4.数组边界检查
5.空引用检查
java程序只能使用类型安全,结构化的方法去访问内存
这样可以避免黑客知道一个类装载器在内存中的位置,赋予一个指针指向那块内存,从而对类装载器的数据进行操作,而达到破坏安全系统的目的。
未指明运行时数据空间在java虚拟机内部是怎样分布的
运行时数据空间是指一些java虚拟机用来存储一个运行时java程序所需的内存空间。包括:java栈(每个线程一个),一个存储字节码的方法区,以及一个垃圾收集堆(用来存储由运行的程序创建的对象)。java虚拟机规范并未决定使用什么数据结构来表示运行时的数据空间,并且存放在内存中的哪个位置。这样,黑客就不能够凭借class文件中的内容,知道内存中数据的内存布局。这样,即使能够突破java虚拟机的内存访问限制,也会无法找到他们想找到的内容。但是可以使用本地方法来达到破坏内存的目的。
异常的结构化错误处理
当一个违反安全的行为发生时,java虚拟机会做一些异常的结构化处理,java虚拟机将抛出一个异常或者错误,而不是崩溃。这个异常或者错误将导致这个线程死亡,而不是整个系统陷入瘫痪。异常机制使程序能够将控制从发生异常的地方转到处理这个异常的情况。
安全管理器和java api
java安全模型的前三个组成部分-类装载器体系结构,class文件检验器和java内置的安全特性一起达到一个共同的目的:
保持java虚拟机实例和它正在运行的应用程序的内部完整性,使得它们不受恶意或者有漏洞的代码侵犯。
java安全模型的第四部分:安全管理器:主要用于保护虚拟机的外部资源不被虚拟机内运行的文件或者有漏洞的代码侵犯。
安全管理器是一个单独的对象,在运行的java虚拟机中,它在访问控制--对于外部资源的访问控制--中起中枢作用。
安全管理器负责两个方面的工作:
1)说明一个安全策略
2)执行这个安全策略
java安全模型的不足
无法阻止恶意移动代码不断分配内存直到内存耗尽
无法阻止恶意代码不断生成线程
其实不仅是恶意代码,我们自己写代码的时候也要避免不断分配内存和不断生成线程的现象的产生。
分享到:
- 2009-01-01 11:51
- 浏览 1228
- 评论(0)
- 论坛回复 / 浏览 (0 / 1547)
- 查看更多
相关推荐
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
java虚拟机的运行机理的详细介绍 Inside the Java Virtual Machine Bill Venners $39.95 0-07-913248-0 Inside the Java Virtual Machine Acknowledgments Introduction Part One: Java's Architecture 1 ...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
藏经阁-The-Adventures-Of-Av-And-The-Leaky-Sandbox.pdf
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
#Half-Life 2:Sandbox Team Andrew McWatters Henry Tran Matthew 半条命2:沙箱是对Source Engine的开源沙箱修改,它提供Lua作为脚本平台,供开发人员快速制作游戏创意原型。 简约游戏包括一个沙盒游戏模式,可...
Needle in A Haystack -- Catch Multiple Zero-days Using Sandbox
是生态体系下的重要模块,它具备了JVM-Sandbox的所有特点,插件式设计便于快速适配各种中间件,封装请求录制/回放基础协议,也提供了通用可扩展的各种丰富API。 目标人群 - 面向测试开发工程师 线上有个用户请求一直...
groovy-sql-stream-extension.zip,groovy 2+扩展的集合。使用常用的集合方法(如collect、findall等)进行有效的groovy数据集处理。
赠送jar包:lucene-sandbox-7.2.1.jar; 赠送原API文档:lucene-sandbox-7.2.1-javadoc.jar; 赠送源代码:lucene-sandbox-7.2.1-sources.jar; 赠送Maven依赖信息文件:lucene-sandbox-7.2.1.pom; 包含翻译后的API...
CuckooDroid - 利用Cuckoo Sandbox自动化分析Android恶意软件
Java10沙箱我在Java 10中的试用版。... -path \*bootstrap/\*.java) java -p 'out' -m com.github.vlsidlyarevich.java10_sandbox.bootstrap/com.github.vlsidlyarevich.java10_sandbox.bootstrap.Main
java-houts-sandbox
java-sd-sandbox
赠送jar包:lucene-sandbox-6.6.0.jar; 赠送原API文档:lucene-sandbox-6.6.0-javadoc.jar; 赠送源代码:lucene-sandbox-6.6.0-sources.jar; 赠送Maven依赖信息文件:lucene-sandbox-6.6.0.pom; 包含翻译后的API...
信息安全_数据安全_Virtualize-Malware-Sandbox-in-Py 漏洞挖掘 安全体系 渗透测试 应急响应 移动安全
IE11 SandBox Bypass Source Code