标签: padding-oracle-attack

这个新的ASP.NET安全漏洞有多严重,我该如何解决它?

我刚刚在网上看到了ASP.NET中新发现的安全漏洞.你可以在这里阅读详细信息.

问题在于ASP.NET实现AES加密算法的方式,以保护这些应用程序生成的cookie的完整性,以便在用户会话期间存储信息.

这有点模糊,但这里有一个更令人恐惧的部分:

攻击的第一阶段需要几千个请求,但一旦成功并且攻击者获得了密钥,它就完全是隐秘的.所需的加密知识是非常基本的.

总而言之,我对安全性/密码学不够熟悉,但要知道这是否真的那么严重.

那么,是否所有ASP.NET开发人员都担心这种技术可以在几秒钟内拥有任何ASP.NET网站或者什么?

这个问题如何影响普通的ASP.NET开发人员?它会影响我们吗?在现实生活中,这个漏洞的后果是什么?最后:是否有一些可以防止此漏洞的解决方法?

谢谢你的回答!


编辑:让我总结一下我得到的答复

所以,这基本上是一种"填充oracle"类型的攻击.@Sri提供了一个很好的解释,说明这种类型的攻击是什么意思.这是一个关于这个问题的令人震惊的视频!

关于此漏洞的严重性:是的,它确实很严重.它允许攻击者了解应用程序的机器密钥.因此,他可以做一些非常不需要的事情.

  • 在应用程序的机器密钥的位置,攻击者可以解密身份验证cookie.
  • 更糟糕的是,他可以使用任何用户的名称生成身份验证cookie.因此,他可以像网站上的任何人一样出现.应用程序无法区分您或为您自己生成身份验证cookie的黑客.
  • 它还允许他解密(并生成)会话cookie,尽管这不像前一个那样危险.
  • 不那么严重:他可以解密加密的ViewState页面.(如果您使用ViewState存储确信数据,则不应该这样做!)
  • 非常意外:凭借对机器密钥的了解,攻击者可以从您的Web应用程序下载任意文件,即使是那些通常无法下载的文件!(包括Web.Config等)

以下是一些我没有解决问题的良好实践,但有助于提高Web应用程序的一般安全性.

现在,让我们关注这个问题.

解决方案

  • 启用customErrors并创建一个错误页面,重定向所有错误.是的,甚至404s.(ScottGu说,区分404s和500s对于这次攻击至关重要.)另外,进入你的Application_Error或者Error.aspx放一些随机延迟的代码.(生成一个随机数,并使用Thread.Sleep长时间休眠.)这将使攻击者无法确定您的服务器上究竟发生了什么.
  • 有些人建议切换回3DES.理论上,如果您不使用AES,则不会遇到AES实现中的安全漏洞.事实证明,根本不建议这样做.

其他一些想法

感谢所有回答我问题的人.我不仅了解了这个问题,还了解了网络安全性.我将@ Mikael的答案标记为已被接受,但其他答案也非常有用.

.net asp.net security padding-oracle-attack

189
推荐指数
5
解决办法
2万
查看次数

javax.crypto.Cipher为RSA使用了哪个填充

我需要通过RSA解密消息,以便通过不安全的通道发送消息,但我害怕Padding Oracle Attack.因此我已经问过以下问题:

  1. 如何验证RSA加密消息的完整性?
  2. 如何使用javax.crypto.Cipher确保RSA密码的消息完整性

像第一个问题中建议的那样,

但是,由于您使用的是高级加密库,因此您不必担心这一点.该图书馆的作者应该照顾它.

我不应该考虑.据我所知,RSA执行的PKCS#1 v1.5是脆弱的Padding Oracale Attack,其中原和不(假设它的正确实施)

因此,我想知道javax.crypt.CipherJava 7 使用哪种填充实现

java security cryptography rsa padding-oracle-attack

7
推荐指数
2
解决办法
1万
查看次数

Oracle padding exploit - 如何下载web.config?

我知道关于oracle padding漏洞利用的问题已经有一些问题,但没有一个解释它是如何下载web.config的.我运行了几个ASP .NET应用程序,我已经使用Microsoft建议的缓解因素进行了测试,但我仍然害怕人们将能够获得web.config.

有人可以解释他们是如何做到这一点,甚至提供一个链接到我可以用来测试我的网站的工具.我发现这部分攻击的官方解释确实缺乏.

公众中显示的攻击依赖于ASP.NET中的一项功能,该功能允许下载文件(通常是javascript和css),并使用作为请求的一部分发送的密钥进行保护.不幸的是,如果你能够伪造一个密钥,你可以使用这个功能下载一个应用程序的web.config文件(但不是应用程序之外的文件).

asp.net security padding-oracle-attack

6
推荐指数
1
解决办法
3692
查看次数