【问题标题】:Security issues for Enabling AllowElevatedTrustAppsInBrowser for elevated Silverlight application为提升的 Silverlight 应用程序启用 AllowElevatedTrustAppsInBrowser 的安全问题
【发布时间】:2015-01-05 02:46:27
【问题描述】:

我的理解是 AllowElevatedTrustAppsInBrowser = 1 在注册表中将适用于所有 Silverlight 应用程序

执行以下操作: 将 DWORD 注册表项 AllowElevatedTrustAppsInBrowser = 1 设置为 SL 64 位路径:HKLM\Software\Wow6432Node\Microsoft\Silverlight SL 32 位路径:HKLM\Software\Microsoft\Silverlight

这会给客户带来多大的安全问题。我的理解是,为了在 Silverlight 中运行提升的权限,客户端仍然必须在其受信任的发布者部分安装证书,这意味着只有受信任的发布者的网站才会拥有提升的权限。

因此这应该是安全的?

如果是这样,那么我只需要编写一个可以在客户端完成所有这些的安装?

这不应该影响不希望提升网站权限的客户吗?

谢谢

【问题讨论】:

  • 我不能使用 OOB,因为我的网站是一半 html 和一半 Silverlight

标签: security silverlight elevated-privileges


【解决方案1】:

这样想:鲍勃和爱丽丝在街上卖热狗,每个人都在自己的面包车里。两者都拥有市长办公室授予的适当许可证,允许他们从事这一工作。爱丽丝只使用新鲜的食材,而且总是很早就起床,以便能够选择最好的食材。但是爱丽丝可以对鲍勃说同样的话吗?两人都经过主管机构的认证,但她为鲍勃插手是愚蠢的。

TL;DR> 不,设置该配置是不安全的。您将在您的客户中打开一个BIG 安全漏洞,因为您正在从他们那里选择授予给定应用程序或不更大的权限。即使他们已经安装了证书,他们也可以选择不授予它全部权限。

【讨论】:

    【解决方案2】:

    您是正确的,您必须完成这两个步骤才能成功启动 Silverlight 应用程序as described in this MSDN article

    但是,更大的问题涉及这样一个事实,即禁止完全信任应用程序是 Silverlight 安全模型的很大一部分。如果一个不良行为者知道您的客户必须运行完全信任的应用程序才能使用您的应用程序,那么如果他们可以通过社会工程方式让您的客户接受看起来像您的发布者证书,那么他们就知道他们有攻击向量。然后他们可以在您的客户端机器上运行任何他们想要的东西。

    完全信任模型仅在证书接受受到更严格控制的企业环境中真正有用。

    我希望找到一种方法来用 HTML/JavaScript 完成您的任务。现在有许多库和框架,例如 Knockout 和 AngularJS,它们提供了类似的生产力度量以及 Silverlight 提供的 MVVM 模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-09
      相关资源
      最近更新 更多