也谈Flash Player中的安全沙箱

2009年12月20日 | 分类: Flex&AS3研究 | 标签: ,

tn_sandbox_725290816全沙箱问题说白了是个访问资源的权限问题。只不过规则比较复杂,而且需要先理解好多概念。Adobe(或者以前的Macromedia)之所以弄这么复杂的规则,一个很重要的原因就是Flash Player客户端的安全问题。试想如果一个从网络加载的.swf既能访问网络,又能访问本地文件,就相当于在客户端安装了一个木马,还有谁会安装Flash Player。一个.swf能否成功访问某个资源,取决于很多因素,包括:

  1. 访问的资源的类型,或者说访问方式。
  2. .Swf文件的安全沙箱类型。
  3. 访问的资源所处的位置。
  4. 资源的所有者或者创建者对资源赋予的访问权限(crossDomain文件,Security.allowDomain()方法)。
  5. 用户对.swf文件赋予的权限(主要是对麦克风和摄像头的访问)。
  6. Flash Player运行.swf文件的模式。

这里主要讨论了前四个因素。首先要理解一些关键概念,包括什么是安全沙箱,资源的类型,资源的所有者,资源的创建者。理解完这些概念,也就自然会对安全沙箱有一个清晰的认识了。

安全沙箱

安全沙箱是个容易让人迷糊的概念。我第一次看到这个词,觉得是个它容器,在里面的就是安全的。其实,大多数情况下我们提到这个词,往往指的是一个.swf文件的安全沙箱类型(Security-Sandbox-Type)。说白了就是.swf文件的一个属性。就像一个Canvas对象的width属性。一般来说,.swf文件的安全沙箱类型可能是以下几种:

  • 远程网络域(remote)。通过网络协议加载的swf都属于远程网络域。
  • 本地文件域 (local-with-filesystem)。通过文件系统访问,并且编译时-use-network=false。
  • 本地网络域(local-with-networking)。通过文件系统访问,并且编译时-use-network=true。这个是默认选项。
  • 本地受信任域(local-trusted)。这个就比较麻烦了,需要在Flash Palyer的一个叫做FlashPlayerTrust的文件夹中的某个.cfg文件中配置路径,那么在这个个路径下的.swf文件就算是在本地受信任域中了。该文件夹在2000和XP系统的路径是:%userprofile%\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust在Windows7系统的路径是%userprofile%\AppData\Roaming\Macromedia\Flash Player\#Security\FlashPlayerTrust比方说你想让C盘下所有的.swf文件都属于本地受信任域,那么就在%userprofile%\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust下面新建一个文件,比方说叫myTrust.txt,在里面写入“c:\”,然后将文件名改为myTrust.cfg就可以了。用Flex Buider开发的程序默认都属于本地受信任域(在本地运行),原理就是Flex Buider会在上面提到的文件夹中添加一个flexbuilder.cfg文件,里面的内容就是项目的big-debug文件夹和big-release文件夹。我曾经遇到过这样的情况,用as调用外部的javascript,在用Flex Buider调试时是可以的,但是把release出来的文件拷贝到本地硬盘的另外一个地方,就报安全沙箱的错误。原因就是我运行的位置不属于受信任区域,通过添加一个配置文件就可以解决了。

资源的类型(或者说访问方式的类型)

  • 加载视听内容。比方说显示图片或者播放音频或视频文件。注意,只是用来显示或播放。如果访问loader的content方法,就是另外一回事了。用下面几个方法加载资源,都属于加载视听内容:

加载视听内容的方法

类型

flash player9支持的文件类型

flash.display.Loader.load()

Image,Adobe Flash

jpeg,gif,png,swf

flash.media.Sound.load()

Audio

mp3

flash.net.NetSteam.play()

Progressive Video

flv

  • 将视听内容作为数据访问。上面的几个方法,如果加载完成后访问了loader的content属性,就不仅仅是加载视听内容了,而是加载视听内容并且将视听内容作为数据访问。因为访问了loader的content属性就相当于访问了被加载文件的二进制流。下面几种情况都属于将视听内容作为数据访问:

操作

描述

通过loader的实例属性content访问图像

相当于解析出一个被加载图片的Bitmap对象

调用BitmapData的draw()方法

拷贝一个BitmapData对象

调用SoundMixer的computeSpectrum方法

将音频文件的数据拷贝到一个ByteArray对象中

访问Sound对象的id3属性

读取一个音频的id3元数据

  • 脚本互访。通过编程的方式访问一个被加载的.swf文件都属于脚本互访。包括:

使用loader对象的content属性

访问被加载.swf文件的属性和方法

使用bitmapData对象的draw()方法来将一个被加载swf文件的像素拷贝到一个BitmapData对象中。

  • 加载数据。加载数据和加载视听内容的区别在于:加载视听内容只是用来显示或播放,并不会通过编程的方式获得其在内存中的二进制;而加载数据是获得其二进制流。下面两种方法都属于加载数据:通过URLLoader来加载文本、二进制数据;通过URLStream加载数据。
  • 连接到socket。
  • 向外部的URL发送数据。
  • 访问用户的摄像头和麦克风。
  • 访问本地的shared Object。
  • 上传或下载文件。

