首页计算机书籍操作系统计算机系统安全 第5章 操作系统安全_卢开澄 郭宝安等编著_7536640838
Dream

文档

2149

关注

0

好评

0
PDF

计算机系统安全 第5章 操作系统安全_卢开澄 郭宝安等编著_7536640838

阅读 897 下载 0 大小 2.1M 总页数 34 页 2023-02-28 分享
价格:¥ 10.00
下载文档
/ 34
全屏查看
计算机系统安全 第5章 操作系统安全_卢开澄 郭宝安等编著_7536640838
还有 34 页未读 ,您可以 继续阅读 或 下载文档
1、本文档共计 34 页,下载后文档不带www.pdfdz.com水印,支持完整阅读内容。
2、古籍基本都为PDF扫描版,所以文档不支持编辑功能,即不支持文档内文字的复制粘贴。
3、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
4、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
5、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。
统用户表等公共数据。因为许多用户访问这些公用程序,植人的计算机病毒能够很快扩散。开发一个计算机病毒程序的时间可以短得惊人。在某个案例中,一个200行F0 RTRAN代码和50行命令文件的病毒还不到24小时就制造出来了,而作案者对他所攻击的计算机还没有什么经验。除了编制速度快之外,保密也使得发现计算机病毒为时太晚。一个计算机病毒可编写得能掩盖住它扩散的大部分踪迹。由于计算机病毒可以相当小,它的代码可以隐藏在其它更大更复杂的程序中。200行程序的计算机病毒可以分成100组,每组两行加一个转移指令,从而很容易隐藏在编译程序、数据库管理程序、文件管理程序或其它一些大的公用程序中。当然,可以通过-个确定两个程序是否等价的过程来帮助发现计算机病毒。但是,由于等价问题的复杂性,理论结果非常令人失望。一般而言,这个问题是不可判定的,这就意味着要确定一个被感染的编译程序与一个未被感染的编译程序是否产生同样的结果是极其困难的。因而,不大可能开发出一个能够区别受感染模块和未受感染模块的筛选程序。检测出某些已知计算机病毒是可能的,也就是说,如果知道一个特定的计算机病毒能够感染一个计算系统,就有可能检测出那个计算机病毒。然而,当发现计算机病毒后,还有从系统中清除计算机病毒的任务。从运行的系统中去掉计算机病毒,要求能够测试出来并且消除计算机病毒的速度快于计算机病毒扩散的速度。计算机病毒扩散的速度依赖于共享和传递性。计算机病毒必须能够使用共享的信息并使其它程序共享它的信息。因而,限制信息的共享能够限制计算机病毒的感染。在下一节将讨论区隔的概念,通过区隔可将数据分隔成互不联系的部分。在信息被分隔的系统中,计算机病毒的作用被限制在一个区隔中。类似地,信息从一个进程流向另一个进程。如果有一个信息从A流向B,并从B流向C,就意味着这则信息从A流向C。通过限制使用被传递的信息的数量,就可以限制计算机病毒扩散的范围。4.蠕虫庶克(Shoch)和哈普(Hupp)的蠕虫程序是计算机病毒在网络上的推广。蠕虫利用计算系统的网络管理机制,识别网络中空闲的计算机,并将蠕虫程序传递给它。一旦被激活,这个蠕虫又企图发现另一个空闲的机器,然后将它自身的一段传送过去。与计算机病毒一样,蠕虫几乎可以嵌人任何有意义的计算机程序中。某些蠕虫程序有合法用途。例如:运行系统广告牌或闹钟。蚓虫还可以应用于由一系列计算机构成的网络上的并行计算,在这些情况下,蠕虫完成特定的任务,然后退出。但是,一般的蠕虫也可以无休止地运行下去,从而导致系统拒绝别的用户的访问。庶克(Shoch)和哈普(Hupp)列出了几个蠕虫程序的例子,包括在ARPA net网上运行的例子。网络控制程序本身就是蠕虫的例子,因为ARPA net网使用分布控制来管理这个具有数千个用户的网络的资源和共享。所有关于蠕虫的实例都是有关正当使用网络设施的。在这些例子中,都是启用多主机来完成超出单主机支持能力的计算。由于蠕虫的行为可能变得不友好,一些有远见的设计者加上了在必要时死蠕虫的全国高技术重点图书·计算机技术领城手段。当一个蠕虫变异了(由于一些未知硬件和软件的连入),并复制出可能使它所达系统崩溃的副本时,便使用这一手段。但并非所有的蠕虫开发者都有这种远见。如果不预备制约蠕虫的措施,一旦有事,求助的手段也许只有在网络中为每个机器找一个干净、无蠕虫副本的完整系统。在蠕虫释放前保存的系统备份足以达到此目的。但如果蠕虫一直在活动,也不知道什么时候发生了变异,则所有的网络用户都有可能遭受严重损失。5.1.3防备程序攻击的程序开发控制如上所述,程序员有许多破坏系统以谋取私利的办法。下面将讨论在软件开发过程中,在设计、编码和测试各阶段预防潜在威胁的控制方法。1.编程任务的描述过去,在程序设计的原始生产模式中,程序员接受一项要实现的任务的描述,独自完成该任务的编程,然后将程序交回。支持程序员单独工作的论点如下:(1)编程是一项个体劳动,要求独立思维。将其思想与别人交流太费时间,甚至无益。(2)程序是程序员才能的创造性表达,是很个性化的。指望两个不同的程序员共同完成一个是没有道理的。(3)程序员们基本上是些喜欢独自工作的人。破坏他们所喜欢的工作方式,对程序或程序员会产生消极的影响。(4)程序设计是一项只能由程序员理解的艺术,管理人员无能力理解程序(或者说管理人员不情愿被迫去努力理解程序)。这些论点没有一条是成立的。阻碍程序设计由单个人完成的基本情况是程序的规模太大。…个好程序员一年的期望产出是2000行代码(由于编程语言、任务的复杂性及环境的差别,或许能乘一个2~3的因子)。某些好的程序员在完成复杂的任务时平均每天只能编两三行代码!以这种产出水平,单个人对数十万甚至上百万行代码的现行较大系统是不能胜任的。软件工程是指大规模程序设计的问题,也就是说,为巨系统编写代码。软件工程的基本原则是工作划分、代码复用、标准的事先规定的软件工具的使用和行动的组织。2.对等检查当一个系统很大,需要若干人同时编程时,所有人都必须有精心制定的文件,说明程序的各个部分都是做什么的,每个部分如何与其它部分接口。由于制定文件在某种意义上是按照每个程序员的个人解释去做的工作,及早找出理解不一致的地方是很重要的,找出程序员的逻辑缺陷也是很重要的。软件工程的基本思想是:正确的程序是全体程序员的共同责任。因此,每个成员都要分担对等的设计检查和对等的代码检查的责任。当一个设计人员或编程人员完成了一段特定的工作之后,要请几个同事“过”一遍。原开发者按规定的章程出示材料,听取别人的评论、提问和建议。这些问题是为分辨误解和错误而设计的。这种程序设计方式称为“无偏”程序设计。人们必须认识到产品属于整个集体,而全国高技术重点图书·计算机技术领域5-6计算机系统安全
返回顶部