课程咨询 :025-84812726

南京.NET培训 > 达内新闻 > Padding Oracle漏洞影响JSF、Ruby on Rails及ASP.NET
  • Padding Oracle漏洞影响JSF、Ruby on Rails及ASP.NET

    发布:.net培训      来源:南京达内      

  • .net培训课程指导:恶意用户能够使用Padding Oracle(PO)攻击方式来解密cookie,加密状态及认证密码等关键信息。据Juliano Rizzo和Thai Duong所说,这个安全漏洞影响JavaServer Faces、Ruby on Rails、ASP.NET及其他一些技术及平台。


    在瑞士联邦理工大学(Swiss Federal Institute of Technologies,EPFL)领导安全及密码实验室(Security and Cryptography Laboratory,LASEC)的Serge Vaudenay教授,于2002年发表了一篇名为“由于使用CBC填充而引入至SSL、IPSEC、WTLS的安全漏洞(Security Flaw Induced by CBC Padding Applications to SSL, IPSEC, WTLS)”(PDF)的论文。其中谈到,为加密变长数据而使用的几种填充方式会导致严重的安全漏洞。


    根据RFC 2040算法,在对变长数据的加密形式进行解密的时候,解密程序需要判断数据的填充(Padding)情况是否正确,如果填充正确,则将其去除,但是RFC 2040并没有指明如果填充出现错误的时候该如何提供反馈。Vaudenay总结到:


    尽管解密程序不该告诉调用方填充错误,但是提供一些解密过程中的信息还是有意义的。


    不过这也使得攻击方可以得到一些提示(Oracle):哪些由上述算法(RFC 2040)所解密的数据可以得到正确的填充序列。使用这种方式解密一条信息的复杂度是O(NbW),其中W是可能值的数量(通常W = 256)。


    据Vaudenay所说,这个漏洞能够影响SSL、IPSEC、WTLS、SSH等多种协议,攻击者有可能在不知道密钥的情况下破解密文。他演示了攻击方式,并给出了几种修补建议。


    在Vaudenay这篇论文的基础上,两位专注于安全方面的软件工程师Julinao Rizzo和Thai Duong,于2010年5月25日发表了一篇新论文“Padding Oracle攻击实战(Practical Padding Oracle Attacks)”(PDF)。作者声称Padding Oracle(PO)漏洞在一些包括JavaServer Faces(JSF)、Ruby on Rails及OWASEP ESAPI等广泛运用的技术内都有体现。他们还编写并发布了一款名为POET(Padding Oracle Exploitation Tool)的工具,可以检测出一个JSF站点是否会遭受PO攻击。


    Rizzo和Duong在9月17号举办的ekoparty安全会议上发表了这篇论文,表明ASP.NET及SharePoint应用程序同样无法抵抗PO攻击,但他们并没有发布ASP.NET版本的POET。他们提到,恶意用户使用PO攻击可以“解密cookie、视图状态、表单验证数据、账号密码、用户数据以及其他任何使用框架API所加密的数据”。对这个问题的主要反馈来自微软,包括微软联合副总裁Scott Guthrie在内,他的一个团队立即开始争分夺秒地开发补丁程序。10天后微软发布了一个计划外的安全更新,面向全部.NET版本,这次更新也出现在Windows Update中。微软的这种强烈回应也证实了这个威胁有多么严重,这也为其他可能包含漏洞的网站敲响了警钟。


    针对Padding Oracle、POET及ASP.NET,InfoQ与Juliano Rizzo进行了交谈。


    InfoQ:除了JSF、Ruby on Rails及ASP.NET以外,你们还发现哪些平台存在这个漏洞呢?


    JR:我们还没有深入研究其他平台,但我们肯定,还有更多平台、网站及应用程序存在同样的漏洞。


    InfoQ:POET是什么?


    JR:现在的POET是五个月前发布的版本,它证明了JSF中存在的问题,未来我们也会发布一个更加广泛的版本。我们也有打算写一篇论文来阐述ASP.NET漏洞的详细情况。在Blackhat Europe 2010之后我们发布了POET和JSF测试站点,这个工具可以用来检查漏洞,但不会自动获取系统的访问权限(演示)。


    InfoQ:既然JSF、Ruby on Rails同样包含这个漏洞,它们为什么没有像ASP.NET那样引起强烈反响?


    JR:ASP.NET比JSF和Ruby on Rails要流行的多,互联网上有大约25%的网站使用ASP.NET。


    InfoQ:如何验证一个平台是否存在这种漏洞?


    JR:审查代码或是黑盒测试都能检查应用程序是否包含漏洞。目前还没有检查这个问题的工具或是通用方法。


    InfoQ:您能否为平台构建方,或是网站管理员给出一些建议,让他们确保不会遭受Padding Oracle攻击?


    JR:首先,将加密数据传递到Web客户端一般都没有十分必要的理由,开发人员可以尽可能选择其他的解决方案。如果加密数据必须发送至客户端,则必须保护密文的完整性,避免如Padding Oracle那样通过修改密文所发起的攻击。

    推荐文章

上一篇:.net培训课程指导:ASP.NET MVC上线许可

下一篇:.net培训课程指导:ASP.NET MVC 3让你疯狂的五大理由

最新开班日期  |  更多

.NET工程师--周末班

.NET工程师--周末班

开班日期:01-20

.NET—零基础全日制

.NET—零基础全日制

开班日期:01-20

.NET—零基础周末班

.NET—零基础周末班

开班日期:01-20

.NET工程师--全日制班

.NET工程师--全日制班

开班日期:01-20

  • 地址:南京市龙蟠中路30号东来商务中心A座5楼
  • 课程培训电话:025-84812726     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tarena.com.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56