资源的所有者

即拥有该资源的一方。比方说http://www.example.com/a.png这张图片,他的发布者就是example.com该站点的管理员。而所有者允许就是指网站管理员在网站根目录下放置一个crossDomain文件,里面包括对允许那些站点访问该网站资源的配置。crossDomain文件的格式一般如下:

<?xml version=”1.0″?>

<!DOCTYPE cross-domain-policy

SYSTEM “http://www.adobe.com/xml/dtds/cross-domain-policy.dtd”>

<cross-domain-policy>

<allow-access-from domain=”www.example1.com”/>

</cross-domain-policy>

资源的创建者

一般指swf类的资源,该swf的创建者是指该swf文件的作者,或者说在编译前有能力改变其源代码的人。创建者允许是指在代码内通过设置Security.allowDomain(”site-b.com”)来允许某个站点的swf的脚本互访。

常见的一些安全沙箱的限制

  • 远程网络域的安全沙箱:

操作

本地域

与主SWF同域

与主SWF异域

加载视听内容

禁止

允许

允许

将视听内容作为数据访问

禁止

允许

所有者允许的情况下允许

脚本互访

禁止

允许

创建者允许的情况下允许

加载数据

禁止

允许

所有者允许的情况下允许

  • 本地网络域安全沙箱

操作

本地非swf资源

本地文件系统域下的swf

本地网络系统域下的swf

本地受信任域下的swf

远程网络域

加载视听内容

允许

禁止

允许

允许

允许

将视听内容作为数据访问

禁止

不适用

不适用

不适用

所有者允许的情况下允许

脚本互访

不适用

禁止

允许

创建者允许的情况下允许

创建者允许的情况下允许

加载数据

禁止

不适用

不适用

不适用

所有者允许的情况下允许

  • 本地文件域的安全沙箱

操作

本地非swf资源

本地文件系统域下的swf

本地网络系统域下的swf

本地受信任域下的swf

远程网络域

加载视听内容

允许

允许

禁止

允许

允许

将视听内容作为数据访问

允许

不适用

不适用

不适用

禁止

脚本互访

不适用

允许

禁止

创建者允许的情况下允许

禁止

加载数据

允许

不适用

不适用

不适用

禁止

  • 本地受信任域的安全沙箱

操作

本地非swf资源

本地文件系统域下的swf

本地网络系统域下的swf

本地受信任域下的swf

远程网络域

加载视听内容

允许

允许

允许

允许

允许

将视听内容作为数据访问

允许

不适用

不适用

不适用

允许

脚本互访

不适用

允许

允许

允许

允许

加载数据

允许

不适用

不适用

不适用

允许

总结

