返回织梦建站服务网首页 业界新闻 教程文档 资源下载 酷站鉴赏 免费服务 站长工具
织梦建站工作室
织梦建站论坛
载入中…
专题栏目
最新热门
>>更多热门...  
最新推荐
>>更多推荐...  
  您现在的位置: 织梦建站服务网 >> 建站教程 >> WEB多媒体 >> Flash >> 教程正文
Apollo是危险的吗?            
HITS: TIME:2007-4-27 9:58:34 AUTHOR:KingdaSu… URL:蓝色理想
CONTENT INTRODUCE :
放大文字  缩小文字  发表评论  加入站内收藏夹  告诉好友  打印模式  关闭窗口 

KingdaSun的blog:http://www.kingda.org/

善意的警告,目前所有发布的Apollo(alpha1)的air文件都可能是你系统潜在的杀手。有可能是作者无意间所犯的编程错误,也有可能是有意而为之。敬告所有Apollo爱好者请勿要乱下air文件安装执行。应该只从值得信赖的网站下载,或者只下载有源码的Apollo程序,自行编译。

Apollo不是Flash,它的功能所及远远超过Flash,它的危险也远远超过Flash。

一年多前Apollo的传言漫天飞时,在激动之余,黑羽不禁就在想Apollo提供的安全模型会是怎样。任何一个可以和用户本地系统打交道,又可以和网络打交道的东西,在我看来都是危险分子或是潜在的威胁。所以我就在想Adobe能解决好这个问题吗?当然在目前的情况下,是不可能完全消除这种类型程序的危险性的。我所要求的是,能有一个合理的安排,换句话说,区分不同的程序访问权限,给于不同的权力。

而现在,毋庸讳言,Apollo Alpha 1是危险的。等到将来的Apollo正式版会有安全权限的区分,但现在Alpha1的程序是有潜在危险的。

从安全策略上

Apollo alpha1对所有Apollo程序只提供一种安全沙箱——Security.APPLICATION。这是目前除了LOCAL_TRUSTED、LOCAL_WITH_FILE、LOCAL_WITH_NETWORK、REMOTE之外提供的第五种安全沙箱。按危险性大小来排序,就是REMOTE<LOCAL_WITH_NETWORK<LOCAL_WITH_FILE<LOCAL_TRUSTED <<< APPLICATION 不受限制的从外部载入数据,这一点本身就是危险的。要小心在载入的超链接中有代码注入(code injection),下载的swf含有敌意的操作,处理缓存json数据时恶意代码僵尸复活。

从客户端系统访问上

Apollo程序可以访问本地文件。我们所有Apollo的粉丝都在欢呼这一点。但是,从来不可忘记,这东西是双刃剑,可以攻城也可自伤。目前的Apollo alpha 1编译出来的apollo程序(打包文件是air),都是可以访问本地所有文件的。对Windows系统而言,使用Apollo,可以轻松访问到你本地电脑上所有文件,包括Windows, system,system32,以及你所有的机密目录。有意编写一个apollo,来故意误导用户、改写或覆盖你现有的文件,是容易办到的事情。电脑新手注意,用Apollo覆写文件,就和C#等其他语言一样,是不会弹出警告窗口的。

Apollo 程序的实质

Apollo是真正的程序,是真正的exe文件。不要忘了这一点。再做个不很恰当的描述,Apollo实际上是一个swf+exe。当然它们都受到Apollo Runtime的限制。
随便安装一个air文件,然后右键单击它安装在桌面上的快捷方式,选择查找目标,你会看到Apollo真正的面目。一个exe文件,加一些目录,一般在bin目录下静静躺着swf文件。再加上系统预先安装的Apollo Runtime,这就构成了完整的Apollo程序。对Apollo工作的机理,我可以打个简单的比喻,swf和包装的exe打交道,exe再和runtime打交道,然后runtime才和客户系统打交道。(实际当然远远不止这么简单,供新手理解,老手勿笑)

如何知道当前的flash处于哪个沙箱?

在as代码中执行如下两句即可看到所属沙箱类型:

  trace ("Security.sandboxType:"+ Security.sandboxType);
  trace ("Capabilities.playerType:"+ Capabilities.playerType);

Apollo正式版真正安全?

Apollo正式版将提供多种级别的安全沙箱供开发者选择,极大的降低危险发生可能性。用户在下载和安装Apollo程序时也会得到提示,这个 Apollo是安全的,还是有危险的。是通过认证的,还是不通过认证的。这两点必须通过和用户人的选择和认可,程序才会被安装,才可能得到真正的安全。没有用户的参与,在目前的条件下做不出真正安全的可访问客户端又可访问网络的程序。

目前官方并未说明有哪几种安全沙箱。黑羽估计,会有这样一种安全的沙箱出现在Apollo中:纯粹和网络打交道的Apollo程序,和本地的交互只限于和Web swf一样允许存储shareObject。和目前REMOTE安全沙箱类似,但是不受cross domain限制。这样的沙箱,可能会叫APPOLLO_ROMOTE吧,呵呵,谁知道呢。这样的程序可能会被标识为安全,随便安装。

其余的沙箱都不太会真正的安全,必须要通过第三方的签名认证,或者用户认可才可以安装。

Apollo前途无限

Apollo的前途是光明的。正式版的Apollo和其他没有安全沙箱概念的exe程序相比,当然是相当安全的。但是只要跨过了本地访问这道线,没有绝对的安全可言。所有开发Apollo桌面程序的开发者都要自警,现在我们的程序可是玩真的了。以前代码写烂了,最多用户终止一下swf的脚本。如今写出问题了,可能会将用户的宝贝系统捅出窟窿。

目前Apollo可以占据三界,windows,linux和apple,形势一片大好啊。所有玩Flash的兄弟,有空玩玩Apollo哦。

教程录入:jerome    责任编辑:jerome 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口

    相关教程
    浅谈flash web的结构
    A*寻路,二叉堆优化及AS3实现
    Apollo 开发技巧
    APOLLO 未来畅想
    Flash纯脚本生成饼图
    基于flash的360虚拟现实引擎实现
    XML动态菜单
    Flash破解与加密
    Flash AS2 中的拍照图片无损压缩
    使用 Flex 上传文件
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    湘ICP备05010790号 {$Wap}
    关于我们 | 版本历史 | 联系方法 | 隐私条例 | 链接我们 | 广告服务 | 常见问题 | 友情链接 | 网站公告 | 设为首页 | 收藏本站
    Copyright © 2001-2006 17zm.NET All Rights Reserved.  织梦建站工作室[织梦建站工作室]™荣誉出品. Since 2001