Linux 版 (精华区)

发信人: tcpip (高级草包), 信区: Linux
标  题: 公报11-PCWEEK 安全测试始末-3
发信站: 紫 丁 香 (Wed May  3 09:33:33 2000) WWW-POST

应该做最后要运行的程序了: 

( ... ) 

execlp("/tmp/.bs","ls","-c","cp /tmp/xx /home/httpd/html/index.html",0);  

( ... ) 

游戏到此结束了。 

共耗时20小时。 

最后我们将我们的资料上载并拷贝到了一个安全并且nobody可见的地方,然后向讨论组发
了一个消息并且开始等待回音了。 

(从 http://hispahack.ccc.de/programas/pcweek.zip 可以下载我们所用的程序和一些
脚本。) 

Jfs - !H'99 
jfs@gibnet.gi 
http://hispahack.ccc.de ” 

有关Redhat的cron安全漏洞的信息可以在Redhat的web站点找到。具体的情况如下: 

“RedHat公司安全建议
Package vixie-cron
Synopsis Buffer overflow in cron daemon
Advisory ID RHSA-1999:030-02
Issue Date 1999-08-25
Updated on 1999-08-27
Keyword svixie-cron crond MAILTO
…… 

详细描述:
通过建立一个带有特殊的、格式化的MAILTO环境变量的crontab ,本地用户有可能使cron
服务程序的cron_popen() 函数中的定长缓冲区发生溢出。由于cron守护进程是由root来
运行的,所以从理论上讲,本地用户是有可能利用这个溢出来获取root的权限的。
…… 

解决办法:
针对不同的体系结构的硬件,下载不同的RPM包
然后运行 rpm -Uvh <文件名>
然后运行/etc/rc.d/init.d/crond restart 来重新启动cron进程。
……” 

从以上的资料可以对整个的攻击过程一目了然了。RedHat在8月25日发现的漏洞,然后在8
月27日这个漏洞就得到了修补。系统安全不是一个状态,而是一个过程。事情整整经过了
一个月,就是再懒惰的系统管理员也会为重要的服务器系统安装上修补后的程序了,但是
PCWEEK的测试人员却没有进行这项工作。更有甚者,PCWEEK 在这次测试之后,又进行狡
辩: 

“针对这次的测试,很多人批评我们没有为RedHat6.0更新二十一个系统安全的补丁。我
们的解释如下:本次测试中,我们仅仅安装了从软件厂商那得到的软件(当然不包括应用
程序)。我们并未对NT服务器多加关照。我们确实为NT安装了service pack 5,但是这主
要是因为SP5只有一个文件。” 

在此我们不讨论NT的SP5中到底有什么宝贝,我们仅仅讨论一下系统更新的问题。类UNIX
系统(如GNU/Linux)是非常灵活的,再加上RedHat是以RPM的形式来对软件进行管理的,
软件更新不应当是问题。如果是谨慎的系统管理员,会加入有关安全的邮件列表,如
redhat-watch-list-request@redhat.com和redhat-announce-list-request@redhat.com
,随时手动的更新系统;如果是懒惰的系统管理员,他完全可以编写一个系统更新的脚本
,然后将其加入crontab中了事(RPM是完全的支持通过FTP进行系统更新的)。无论采用
以上哪种方法,也不会象PCWEEK那样被动了。 

除此之外,PCWEEK还对有关第三方软件(photoads CGI)造成的漏洞做了如下的辩解: 


“在此次测试中出现的问题使我们对开放原代码软件产生了怀疑,我们可以肯定的说,如
果这个破坏我们系统的hacker没有看到我们的脚本代码的话,他是不可能成功的。……”
 

首先,这个第三方软件并不是开放原代码软件,如果你不获得许可协议的话,你是无法获
得原代码的,这就直接的决定了该软件的性质并不是开放原代码的,开放原代码软件的主
要的评判标准应该是这个软件的开发方法是否为开放原代码的方式。 