从上面的表格可以看出,加载视听内容的限制是最宽松的,大多数情况下是允许的。脚本互访是的限制是最严格的,只有在所有者允许的情况下才可以。将视听内容作为数据访问和加载数据的限制实际上是同的,本质上它们也是相同的操作,都是访问数据。当我们遇到一个安全沙箱问题时,不妨先想一想swf文件的安全沙箱类型和访问资源类型,再参照下上面的表格,也许就会清楚一些了。还有很多操作这里并没有总结其限制方式,如连接到socket,调用外部的javascript等。这些内容在Adobe的官方文档中都有相应的介绍,具体可参见Adobe’s Security Topic CenterAdobe’s Flash Player Help,还有http://www.adobe.com/devnet/flashplayer/articles/flash_player_9_security.pdf

  1. 2010年5月12日08:21

    message1, Buy klonopin online. buy klonopin without a prescription, Xjk8DnS2

  2. 2010年5月20日02:21

    message8, Buy inderal online. where to buy inderal

  3. 2010年5月20日22:11

    meteorological united criticized biological cloud relatively sulfate available galactic [url=http://apolloalliance.org]studies link worldwide adapt proxy[/url] http://iopscience.iop.org

  4. AnenseGow
    2010年5月22日10:17

    SalamenoBam
    ybef

  5. 2010年5月25日18:22
  6. 2010年6月24日09:57

    doors.txt;10

  7. 2010年6月26日03:42

    To be a good lenient being is to have a amiable of openness to the far-out, an cleverness to trusteeship undeterminable things beyond your own pilot, that can front you to be shattered in very exceptional circumstances on which you were not to blame. That says something uncommonly impressive with the fettle of the principled life: that it is based on a trust in the up in the air and on a willingness to be exposed; it’s based on being more like a shop than like a jewel, something kind of tenuous, but whose extremely item attractiveness is inseparable from that fragility.

  8. 2010年7月2日10:05

    doors.txt;7

  9. Bloopycle
    2010年7月3日02:34
  10. Bloopycle
    2010年7月3日03:47
  11. glunsetle
    2010年7月22日06:02
  12. glunsetle
    2010年7月22日06:31
  13. 2010年7月25日00:48

    qQcPGZ iaqqxeffrjim, [url=http://larhntjhqzip.com/]larhntjhqzip[/url], [link=http://hiatjbyijsij.com/]hiatjbyijsij[/link], http://cmhudvvlwaso.com/

  14. glunsetle
    2010年8月1日22:20
  15. glunsetle
    2010年8月1日23:03
  16. faifsVareTife
    2010年8月4日14:21
  17. faifsVareTife
    2010年8月4日15:09
  18. Voninanny
    2010年8月17日10:13
  19. Gymnanyunlomy
    2010年8月19日00:30
  20. Gymnanyunlomy
    2010年8月19日01:21
  21. 2010年9月3日15:51

    generic cialis pills in uk ,generic cialis pills online generic
    generic cialis soft comparison ,generic cialis vs cialis
    online pharmacy generic cialis pills,online generic cialis
    order cialis ,order cialis uk
    buy cialis online pharmacy online,buy cialis online cheap pharmacy here
    buy cialis next day delivery ,buy cialis line
    cialis 4 tablets,cialis 36 hour commercial
    cialis canadian generic ,cialis canadian epharmacy
    cialis discount coupon,cialis discount india

  22. 2010年9月3日21:53

    generic cialis pills stories ,generic cialis pills in uk
    generic cialis vs cialis ,generic for cialis
    online purchase of cialis,online pharmacy cialis pills
    order cialis online ,order cialis without prescription
    buy cialis online cheap pharmacy here,buy cialis online uk
    buy cialis on line ,buy cialis delived next day
    cialis 20mg,cialis 10 20 mg picture
    cialis canadian market share ,cialis canadian geneic
    cialis discussion forum,cialis discussion board

  23. 2010年9月5日01:53

    generic quality and viagra,generic name viagra
    generic viagra gel tab ,generic viagra from india
    generic viagra tab,generic viagra softtabs
    get a free viagra pen ,get discount viagra online
    levitra comparison viagra,levitracialis levitra viagra vs vs
    natural viagra pharmacy online ,natural viagra alternative review
    online generic viagra sales,online check payment viagra
    online viagra sales ,online viagra pharmacie miami florida
    online viagra prescription canada,online viagra with insurance
    ordering generic viagra in canada, order viagra here

  24. 2010年9月7日00:37

    buy buy online viagra viagra,buy cheap viagra on the net
    3 generic viagra ,2buy levitra online viagra
    yahoo video results tagged as viagra,what makes viagra work
    viagra videos ,viagra viagra edinburgh charles find pages
    viagra ups delivery,viagra use and abuse
    viagra symbol ,viagra travel
    viagra soft tabs usps,viagra speedo videos
    viagra safety information ,viagra side effects
    viagra pill cutter,viagra plotters chance downfall bbc news
    viagra pain relief women, viagra patent china
    viagra online,viagra online shop uk
    viagra alternative african black ant capsule ,viagra 50
    order viagra now money,order viagra overnight shipping
    online viagra uk ,online viagra prescriptions
    online prescription scams viagra,online ed drugs viagra samples package
    generic viagra information ,generic viagra rating
    generic nbsp nbsp viagra,generic viagra is safe
    viagra cheap canada ,viagra cock
    viagra free pills,viagra for lung disease

  25. 2010年9月7日17:34

    term own price hotel
    airline ranking
    hotel booking usa
    lowest prices hotels
    take hotel booking
    houseing
    car booking
    cheap hotels lake district
    hotels and prices
    worldwide business bearing
    summer case
    hall hotel
    terseness quality
    cost of caravanserai
    kuwait airways husbandry genre
    mid price hotels
    engage cheap
    cheap line interest
    burleigh heads conformation
    pensione hotel
    airline booking classify
    shabby conformity
    cheap hostelry rate
    cheap cardiff hotels
    cheap outfit signs
    divide up 8 rentals
    levico terme

  26. 2010年9月7日20:15

    bestellen viagra,better viagra cialis
    buy online prescription viagra ,buy online pharmacy viagra
    buy viagra buy cheap viagra index,buy viagra meds online
    buy viagra securely online ,buy viagra per pill
    buying viagra in spain,by viagra online
    canada from generic viagra ,canada no prescription viagra
    cheap pharmacy viagra cialis levitra,cheap free free viagra viagra
    cheap viagra prescription online ,cheap viagra overnight delivery
    cialis drug levitra viagra,cheapest uk viagra
    cialis viagra online, cocaine with viagra
    alcohol and viagra and side effects,achat viagra france
    buy online sale viagra ,buy discount generic viagra
    buy viagra cialis levitra,buy viagra online and get prescription
    buy viagra price drugs on ,buying herbal viagra
    50mg viagra retail price,2737 aid prevacid viagra zyrtec
    buying viagra in the united kingdom ,calcium channel blockers viagra
    cheap sale viagra,cheapest uk supplier viagra
    cialis and levitra viagra medications internet ,cialis levia and viagra
    discount pfizer viagra,dating personals viagra

1 trackbacks

  1. Casino 1274017672 引用 | 2010/05/16
Դ