沙箱 什么是沙箱?有何作用或应用在什么地方?
2020-05-22 14:17:52
来源:朵拉利品网
1, 什么是沙箱?有何作用或应用在什么地方?
现实中的沙箱,是一种儿童玩具,类如KFC中一个装满小球的容器,儿童可以在随意玩耍,起到保护儿童的作用。(也可以理解为一种安全环境)。同样在网络技术中也是一种按照安全策略限制程序行为的执行环境。网络中的沙箱,无论何时加载远程网站上代码并在本地执行,安全都是至关重要的问题。点击一个链接可以启动Java Web Start 应用程序。访问一个网页时,其中的所有Applet也会自动地启动。如果再点击一个链接,或者访问一个网页时,在用户的机器上能够安装任意的代码,那么犯罪分子就可能在此时窃听机密信息、读取财务数据或者接管用户机器来发送广告。为了确保Java技术不会被邪恶目的所利用,SUN公司在设计Java的时候,设计了一套精密的安全模型;即安全管理器(Security Manager)将检查有权使用的所有系统资源。在默认的情况下,只允许那些无害的操作,要想允许执行其他操作,代码需得到数字签名,用户必须得到数字认证。在所有的平台上,远程代码可以做什么呢?它可以显示图像、播放音乐、获得用户的键盘输入和鼠标点击,以及将用户的输入送回加载代码所在的主机。这些功能足以能够显示信息和图片,或者获得用户为订单所输入的信息。这种受限制的执行环境称为沙箱(sandbox)。在沙箱中运行的代码不能够修改或查看用户系统。特别是,在沙箱中的程序有下列限制:● 不能运行任何本地的的可执行程序。不能从本地计算机文件系统中读取任何信息,也不能往本地计算机文件系统中写入任何信息。不能查看除Java版本信息和少数几个无害的操作系统详细信息外的任何有关本地计算机的信息。特别是,在沙箱中的代码不能查看用户名、E-mail地址等信息。远程加载的程序不能与除下载程序所在的服务器之外的任何主机通信,这个服务器被称为源主机(originating host)。这条规则通常称为“远程代码只能与家人通话”这条规则将会确保用户不会被代码探查到内部网络资源(在Java SE 6 中,Java Web Start 应用程序可以与其他网络连接,但必须得到用户的同意)。所有弹出式窗口都会带一个警告消息。这条消息起到了安全的作用,以确保用户不会为本地应用程序弄错窗口。令人担心的是,一个可信赖的用户可以访问网页,并被蒙骗运行远程代码,然后输入密码和信用卡号,这些信息将被送回服务器。在早期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”。
2, 沙箱是什么
Sandboxie(又叫沙箱、沙盘)即是一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。其为一个独立的虚拟环境,可以用来测试不受信任的应用程序或上网行为。沙箱早期主要用于测试可疑软件等,比如黑客们为了试用某种病毒或者不安全产品,往往可以将它们在沙箱环境中运行。经典的沙箱系统的实现途径一般是通过拦截系统调用,监视程序行为,然后依据用户定义的策略来控制和限制程序对计算机资源的使用,比如改写注册表,读写磁盘等。沙箱应用用于为一些来源不可信、具备破坏力或无法判定程序意图的程序提供试验环境。然而,沙盒中的所有改动对操作系统不会造成任何损失。通常这种技术被计算机技术人员广泛使用,尤其是计算机反病毒行业,沙盒是一个观察计算机病毒的重要环境。影子系统即是利用了这种技术的软件之一。有时沙盒也叫沙箱,英文sandbox。在计算机领域指一种虚拟技术,且多用于计算机安全技术。其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中。当某个程序试图发挥作用时,安全软件可以先让它在沙盒中运行,如果含有恶意行为,则禁止程序的进一步运行,而这不会对系统造成任何危害。参考资料来源:百度百科-沙箱参考资料来源:百度百科-沙盒原理
名词解释
Java
Java是由Sun公司于1995年5月推出的面向对象的程序设计语言。Java继承了C++语言面向对象技术的核心,又舍弃了C++语言中的指针、运算符重载以及多重继承的特性,同时引入了泛型编程、类型安全的枚举等特性,使Java成为简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 随着互联网的迅猛发展,Java已经成为重要的网络编程语言,被广泛应用于企业级Web应用开发和移动应用开发。
Applet
Applet是采用Java编程语言编写的小应用程序,该程序可以包含在HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同。含有Applet的网页的HTML文件代码中部带有 和 这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。
Window
WINDOW是一个英语单词,其意思是:一,窗,窗户;(商店)橱窗;二,窗玻璃;三,电脑窗口,视见区;四气大气窗;五,(信封上的)透明纸窗TC函数名window定义活动文本模式窗口Javascript中的window对象表示浏览器中打开的窗口。