您当前的位置:首页 > 互联网教程

java平台沙箱安全模型包含以下哪几个安全组件

发布时间:2025-05-23 18:56:00    发布人:远客网络

java平台沙箱安全模型包含以下哪几个安全组件

一、java平台沙箱安全模型包含以下哪几个安全组件

1、字节码校验器(bytecode verifier):

确保Java类文件遵循Java语言规范。这样可以帮助Java程序实现内存保护。但并不是所有的类文件都会经过字节码校验,比如核心类。

2、存取控制器(access controller):

存取控制器可以控制核心API对操作系统的存取权限,而这个控制的策略设定,可以由用户指定。

3、安全管理器(security manager):

是核心API和操作系统之间的主要接口。实现权限控制,比存取控制器优先级高。

4、安全软件包(security package):java.security下的类和扩展包下的类,允许用户为自己的应用增加新的安全特性,包括:安全提供者、消息摘要、数字签名、加密、鉴别。

策略文件是控制沙箱的管理要素,一个策略文件包含一个或多个保护域的项。策略文件完成了代码权限的指定任务,策略文件包括全局和用户专属两种。

参考资料来源:百度百科-沙箱(网络编程虚拟执行环境)

二、什么是移动应用安全沙箱

1、移动应用安全沙箱,通过自动化应用重打包方式,将安全防护沙箱无缝集成到移动应用中。无需修改研发人员代码,即可赋予应用安全防护能力,强化数据和运行时安全性。

2、沙箱化移动应用,首先逆向处理应用,自动嵌入安全防护代码。修改应用运行入口与启动逻辑,以接管启动控制权,进行重打包。在沙箱内运行应用,利用DEX动态加载、JAVA动态调用、钩子动态挂载与拦截技术,确保应用原有功能不被影响,为应用透明加入安全功能,实现应用运行环境的虚拟隔离,最终实现移动应用的安全防护。

3、移动应用安全沙箱采用自动化应用重打包方法,将安全防护沙箱无缝嵌入,无需研发人员修改代码,为移动应用提供安全防护能力,增强数据和运行时的安全性。

4、沙箱化处理先对应用进行逆向处理,自动集成安全防护代码,修改应用的启动入口与逻辑,接管启动控制,进行应用的重新打包。在沙箱内运行应用,采用DEX动态加载、JAVA动态调用、钩子动态挂载与拦截技术,确保应用功能不受影响,为应用透明增加安全功能,实现应用运行环境的虚拟隔离,完成移动应用的安全保护。

三、沙箱的网络沙箱

1、沙箱(SandBox)无论何时加载远程网站上代码并在本地执行,安全都是至关重要的问题。点击一个链接可以启动Java Web Start应用程序。访问一个网页时,其中的所有Applet也会自动地启动。如果再点击一个链接,或者访问一个网页时,在用户的机器上能够安装任意的代码,那么犯罪分子就可能在此时窃听机密信息、读取财务数据或者接管用户机器来发送广告。

2、为了确保Java技术不会被邪恶目的所利用,SUN公司在设计Java的时候,设计了一套精密的安全模型;即安全管理器(Security Manager)将检查有权使用的所有系统资源。在默认的情况下,只允许那些无害的操作,要想允许执行其他操作,代码需得到数字签名,用户必须得到数字认证。

3、在所有的平台上,远程代码可以做什么呢?它可以显示图像、播放音乐、获得用户的键盘输入和鼠标点击,以及将用户的输入送回加载代码所在的主机。这些功能足以能够显示信息和图片,或者获得用户为订单所输入的信息。这种受限制的执行环境称为沙箱(sandbox)。在沙箱中运行的代码不能够修改或查看用户系统。

4、特别是,在沙箱中的程序有下列限制:

5、不能运行任何本地的的可执行程序。

6、不能从本地计算机文件系统中读取任何信息,也不能往本地计算机文件系统中写入任何信息。

7、不能查看除Java版本信息和少数几个无害的操作系统详细信息外的任何有关本地计算机的信息。特别是,在沙箱中的代码不能查看用户名、E-mail地址等信息。

8、远程加载的程序不能与除下载程序所在的服务器之外的任何主机通信,这个服务器被称为源主机(originating host)。这条规则通常称为“远程代码只能与家人通话”这条规则将会确保用户不会被代码探查到内部网络资源(在Java SE 6中,Java Web Start应用程序可以与其他网络连接,但必须得到用户的同意)。

9、所有弹出式窗口都会带一个警告消息。这条消息起到了安全的作用,以确保用户不会为本地应用程序弄错窗口。令人担心的是,一个可信赖的用户可以访问网页,并被蒙骗运行远程代码,然后输入密码和信用卡号,这些信息将被送回服务器。在早期JDK版本中,有个消息会令人害怕的:“Untrusted Java Applet Window”(不可信赖的Java Applet Window)。后来的JDK版本将这个警告消息的口气缓和了一些“Unauthenticated Java Applet Window”(未获认证的Java Applet Window)。随后是“Warning:Java Applet Window”(警告:Java Applet Window)。现在只是“Java Applet Window”或“Java Appliation Window”。