加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash安全沙箱调研

发布时间:2020-12-15 18:49:53 所属栏目:百科 来源:网络整理
导读:Flash 安全沙箱定义及作用 定义: ????????????? FlashPlayer 中的一个主要安全性组件基于沙箱,它们是 Flash Player 用于包含资源的逻辑安全性分组。 作用: ????????????? FlashPlayer 使用这些安全性沙箱来定义各个 Flash应用程序可以访问的数据及操作的范

Flash安全沙箱定义及作用

定义:

????????????? FlashPlayer 中的一个主要安全性组件基于沙箱,它们是 Flash Player 用于包含资源的逻辑安全性分组。

作用:

????????????? FlashPlayer 使用这些安全性沙箱来定义各个 Flash应用程序可以访问的数据及操作的范围,即它们可以访问哪些资源。

???????????? 各个沙箱中的所有内容都由其利益相关方安全控制。这包括文件请求、本地数据存储(共享对象)以及特定域及其内容所使用的任何其它资源。每个沙箱与操作系统、文件系统、网络、其它应用程序、甚至其它Flash Player 沙箱实例保持隔离。?



Flash安全的利益相关方控制权限

1、管理用户控制:
这指系统的最高权限用户,win下的Administrator,linux下的root等。有两种类型的控制:
a)、mms.cfg文件:数据加载、隐私控制、Flash Player更新、旧版文件支持、本地文件安全性、全屏模式等。
b)、"全局 Flash Player 信任"目录:当某些SWF文件被指定到这个受信任的目录下时,这些SWF 文件会被分配到受信任的本地沙箱。它们可以与任何其它SWF文件进行交互,也可以从任意位置(远程或本地)加载数据。该信任目录的默认路径为:C:windowssystem32MacromedFlashFlashPlayerTrust。?

2、用户控制
相对于第1种,这里的用户是指普通用户。有这三种类型的控制:
a)、摄像头与麦克风设置
b)、共享对象存储设置–SharedObject(FlashPlayer 6)
c)、相对与"全局 Flash Player 信任"目录,用户权限这也有个"用户 Flash Player 信任"目录。默认路径:C:Documents and SettingsIceApplicationDataMacromediaFlash Player#SecurityFlashPlayerTrust。?

3、Web 站点控制(跨域策略文件):

crossdomain.xml文件,该文件只能存放在站点根目录下,

? 文件格式如:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>?

4、作者(开发人员)控制:

开发者可以通过编码(在AS脚本中)指定允许的安全控制权限
???? 如:Security.allowDomain("www.baidu.com");?

Flash 安全沙箱的分类:
?远程沙箱
?本地沙箱

远程沙箱

???????? 远程沙箱控制远程域上浏览器环境中的策略。
?
???????? 实行严格域策略,例如:www.baidu.com 与 tieba.baidu.com 被认为属于不同域
?
???????? 默认情况下,非HTTPS协议加载的内容无法访问同域下HTTPS协议加载的内容,但是反之可以。

本地沙箱
???????? 本地沙箱控制在本地计算机环境中的策略。
?
???????? 三种情况:
???????? 1)只访问本地沙箱-- 只能与本地文件系统内容交互,无法访问网络对象;
???????? 2)只访问远程沙箱-- 只能与远程内容交互,无法访问本地对象;
???????? 3)受信任沙箱?? --? 既可以访问本地文件,又可以访问网络对象。


Flash 安全沙箱分类设置
?Flash发布后需要处于的本地沙箱类型,在使用IDE发布时进行设置。

????? 但是如果是从远程服务端获得的Flash程序均为远程沙箱。

?
?Flash当前处于的沙箱可以通过Secrity类的Security.sandboxType查看。

????? 此属性为Read-Only。


Security.REMOTE(远程沙箱)
Security.LOCAL_WITH_FILE(只能与本地文件系统内容交互的本地沙箱)
Security.LOCAL_WITH_NETWORK(只能与远程内容交互的本地沙箱)
Security.LOCAL_TRUSTED(受信任的本地沙箱)


Flash 安全沙箱的常见需求及解决
1. 跨脚本访问
??????? 跨脚本访问就是不同的Flash程序之间,对对方的SWF文件中的变量,对象,属性,方法进行检查或者修改。
??????? 一) 同域:同域之间的SWF可以自由互访,被认为是互相可以信任的。
??????? 二)不同域: 不同域之间的SWF永远默认为不可信任,除非使用跨站访问策略进行信任联系:
???????? 1)crossdomain.xml
???????????? 放置于站点的根目录下。
????????
???????? 2) Security.allDomain()? & Security. allowInsecureDomain()
????????????? 在需要被访问的SWF中使用此方法,允许指定域下的SWF对其进行访问。
?
???????? 注意: 1. www.baidu.com& tieba.baidu.com被认为是不同域
???????????????????? 2. 以上两种策略均为单向,如要互访则需要双边都是用到访问策略。

2.访问页面脚本
????????? 访问页面脚本主要是与JS的互访。
??? 一. 页面上的Object和Embed标签都有allowScriptAccess参数,该参数有三个设置选项:
??????? 1) “Never”??? 不与页面脚本交互
??????? 2) “sameDomain”?? 只与该Web页同域下的脚本交互
??????? 3) “Always”??? 始终可以访问Web页下的脚本
??????? ?默认情况下,flash palyer 8以上版本该参数值为“sameDomain”
?
??? 二.互访机制? ExternalInterfa
????????? 1)使用页面脚本
????????? ExternalInterface.call(/*脚本的对象方法*/);
????????? 2) 提供给脚本的API
????????? ExternalInterface.addcallback(‘functionName’,closureFunciton);

3.POST和文件上载

??? 一.必须从用户事件处理函数(鼠标或键盘事件)调用 FileReference.browse()。
?
??? 二.如果上载的文件转到的服务器所在的域不同于调用FileReference.upload() 的????????

???????????? SWF 文件所在的域,则目标服务器上需要一个URL 策略文件,它信任SWF 文件? ?????????????

???????????? 的域。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读