咱们能使操作系统安全可靠吗?(一)ITeye - AG环亚娱乐

咱们能使操作系统安全可靠吗?(一)ITeye

2019年03月20日14时23分26秒 | 作者: 又槐 | 标签: 操作,咱们,安全 | 浏览: 1221

 

下文是美国电气与电子工程师学会计算机学会《IEEE Computer》2006年第5期的一篇论文“Can We Make Operating Systems Reliable and Secure”,作者Andrew S. Tanenbaum、Jorrit N. Herder、Herbert Bos。

 

长期以来微内核体系结构由于其功能较单核结构差劲而被人忽视。现在微核结构有或许由于其潜在的高可 靠性而从头风景,由于现在许多研讨人员把牢靠性看得比功能更为重要。

 

您什么时候碰到过一台电视机呈现体系溃散或许需求您去网络上下载什么紧迫的软件晋级补丁?除非那是一台极为老久的机器(即使如此也不会费事您去软件晋级,只不过需求替换零部件算了-译者注)。而一台新的电视机只不过是一个由一颗处理器、一个大屏幕监视器、一些解调无线电信号的模仿电子部件、一些特别的(相关于一般计算机而言)读写(I/O)设备:遥控器、内置卡式录像带机或DVD驱动器以及ROM里的一些软件组成的计算机罢了。

 

这一问,触及到计算机界人士讳莫如深的一个尴尬的“隐秘”,为什么电视、DVD录像机、MP3播放器、移动电话和其他软件驱动的电子设备都非常牢靠、安全,而计算机却做不到呢?当然有许多“解说”,比方计算机是可变的、计算机可以答应用户改动软件、信息技术产业还不老练等等。可是,当咱们步入一个绝大部分的计算机用户对错专业技术人员的年代时,上述理由关于他们来说,就看起来越来越像是毫无说服力的托言。

 

顾客关于计算机的等待和对电视机相同:买了今后,插上电源,就能完美地作业10年。作为信息技术的专业人员,咱们有必要面临这个应战,而且尽量使计算机像电视机 相同牢靠安全。

 

要做到牢靠和安全,最大的妨碍就是操作体系。虽然应用程序也存在着许多缺点,可是假如操作体系没有缺点,应用程序中的缺点只能发生有限的损坏。因而咱们将会集评论操作体系。

 

但是,在进入细节之前,有必要先阐明一下牢靠与安全之间的联系。这两个方面的问题一般都是由相同的原因形成的,即软件中的缺点。一个缓冲区溢出错误解导致体系溃散(牢靠性问题),也会让精心编写的病毒或蠕虫接收计算机(安全性问题)。虽然咱们首要重视牢靠性,但在改进牢靠性的一起也会进步安全性。

 

体系为什么不牢靠?

 

当时的操作体系有两个特征使得它不牢靠、不安全:一是规划巨大,二是毛病阻隔的功能很差。Linux内核具有超越250万行的代码。Windows XP的内核则是前者的2倍还多。

 

一项关于软件牢靠性的研讨标明:每1000行可执行代码中会包括6~16个缺点[1],而另一项研讨则估量可执行代码的缺点密度(fault density)为每千行2~75个[2]。依照每1000行代码中有6个缺点的保存估量,Linux内核大约存在15000个缺点,而Windows XP中的缺点至少是它的2倍。

 

更糟糕的是,一般大约70%的操作体系带有设备驱动程序,而这些驱动程序的失效密度是一般代码的3~7倍,所以上面说到的缺点数或许在总体上被轻视了[3]。明显,发现并批改一切的缺点是底子不可行的,更何况缺点的修补经常会引进新的缺点。

 

当时操作体系的巨大规划意味着没有人可以了解其悉数状况。明显,在没有人真实很好了解一个体系的状况下要将其工程化是极为困难的。

 

这给咱们提出了第2个议题:毛病阻隔。没有哪个人能弄懂航空母舰的悉数零件是怎么作业的,但其子体系都完成了互相很好地阻隔,这样就不至于发生厕所堵塞影响到导弹发射子体系的问题。

 

操作体系的各个部件没有这种阻隔。现代操作体系包括成百上千个链接在一起的进程,作为一个独立的二进制程序以内核的办法运转。在这几百万行内核代码中,每一行都可以重写与之无关的组件运用的要害数据结构,从而以很难检测到的办法形成体系溃散。此外,假如病毒或许蠕虫感染了一个内核进程,咱们也无法阻挠它快速蔓延至其他子程序并操控整台机器。

 

回到舰船的比如。现代舰船的船壳内分红许多隔间。假如某一个隔间呈现了裂缝,只要这个隔间漏水,不会影响整个船体。当时的操作体系就像隔间创造之前的船舶,每一个漏缝都能使整只船淹没。

 

所幸研讨人员正在研讨构建更牢靠的操作体系。下面咱们依据办法的“彻底性”依照从最保存到最急进的次第介绍四种不同途径。(待续)

 

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表AG环亚娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章