By IT一路发
“863计划重点项目专家组组长,银河系列巨型计算机的主要研制者,麒麟
操作系统首席科学家,2004年度“中国青年科技奖”得主……当所有这些荣誉和
责任相遇,你想到了什么?眉头紧皱的忧郁思考者,还是步履匆匆的中年科学家?
面前的廖湘科教授,散散地靠在椅背上,中年人特有的发福体形越发使他显现出
一派气定神闲的悠然”
这是清华新闻网上歌颂自己的校友时采写的一则新闻,详情见
http://news.tsinghua.edu.cn/new/news.php?id=10732。
原来麒麟操作系统首席科学家、国防科大计算机学院副院长廖湘科还是国家
863软件重大专项专家组组长。就凭这个,相信大家很快就明白为什么国防科大
能够申请到这样的项目并能够在2004年很快通过验收了。
麒麟这个仅仅用了两年多时间就开发成功的国家863计划项目,其最大优势
不在于它有多先进、多好用,最重要的,它是个黑盒子,除了开发者和相关人员,
没有人知道里面装的是什么。按照廖湘科的说法,麒麟基于Unix国际标准,但不
完全是Unix内核,且兼容Linux,这种代码的不透明,在某种程度上的确保证了
其安全性。
麒麟产品发展战略有着自己的考虑。目前被广泛看好的Linux对于中国来说
有着GPL规则的限制、代码全透明的隐患、知识产权的风险以及与Unix事实上的
差距,在中国无法打入核心领域。所以,麒麟服务器操作系统最大的市场,可能
是军队等要害部门,对这些部门来说,国产的操作系统即使再难使用,也不能用
国外的,或者开源的,这完全是出于战略考虑。
麒麟的首批推广厂商联想也承认,借助麒麟可以完全屏蔽国外竞争对手,打
入军队、国家核心部门等特定行业市场。因为进入WTO之后,借助Kylin,联想可
以带动国家意志有效地给国外竞争对手设置技术门槛,因为这些地方是国外厂商
永远也无法进入的领域。
我们的核心部门的系统真的安全么?
一些人单位和个人在申请重大核心软件时,总喜欢打安全牌,拿伊拉克的防
空系统几个小时就被美国人搞瘫痪说事(我个人从未看到有关此事的正式报道),
但一旦项目申请到手,常常又置国家安全于不顾,大肆引用现有开源的系统或已
经公开开发系统的代码,并进行一些夸大事实的宣称如“自主独立研发,拥有核
心知识产权”。
7000万的投入,对操作系统这样的项目来说,并不算多。对于麒麟的技术路
线和选择大部分技术人员都表示理解。其实大家的目的都相同,热切期盼看到一
个低调、严谨、谦虚、务实、有大格局、富于创新精神的kylin团队。千万不要
走上“汉芯“的老路。
正如一位网友的评论:
“1 开发操作系统是个系统工程,不宜于从零起步,应该站在巨人的肩上。
比如以FreeBSD或者Linux为基点,进行二次开发,逐渐创新,循序渐进,假以时
日,说不定就会发展成为一个全新的具有自主产权的操作系统。
2,开源运动对人类发展有巨大的促进作用,特别在知识共享方面。但是它存
在的一个基石就是对版权的尊重和保护。著名的开源模式比喻GNU/Linux,就有严
格的GPL条款限制。别人的劳动成果如果用在自己的创作上,就要尊重原作者的
版权。这是一种常识,并不是一件丢脸的事情。如果kylin确实使用了FreeBSD的
源代码,不管你用了多少,都要注明原作者的版权声明,这不是个难事,我也再
一次说明这也不是个臭事,完全是个科学求实和心胸气度的问题。否则,你就是
违反侵犯了原作者的版权,换而言之,如果原作者拿到了真凭实据,他可以告
你。;
3,如果你确实侵犯了FreeBSD的版权,公开道个歉,回复原作者的版权声明,
我想,是不过分的。
4,回答别人的质疑时,要堂堂正正的正面回复,不要旁敲侧击,遮遮掩掩。
如果涉及到军事或国家机密,至少可以来个 “涉及**机密,无可奉告”之类的
吧?
5,无条件支持国人堂堂正正的开发操作系统。
”
事件进展:
因为发表了“麒麟操作系统内核同其他操作系统内核的相似性分析”一文引
起巨大反响的网友dancefire不过是悉尼读书的一名学生。
文章详细链接:
http://www.dancefire.org/article/Kernel_Similarity_Analysis.html
麒麟的官方回复认为该分析报告基于麒麟官方网上下载的简化的版本,认为:
“其结论可能会产生一定的偏差”,并邀请dancefire到湖南长沙做进一步分析
测试。
“为了把银河麒麟开发团队的工作以一个公正、客观的形式反馈给大家,我
们诚挚地邀请您前往湖南长沙。我们将为您提供银河麒麟操作系统完整版本的源
代码以及分析工作所需要的各种环境和条件,请您在此基础上进行彻底的分析,
给出最客观的结果,也为您的分析报告画上一个圆满的句号。
另外,借这次机会,我们也诚挚地邀请您作为一名公正的技术人员,来长沙
主持一次针对银河麒麟操作系统的第三方测试,测试内容主要是银河麒麟操作系
统和FreeBSD等其它操作系统之间的功能和性能对比。本次测试的结果也希望以
您的名义公开发布。”(见
http://www.kylin.org.cn/KylinForum/read.php?tid=1240)
对于国防科大的邀请,DanceFire 在自己的Blog上做了公开回应,见
http://blog.csdn.net/DanceFire/archive/2006/05/12/725423.aspx。并提出
了一些自己的建议,但麒麟官方对此未作回应。
DanceFire的建议如下:
举办一个针对银河麒麟操作系统的第三方分析和测试,这个想法很好,如果
开发组真的很有诚意还麒麟一个本来的面目,我倒是有几个建议,开发组可以考
虑。
第一,关于麒麟系统和FreeBSD的相似性问题
我所进行的麒麟操作系统内核同其他几种操作系统内核的二进制可执行文件
的相似度分析,所得到的数据已经明确的显现出来麒麟操作系统2.0-14/21同
FreeBSD 5.3/5.4之间紧密的血亲关系,已经能够说明一定问题。即便是精简版,
也不应该有如此高的相似度,我相信开发组一定不会认同裁减完后的精简版就和
FreeBSD内核差不多了,毕竟还有很多基础构架上的东西不同。所以精简版并不
能完整地解释很高的相似度的问题。如果开发组可以给出修改自GENERIC的内核
配置文件,和调整后的gcc编译参数,那么可能会令二进制文件相似性分析更加
贴近真实情况。毕竟这些不涉及源代码,应该也不属于保密内容。
当然,对二进制可执行文件的分析是一个侧面的分析,不能够最直接的反应
问题。最直接的分析,应该是通过源代码对核心结构和关键算法进行分析。并且
至少以行为单位进行FreeBSD源代码和麒麟源代码的相似性分析。最后得出麒麟
创新所占的比例分析报告。
在这方面的分析最有发言权的,应该是FreeBSD的核心开发人员。如果能够
请FreeBSD的核心开发人员去审视Kylin的源代码,我相信他们做出的客观评判,
是最值得大家信服的。很幸运,国内就有几个很出色的FreeBSD核心开发人员,
像davidxu或者delphij等,我相信你们也早在www.freebsdchina.org上见过他们
了,联系他们不是难事。如果麒麟开发组能够允许FreeBSD的核心开发人员来进
行源代码分析,以FreeBSD开发人员的权威性,相信其他人不会再质疑他们的分
析数据。
第二,关于麒麟服务器操作系统的安全性测试问题
如果真的对银河麒麟服务器操作系统的安全性有信心,那么安全性测试就不
应该采用封闭式测试,而应该采用开放式测试。
1. 用麒麟操作系统安装多台不同配置不同用途的服务器,运行正常复杂度
的假想服务,然后将这些服务器公开到互联网上。
2. 与此同时,将所用的麒麟操作系统的安装盘(不需要开放源代码),所有
服务器的基本配置,进行安全配置的所有细节公开到网上。当然,口令和一些加
密用到的东西不需要公开。但是能够让测试者在自己的服务器上重现测试服务器
的配置。这一点是很重要的,节约时间并且测试的是真正的系统安全性。
真正安全的系统是说即使你知道所有的配置,但是你不知道口令,那么除了
口令外,你就应该没有第二条途径可以进入系统,或取得授权以外的权限。
3. 对入侵渗透级别进行设定,并对不同级别设立不同数量但具有吸引力的
奖金以奖赏成功入侵的安全测试人员。
4. 设定至少3个月,最好6个月的测试期,在这测试期内,一旦服务器安装
调试好,开始测试了,系统就不能够再改变配置,不能够打补丁。管理员口令可
以定期更换,但是除此以外,不可以人为的阻止入侵行为,因为这里测试的是系
统安全性,而不是管理员的快速反应的安全意识。
5. 要确保服务器对于测试者可达。有不少国内的测试虚张声势,在测试的
时候自己对自己进行DOS,导致大部分的测试者无法进行正常的测试。这点,麒
麟要想办法保证,无论添加防火墙还是更换IP或者其他的方法,开发组要尽力确
保测试服务器的可达性。
6. 邀请国内外知名安全组织或公司,如国内的xfocus, nsfocus等,参加测
试。
如果经过了这几个月的测试后,在无人守护的情况下,这些服务器上所运行
的服务从未被中断过,系统也从未被入侵过。
那么就算开发组认为安全性还有待进一步完善,恐怕舆论上也会相当的认可
麒麟的安全性了。
第三,关于尊重他人知识产权的问题
1. 遵守BSD等版权许可规定,将麒麟源代码中、脚本中、文档中所删除的
FreeBSD等所有相关版权声明恢复,需要添加的地方添加,需要声明的地方声明。
2. 在所有麒麟介绍的地方,无论是文档或者网站,明确说明使用了FreeBSD
等的代码,尊重他人劳动成果,并承认传承关系。
3. 麒麟官方要避免在一切发布信息中,包括网站和文档等,使用“自主知
识产权”、“自主版权”和“中国独立研发成功”等类似夸大的形式描述银河麒
麟操作系统。并且如果有大量网站用此类词汇描述麒麟操作系统,那么要在官方
网站和/或文档中明确位置为此辟谣。对影响力较大的网站,在能够联系对方的
情况下,尽量联系并劝告对方回避上述词汇描述麒麟操作系统,以防由此带来不
必要地麻烦。
4. 重新审视所用的开源软件。凡是GPL的软件遵守GPL许可规定,如,在发
布二进制代码的同时,应当在同样的位置发布形成该二进制代码所用的源代码。
所有在GPL软件上进行的修改,应该开源。
此外,关于开发麒麟操作系统从国家申请的7000万或者8000万资金的使用情
况的问题不是我所关心的,我是一个技术人员,对这些非技术问题并不感兴趣。
但是,我注意到在我分析报告的评论中,相当一部分读者对此颇有微词,因此,
开发组如果能够说明资金使用情况,我想应该会避免很多不必要的误会。
最后,再次谢谢麒麟开发组的邀请,并希望银河麒麟开发组是真的有诚意来
面对整件事情。