最近挪威一名年轻的程序员发现了Linux的一个Bug。只要一个简单的C程序就能够利用这个Bug来使大多数位于在x86体系上的Linux 2.4和2.6套件崩溃。
这个Bug的发现者Sither说,如果一个攻击者想要通过这个Bug来使Linux系统崩溃,他需要拥有Shell访问权限或者是上载和运行程序的其他手段,如cgi-bin或者FTP权限。
他说:“攻击程序能够通过任何普通用户账号来工作,而并不需要Root权限。有报道说,类似的攻击程序已经导致了好些“跛脚免费Shell站点”的崩溃。这些站点提供那些明知会导致系统损害和黑客进攻的代码,虽然这种行为是不合法的,而且世界上大多数地方都是受到强烈禁止的。
除了公布如何来利用这一Bug的程序代码,Sither也贴出了一些针对Linux 2.4和2.6内核的补丁,从而使得系统免于崩溃。
Linux中的多个安全问题已经在过去几年里被发现,其中最严重的是波兰非营利组织iSEC Security Research今年2月份所发现的一个安全漏洞。
这个最大的安全漏洞能够使攻击者获得超级用户的完全权限和管理者的完全权限。不过Linux开放源代码共同体很快地推出了针对这两种情况的补丁。
然而最近出现的这个安全漏洞在使系统崩溃时并未给供给者提供控制Linux的任何权限。
从技术上来讲,这个问题之所以存在是因为Linux内核的信号处理器并不能正确处理浮点异常。Linux的创始人Linus Torvalds说:“如果系统中有未决的浮点异常,那么就会出现一条通往系统内核的通道。系统内核最终将执行一个浮点异常,并将永远执行浮点异常。”
Torvalds已经很好地解决了这个问题,他说:“几天前,我在自己的源代码树里修复了这一问题,并发布了Linux的2.6.7版。”
Open Source Initiative的主席Eric Raymond也说:“这并不是什么大问题。我们能够轻易地修复它,而且,这些修复后的内核并不会带来任何新问题。”