低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

Silverlight 4 的 COM+ 自动化带来安全和可移植性隐忧

2010 年 2 月 10 日

在使用高级权限运行浏览器外(Out-Of-Browser,OOB)应用时,Silverlight 4 支持 COM+ 自动化。微软表示说这个支持是应企业用户的需求而提供的,他们常希望能通过 Silverlight 提供类如 Office 自动化那样的功能。

Silverlight 的项目经理 Justin Angel 最近详细介绍了如何启动 Silverlight 应用以使用 COM+ (注意:该文需要 Silverlight 支持)。COM+ 自动化仅支持有高级信任许可的 OOB Silverlight 应用。不像全部信任功能,高级信任许可意味着操作者可以在少许限制的条件下,在 Windows 计算机上执行几乎所有的命令。比如,操作者可以读 / 写文件系统,但是只限于“我的”文件夹,比如我的文档,我的视频,我的图片等。Silverlight 4 可以通过 COM+ 做的事情如下所示:

  • 运行命令或者可执行(EXE)文件
  • 读注册表
  • 访问本地 ODBC
  • 读 / 写硬盘(在上文提到的限制条件下)
  • 自动化 Office

因为很多人已经将 Silverlight 看作另一个 Flash 播放器,一个可限制访问其运行的计算机上的插件,所以让 Silverlight 访问 COM+ 引来众多人的关注。一方面它带来了安全问题,另一方面它破坏了对其他平台的可移植性。好几个开发者在 WPF Disciples(WPF 爱好者)群组中发表评论:

Shawn Wildermuth 说:我不想过多地争论。我理解为什么微软这样做,但是我还是认为这样做很不妥。恕我直言,COM 只能在 Windows 下运行对其他平台来说很不爽。 Marlon Grech,微软客户端应用的 MVP 说:我很赞同 Shawn 所说的,为 SL 增加 COM+ 支持违反了跨平台和一次编写处处运行的主张。即使他们为 AppleScript 增加支持,对我们来说也是噩梦一场。另外……我要说,武器本身没什么问题,关键是使用这些武器的人。对吧?:)

Jeremiah Morrill:在我看来,主要的“概念上”的安全问题是“信任级别”。CoreCLR 也还没有授予“完全信任”模式,但这些 COM 实例,按照定义,是运行在沙箱之外的。我想这会让那些期望或设想得到 A,却拿到 B 的开发者和用户都很迷糊……一般来说,在讨论安全问题时,这是不妥的。

对于一些人来说,COM+ 自动化和在高级信任许可下运行 Silverlight 应用并不是什么安全问题,因为用户需要先安装才能运行 OOB 应用,他们也被明显警告说应用将会访问他们的硬盘。理论上,这会像其他应用一样,运行一个桌面应用——但是,恐惧恐怕来自于 Silverlight 被假设成一个运行在沙箱里的绝对安全的浏览器应用,而不是一个桌面应用。

另外一个问题是移植性。对于缺少 COM+ 的 Mac 机而言,这个功能有什么用吗?Angel 提到说,微软正在调查通过 AppleScript 在 Mac 机上支持 COM 的可能性,并说“如果微软最终没有决定在 Mac 机上支持 Silverlight 4 RTM,那么,并不是因为它不能做到”。对于 Moonlight,Angel 说:

Moonlight 在一开始创建时,就有超级安全的模式。Mono 支持在有着完全信任能力的 GtkWidget 中运行 Moonlight。所以,在 Silverlight 有高级权限模式时,Mono 确实完全信任模式。

同事,系统管理员可以对系统进行配置,以阻止用户安装和运行需要高级信任许可的 OOB 应用。 Group Policy Setting 提到了更多关于这方面的信息。

查看英文原文: Silverlight 4’s COM+ Automation Raises Security and Portability Concerns

2010 年 2 月 10 日 06:501010

评论

发布
暂无评论
发现更多内容

架构训练营

架构训练营

如何用 iMazing 备份和恢复辐射避难所

懒得勤快

手机 游戏 ios管理 imazing

不是吧?不会多态,你还说自己会Java

学Java关注我

Java 编程 架构 程序人生 技术宅

Spring Boot + RabbitMQ实现订单过期自动取消功能

Lonely Sufferer

RabbitMQ springboot

“区块链+”,应用积分营销

电微13828808271

区块链

独家对话阿里云函数计算负责人不瞋:你所不知道的 Serverless

Serverless Devs

阿里云 运维 云原生 #Serverless

架构实战营模块一总结

竹林七贤

【Java 试题】AQS解析

程序员架构进阶

AQS Java源码 28天写作 四月日更 4月日更

企业为何开始选择使用成品训练数据集?

澳鹏Appen

人工智能 机器学习 数据集 人工智能大数据 数据流

超低功耗LoRa无线通信应用实践

不脱发的程序猿

物联网 无线通信 四月日更 LoRa 无线通信模组

架构实战营模块1作业

竹林七贤

什么是 NIO ?6000 字详解 NIO

hepingfly

Java nio IO流

教你一个著名的流行数据格式:Python JSON

华为云开发者社区

Python 数据 Python JSON JSON序列化 半结构化数据

架构实战营模块 1 作业

Geek_2b52aa

架构实战营

3d导航栏

赫鲁小夫

4月日更

模块一:课后作业

a1vin-tian

架构实战营

2021互联网大厂面经最新分享:百度/阿里/蚂蚁(附答案解析)

比伯

Java 架构 面试 程序人生 技术宅

数字化时代,都说企业转型迫在眉睫,如何转型成了关键?

一只数据鲸鱼

物联网 数字化 数据可视化 企业转型

CSS实现动画环绕下划线效果

Sakura

四月日更

Oracle数据库的安装和使用指导

攻城狮Chova

数据库 oracle 安装 4月日更

假期后来一波干货:一文理清JVM和GC

比伯

Java 程序员 架构 JVM 计算机

翻译:《实用的Python编程》07_05_Decorated_methods

codists

Python

“区块链+版权”应用保护者

电微13828808271

2021最新中高阶Android面试题总结,成功入职阿里

欢喜学安卓

android 程序员 面试 移动开发

你在备战“字节”时一定需要这个,程序员进大厂指南+算法已开源

Java架构师迁哥

手起刀落,连斩获阿里(四面)+字节(四面)+美团(三面)三家一线大厂Offer!

Java架构追梦

Java 架构 阿里巴巴面试经历 腾讯面试经历 全套大厂面试真题

架构实战营-模块1-微信业务架构-学生系统架构备选方案

吴建中

架构实战营第一次作业

CmHuang

架构实战营

《iOS应用逆向与安全》

马士兵-苹果老师

读后感

2021 年推荐给 React 开发者的 Visual Studio Code 插件及配置

清秋

推荐 vscode 插件 React 4月日更

架构实战营模块1作业

阿体

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

Silverlight 4的COM+自动化带来安全和可移植性隐忧-InfoQ