11月2日,美国《金融时代》公布了“Coverity Analysis”集团的一项最新的研究报告,指出谷歌的Android智能手机(HTC品牌)内核存在“高危”编程缺陷(Defects),引起业界一片惊慌。实际情况是怎样的呢?
实际上,Coverity分析集团利用自己的“代码扫描分析器”对一些最常用的开源软件包(共计291个)的源代码文件(共计6,200万行源代码)进行了自动扫描分析,其中被扫描的有:Linux内核、Apache、Samba和PHP编程语言等,并且定于今天公布研究结果,谷歌手机的内核编程缺陷的发现只是这项大规模检测工程研究的一个小部分。
Coverity分析发现,谷歌Android(2.6.32版本)内核源代码文件的编程”缺陷密度”为0.47。什么是“缺陷密度“?如果一千行源代码平均有一个编程缺陷,就称其平均”缺陷密度“为1.0。实际上,Coverity发现Android内核存在359个编程缺陷,其中25%的编程缺陷(88个)属于“high-risk”(“高危”)缺陷。由此,我们也可推算出Android内核大约有76万行源代码(不包括程序的注释行)。
据Coverity首席科学家及公司共同创始人Andy Chou对媒体说:“a defect density of one defect per approximately one thousand lines of code is industry average”,意思是说,一般而言,缺陷密度的“产业平均值”大约接近于1.0。由此说明,Android内核的“缺陷密度”低于平均水平。
根据有关报道,谷歌和HTC正在评估这份研究报告。大家知道,谷歌的Android手机,如果存在“高危缺陷”(主要是内存泄漏方面的问题),一旦被黑客发现,用户个人的敏感信息(或隐私)极易丢失(或被窃)。由于谷歌手机在美国国内市场占有44%的份额(据Canalys最新调查结果,11月2日),高危缺陷的发现,对谷歌手机用户的影响很大,对谷歌而言,这确实是一件很要命(很挠头)的事情。毫无疑问,面对如此发现,谷歌手机的企业用户会更加担心了。
私有软件代码的“缺陷密度”是否更低一些呢?未必。私有软件的内部有什么“猫腻”,一般局外人是不得而知的。11月2日,美国《PC世界》发表文章,题为“88 high-risk defects found in Android kernel”,该文指出,私有软件的“缺陷密度”未必更小,比如,Secunia调查公司最近断言:“Apple's products actually have more security flaws than any others”。苹果的iOS操作系统的源代码是完全封闭的,不可能享受到这种客观检查和分析的“体检待遇”。姑娘再漂亮,不让外人看,小伙子也不会喜欢。
说明:今天,Coverity集团即将对外公布对Linux内核、Apache、Samba和PHP编程语言等软件包的“自动扫描”结果,使其“内部”真相大白于天下。这些软件包里面有没有后门、木马,到时将“一目了然”。现在,我国的政府部门正在搞“软件正版化”,我们要想清楚的是,所谓的“正版软件“里面是不是很干净,或者,将来是否会保持很干净,会不会有后门和木马以及QQ之类混进来。近日,俄罗斯政府下决心投奔Linux是很有远见的举措。微软的公关人员一定会说:Win 7和Office 2010内部绝对没有后门、木马。此话说得很好。那么,谁主张,谁举证,请拿出第三方的证据来。人们不会忘记XP的“Home phone”事件(XP定时自动地向微软总部数据库“打电话”事件)。