代码之家  ›  专栏  ›  技术社区  ›  kemiller2002

Silverlight安全吗?

  •  4
  • kemiller2002  · 技术社区  · 17 年前

    我们需要一个在最终用户的机器上运行并为我们提供分数结果的应用程序,我们需要结果准确(即不被篡改)。目前,Flash和Silverlight之间存在争议,Silverlight似乎将成为赢家。

    除了终端用户机器上的任何东西最终都必须被视为妥协之外,攻击SilverLight应用程序有多难?我知道这取决于代码的编写方式等,我的问题是攻击底层平台有多难。有没有关于引导silverlight应用程序并更改运行代码(或其他方法)有多容易的文章?我在想一种缓冲区溢出攻击来插入其他可执行代码?

    我还听说Flash应用程序很难攻击内存并执行任意代码。这是真的吗?

    8 回复  |  直到 17 年前
        1
  •  7
  •   Brian Lyttle    17 年前

    我的理解是Silverlight运行在一个名为CoreCLR的公共语言运行时(CLR)版本上。与浏览器中运行的任何应用程序一样,主要的安全场景是防止恶意代码攻击应用程序的其他实例或用户计算机上的应用程序/数据。

    你描述的这个场景与此不同,我想说,几乎没有积极的措施来防止你的代码被劫持。具有足够知识的用户可以在汇编级别轻松编辑代码。

    您可以尝试通过以下方式减轻这些攻击:

    • 阻止访问复杂的调试工具(除非您控制客户端计算机,否则不可能)。
    • 为每个用户,甚至每个会话生成模糊或随机的银光代码。理论上,这可能会阻止用户分享黑客攻击。如果你能让代码超时,让它在30分钟后过时,你会让它变得更加困难。
    • 减少应用程序中的逻辑量,并在服务器端为其提供web服务。

    专家攻击者攻击Flash VM中运行的应用程序和攻击Silverlight一样容易。

        2
  •  5
  •   Ólafur Waage    17 年前

    在用户计算机上运行的任何内容都可以进行修改。这只是用户努力的问题。

    如果你想找一些例子,有无数关于如何“破解”flash游戏的教程。

        3
  •  2
  •   foxxtrot    17 年前

    无论你提供什么机制在客户端和服务器之间进行通信,都有可能被黑客攻击。即使您使用SSL,用户也可以执行中间人攻击(安全性由浏览器处理,因此如果用户覆盖SSL证书,它将被允许),以访问您的数据协议。

        4
  •  2
  •   nezroy    17 年前

    作为您特定场景中的攻击者,我首先会考虑简单地运行一个代理,修改从应用程序发送回您网站的数据内容。在我致力于破坏可执行文件本身之前,我早就在尝试了。即使使用加密,从应用程序中提取证书/密钥以进行代理也可能更容易,而不是完全破坏可执行文件。

        5
  •  0
  •   senfo    17 年前

    说实话,我认为这两个平台都是安全的。直到今天,我还没有 知道 Silverlight(1.0或2.0)的任何版本都没有任何安全漏洞。也就是说,如果在任何平台上发现任何问题,我相信这两个问题都会很快得到解决。

    然而,有一个问题要问你。为什么要在客户端计算机上存储任何内容,而不是在托管服务器上存储?Silverlight 2.0有一个特殊的“精简”实现。NET框架,据我所知,出于安全原因,所有文件系统访问已被删除。

        6
  •  0
  •   glenatron    17 年前

    我认为Silverlight在沙盒方面相当不错,但它是相当新的,所以从安全的角度来看,它不太可能像Flash那样被深入探索。

    如您所知,您在客户端上根本找不到一个有保证的安全平台,因此明智的做法是确保您的数据以一种非常难以妥协的方式在两者之间传递。

        7
  •  -1
  •   Dave Swersky    17 年前

    我同意foxxtot的观点,Silverlight应用程序和服务器之间的通信将与任何其他Web服务架构一样安全。这是您的主要攻击向量,因为在Silverlight的情况下,客户端恶意软件不太可能导致问题,至少不会导致窃取数据。

    您可以加密Web服务调用,并可能使用客户端证书来防止向您的Web服务发布虚假帖子。

        8
  •  -1
  •   Asa Asa    17 年前

    下载此关于silverlight安全的白皮书。告诉你需要知道的一切:

    编写和部署Silverlight应用程序的安全指南.docx: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7cef15a8-8ae6-48eb-9621-ee35c2547773

    如果你无法打开docx,只需删除“x”,它将在word2003中打开;-)

    美国标准协会

    推荐文章