其次,如果PCWEEK是公正的话,他们在使用该软件做这样的一个测试之前,为什么没有对
软件的安全性进行检察呢?至少PCWEEK是有权力并且有能力(值得怀疑)修补这个软件的
安全漏洞的。 

这个混乱并且非常具有戏剧性的评测并未就此了事,整个Linux社区对这次测试反映非常
的强烈,很多用户和媒体都发表了评论。 

四、评论 
在Linux服务器被攻击后的一周内,linux weekly news就针对这次测试做了简要的评论,
其译文如下: 

“在PCWEEK的测试中,有人成功的修改了Linux服务器的网页,这也许会使所有的反Linux
份子感到欣慰。但在用这件事为证据来证明Linux存在安全隐患之前,我们应当花些时间
来看一看这个系统是如何被破坏的。你可以在PCWEEK的网站(www.hackpcweek.com)看到
这次攻击的具体过程。 

这次攻击可以分成两个步骤。第一步是使任意的程序可以在服务器端运行。这个cracker
(代号为jfs)利用了photoads CGI脚本的漏洞达到了这个目的,photoads是PCWEEK在目
标站点上运行的一个提供分类广告的CGI脚本程序。并非Linux和Apache导致了这个安全漏
洞。显而易见,是一个第三方的商业软件导致了这个漏洞。 

可以在目标系统中运行程序之后,这个cracker需要使用root权限。由于该系统没有进行
必要的针对系统安全的软件升级,具体的说,没有对cron进行更新,而RedHat在8月25日
就发布了这个安全补丁。jfs只需要执行一个简单的、并且是现成的攻击程序,root的权
限就到手了。 

我们可以得到这样一个结论,这次测试中的Linux服务器是并未经过安全配置的。一个用
来做安全测试的系统,至少应当更新有关系统安全的软件。并且对于将要使用的第三方软
件,应当给予慎重考虑。” 

有关Linux的另一个新闻站点linuxtoday也发表了许多读者的文章,评论这次所谓的评测
。在此我选择了一篇有代表性的文章,您可以在 http://www.linuxtoday.com/stories/1
0767_flat.html 找到原文。译文如下: 

“ZDNet 承认在最近的安全评测中存在错误 

Oct 4, 1999, 23:19 UTC
By Arne W. Flones 

针对近来的hacker攻击PCWEEK的测试,ZD实验室在今天承认了他们由于嫌麻烦的缘故,故
意的没有对两个参评系统之一的RedHat系统更新二十一个安全补丁。(详见PCWEEK的文章
:CGI script opens door) 

在这次所谓的安全评测中,ZDNet邀请hacker们(应该是cracker吧)攻击两个不同的参评
系统,其中一个运行Windows NT,另一个运行RedHat发行的GNU/Linux。这次测试可以看
作是八月份的有关NT和Apach+Linux的类似测试的延续。在Linux团体一致批评该测试缺乏
客观性的情况下,ZDNet的主任John Taschek 作出了如下的解释:PCWEEK组织这次测试的
目的是检验系统的安全性能。我们并不关心哪种操作系统先被闯入。我们所希望的是在实
践的基础上为实现系统安全确立一定的基本原则。最后他说,我们并不关心胜负,我们也
将不评论胜负。仅仅是一次实践。他们对别人的异议置之不理,继续进行这次所谓的评测
。在9月24日,一名cracker利用了web程序和crond程序的漏洞成功的攻击了Linux系统。 


当这名cracker所使用的攻击方法被公开之后,人们立刻发现这两个安全漏洞很容易就可
以被堵住。第一个安全漏洞是由CGI脚本引起的,只要在编写脚本时对系统安全稍加重视
就可以避免。这是一个单独的应用程序的问题,与Linux系统无关。第二个安全漏洞在八
月份就已经被RedHat公开并解决了。就算是ZDNet忽略了第一个漏洞,但他们完全应当知
道第二个漏洞。这个cracker是利用了两个安全漏洞才得以成功的。 

