1、1计算机操作系统计算机操作系统第第1010章章 系统安全系统安全2目目 录录l10.1 计算机安全概述l10.2 程序安全l10.3 系统和网络安全l10.4 计算机安全技术3系统安全系统安全l从人类历史上的第一台计算机诞生至今,计算机硬件与软件技术都在经历持续不断的飞速发展。计算机的普及带领人们步入信息时代,而计算机技术在生产、生活各个领域的广泛应用则推动人类文明快步向前。l随着人们对计算机系统及相关技术依赖性的日趋上升,计计算机在使用过程中的安全问题也愈来愈受到重视算机在使用过程中的安全问题也愈来愈受到重视,高效且可靠的运行和使用计算机系统成为计算机学科领域普遍关注的重要问题。410.1
2、10.1 计算机安全概述计算机安全概述l计算机安全是计算机与网络领域的信息安全的一个分支,其研究目的是改善计算机系统及其应用中的不可靠因素,以保证计算机正常安全地运行。l从计算机安全所包含的主要内容计算机安全所包含的主要内容来看,应包括实体安全、软件安全、运行安全、网络安全和信息安全等方面;l从计算机本身的结构层次划分计算机本身的结构层次划分,则包括物理安全、逻辑安全和安全服务三方面。510.1.1 10.1.1 计算机系统安全的定义计算机系统安全的定义l关于计算机安全,国际标准化组织(ISO)的定义是:为为数据处理系统建立和采取的技术与管理的安全保护,以使数据处理系统建立和采取的技术与管理的
3、安全保护,以使计算机硬件、软件和数据不因偶然或恶意原因而遭到破坏、计算机硬件、软件和数据不因偶然或恶意原因而遭到破坏、更改和泄露。更改和泄露。l中国公安部计算机管理监察司提出:计算机安全是指计算计算机安全是指计算机资产安全,即计算机信息系统资源和信息资源不受自然机资产安全,即计算机信息系统资源和信息资源不受自然或人为有害因素的威胁和危害。或人为有害因素的威胁和危害。610.1.1 10.1.1 计算机系统安全的定义计算机系统安全的定义l计算机系统安全主要包括三个方面的内容:物理安全、逻辑安全和安全管理。l物理安全物理安全主要是指系统设备及相关设施受到物理保护,使其免遭破坏或丢失;l安全管理安全
4、管理包括各种安全管理的政策和机制;l逻辑安全逻辑安全是指系统中的信息资源的安全,包括数据机密性、数据完整性和系统可用性。710.1.2 10.1.2 计算机系统安全的分类计算机系统安全的分类l计算机面临的安全威胁与攻击一般可分为外部与内部两大类。l计算机的外部安全计算机的外部安全,包括计算机设备的物理安全、与信息安全有关的规章制度的建立和法律法规的制定等。这是保证计算机设备正常运行、确保系统信息安全的前提。l计算机的内部安全计算机的内部安全指的是计算机信息在存储介质上的安全,包括计算机软件保护、软件安全、数据安全等多方面。810.1.3 10.1.3 计算机威胁的类型计算机威胁的类型目前常见的
5、几种主要威胁类型如下:l假冒用户身份假冒用户身份:攻击者伪装成一个合法用户,利用安全体制所允许的操作去破坏系统安全。l截取数据截取数据:未经核准的人通过非正当的途径截取网络中的文件和数据,从而造成网络信息泄露。l拒绝服务拒绝服务:未经主管部门许可,而拒绝接受一些用户对网络中的资源进行访问。l修改信息修改信息:未经核准的用户截取数据后,修改数据包中的信息。l伪造信息伪造信息:未经核准的人将一些经过精心编造的虚假信息送入计算机,或者在某些文件中增加一些虚假的记录来威胁系统中数据的完整性。l中断传输中断传输:系统中因某事件被破坏而造成的信息传输中断。l否认操作否认操作:某用户不承认自己曾经做过的事情
6、。910.1.4 10.1.4 信息系统安全评价标准信息系统安全评价标准1.1.可信任计算机系统评价标准可信任计算机系统评价标准(TCSECTCSEC)l美国国防部在20世纪80年代中期制定了一组计算机系统安全需求标准,共包括20多个文件,每个文件都使用了不同颜色的封面,统称为“彩虹系列”。其中最核心的是橙色封皮的“可信任计算机系统评价标准(TCSEC)”,简称“橙皮书”。它将计算机系统的安全性分为四个等级(A、B、C、D)共八个级别1010.1.4 10.1.4 信息系统安全评价标准信息系统安全评价标准lD D级级:D级是最低的安全保护等级。拥有这个级别的操作系统就像一个门户大开的房子,任何
7、人可以自由进出,是完全不可信的。lC C级级:C级有两个安全子级别。C1C1级级:又称选择性安全保护系统,它描述了一种典型的用在一种典型的用在UnixUnix系统上的安全级别系统上的安全级别。C2C2级级:除了C1包含的特征外,C2级别还包含有访问控制环境访问控制环境。lB B级级:B级中有三个子级别。B1B1级级:即标志安全保护。B2B2级级:又叫做结构保护,要求计算机系统中所有的对象都加标签,而且给设备分配单个或多个安全级别。B3B3级级:或称为安全区域保护。它使用安装硬件的方式来加强安全区域保护。lA A级级:A级或验证设计是当前的最高级别,包括了一个严格的设计,控制和验证过程。l只有B
8、2、B3和A级,才是真正的安全等级,它们至少经得起程度不同的严格测试和攻击。1110.1.4 10.1.4 信息系统安全评价标准信息系统安全评价标准2.2.信息技术安全评价公共准则信息技术安全评价公共准则l20世纪80年代后期,德国、英国、加拿大、法国、澳大利亚也都相继制定了本国的信息安全评价标准。由于这些标准之间不能兼容,于是上述一些国家在1992年又合作制定了共同的国际标准信息技术安全评价公共准则(CC)。lCC标准的评估分为两个方面:安全功能需求安全功能需求和安全保证需安全保证需求求。1210.1.4 10.1.4 信息系统安全评价标准信息系统安全评价标准3.3.计算机信息系统安全保护等
9、级划分准则计算机信息系统安全保护等级划分准则l我国也于1999年制定了“计算机信息系统安全保护等级划分准则”这一国家标准。该标准将计算机系统的安全保护能力分为:用户自主保护级用户自主保护级、系统审计保护级系统审计保护级、安全标记安全标记保护级保护级、结构化保护级结构化保护级和访问验证保护级访问验证保护级这五个等级。l为了指导设计者设计和实现该标准中每一个安全保护等级的操作系统要求,我国于2006年又制定了“信息安全技术操作系统安全技术要求(GB/T 20272-2006)”。1310.2 10.2 程序安全程序安全l程序安全程序安全是计算机安全层次中的重要一环,其内容主要体现在计算机程序的耗时
10、性、兼容性、稳定性,以及死锁问题、程序漏洞等方面。l程序由于种种原因不可避免的存在缺陷,这些缺陷有些是在设计过程中编程逻辑不正确而导致的,有些则是程序员无意中造成的,也有一些甚至是被编程者有意留下的。要保障计算机安全,从程序本身入手尽可能完善程序或者系统缺陷、消除被安全威胁攻击得逞的隐患非常重要。1410.2.1 10.2.1 逻辑炸弹逻辑炸弹l逻辑炸弹逻辑炸弹是指在特定逻辑条件得到满足时实施破坏的计算机程序。可能造成计算机数据丢失、计算机无法从硬盘或软盘引导,甚至导致整个系统瘫痪,并出现物理损坏的虚假现象。l逻辑炸弹触发时的特定条件称为逻辑诱因逻辑诱因。1510.2.1 10.2.1 逻辑炸
11、弹逻辑炸弹1.1.逻辑炸弹的危害逻辑炸弹的危害l直接破坏计算机软件产品的使用者的计算机数据。l引发连带的社会灾难,包括直接或间接的损失,如企业亏损、资料丢失、科学研究的永久性失败、当事人承受精神打击、刑事犯罪等。1610.2.1 10.2.1 逻辑炸弹逻辑炸弹2.2.逻辑炸弹出现频率低的原因逻辑炸弹出现频率低的原因l逻辑炸弹不便于隐藏,可以追根朔源。逻辑炸弹一旦被触发即可确认源自哪个程序,这不但会牺牲这个程序产品的信誉,还可能为程序员自己引来法律纠纷。l在一般情况下,逻辑炸弹在民用产品中的应用是没有必要的,正如前一点所述这种行为损人不利己。而在军事或特殊领域如国际武器交易、先进的超级计算设备出
12、口等情况下,逻辑炸弹可以限制超级计算设备的计算性能,或使得武器的电子控制系统通过特殊通信手段传送情报或删除信息,这可能具有非同凡响的特殊意义。1710.2.2 10.2.2 缓冲区溢出缓冲区溢出l缓冲区溢出缓冲区溢出,是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量,使得溢出的数据覆盖在合法数据上。理想的情况是,程序检查数据长度、同时不允许输入超过缓冲区长度的字符;然而绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出现象的发生埋下了隐患。l利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更严重的是,可以利用它执行非授权指令,甚至可以取得系
13、统特权进而执行某些非法操作。1810.2.3 SQL10.2.3 SQL注入注入lSQLSQL注入注入是对数据库进行攻击的常用手段之一。l它利用现有应用程序可以将SQL命令注入到后台数据库引擎执行的能力,通过在Web表单、域名输入或页面请求的查询字符串等内容中输入恶意的输入恶意的SQLSQL语句得到一个存在安全漏洞的网站的数语句得到一个存在安全漏洞的网站的数据库据库,最终达到欺骗服务器执行恶意SQL命令的目的。lSQL注入攻击通过构建特殊的输入作为参数构建特殊的输入作为参数传入Web应用程序,而这些输入多为SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所需的操作,其发生原因主要是程序
14、没有过滤用户输入的数据,致使非法数据侵入系统。lSQL注入可分为平台层注入平台层注入和代码层注入代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致过滤,从而执行了非法的数据查询。1910.3 10.3 系统和网络安全系统和网络安全l伴随着Internet的普及,计算机系统尤其是计算机信息系统通常不再作为一个独立的存在而工作,计算机网络将全球各地的计算机互连起来并以此为基础提供更复杂、高效且多元的信息服务。在感受这种服务带来的便利的同时,在感受这种服务带来的便利的同时,人们也不可避免地遭遇一系列与计算机网络相关的安全威人们也不可避免地遭遇一系列与计算
15、机网络相关的安全威胁。胁。l一般情况下,这些安全威胁有两大主要攻击目标,分别是网络中的信息网络中的信息和网络中的设备网络中的设备,而这些威胁大多是通过挖掘计算机操作系统和应用程序本身的弱点或缺陷来实现的。2010.3.1 10.3.1 特洛伊木马特洛伊木马l特洛伊木马一般简称为木马,名称来源于希腊神话木马屠城记,后被黑客程序借用其名,有“一经潜入,后患无穷”之意。l计算机中所说的木马计算机中所说的木马,与人们熟知的计算机病毒一样都是一种有害程序。特洛伊木马没有复制能力特洛伊木马没有复制能力,其特点是伪装特点是伪装成一个实用工具或者一个可爱的游戏成一个实用工具或者一个可爱的游戏,诱使用户将其安装
16、在PC或者服务器上。l在不经意间,特洛伊木马可能对使用者的计算机系统产生破坏,或窃取数据特别是使用者的各种账户及口令等重要且需要保密的信息,甚至直接控制计算机系统。2110.3.1 10.3.1 特洛伊木马特洛伊木马l通常,一个完整的特洛伊木马套装程序包含两个部分:服服务端务端(服务器部分)和客户端客户端(控制器部分)。植入对方计算机的是服务端,而攻击者正是利用客户端进入运行了服务端的计算机。l运行木马程序的服务端,会产生一个拥有易迷惑用户的名字的进程,暗中打开端口并向指定目标发送数据(如实时通信软件密码、用户上网密码等),攻击者甚至可以利用这些打开的端口进入计算机系统。l木马的植入通常利用的
17、都是操作系统漏洞,它直接绕过了对方系统的防御措施(如防火墙等)。2210.3.1 10.3.1 特洛伊木马特洛伊木马l特洛伊木马可具体划分为破坏型、密码发送型、远程访问型、键盘记录木马、DoS攻击木马、代理木马、FTP木马、程序杀手木马和反弹端口型木马等类别,它们的攻击目标与手段也各有特点。l为保证自己的计算机不被木马侵害,用户应特别注意养成良好的上网习惯,给计算机安装杀毒软件,慎重运行电子邮件的附件,从网络下载的程序或文档应事先查毒再使用,在上网时尽可能打开网络防火墙和病毒实时监控。2310.3.2 10.3.2 计算机病毒计算机病毒l在所有计算机安全威胁中最为广大用户熟悉的就是病毒。计算机
18、病毒计算机病毒,是指编制者在计算机程序中插入的、破坏计算机功能或者破坏数据、影响计算机使用并且能够自我复制的一组计算机指令一组计算机指令或恶意的程序代码恶意的程序代码。l与生物病毒不相同的是,计算机病毒不是自然存在的生命体,而是某些人利用计算机软件或硬件固有的脆弱性编制出来的,其本质是一组指令集或程序代码本质是一组指令集或程序代码。病毒能通过某种途径长期潜伏在计算机的存储介质(或程序)中,当达到某种条件时即被激活;同时,它还可以通过修改其他程序将自己的精确拷贝或者可能演化的形式植入其他程序中,从而感染更多程序。2410.3.2 10.3.2 计算机病毒计算机病毒1.1.计算机病毒的特点计算机病
19、毒的特点l传染性传染性是病毒的基本特征,是指计算机病毒在一定条件下可以自我复制,能对其它文件或系统进行一系列非法操作,并使之成为新的传染源。l繁殖性繁殖性:计算机病毒可以将与自身完全相同的副本植入其他程序或者存储介质的特定区域,使每一个受感染程序都同时包含病毒的一个克隆体。是否具备繁殖、感染的特征,是否具备繁殖、感染的特征,是判断某一段程序为计算机病毒的首要条件是判断某一段程序为计算机病毒的首要条件。2510.3.2 10.3.2 计算机病毒计算机病毒l潜伏性潜伏性:计算机病毒的潜伏性是指计算机病毒依附于其他载体寄生的一种能力,这使侵入的病毒可以潜伏在系统中直到条件成熟才会发作。l破坏性破坏性
20、:所有的计算机病毒都是可执行程序,所以他们对计算机系统而言必然存在一个共同的危害,就是一旦执行便会占用系统资源,严重时会降低计算机系统工作效率。l隐蔽性隐蔽性:计算机病毒通常具有很强的隐蔽性,这是计算机病毒难以被查杀的一个重要原因。l可触发性:可触发性:病毒因某个事件或数值的出现,诱使病毒实施感染或进行攻击的特性称为可触发性。2610.3.2 10.3.2 计算机病毒计算机病毒2.2.计算机病毒的划分计算机病毒的划分l存在的媒体:存在的媒体:根据病毒存在的媒体,病毒可以划分为文件文件病毒、网络病毒和引导型病毒病毒、网络病毒和引导型病毒。l传染渠道传染渠道:根据病毒传染的方法不同可分为驻留型病毒
21、和驻留型病毒和非驻留型病毒非驻留型病毒。l破坏能力破坏能力:根据不同种类之间破坏能力存在的差别,一般可划分为无害型、无危险型、危险型和非常危险型无害型、无危险型、危险型和非常危险型。l算法算法:根据设计算法不同又分为伴随型病毒伴随型病毒、蠕虫型病毒蠕虫型病毒、寄生型病毒、诡秘型病毒和变型病毒寄生型病毒、诡秘型病毒和变型病毒。2710.3.2 10.3.2 计算机病毒计算机病毒3.3.计算机病毒的预防计算机病毒的预防l提高计算机系统自身的安全性是防范计算机病毒的一个重要方提高计算机系统自身的安全性是防范计算机病毒的一个重要方面面。然而完美的安全系统是不存在的,加强内部网络管理人员加强内部网络管理
22、人员以及相关用户的安全意识,是防范病毒的策略中最易实现、也以及相关用户的安全意识,是防范病毒的策略中最易实现、也最经济的方法之一最经济的方法之一。l另外,为计算机系统安装正版杀毒软件,并定期更新病毒库也是预防病毒的重要手段。l安全注意事项:分类管理数据;使用口令来控制对系统资源的访问;对重要数据、系统文件、特别是重要的可执行文件进行写保护;不使用来历不明的程序或数据;不轻易打开来历不明的电子邮件;安装杀毒软件;使用新的计算机系统或软件时,要先杀毒后使用;备份系统及参数。2810.3.2 10.3.2 计算机病毒计算机病毒4.4.计算机病毒、特洛伊木马与逻辑炸弹的比较计算机病毒、特洛伊木马与逻辑
23、炸弹的比较l在计算机程序中,病毒、木马与逻辑炸弹是常见的三种破坏手段,它们相互联系又各有区别。三者的共性在于它们都对计算三者的共性在于它们都对计算机系统产生危害机系统产生危害。l病毒是通过自我复制进行传播的计算机程序病毒是通过自我复制进行传播的计算机程序,自我复制是其基自我复制是其基本特性本特性,但它的破坏机制却不是必备的,所以现实中也存在一些只传染复制而不实施恶性破坏的、所谓的“良性”病毒。l木马虽然也是一种程序,但它只具备破坏性却不能完成自我复只具备破坏性却不能完成自我复制制。典型木马程序是以“冒充”来作为传播手段的,这同病毒在新目标中植入自己的副本这种“繁殖”方式显而易见存在差别。l逻辑
24、炸弹一般隐含在具有正常功能的软件内部逻辑炸弹一般隐含在具有正常功能的软件内部,并不像典型的木马程序那样仅仅只是模仿程序的外表而没有真正的程序功能。2910.3.3 10.3.3 蠕虫蠕虫l所谓蠕虫,蠕虫,又被称为蠕虫病毒,其实是一种结合了蠕虫特性与病毒机理(技术特点)的产物。目前主流的定义认为,蠕虫是一种能够利用系统漏洞通过网络进行自我传播的恶蠕虫是一种能够利用系统漏洞通过网络进行自我传播的恶意程序意程序。l蠕虫同时集成了蠕虫和病毒两者的特征,从而使其自身更加强大、传播能力也更强,它还有一个显著特点是不一定它还有一个显著特点是不一定需要附着在其他程序上而可以独立存在需要附着在其他程序上而可以独
25、立存在。当形成规模与传播速度相当快时,蠕虫攻击会极大地消耗网络资源,从而导致大面积网络拥塞甚至瘫痪。3010.3.3 10.3.3 蠕虫蠕虫l计算机蠕虫与计算机病毒相似,都是能自我复制的计算机都是能自我复制的计算机程序程序。与一般病毒不同的是不同的是,蠕虫并不需要附在其他程序蠕虫并不需要附在其他程序(宿主程序)的内部,可以不需要使用者介入操作也能够(宿主程序)的内部,可以不需要使用者介入操作也能够自我复制或执行自我复制或执行。l计算机蠕虫未必会直接破坏被感染的系统,却几乎都能对网络形成威胁。有时它可能只是浪费网络带宽,或执行垃圾代码以发动分散式阻断服务攻击、导致计算机的执行效率大大降低,从而影
26、响计算机的正常使用,还有可能会修改或损毁目标计算机的档案。3110.3.3 10.3.3 蠕虫蠕虫l蠕虫分为主机蠕虫与网络蠕虫蠕虫分为主机蠕虫与网络蠕虫。其中,主机蠕虫完全包含在它们运行的计算机中,并且使用网络的连接将自身拷贝到其他的计算机中。主机蠕虫在完成自身的拷贝加入到另外的主机之后,就会终止自身的行为。l如果根据攻击目的进行划分,蠕虫又可以分成两类:一类是面对大规模计算机网络发动拒绝服务的计算机蠕虫,另一类则是针对个人用户的执行大量垃圾代码的计算机蠕虫。l蠕虫由两部分组成:一个主程序和一个引导程序蠕虫由两部分组成:一个主程序和一个引导程序。主程序一旦在电脑中建立就会去收集与当前电脑联网的
27、其它主机信息。随后,主程序会尝试利用系统缺陷去在这些远程计算机上建立其引导程序。3210.3.4 rootkit10.3.4 rootkitlrootkitrootkit一词最早出现在Unix系统中。系统入侵者为了取得系统管理员级的root权限或为了清除被系统记录的入侵痕迹,会重新汇编一些软件工具,这些工具就被称为kit。由此rootkit可以视作一项技术。l一种公认的定义认为:rootkitrootkit是指其主要功能为隐藏其是指其主要功能为隐藏其他程式进程的软件,它可能是一个或多个软件的组合他程式进程的软件,它可能是一个或多个软件的组合。从其定义不难看出,rootkit是一种特殊的恶意软件
28、,其功功能是在安装目标上隐藏自身及指定的文件、进程或网络链能是在安装目标上隐藏自身及指定的文件、进程或网络链接等信息接等信息。目前,rootkit更多的是指那些被作为驱动程序加载到操作系统内核中的恶意软件。3310.3.4 rootkit10.3.4 rootkitl通常情况下,rootkit总是和木马、后门等其他恶意程序结合使用。rootkit通过加载特殊的驱动、修改系统内核,进而达到隐藏信息的目的。lrootkitrootkit是一种奇特的程序,它具有隐身功能是一种奇特的程序,它具有隐身功能。无论是作为文件存在的静止时刻,还是作为进程存在的活动时刻都不会被察觉。l这一特性恰是一些人梦寐以求
29、的不论是计算机黑客,还是计算机取证人员。前者可以在入侵后置入rootkit,秘密窥探敏感信息或等待时机、伺机而动;后者则可以利用rootkit实时监控嫌疑人的不法行为,这不仅帮助搜集证据还有利于采取及时行动。3410.3.5 10.3.5 拒绝服务拒绝服务l拒绝服务拒绝服务是黑客常用的攻击手段之一,是指攻击者设法让目标机器停止提供服务或资源访问。Denial of Service即拒绝服务(简称为DoS),造成DoS的攻击行为就被称为DoS攻击。l攻击者进行拒绝服务攻击主要想达到两种效果:一是迫使服务器的缓冲区满,使之不接收新的请求;二是使用IP欺骗迫使服务器把合法用户的连接复位,影响合法用户
30、的连接。计算机网络带宽攻击计算机网络带宽攻击和连通性攻击连通性攻击是最常见的DoS攻击。3510.3.5 10.3.5 拒绝服务拒绝服务l拒绝服务攻击的属性分类法,主张将拒绝服务攻击属性分为攻击静态属性攻击静态属性、攻击动态属性攻击动态属性和攻击交互属性攻击交互属性三类。l凡是在攻击开始前就已经确定,在一次连续的攻击中通常不会再发生改变的属性,称为攻击静态属性攻击静态属性。那些在攻击过程中允许动态改变的属性,如攻击选取的目标类型、时间选择、使用源地址的方式、攻击包数据生成模式等,被称为攻击动态属性攻击动态属性。而那些不仅与攻击者相关而且与具体受害者的配置、检测与服务能力也有关系的属性,就是攻攻
31、击交互属性击交互属性。3610.3.6 10.3.6 端口扫描端口扫描l端口端口,是主机与外界通讯交流的数据出入口。端口分为硬硬件端口和软件端口件端口和软件端口,其中硬件端口又称为接口,包括常见的USB端口、串行端口和并行端口等。软件端口一般是指网络中面向连接服务(TCP)和无连接服务(UDP)的通讯协议端口。l一个端口就是一个潜在的通信通道,同时也成为一个可选一个端口就是一个潜在的通信通道,同时也成为一个可选的入侵通道的入侵通道。l端口扫描,是指某些别有用心的人发送一组端口扫描消息,端口扫描,是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机并掌握其提供的计算机网络服务试图以此
32、侵入某台计算机并掌握其提供的计算机网络服务类型信息类型信息。这样的行为使攻击者得以发现系统存在的安全漏洞、了解从何处可以探寻到攻击弱点。3710.3.6 10.3.6 端口扫描端口扫描l进行扫描的方法很多,可以是手工进行扫描,也可以使用端口扫描软件即扫描器。在手工进行扫描的时候,需要熟悉各种相关命令,还必须对命令执行后的输出结果进行分析。借助扫描软件更加便利,因为许多扫描器本身就具备数据分析的功能。l扫描器是一种自动检测远程或本地主机安全性弱点的程序,它一般具备三项功能:(1)发现一个主机或网络的能力;(2)发现一台主机后,确认何种服务正运行在这台主机上的能力;(3)通过测试这些服务发现主机漏
33、洞的能力。3810.4 10.4 计算机安全技术计算机安全技术l计算机安全主要保护的是计算机系统中的硬件、软件和数据,那么计算机系统的安全性问题也就相应概括为三大类,即技术安全类、管理安全类和政策法律类技术安全类、管理安全类和政策法律类。l其中,技术安全是指计算机系统本身采用具备一定安全性的硬件、软件来实现对于数据或信息的安全保护,在无意或恶意的软件或硬件攻击下仍能使系统中的数据或信息不断增加、不丢失、不泄露。这属于计算机安全学领域研究的范畴。3910.4.1 10.4.1 身份验证身份验证l身份验证也称身份认证身份验证也称身份认证,是实现信息安全的基本技术。l一种普遍认知是,身份验证是指计算
34、机及网络系统确认操身份验证是指计算机及网络系统确认操作者身份、并实施访问控制所采用的技术手段作者身份、并实施访问控制所采用的技术手段。它用于证实被验证对象的真实性和有效性,能防止入侵者进行假冒、篡改等。l目前主要采用四种身份认证技术,分别是:基于口令的身份认证技术、基于物理标志的身份认证技术、基于生物标志的认证技术和基于公开密钥的认证技术。4010.4.1 10.4.1 身份验证身份验证1.1.基于口令的身份认证基于口令的身份认证l口令口令是目前用来确认用户身份的最常用认证技术。用户登录系统时所输入的口令必须与注册表中用户所设置的口令一致,否则将拒绝该用户登录。l口令字母是由字母或数字、或字母
35、和数字混合组成的,它可以由系统产生,也可以由用户自己选定。4110.4.1 10.4.1 身份验证身份验证2.2.基于物理标志的认证技术基于物理标志的认证技术l物理标志的类型很多,最早如金属钥匙,目前流行的如身份证、学生证、驾驶证、磁卡、IC卡等。l基于磁卡的认证技术基于磁卡的认证技术:磁卡是基于磁性原理来记录数据的,目前世界各国使用的信用卡和银行储蓄卡等,都是磁卡。在磁卡的磁条上一般有三条磁道,每条磁道都可以用来记录不同标准和不同数量的数据:如用户名、用户密码、账号、金额等等。l基于基于ICIC卡的认证技术卡的认证技术:IC卡即集成电路卡的缩写。在外观上看,IC卡和磁卡并无明显差别,但在IC
36、卡中可以装入CPU和存储芯片,使该卡具有一定的智能,故又称为智能卡。4210.4.1 10.4.1 身份验证身份验证3.3.基于生物标志的认证技术基于生物标志的认证技术l利用人的指纹、视网膜组织、声音、手指长度等也可进行身份识别。l具备以下三个条件:(1)足够的可变性,系统可根据它来区别成千上万的不同用户;(2)被选用的生理标注应保持稳定,不会经常发生变化;(3)不易被伪装。4310.4.1 10.4.1 身份验证身份验证4.4.基于公开密钥的认证技术基于公开密钥的认证技术l随着互联网在全球的发展和普及,一个崭新的电子商务时代已经展现在我们面前。但是,要利用网络开展电子购物业务,特别是金额较大
37、的电子购物,则要求网络能够确保要求网络能够确保电子交易的安全性电子交易的安全性。这不仅须对在网络上传输的信息进行加密,而却还应能对双方都进行身份认证。l进些年已开发出多种用于进行身份认真的协议,如Kerberos身份认证协议、安全套接层(SSL)协议,以及安全电子交易等协议。目前,SSLSSL已成为利用公开密钥进已成为利用公开密钥进行身份认证的工业标准行身份认证的工业标准。4410.4.2 10.4.2 访问控制访问控制l访问控制访问控制,指的是根据用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用。这是目前应用最为广泛的计算机安全技术。l访问控制通常用于系
38、统管理员控制用户对服务器、目录、文件等网络资源的访问。一般情况下,它可以为用户指定其对系统资源访问的限制范围,即指定存取权限存取权限。l访问控制还可以通过对文件属性的设置,保护文件只允许被读只允许被读而不能被修改而不能被修改、或者只能被核准用户进行修改只能被核准用户进行修改。l在网络环境中,访问控制还增加了对网络中传输的数据包进行检查,要求能够防止非法用户进入受保护的网络资源非法用户进入受保护的网络资源、允许合允许合法用户访问受保护的网络资源法用户访问受保护的网络资源、防止合法用户对受保护的网络防止合法用户对受保护的网络资源进行非法访问资源进行非法访问。4510.4.2 10.4.2 访问控制
39、访问控制1.1.访问权访问权l为了对系统中的对象加以保护,应由系统来控制进程对对象的访问。把一个进程能对某对象执行操作的能力成为访把一个进程能对某对象执行操作的能力成为访问权问权。每个访问权可以用一个有序对(对象,权集)来表示,例如某进程对文件F具有读和写的操作权力,可以将进程的访问权表示为(F,R,W)。2.2.保护域保护域l为了对系统中的资源进行保护,引入保护域的概念,简称“域”。域是进程对一组对象访问权的集合,进程只能在指定域内执行操作,这样,域也就规定了进程所能访问的域也就规定了进程所能访问的对象和能执行的操作对象和能执行的操作。F1RF2RWF3R F4RWEF5RW F6RWE F
40、7W域1域2域3三个保护域Printer14710.4.2 10.4.2 访问控制访问控制3.3.访问控制矩阵访问控制矩阵l可以利用一个矩阵来描述系统的访问控制,并把该矩阵称为访问矩阵或访问控制矩阵。在访问控制矩阵中,行代表行代表域,列代表对象域,列代表对象,矩阵中的每一项是由一组访问权组成矩阵中的每一项是由一组访问权组成。因为对象已由列显示的定义,所以可以只写出访问权而不必写出是哪个对象的访问权。l每一项访问权访问权access(access(i,ji,j) )定义了在域定义了在域D Di i中执行的进程能中执行的进程能对对象对对象O Oj j所施加的操作所施加的操作。访问控制矩阵中的访问权
41、,通常是由资源的拥有者或管理者所决定的。4810.4.2 10.4.2 访问控制访问控制3.3.访问控制矩阵访问控制矩阵 对象域F1F2F3F4F5F6D1RR,WD2RR,W,ER,WD3R,W,E表10.1 访问控制矩阵4910.4.2 10.4.2 访问控制访问控制4.4.访问控制矩阵的实现访问控制矩阵的实现l访问控制矩阵是一个稀疏矩阵。l实现访问控制矩阵的常用方法就是将矩阵按列划分或按行划分,以分别形成访问控制表访问控制表或访问权限表访问权限表。(1)访问控制表l对访问控制矩阵按列划分按列划分就得到访问控制表。在表中把矩阵中属于该列的所有空项删除,此时的访问控制表就是由一有序对(域,权
42、集)所组成的。指示的是某个对象对多指示的是某个对象对多个域的访问权限个域的访问权限。在大多数时候,矩阵中的空项远多于非空项,因此使用访问控制表可以显著的减少所占用的存储空间,提高查询速度。5010.4.2 10.4.2 访问控制访问控制4.4.访问控制矩阵的实现访问控制矩阵的实现(2)访问权限表l如果把访问矩阵按行按行( (即域即域) )划分划分,便可由每一行构成一张访问权限表。换言之,这是由一个域对每一个对象可以执这是由一个域对每一个对象可以执行的一组操作所构成的表行的一组操作所构成的表。表中的每一项即为该域对某对象的访问权限。当域为用户(进程)、对象为文件时,访问权限表便可用来描述一个用户
43、(进程)对每一个文件所能执行的操作。5110.4 10.4 计算机安全技术计算机安全技术5.5. 访问控制的功能访问控制的功能l信息时代的计算机系统普遍提供多用户、多任务的工作环境,加上广泛应用的计算机网络,非法使用系统资源的行为可以说防不胜防。6.6.访问控制的类别访问控制的类别l访问控制可划分为两大基本类别,第一类称为自主访问控自主访问控制制,是指用户有权对自身所创建的访问对象如文件、数据表等进行访问;第二个类别是强制访问控制强制访问控制,它指由系统对用户所创建的对象进行统一的强制性控制,按照指定的规则决定哪些用户可以对哪些对象进行何种类型的访问。5210.4.3 10.4.3 加密技术加
44、密技术l加密技术加密技术是指采取一定的技术与措施、对线路上传播的数据或网络系统中存储的数据进行变换处理,使得变换之后的数据不能被无关的用户识别,以保证数据机密性。l它通过对信息的变换或编码,将机密的敏感信息变换成对方难以理解的乱码型信息,以此可以达到两个目的:一是使对方无法直接从截获的乱码中得到任何有意义的信息,二是使对方无法伪造任何信息。l加密技术以密码学为基础,它涉及的内容包括数据加密、数据解密、数字签名等多个方面。5310.4.3 10.4.3 加密技术加密技术l加密技术包含加密技术包含着密钥密钥与算法算法这两个关键要素。密钥密钥,是指在明文转换为密文、或密文转换为明文的算法中输入的数据
45、,它可以被看成是一种关键参数一种关键参数。l明文也叫明码,是信息的原文,通常指待发的电文、编写的专用软件、源程序等。l密文又叫密码,是明文经过变换后的信息,一般情况下难以识别。l密钥给明文与密文相互之间的转换过程提供了一把钥匙提供了一把钥匙,如果缺少这个重要的输入信息,转换过程将因失去过程参数而无法完成。5410.4.3 10.4.3 加密技术加密技术l加密技术中的算法算法,指的是加密或解密过程中用到的公式、法则或程序。l算法规定了明文和密文之间的变换规则算法规定了明文和密文之间的变换规则。加密时使用的算法叫加密算法加密算法,对应解密时使用的则是解密算法解密算法。数据加密模型如下图所示。图 1
46、0.1 数据加密模型 5510.4.3 10.4.3 加密技术加密技术l严谨的算法配合有效的密钥,是一种加密技术成功的基本保障。根据密钥本身类别的不同,可以将加密技术划分成:l对称密钥对称密钥加密的加密的方法方法,又称私钥加密,即信息的发送方和又称私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据接收方使用同一个密钥去加密和解密数据。其最大优势是加密、解密速度快,适合对大数据量进行加密,缺点则是密钥管理困难。l非对称密钥加密的方法非对称密钥加密的方法,也称为公钥加密。与私钥加密最大的区别就是需要使用不同的密钥来分别完成加密、解密需要使用不同的密钥来分别完成加密、解密操作操作。一个密钥公开发布(被称为公钥),另一个密钥则由用户自己秘密保存(即私钥)。信息发送者利用公钥完成加密操作,而信息接收者则利用私钥去执行解密。56小结小结l本章主要介绍与计算机安全相关的一系列基本概念,包括计算机安全的概念、计算机安全包含的主要内容、威胁计算机安全的常用手段以及主流的计算机安全技术。通过对本章的学习,对计算机安全学产生基本的全局认识,为后续专业领域的研究打下一定基础。