开发人员的最佳安全做法Adobe AIR 1.0 和更高版本 虽然 AIR 应用程序是使用 Web 技术构建的,但开发人员应知道这些应用程序并非在浏览器安全沙箱中运行,这一点很重要。这意味着,可以构建会对本地系统有意或无意产生损害的 AIR 应用程序。AIR 会尝试最大程度降低此风险,但仍存在一些可能引入漏洞的方式。本主题介绍了重要的潜在不安全因素。 将文件导入应用程序安全沙箱的风险位于应用程序目录中的文件会被分配到应用程序沙箱中,并具有运行时的完全权限。建议将写入本地文件系统的应用程序写入 app-storage:/ 中。此目录与用户计算机上的应用程序文件位于不同的位置,因此这些文件不会分配到应用程序沙箱中,并且安全风险的程度会降低。建议开发人员考虑以下问题:
使用外部源确定路径的风险使用外部数据或内容可能会破坏 AIR 应用程序。因此,使用网络或文件系统中的数据时应特别小心。信任最终由开发人员及其构建的网络连接进行保障,但加载外部数据本身就具有风险,不应在敏感操作中使用此输入。建议开发人员不要执行以下操作:
使用、存储或传输不安全凭据的风险将用户凭据存储在用户的本地文件系统中将引入可能破坏这些凭据的风险。建议开发人员考虑以下问题:
降级攻击的风险在安装应用程序过程中,运行时会检查以确保应用程序的版本不是当前安装的版本。如果应用程序已经安装,则运行时会比较版本字符串与已安装的版本。如果此字符串不同,则用户可以选择升级安装。运行时不保证新安装的版本比旧版本新,仅保证版本不同。攻击者可能会向用户分发旧版本以避开安全漏洞。因此,建议开发人员在运行应用程序时检查版本。最好让应用程序检查网络中是否存在所需更新。这样,即使攻击者让用户运行旧版本,该旧版本也会识别出需要更新。此外,为应用程序使用明确的版本控制方案将使欺骗用户安装降级版本变得更加困难。 |
|