`
airfans
  • 浏览: 124596 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

最新火爆游戏巨献——谈Flash Player的安全机制

阅读更多
最新火爆游戏巨献——谈Flash Player的安全机制

话说在世界的尽头,太阳落下彩虹升起的地方,有一个神秘的部落。在这个部落里,房子是用金子盖的,路是用鲜花铺的,女孩子都很漂亮,男孩子都很帅。山上的丛林里,山下的小河中,都蕴含着丰饶的物产。自古以来,部落里善良勤劳的人们与世隔绝,自给自足,过着幸福的生活。
1969年发生了一件大事,ARPAnet正式启用并在稍后被称做INTERNET,从此大地风云变色,风起云涌,沧海桑田,换了人间。40年过去,弹指一挥间,当年的神秘部落也在潮涨潮落间悄悄有了改变……
外界的奸商看着这片丰饶的土地流下了口水,普通的民众也对也对它神秘的一面充满了新奇。我们不禁要关注这个可爱部落的前途命运,在迎接世界的过程中,它将得到还是失去……

OK, 以上是年度游戏大作《Flash Player安全机制》的片花介绍,现在我们来详细解释游戏规则。

总体说明:
1. 与部落打交道的外界的人和资源集中在外界的“商场”里,也就是部落对外交流的接口是一个个的商场,每个商场里面有外界的资源和外界的人。
2. 游戏任务是保护部落里的资源不被外界滥用,这种保护是通过制定规则来做到的

游戏构成:
1. 机构:(资源在机构之间流通)
a. 外界的商场:包括商场A,商场B,...,商场N
b. 部落土著的工厂:收购部落本身的物产进行生产
c. 外界人员组成的神秘部落探险队:对部落小心刺探,与外界联系紧密
d. 部落土著组成的学习外界先进科学文化知识小组:由血统纯正,忠诚无比的部落先进分子组成,代表部落先进生产力,先进文化,先进……
2. 资源:(包括人和物产)
a. 人:二十一世纪什么最贵?人才!人是第一位的,是具有主观能动性的资源
b. 金矿石
c. 金子
d. 千年雪莲
3. 老板:(管理资源在机构间的流通)
a. 外界商场老板:每个商场一位老板
b. 部落的头领:部落最高领导人,仅有一位,拥有至高无上的权利(在部落中)
c. 人的思想:这个不太好描述,俗话说解放思想实事求是,可见思想可以控制人的行为。因此思想也算是老板,它可以控制人做什么或不做什么
4. 通行证:(资源流经各个机构时,老板是否允许其通行的凭证)
a. 商场通行证:可以用来说服商场老板开放资源
b. 部落头领通行证:可以用来说服头领把资源分配到土著学习小组去
c. 解放思想通行证:此证可以解放人的思想,堪称魔力无穷,相当犀利

游戏规则:(重点来了啊)
1. 外界的商场不允许直接访问土著的工厂、探险队、学习小组的一切资源。因为外界是不受部落信任的,它的一举一动都被严密监视,它不能主动对部落做任何刺探
2. 外界的商场之间可以互相沟通往来资源,前提是商场老板间有通行证随同
3. 土著的工厂收集本部落的一切资源,也可以征用本部落的一切人员
4. 土著的工厂不能与外界的探险队有任何往来。这个很重要,因为探险队可能是外界派来的侦查兵,或潜伏人员
5. 土著的工厂可以与学习小组交换一般的资源,但是只有提供解放思想通行证,才能与学习小组的人员交流(这个交流可以是简单的语言交流,也可能是通婚,程度不限,因此要慎重)
6. 土著的工厂不允许使用外界商场的一切资源。这也合情理,土著嘛,都相信自然是最美的,非自然是危险的
7. 外界探险队可以收集部落内的金矿石,进行研究
8. 外界探险队不可以直接收集部落内的金子,这不是研究了,而是掠夺
9. 外界探险队不可以收集千年雪莲,因为这个对部落来说也很珍贵
10. 外界探险队不可以使用土著工厂的任何资源。与规则4保持一致
11. 外界探险队可以与学习小组的人员交流,只要能提供解放思想通行证(这是非常危险的行为,万一学习小组内部有潜伏人员……)
12. 外界探险队使用外界商场的资源,只要有商场通行证。外界的人还是用外界的东西比较舒服
13. 学习小组可以使用所有的资源。这个概括是有力的,因为学习小组得到了头领或分片领导的信任,它可以内外通吃,想吃就吃,想拿东西就拿东西,想用人就用人,不需要任何通行证

好了,针对上面的规则,有办法让部落的资源外泄吗?需要注意的是,通行证可不是好搞的啊,特别是部落内的通行证,合理的才能发,因为部落里的人可不懂走后门这一说。




真相还原

总体说明:
1. 部落是指电脑主机,里面有各种各样隐秘的资源。商场是指各个website,上面有外界的静态资源和flash SWF文件资源 。
2. Flash安全机制的目的主机的资源不被外界滥用,这种保护是通过制定规则来做到的。

安全机制构成:
1. 安全沙箱(sandboxes):
a. 远程沙箱(Remote sandbox): 不同的website属于不同的远程沙箱,例如sitea.com和siteb.com都属于远程沙箱,但是属于不同的远程沙箱
b. 本地文件系统沙箱(local-with-filesystem sandbox):对本地文件系统比对远程有更多的访问权
c. 本地网络沙箱(local-with-networking sandbox):对远程范围比对本地有更多的访问权
d. 本地信任沙箱(local-trusted sandbox):本地受信任沙箱,对本地资源和远程资源都有绝对的访问权
2. 资源:(包括swf文件和静态资源)
a. Swf文件:是唯一的主动资源,因为它可以访问其他资源,它自身也可以作为资源被load,或者被cross-script访问
b. Load 资源文件:比如load一个图片,或者音频、视频等
c. 访问资源文件的内容:比如查看图片的像素,音频中的ID3属性等。这属于在资源中提取有价值的属性,恰似在金矿石中提取金子,因此它受限多一些
d. Load数据:比如load一个XML文件或者二进制文件。基本上b、d很难用语言区分,区分它们的最好办法是通过API的调用,一些API划分为b,另一些划分为d,具体参看文档~
3. stakeholder:
a. 网站管理员
b. 本地主机管理员:事实上还有本地主机普通用户也是作为一个stakeholder,但与主机管理员职责相似,只是主机管理员决定整个系统的配置,而用户负责自己账户的配置
c. Swf文件创建者:创建swf文件者可以决定此文件是否允许被交叉脚本访问,即cross-script,即开放接口和数据供另一个swf文件调用
4. Policy file:
a. 发布者许可(政策文件):是一个简单的xml文档,给予其信任来源的swf文件访问资源的权利
b. 管理员控制文件:用于管理员启用或限制用户对各种功能的访问,其形式有使用mms.cfg文件、全局Flash player信任目录、设置UI和设置管理器等
c. 创建者许可:通过在创建swf文件时调用“Security.allowDomain()”方法,来允许其他swf文件对其进行交叉脚本访问。见3(c)

规则:
1. Remote sandbox 中的swf不允许直接访问本地主机资源
2. Remote 范围内的各个sandbox域可以互相访问,但除了2(b)外一般需提供4(a),交叉脚本控制时需提供4(c)
3. Local-with-filesystem sandbox可以访问本地文件系统的一切资源,也可以交叉脚本访问本地文件系统的swf文件
4. Local-with-filesystem sandbox不允许访问local-with-networking的一切资源
5. Local-with-filesystem sandbox只有提供4(c)才可以交叉脚本控制local-trusted sandbox中的swf文件
6. Local-with-filesystem sandbox不允许访问remote sandboxes 中的一切资源
7. Local-with-networking sandbox可以进行2(b)
8. Local-with-networking sandbox不可以进行2(c)
9. Local-with-networking sandbox不可以进行2(d)
10. Local-with-networking sandbox 不允许访问local-with-filesystem的一切资源
11. Local-with-networking sandbox可以对local-trusted进行2(b),但只有提供4(c)才可以交叉脚本控制local-trusted sandbox中的swf文件。
12. Local-with-networking sandbox可以对remote sandboxes进行2(b),但只有提供4(c)才可以交叉脚本控制local-trusted sandbox中的swf文件,而且只有提供4(a)才允许进行2(c)和2(d)
13. Local-trusted可以对任何sandbox域的资源进行访问和交叉脚本控制


场景虚拟:
1. 本地主机有一个私密文件,上面有用户银行账号,在C:\Program Files\Adobe\bankaccount.txt中
2. Hacker给主机用户发送一个Email,里面有个动画hack.swf作为附件
3. 主机用户运行hack.swf,hack.swf在播放一些防止人多拥挤,电梯故障处理等视频的同时,偷偷使用URLLoader(C:\Program Files\Adobe\bankaccount.txt)装载文件,并且通过net.sendToURL()把它传到Hacker的网站
4. Hacker发财了
这里注意,步骤3是不可能的,因为hack.swf在本地被打开,它可能位于local-with-filesystem sandbox或位于local-with-networking sandbox(这由编译时”-use-network”选项决定)。假设:
1. 位于local-with-filesystem sandbox:net.sendToURL()是与remote sandbox打交道的API,因此会被阻止
2. 位于local-with-networking sandbox:URLLoader()本地文件系统的内容会被阻止
所以,由于flash player安全机制的保护,本地用户是安全的,这就是为什么Hacker里没有太富的人的原因。



宗旨:
为了帮助刚刚接触安全机制的同学理清思路,明白概念,这里只大概描述了一些最主要的枝干,具体的细节请参看官方文档:http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d23.html


--球状闪电
分享到:
评论

相关推荐

    怎样在Ubuntu Linux上安装最新的FlashPlayer 10

    Ubuntu Linux 上安装最新的 FlashPlayer 10.2 beta FlashPlayer 是一个非常流行的浏览器插件,用于播放 flash 视频和游戏。 Adobe 公司最近发布了最新的 FlashPlayer 10.2 beta 版本,这个版本带来了阶段性视频硬件...

    flashplayer V10.1.85

    为了保持最佳性能和安全性,建议定期检查更新,确保始终使用最新版本的Flash Player。 总之,FlashPlayer V10.1.85作为一款重要的多媒体播放工具,其单文件运行模式和丰富的功能使其在当时的网络环境中占据着重要...

    Flash Player 卸载工具 Adobe Flash Player Uninstaller 34.0.0.92.rar

    7. **安全防护**:卸载后,保持操作系统和浏览器的最新安全更新,以防范可能利用Flash Player旧版本漏洞的攻击。 总的来说,Adobe Flash Player Uninstaller 34.0.0.92是一个为了用户安全考虑的实用工具,它帮助...

    flashplayer-34.0.0.289独立版

    描述中提到的“swf文件播放器目前最新版”是指该版本的Flash Player是最新的,专为播放SWF文件设计。SWF是ShockWave Flash的缩写,是Adobe Flash的二进制文件格式,广泛用于在线动画、广告、教学课件、小游戏等。...

    最新flashplayer离线安装包下载.txt

    最新flashplayer离线安装包下载

    FlashPlayer11版本地播放器-精简版

    因此,虽然这款精简版的FlashPlayer11本地播放器在一定程度上解决了离线播放的问题,但用户需谨慎使用,特别是在涉及网络安全和隐私的情况下,因为旧版本的Flash可能存在安全漏洞。 总的来说,FlashPlayer11本地...

    flashplayer debug 版

    Flash Player Debug版是一款专为开发人员设计的特殊版本,它允许开发者在运行含有ActionScript代码的Flash内容时进行调试。ActionScript是Adobe Flash环境中用于创建交互式内容、动画和应用程序的主要编程语言。与...

    Flash Player离线安装包

    Flash Player离线安装包下载

    64位浏览器的flash插件下载(flashplayer for 64-bit browser)

    标题 "64位浏览器的Flash插件下载(flashplayer for 64-bit browser)" 指的是Adobe Flash Player的64位版本,这是一个用于在Web浏览器中播放Flash内容的插件。在过去的互联网时代,Flash是展示动画、游戏和多媒体内容...

    Arm64 Flashplayer Linux UOS 鲲鹏 飞腾

    6. **Flash Player**:Adobe Flash Player是一款用于播放Flash格式媒体内容的软件,曾经广泛应用于网页视频、游戏和动画的展示。然而,随着HTML5技术的发展,Flash逐渐被淘汰,Adobe公司于2020年底停止了对Flash ...

    FlashPlayer_flashplayer_

    此外,开发者还需要关注安全性问题,因为FlashPlayer在后期版本中存在许多安全漏洞,这可能需要在应用程序中进行额外的防护措施,比如限制Flash内容的权限或及时更新Flash Player组件。 总结来说,"FlashPlayer_...

    flashplayer_10_sa SWF动画播放工具 本地播放

    标题中的“flashplayer_10_sa”指的是Adobe Flash Player的一个特定版本,主要针对SWF文件进行本地播放。SWF(Small Web Format)是Adobe Flash创作的动画或应用程序的文件格式,广泛应用于网页上的互动内容,如游戏...

    FlashPlayer11-5安装包

    FlashPlayer11-5安装包FlashPlayer11-5安装包FlashPlayer11-5安装包FlashPlayer11-5安装包

    Adobe Flash Player for IE v11.3.300.265

    Adobe Flash Player v11.3.300.265最新版更新内容:— Flash Player的全屏键盘输入;— NetStream功能为音频流提供低延迟音频支持;— Sound API支持低延迟音频;— Windows平台下,为Firefox新增保护模式...

    Flash_player_10_ActiveX插件For IE

    Flash Player 10 ActiveX 插件是针对Internet Explorer浏览器的一款关键组件,它使得用户能够在网页上顺畅地播放Flash内容,如动画、游戏、视频和交互式应用程序。这个插件在互联网的早期阶段尤其重要,因为当时许多...

    FlashPlayer Linux插件

    FlashPlayer是一款广泛应用于各种操作系统,包括Linux的网页多媒体播放器,尤其在早期互联网时代,它对于观看在线视频、玩Flash游戏以及使用含有Flash元素的网页应用至关重要。标题提到的"FlashPlayer Linux插件",...

    最新的 flashplayer 播放和调试+卸载 11.4

    Flash Player是一款广泛应用于网页端的多媒体播放器,尤其在视频和动画内容的展示...通过下载并安装这个压缩包,用户可以享受到最新的播放功能和强大的调试工具,同时也能确保安全有效地管理Flash Player的安装与卸载。

    flashplayer.rar

    Flash Player一度成为在线视频和游戏的标准,几乎每个浏览器都内置了这款插件。 二、ActionScript与SWF格式 ActionScript是Flash Player的核心编程语言,它是一种基于ECMAScript的脚本语言,允许开发者创建复杂的...

    InstallFlashPlayer10.2.159.1.exe flashplayer最新版本2011-4-25更新

    用户通常会下载并运行这样的安装程序来确保他们的Flash Player版本是最新的,以获取最佳的浏览体验和安全性。 在压缩包子文件的文件名称列表中,唯一列出的文件是"InstallFlashPlayer10.2.159.1.exe",这通常是一个...

Global site tag (gtag.js) - Google Analytics