关于AIR安全性

 

关于AIR安全性

    AIR环境提供和一般桌面程序类似的,能够访问操作系统资源的能力,AIR程序比起SWF或浏览器中HTML文件来约束更小些,因此可能会出现安全问题,所以正确理解AIR程序的安全模型非常重要。

安装向导安全警告 

    在AIR程序安装过程中,用户会看到一个安全提示,这是AIR程序开发者给出的提示信息以及允许程序访问的操作系统类型,这些信息让用户在安装程序时有个大致了解。

安全沙漏

    在AIR beta版本中,在特定的安全沙漏中AIR程序可访问本地文件系统,在将来的AIR版本中,应用程序资源将有着不同的安全沙漏,这取决与AIR程序是如何被安装的。 

    对于SWF你可以设置安全沙漏类型属性(sandboxType属性 )为只读,因为SWF可以包含在AIR程序里,该属性是Security.APPLICATION 的一个常量。

    所有未和AIR程序一起安装的其他资源都被放入同一个安全沙漏中,远程资源根据源域放入沙漏中,本地资源被放入local-with-networking,local-with-filesystem,或local-trusted 。

AIR程序安全沙漏中的资源访问特权

    AIR应用程序安全沙漏中的SWF可以通过脚本访问来自其他域中的SWF文件,但是默认下,外部的SWF要想访问AIR应用程序安全沙漏内的SWF则会受到约束。

    AIR程序沙漏中的SWF 文件和HTML内容可读取任何域中的内容及其数据。

    随AIR程序安装的SWF文件不必寻找cross-domain策略文件,要提升权限可调用Security.allowDomain() 方法。

    AIR为AIR程序安全沙漏中的SWF文件和HTML内容提供了增强型的特权,其中包括读取和写入本地资源和文件。

健壮的应用程序开发最佳实践

    当编写AIR程序时,你要知道虽然你使用了Web技术,但是却不受浏览器安全沙漏限制,也就是说AIR程序可能有意或无意中破坏本地系统,AIR真试图把这种风险降低到最小,但是类似此方面的漏洞仍然可能出现。

产生风险的最大可能就是在读取外部数据或内容时,因此你必须时刻注意使用中的数据是否来自于网络还是本地系统,下面的这些例子都有可能存在潜在的风险:

引入外部内容时

这将导致脚本注入风险: 

1. 如果一个TextField对象读取的内容中包含链接,则该链接可能会执行不可预料的结果。

2. 如果程序读取一个非信任的SWF,则该SWF可能会以非法特权执行。

3. 如果程序从外部程序中读取JSON 内容,则该内容可能会访问运行时特权。

影响程序行为的数据

    这将会导致弱安全性。比如,如果一个程序使用来自网络上的数据去检测一个文件名或写入一个配置文件,因此需要检测这些数据是否安全以及是否来自信任的数据源。

现在的AIR还是beta版,如果你遇到了诸如配置和选项的弱安全问题,请告诉Adobe,目前Adobe现在处理这些安全问题,到时他们将会优先给你一份AIR 1.0的正式版本。

对于HTML内容的安全约束

HTML内容和其他AIR内容一样都放在同一个安全沙漏模型中操作,但是这里有些特殊的情况。 如果内容都在程序安全沙漏内,则HTML控制对象中的HTML内容只能访问安全约束的runtime类(如JavaScript对象window.runtime)。对于基于HTML的程序来说,从应用程序资源目录中载入的数据(顶层Frame)总是可以访问runtime类,而从应用程序资源外部载入的数据无论是子框架还是(IFRAME),还是通过页面定位读取的数据,其权限与原来的域保持一致,不能访问受AIR安全约束的runtime类,默认下非程序内容是不能访问跨脚本内容,如JavaScript window 属性,nativeWindow 和htmlControl不能在程序沙漏外工作。要想安全访问脚本,可以使用the flash.system.Door API 创建严密的通信网关在程序内容和非程序内容之间提供一个有限的接口。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值