InfoQ

新闻

Quicksort算法标准实现中发现严重安全漏洞

作者 Ryan Slobojan 译者 郭晓刚 发布于 2009年4月1日 上午12时1分

社区
架构 ,
Java,
Ruby,
.NET,
SOA,
敏捷
主题
安全
标签
虚拟机 ,
框架

L0pht Heavy Industries黑客组织的一位研究者发现了Quicksort算法标准实现中的一处缺陷,论影响之广,这个漏洞肯定会在所有已知安全漏洞中名列前茅。InfoQ向L0pht组织的Dildog询问了漏洞的详情及可能造成的后果。

Dildog解释说这个漏洞属于利用缓冲区溢出的类型。在这类漏洞中,当用户执行带漏洞的程序时,其权限就会被恶意程序利用来执行任意代码。

本次发现的Quicksort安全漏洞代码还没有公开,但已有两家独立的安全分析公司确认Quicksort算法的标准实现中确实存在漏洞。Wikipedia上给出的Quicksort算法伪代码如下:

 function quicksort(array)
     var list less, greater
     if length(array) ≤ 1  
         return array  
     select and remove a pivot value pivot from array
     for each x in array
         if x ≤ pivot then append x to less
         else append x to greater
     return concatenate(quicksort(less), pivot, quicksort(greater))

目前已确认以下库、运行时、产品受到此漏洞的影响:

  • 多个JVM实现(包括来自Sun、IBM、Oracle/BEA和Apache的实现)
  • .Net CLR,3.5 SP1及以下版本
  • Microsoft Visual C Runtime,9.0及以下版本
  • Adobe Flash运行时,10.0及以下版本
  • glibc,2.6及以下版本
  • Apache HTTPD,2.2.13及以下版本
  • 众多集线器、交换机、路由器,包括部分来自Cisco、Juniper、D-Link、Netgear及Linksys的产品

据Dildog所说,该漏洞是在对一台受到未知恶意程序侵害的计算机分析取证时发现的。该恶意程序将受害计算机的所有系统声音都替换成了一曲80年代流行歌的片段(译注:Rick Astley,Never Gonna Give You Up),所有系统图片和图标都替换成了笑猫图Lolcat)。

尽管目前尚未发现第二例感染报告,但我们建议所有InfoQ读者提高警惕,若您在电脑上发现任何Rick Astley或者Lolcat的踪迹,请立即向有关部门报告。

查看英文原文:Critical Security Vulnerability Found in Quicksort

相关赞助商

Visual Studio 2010产品系列提供了工具、技术支持与团队平台组合,激发你的创作灵感,并兼容当前的主流标准。现在就来免费下载试用

可怕 发表人 陈 焕新 发表于 2009年4月1日 上午12时15分
Re: 可怕 发表人 Jeffrey Zhao 发表于 2009年4月1日 上午12时47分
应该是假消息 发表人 唐 统贤 发表于 2009年4月1日 上午4时58分
Re: 应该是假消息 发表人 Xiaogang Guo 发表于 2009年4月1日 上午6时7分
去年的时候就搞过类似的事情 发表人 木 乔 发表于 2009年4月1日 上午9时11分
Re: 去年的时候就搞过类似的事情 发表人 霍 泰稳 发表于 2009年4月1日 上午10时21分
Re: 去年的时候就搞过类似的事情 发表人 Ribin Zheng 发表于 2009年4月4日 上午11时26分
........ 发表人 Fisher Wei 发表于 2009年4月2日 上午10时0分
  1. 返回顶部

    可怕

    2009年4月1日 上午12时15分 发表人 陈 焕新

    因为今天是4月1日!

  2. 返回顶部

    Re: 可怕

    2009年4月1日 上午12时47分 发表人 Jeffrey Zhao

    我同意你的看法……

  3. 返回顶部

    应该是假消息

    2009年4月1日 上午4时58分 发表人 唐 统贤

    文章中“请立即向有关部门报告”
    点击进去后,竟然是有关April_Fools'_Day的链接,哈哈

  4. 返回顶部

    Re: 应该是假消息

    2009年4月1日 上午6时7分 发表人 Xiaogang Guo

    没有人点“提高警惕”的链接么?

  5. 返回顶部

    去年的时候就搞过类似的事情

    2009年4月1日 上午9时11分 发表人 木 乔

    好像说是微软把Spring给收购了。。。。。。
    今年多长个心眼

  6. 返回顶部

    Re: 去年的时候就搞过类似的事情

    2009年4月1日 上午10时21分 发表人 霍 泰稳

    看来这样的把戏不能玩太多 :)

  7. 返回顶部

    ........

    2009年4月2日 上午10时0分 发表人 Fisher Wei

    要不是看了回复,我还真被骗了……

  8. 返回顶部

    Re: 去年的时候就搞过类似的事情

    2009年4月4日 上午11时26分 发表人 Ribin Zheng

    SPRING被收购的事也把我吓了一跳.....害我一阵狂搜....这不是真的吧.....

深度内容

学习的科学:适合大脑的最佳途径

为什么人们不明白你在会议上提出的想法?为什么你正在指导的开发人员仍然不理解你?为什么参加你的课程的学员只学到10%的内容?在某种程度上,我们都是老师,但只有专业教育工作者才接受过这方面的培训。本文讨论从神经科学学到的知识,以及如何把它们应用到敏捷软件开发及其他行业。

可靠的消息传输协议,有必要吗?

Marc de Graauw对传输层的可靠消息机制(如WS-ReliableMessaging)存在的必要性提出了质疑。通过荷兰医疗保健中心的SOA项目案例他展示了特定业务逻辑如何在按序传达消息和一次且仅一次传输中表现得更为良好。

八个改善Java遗留系统的技巧

Java系统也可能会变成“遗留”系统。这篇文章探究了8个快速而相对低风险的办法,来帮助改善即使是锈迹斑斑的Java应用。之前那些奄奄一息的应用,在使用了这些可以改善性能、减少运营负载和加速开发周期的方法后,获得了新生。

多任务让你走得更慢

Juggling Balls

大家都知道让一个人多任务工作是有害的,这会降低他的工作效率。新的敏捷或Scrum团队面对的一个重要挑战是同时应对多个项目。敏捷教导我们团队应该一次只做一个项目,不然就会遇到风浪。Roger Brown深度解析了这种现象的原因。

五年Skype架构师之路的感言

作为架构师和设计者,我们常把手头的事情作为工作焦点,很少反思过去如何。我们应该温故而知新。Andres Kutt这篇文章从他作为Skype架构组领导的经历中总结了6个经验,其中有技术方面的,另外一些是架构师较为软性一点的观点。

当敏捷团队遇上固定价格合同

固定价格合同很有害,这是敏捷实践者经常说的。从另一个角度来说,这些合同是很多敏捷团队必须面对的现实。但是,如果我们试着去驯服它而不是去反对它,那结果又会如何?一个公司如何用敏捷实践执行这种合同来达到更佳效果和更低风险?这篇文章试图回答这些问题。

Mitch Lacey谈微软的敏捷实践

Mitch Lacey用幽默的语言为大家介绍了微软的敏捷实践。演讲涉及为什么要进行敏捷,微软是如何进行敏捷的,如何进行团队协作等内容。

一种适用于真实世界BPM的协作方式

Bernd Ruecker探索了在开发BPM解决方案时如何才能更好地达到业务与IT的契合。他描述了一套使用基于BPMN流程模型为中心进行协作的方法论,该协作促进了用户间的讨论和交流,将需求、业务规则其他物件连接起来、使开发状态形象化、使业务驱动的测试场景得以细致地明确等等。