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:\windows\system32\Macromed\Flash\FlashPlayerTrust。

2、用户控制
相对于第1种,这里的用户是指普通用户。有这三种类型的控制:

a)、摄像头与麦克风设置

b)、共享对象存储设置–SharedObject(FlashPlayer 6)

c)、相对与"全局 Flash Player 信任"目录,用户权限这也有个"用户 Flash Player 信任"目录。默认路径:C:\Documents and Settings\Ice\ApplicationData\Macromedia\Flash Player\#Security\FlashPlayerTrust。

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安全沙箱的分类:

  1. 远程沙箱

  2. 本地沙箱

远程沙箱

远程沙箱控制远程域上浏览器环境中的策略。实行严格域策略,例如: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 文件的域。

Flash安全沙箱调研相关推荐

  1. Flash安全沙箱和跨域文件

    1.1 简述flash的安全沙箱 1.Flash有四种基本的沙箱类型: Remote: swf来自网络,遵守域的沙箱规则,不能读取不同域中的资源,除非有设置. Local with file :swf ...

  2. Cuckoo沙箱调研

    Cuckoo沙箱官网: https://cuckoosandbox.org/blog/207-interim-release 最新的一次更新是在2019-6-19,更新了2.0.7版本 不过根据更新里 ...

  3. 浅谈Flash Socket通信安全沙箱

    用过Flash socket的同学都知道,Flash socket通讯有安全沙箱问题.就是在Flash Player发起socket通信时,会向服务端获取安全策略,如果得不到服务端响应,flash将无 ...

  4. Flash中的隔离沙箱

    推荐文章: 教程:深入理解Flash的沙箱 – Application Domains 教程:深入理解Flash的沙箱 – Security Domains 我在9ria上的提问: [AS3] 有没有 ...

  5. Web安全1沙箱隔离

    1.web安全 Web安全的本质是信任问题 •由于信任,正常处理用户恶意的输入导致问题的产生 •非预期的输入(就是不是程序员预期的客户的输入) 安全是木桶原理,短的那块板决定的木桶世纪能装多少水,同样 ...

  6. 火狐浏览器firefox adobe flash player 崩溃

    Mozilla出品的Firefox浏览器,凭借高度自定义组件,开源的内核,较高的安全性,丰富的扩展应用.火狐浏览器更新速度很快,现在迎来了最新版本号24,熟悉Firefox浏览器的用户对于Adobe出 ...

  7. 打开网页出现“安全沙箱冲突”的提示

    文章转自网络: 为了满足安全要求,Flash在它的AS3.0里提出了安全沙箱这一概念,在未经授权的情况下,Flash默认是不允许进行跨域通信的,这样使得Flash的安全可靠性得到了提高,同时也带来了一 ...

  8. 安全策略手记 (安全沙箱全攻略)

    转载请注明出处:http://hi.baidu.com/蜡笔工作室/blog/item/ba395a52dbc2fa020df3e3d8.html 昨天在做项目的时候遇到可恨的安全沙箱问题,折磨了好久 ...

  9. 关于Flash Player 10 socket connection timeout

    转载请注明,来自:http://blog.csdn.net/skyman_2001 今天我在调试游戏的时候,发现一个有趣的现象,就是flash连接上服务器后,服务器关闭连接,flash会触发secur ...

最新文章

  1. Linux下如何对tomcat Java线程进行分析?
  2. MyBatis 框架系列之基础初识
  3. android_Snake
  4. [mybatis]缓存_一级缓存_一级缓存失效的四种情况
  5. 站在前人的肩膀上,新一代数学家正在崛起
  6. 2 PP配置-一般设置-为工厂分配工厂日历
  7. mybatis plus 格式话_作为阿里的面试官,我有话想说
  8. IDEA本地运行Spark项目[演示自定义分区器]并查看HDFS结果文件
  9. 史上最全android分辨率
  10. R语言中文社区世界读书日图书推荐(含赠书活动)
  11. 三台服务器无需密码相互访问
  12. 求Python字典最小(最大)values对应的key
  13. 期末前端web大作业——用前端语言写一个小游戏
  14. 打印DPI如何与计算机DPI一致,ps打印尺寸怎么设置和实际纸张一致? -电脑资料
  15. 【Ps2D】将PS图层导入Unity的插件
  16. 如何与朋友同步观看YouTube视频
  17. c语言字符串的加减乘除,c语言加减乘除代码
  18. 中国电子学会2022年09月份青少年软件编程Scratch图形化等级考试试卷三级真题(含答案)
  19. mysql提权软件后门_Mysql提权留后门
  20. 工作电路简单到令人发指的蓝牙芯片,一起看看

热门文章

  1. 《职来职往》里的经典语录,总有一句震惊到你!
  2. python语言不用编译_python程序不需要编译吗
  3. iOS开发基础知识--碎片37
  4. python处理时间序列_Python——Pandas 时间序列数据处理
  5. 什么是Serv-U,什么是servu,Serv-U,servu
  6. 基于SpringBoot+Mybatis的SaaS平台搭建
  7. 开关电源(1)之BUCK降压变换器工作原理及Multisim实例仿真
  8. 手机密码大全及国产贴牌与OEM型号对照表
  9. 良知VS野心,苹果为何要翻新手机?
  10. c语言设计一个学生成绩管理系统,用C语言设计的学生成绩管理系统1.doc