今天,ZDNet 透露了,他们故意的没有为Linux系统安装21个有关安全的补丁程序,其中
就包括防止那个cracker所使用的攻击方法的补丁程序。这种说法马上在资深用户、安全
专家和Linux 团体中引起了很大的反响。 

作为构成Linux 的一条基本原则,Linux对任何人都是自由的,完全没有理由去等待一个
安全更新公开发行后再更新系统。这种安全补丁在Linux世界里是非常普通的。每当一个
发现安全漏洞之后,很快就会有人对其进行修补,并且补丁程序很快就会在公开的网络论
坛中发布。开放原代码的特点使得任何人都可以对补丁的正确性进行检验。典型的,同补
丁程序一起发布的还有一个能对这个安全漏洞进行攻击的程序。这种方法可以戏剧性的减
少更新系统所带来的风险。通常这种更新对系统改变是很小的,并切是很容易单独进行测
试的。这样只需要很少的努力、很短的时间,IT主管就会了解到实际的效果,而这些补丁
程序也就会自然而然被的加入重要的系统中去了。这种做法的结果就是这些补丁很快就会
在系统中发挥作用,使公司的数据安全得到保证。 

这与Windows NT世界里的情况是完全不同的,在NT的世界里微软控制着全部的原代码。由
微软Windows 的特性所决定,Windows的用户必须容忍安全漏洞,直到微软发布一个很大
的server pack为止,而且这种发布还不是经常性的。这种安全策略是值得怀疑的。而且
对这些补丁程序的测试也是一场噩梦,其原因在于无法单独的对每一个修补进行测试。并
且由于微软将所有的补丁程序和系统改进做到了一个程序里,这种方法使得在企业范围内
进行安装变得很危险。人们不知道将会发生什么。显而易见,Windows和Linux的世界中有
不同的游戏规则,ZDNet 实验室却忽略了这一点。 

针对人们对ZD简单的、不公平的忽略了21个安全补丁程序的抱怨,ZDNet 给出了如下的解
释:大型企业往往不愿更新21个单独的修补程序,反之更愿意去使用一个很大的,并且内
容很混乱的修补程序。ZDNet 没有为这种荒谬说法提供任何的根据。这种说法是缺少实践
和理性的。完全没有理由说微软的那种无法测试的、集成化的软件比比几个小的、易于管
理的软件更加优越。值得注意的是:虽然ZDNet忽略了21个很小的、便于检验的补丁程序
,但在测试中他们并没有忽略微软那个最新的、庞大的NT SP5。 

ZDNet的说法是站不住脚的。ZDNet不仅要对那个蹩脚的CGI脚本负责,而且也要对忽略了
21个已知的安全漏洞负责。今天他们承认由于故意的没有安装补丁程序导致了测试的失败
。他们知道任何cracker都会首先攻击这21个弱点。毫不奇怪,仅仅几天Linux系统就被破
坏了。ZDNet 的无能决定了这个结局的必然性。 

这是典型的渎职行为。以ZDNet现在的技术水平,他们是不可能进行客观的评测的。以我
对此事的了解,继续开这种毫无意义的玩笑是不负责任的。” 

其他方面的评论也很多,在此我就不一一列举了。相信通过以上的两段译文,您已经对这
个评测有更深的理解了。 

五、总结 
正当我的翻译工作快要进行完时,微软在其网站上发表了一篇题为《Linux的神化》的文
章,对Linux 进行了很全面的贬低,在其文章中多次的引用了PCWEEK的测试结论。如果对
PCWEEK的测试不是很了解的读者,一定会被微软的文章所迷惑。由此可见,评测的确有很
大的片面性。如果要真正的评价一个系统的好坏,不能单单只看评测,实践才是检验真理
的唯一标准! 

--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;

※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: freesrc.hit.edu] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.562毫秒