《第4章通用操作系统保护》由会员分享,可在线阅读,更多相关《第4章通用操作系统保护(100页珍藏版)》请在金锄头文库上搜索。
1、第4章 通用操作系统保护伦装取狰镣霞毡履顽绒匣又礁财谐网羡巧丝撵曼偿亏瘁涟婴加时松崖找锤第4章通用操作系统保护第4章通用操作系统保护本章要点r 通用操作系统的保护特性:存储保护、文件保护和执行环境保护r 对象访问控制r 用户鉴别宛目牵巳轨讽葛飞的州尖煞智透茂银翌加离称猛闲金竹浩怪仆栅负静皇冤第4章通用操作系统保护第4章通用操作系统保护 操作系统有两个目标:控制共享访问控制共享访问、实现实现允许这种访问的接口允许这种访问的接口。在这种目标下,操作系统功能可以分为以下几类: (1) 访问控制 (2) 认证与信任管理 (3) 管理信息流 (4) 审计和完整性保护 所有这些活动都与安全有关。展峙泡崩恢
2、娥袁袁留蔼越颗雍辑瘤搐陪屁幼稼觉积吉氮痉推令遁又霉锦幽第4章通用操作系统保护第4章通用操作系统保护 对于一个支持多道程序的操作系统,操作系统设计者提供了包括存储保护、文件保护、对象的一般访问控制和鉴别等方法,来保护计算免受其他用户无意或恶意的干扰。 本章仅以两类操作系统为例:Microsoft Windows NT, 2000,XP, 2003 Server,和 Vista;Unix,Linux,和它们的变化版本。 卢怀祁柜婆停捌碴档未朵卿砒房肠煌磅挪轩旁磅啸串任匿椽滇稿抛受甚窝第4章通用操作系统保护第4章通用操作系统保护4.1 保护对象和保护方法 4.1.1 历史回顾 第一代操作系统是一种简
3、单的设备执行执行器器(executive),其设计目的是协助各位程序员完成各自的工作,以及平稳地实现用户之间的切换。执行器要求每个时刻只有一个程序员执行程序。 多道程序操作系统也称为监控器监控器(monitor),用以监督每个程序的执行。监控器充当了主动的角色,只要用户的请求与系统要求一致,监控器就主动控制计算机系统把资源分配给用户。垂艾殷壮舜泛釉绕笺忻毡骄穗识祸元稻震迪熔亡柳铭腰止鉴称气这哩哥蚤第4章通用操作系统保护第4章通用操作系统保护4.1.2 保护对象 事实上,多道程序的出现意味着需要保护计算机系统的几个方面: (1) 内存 (2) 可共享的I/O设备,比如磁盘 (3) 可连续复用的I
4、/O设备,例如打印机和磁带驱动器 (4) 网络 (5) 可共享的程序或子程序 (6) 可共享的数据哗地乳侯吵嗓纹彦轴海驱板汀陨币例综善懈静淄洋斡芬忆狄敏肪睬奄绎险第4章通用操作系统保护第4章通用操作系统保护4.1.3 操作系统的安全方法 最基本的保护是分离控制分离控制(separation):保持一个用户的对象独立于其他用户。在操作系统中分离控制主要有以下4种方式: (1) 物理分离物理分离:指不同的进程使用不同的物理对象。 (2) 时间分离时间分离:指有着不同安全要求的进程,在不同时间执行。 (3) 逻辑分离逻辑分离:使程序不能访问许可域之外的对象,这样用户感觉好象在没有其他进程的情况下执行
5、自己的进程。 (4) 密码分离密码分离:进程对其数据和计算加密,使其他进程无法理解。限豹紊糟绩报懂执雅瓶吏锚戮计黎蒋毯唱猫问腥菲耀恩凛瓮惶鄂儿伤囱颊第4章通用操作系统保护第4章通用操作系统保护4.1.3 操作系统的安全方法(续) 操作系统也提供了一些共享的保护路线: (1) 不保护不保护:当敏感进程在不同时间运行时是恰当的。 (2) 隔离隔离:当操作系统提供隔离时,各个进程并发运行,相互之间感觉不到其他进程的存在。 (3) 共享一切或不共享共享一切或不共享:对象所有者宣布对象是公有或私有。 (4) 访问限制共享访问限制共享:通过访问限制保护,操作系统检查用户对象的访问是否是允许的。操作系统充当
6、了用户和被访问对象之间的守卫,确保只能进行已授权的访问。 (5) 访问权能共享访问权能共享:这种保护形式扩展了访问限制共享的概念,它允许动态产生对对象的共享权限。 (6) 对象的限制使用对象的限制使用:这种保护形式不仅限制了对对象的访问,并同时限制了获得访问后的使用情况。昔倔豺替涩凝霜沽镀骤醉液闯照两交窜甥位抑眨询毡甫嘶汇朴契癌务寨豢第4章通用操作系统保护第4章通用操作系统保护4.1.3 操作系统的安全方法(续) 可以在各种级别实现访问控制:比特、字节、记录、文件或卷。我们关心控制粒度控制粒度(granularity)。被控制对象的粒度越大,这种控制越容易实现。然而,这样一来操作系统给用户的访
7、问权限就将多于用户本身的需求。 戏姚禄球牌邀颁靳罪野佰妥叉者摹砷脱俱籍惹松动腾咏晤窑画及募奏进疽第4章通用操作系统保护第4章通用操作系统保护4.2 内存及地址保护 4.2.1 界地址 界地址界地址(fence)是一个预定义的内存地址,设置了用户的内存区界限。 图 4.1 固定界地址围感桔绅凰伦林铀肄葬蒂泌烦发遏宠齿儡磕窄罚物舒贴涝裔斑刊勤集邻似第4章通用操作系统保护第4章通用操作系统保护 4.2.1 界地址(续) 另一种方法是使用硬件寄存器,称为界地址界地址寄存器寄存器(fence register),用于存放操作系统的尾址。图 4.2 可变界地址寄存器#界地址寄存器只是单向保护操作系统。裤撵
8、斗参涕锚演痔霉融迸颓焊碴畴套铰蛮棍伪妹锥痘践署吮皑君蜘坯泛栗第4章通用操作系统保护第4章通用操作系统保护4.2.2 重定位 重定位重定位(relocation)是假定程序地址开始于地址0,然后改变所有地址以反映程序在内存中的实际地址。重定位因子重定位因子(relocation factor)是分配给程序的内存首地址。界地址寄存器可以是硬件重定位设备。界地址寄存器的内容加上程序的相对地址,不但可以重定位,而且可以控制用户访问操作系统空间。馋挝贰刚蒙脆佬裹斋捶从聘巴桩抉状吱泛念无涩俗轴铺易专侗嫌窖勉抱奋第4章通用操作系统保护第4章通用操作系统保护4.2.3 基址/范围寄存器 可变界地址寄存器通常称
9、为基地址寄存器基地址寄存器(base register)。范围寄存器范围寄存器(bounds register)用于存放上界地址限制。 图 4.3 基址/范围寄存器对# 改变两个寄存器的地址称为上下文转换(context switch)迈汤近卢教叁瑶痪匝混阴搽卉铡溅烧榨掸锥刁瘩外齐死赴行文握痒贬笔匣第4章通用操作系统保护第4章通用操作系统保护4.2.3 基址/范围寄存器(续) 用户可能不慎将数据存储在指令存储区中。可以使用两对寄存器来解决这一问题,一对用于界定程序指令,另一对用于界定存储数据空间。这似乎鼓励使用更多对寄存器对,但两对已经是计算机设计的界限。超过这一数量每条代码需要明确向操作系统
10、指明寄存器对。图 4.4 两对基址/范围寄存器靴察业竭咳刷睹剐召媳含现恢功杆燕蔡倚汪隆挟戳嚏客擞褪授颁何募缀馒第4章通用操作系统保护第4章通用操作系统保护4.2.4 标记结构 使用基址/范围寄存器保护只能提供全部数据的保护,而有时用户只希望保护部分数据。此外,有时还希望实现对数据段和程序段的共享。一种解决办法是使用标记标记结结构构(tagged architecture),机器内存的每个字节都有一个或几个额外的比特用来表示该单元访问权限,这些访问比特由操作系统特权指令设置,每次指令访问某存储区时,都对这些比特进行权限检查。啤这匿桅店浆兹矣风具糖疤廉垢颈坝瞬镶锈做相剪乎添升锤噪汞滋郝滦塌第4章通
11、用操作系统保护第4章通用操作系统保护4.2.4 标记结构(续)图 4.5 标记结构示例雾领拾屯吻樱船芬辽膳茶婶舟叹鳞煤桌此脉短馆滦猿豺诲预咏浴酚绚寥悲第4章通用操作系统保护第4章通用操作系统保护4.2.4 标记结构(续) 少数操作系统采用了这种保护技术。Burroughs B6500-7500系统用了3个比特标记区分数据字(3种类型)、说明符(指针)和控制字(堆栈指针和地址控制字)。IBM操作系统/38用标记来控制完整性和访问。在一组连续的地址上应用标记是使用标记的一种推广形式,如128或256字节。代码的兼容性是使用标记结构的难题。标记结构通常要求从根本上改变操作系统的所有实际代码,这个要求
12、可能因代价昂贵而不可行。随着内存价格下降,标记结构实现变得可行了。在辫版惭话登滑卒起般怂酷莲壶搏邦瓤羌都艺是毋断抬譬沦坷绿嘎减颅掳第4章通用操作系统保护第4章通用操作系统保护4.2.5 分段式 分段分段(segmentation),即将一个程序分成几块的简单方法。 每一块是一个逻辑单元,表现为一组有关联的代码或数据。分段允许程序分成有不同访问权限的几部分。各段使用对段内数据项和代码寻址。各段可以分别重定位,并且允许把各段分别放在任何可用的内存中。悼宣赔群资奔酸批看军汕凉噎察做秤重骑绥篷么萨及我崖母瓮佩釉撑褥虎第4章通用操作系统保护第4章通用操作系统保护4.2.5 分段式(续)图4.6 分段的逻
13、辑和物理表示肯姜粹很恃蒙舷帚驹周嘛贤诧债十灌再祈羞拉瞅欠砖掌桥皑艳朴舔被维紫第4章通用操作系统保护第4章通用操作系统保护4.2.5 分段式(续) 操作系统必须维护一个包括段名和段在内存中实际地址的表。以便进程确定数据和代码在内存中的实际地址。考虑效率,通常每个正在执行的进程有一个操作系统的段地址表段地址表(segment address table)。如果有两个进程共享访问同一个分段,它们段地址表里就有相同的段名和地址。豁某债鱼碉抛河命佑坪弹押雹锄痊葵缨职晴率镁铡待徊晶康氢慨指而缠场第4章通用操作系统保护第4章通用操作系统保护4.2.5 分段式(续)图 4.7 段地址转换林瞬抢慨唱享革顶亡钦捅
14、砍薯房茄空郭朴华趣朔赐宰窄倡腐疽缓废拈掸浦第4章通用操作系统保护第4章通用操作系统保护4.2.5 分段式(续) 用户程序不知道其使用的实际内存地址,通过程序可以访问任何数据与程序。地址隐藏给操作系统带来了三个好处: (1) 操作系统可以将任意分段放置或移动到任意位置,甚至在程序开始执行后,都可以这样做。 操作系统只要不断更新新分段地址表即可。 (2) 可将当前不使用的分段换出主内存(并可存储在辅助存储器中)。 (3) 每个地址引用都将传递给操作系统,所以为了保护内存,操作系统可以检查每个地址引用。 痰枪悔污加游摈憨应雇挤搞驶眷穷于苏毋班椅阶秧呻构干萤雪和绑取蝴蓖第4章通用操作系统保护第4章通用
15、操作系统保护4.2.5 分段式(续) 操作系统可以把分段和其保护等级联系起来,并同时使用硬件和操作系统检查每次对段的访问,以实现对不同安全级别段的不同保护。分段可以提供如下安全特性: (1) 为了保护,可检查每个地址引用 (2) 可为不同级别的数据项指派不同的保护级别 (3) 两个或两个以上用户可共享同一个段,但可以有不同的访问权限 (4) 用户不能产生地址或访问未经许可的段 珊邢吨炒哥靛颗搀博钱枕县缓爽柴概拍纺租侈解莹忠驰绣瞻旷蓬玫肤饮盗第4章通用操作系统保护第4章通用操作系统保护4.2.5 分段式(续) 分段式的缺点在于: (1) 各段有特定的大小,但程序通过段名和偏移量产生的引用却可以超
16、出段的范围。这个问题在编译和装入程序时不能被阻止,这是因为,为了有效使用分段,要求在程序执行过程中能增加段的大小。因此,分段的安全实现要求检查产生的地址不超过当前段的边界。 (2) 分段的效率存在两方面的问题:段名在指令中不便于编码;操作系统在段表中查找段名速度可能很慢。因此,编译程序时,段名被转换数字,同时,编译器还维持一个联系数字和真正段名的映射。这为两个进程共享一个分段带来了麻烦。 (3) 内存碎片问题。沛涪膏泳左戏这砷法祭豫败蚜娱糯吓朴频姬喇衍匪唇屿侨屉熟镣椭夫犀详第4章通用操作系统保护第4章通用操作系统保护4.2.6 分页式 用户程序的地址空间被划分为若干个大小相等的区域,称为页页(
17、page);并且内存空间也分成与页相同大小的存储块,称为页帧页帧(page frame)。 分页式的地址结构包含两个部分。图 4.8 页地址转换# 页寻址不存在超页问题,偏移量超过某个页边界时,将导致页号部分进位。登伺登芦石煤艺庞篓番宁顽敞苗佑句移尖刃拾重葱急劝陛楞辙划所沪遭腑第4章通用操作系统保护第4章通用操作系统保护4.2.6 分页式(续) 分段方式中程序员了解各段,但是,分页方式中,程序员可以忽略页的范围。分页方式中页不是逻辑单位,仅表示程序中相邻的若干字节。 如果考虑保护,这种变化就存在问题。段的信息为逻辑单位,方便设定不同的保护权限,地址转换时可以处理这种变化。但在分页方式中,页内每
18、一项不必是逻辑单位。因此,就不可能对一页中的所有值建立一种等级的保护。祥劳癸争溃饿业流美谈递铣幢班岗购峻逃维源掏祸拿核哪谱作隘状鲸懈挽第4章通用操作系统保护第4章通用操作系统保护4.2.7 段页式 综合分段和分页系统的优点可以形成段页式系统。IBM 390系列、Multics操作系统都采用了这种方式。程序员先将程序分成逻辑段,每段再分成固定大小的若干页。这种方式保留了段的逻辑单元并允许有不同保护级别,但需要额外的地址转换。可以增加硬件来改善实现效率。昔鹏孽堵佬呸襟随哉讹边浩滓朴物刻拖帝雅遮傅断亮蝎嫩逗初潍犬欲杰亲第4章通用操作系统保护第4章通用操作系统保护4.2.7 段页式(续)图 4.9 段
19、页式川责通砸日软藐周褪碍尸撅亭搬谬鹤韶柯龙渴梯室基蕊豆个忍轧台粹驳避第4章通用操作系统保护第4章通用操作系统保护4.3 一般对象的访问控制 在多道程序环境下,内存保护只是对象保护对象保护的一种特殊情形,需要保护的对象包括:内存、辅助存储设备上的文件或数据、内存中正在执行的程序、文件目录、硬件设备、数据结构、操作系统中的表、指令集特别是特权指令集、口令和用户鉴别机制、保护机制本身等。 随着对象数量的增多,对所有访问集中授权显然不够,而且访问权限也不能简单限制为只读,只写或只执行。我们用用户或主体来描述对一般对象的访问。用户和主体用户和主体可以是使用计算机程序的人、程序员、另一个对象或需要使用这个
20、对象的其他事件。互扶磊鸽沧愧吗齐辣亩瘟职四事燕肯娶狗吴琳踩窑濒篷趴霍遂寅常梗竹帜第4章通用操作系统保护第4章通用操作系统保护4.3 一般对象的访问控制(续) 保护对象有几点补充要求: (1) 检查每次访问检查每次访问:可以撤消用户对于对象的访问权限,这需要用户每次访问都进行检查。 (2) 执行执行最小特权最小特权:主体应该只访问完成特定任务所必须的对象,即使访问了额外的信息对主体没有影响,主体也不应当执行这样的访问。 (3) 检查允许用法检查允许用法:访问能力仅决定可或不可访问,但是,检查对访问对象的操作是否合法同样重要。辐朗瓤变晰读螟惦鸯醒老响痘跺缕瘸挛勋茅勾徽垫裳庐邮矾笔走蒂焕毒沽第4章通
21、用操作系统保护第4章通用操作系统保护4.3.1 目录 简单的保护对象的方法是使用如同文件目录一样的保护机制。每个用户有一个文件目录,该目录用于记录用户可以访问的文件。当然不允许用户写文件目录,而由操作系统来维护所有文件目录。读、写和执行是共享文件的访问权,另外一个权限“所有者所有者”归文件所有者,允许其对用户进行授予或撤消访问权限。近尧常肩期癸睛盾癣眩柑钉沫罪婿秉缄窟缮彬等乔腑建赁漠玫掉叙柠比州第4章通用操作系统保护第4章通用操作系统保护4.3.1 目录(续)图 4.10 访问目录乒抛恃啄蛀屿诣衙硝炉栗茅市异渊袖满样乳厉诗费娇饱爱樊朱灌紊援什麦第4章通用操作系统保护第4章通用操作系统保护4.3
22、.1 目录(续) 为每个用户维护一张文件目录列表,虽然比较易于实现,但也存在几个困难之处: (1) 如果所有用户都可以访问的共享对象很多,将造成列表很大。在用户访问目录中,每个即使不用的共享对象也要占一个表项,十分浪费,而删除共享对象也必须反映到每个用户目录中。当仅泽微糜眉厅慰庙祥脏袜贪侗押和山景矮淡堪噬践朱寿曙库资擂哥特返第4章通用操作系统保护第4章通用操作系统保护4.3.1 目录(续) (2) 另一个难点是撤消访问权限撤消访问权限(revocation of access)。如果用户A授予用户B可读文件F的权限,F的权限将记入用户B的访问目录中。暗示用户A和用户B存在信任关系。当然,用户A
23、也可以撤消用户B对文件F的权限。但是如果用户A要撤消所有用户对文件F的权限,这项工作在大系统中开销很大。此外,用户B可能将文件F的权限转交给了其他用户,造成用户A不知道存在其他用户有权访问文件F,而无法撤消,这在网络操作系统中尤其严重。海是琴济宿挎熬捐该梅壬铲荐土阅岭兹痘辉抚航电挤联皇爬厨瑞斟翅尹戮第4章通用操作系统保护第4章通用操作系统保护4.3.1 目录(续) (3) 再一个困难与文件别名有关。所有者A和B可能分别有同名的两个不同文件F,并且允许用户S访问这两个文件。显然,用户S的文件目录不能包含文件名相同但针对不同文件的两个表项。一个方法是把文件的所有者名字包含在文件名内,如A:F(或B
24、:F)。另一个办法是允许用户S在它的文件目录中用另外一个唯一的名字替文件F。这样,用户A的文件F可能被用户S称为文件Q。用户可能之后忘记文件Q就是用户A的文件F,再次向用户A请求访问文件F,用户A可能更信任用户S比起初赋予更多权限,这样用户S就有了对文件F的两种不同访问权限,导致不一致的多种访问许可。纲沃定眠度纸豢嫂萝餐雪衰丫秸乱附扬陪皿执煮粪纸欺楚付渣铆糟惋枉奋第4章通用操作系统保护第4章通用操作系统保护4.3.1 目录(续)图 4.11 两种访问路径高率削蓉笋您裕秤豌绿键框酒翔但陇嗽录熏寻扣钮卵阁瘸长骆挤回称叼轮第4章通用操作系统保护第4章通用操作系统保护4.3.2 访问控制列表 每个对象
25、都有一个访问控制列表访问控制列表 (access control list),其中包含欲访问该对象的所有主体,以及主体具有的权限。访问控制列表包含默认表项,它表示所有用户可以访问该对象。特殊用户可以显式说明访问权限,而其他用户则可以有一组默认访问权限。在这种结构下,公共文件或程序可以被系统所有的潜在用户访问,而不需要在每个用户各自的访问目录为该对象增加表项。河乃松抢染猎菏鹤括搽革艳类出帖拨愉迎绰圭属绕病趟舱这侩溉舔保踞奢第4章通用操作系统保护第4章通用操作系统保护4.3.2 访问控制列表(续)图4.12 访问控制列表牢幻齐僳咏册亮里拂爹叭蛆傅案鄙庇饵牲桂硷耐动受续犯复绦讫永盗鲜鞘第4章通用操作
26、系统保护第4章通用操作系统保护4.3.2 访问控制列表(续) Multics操作系统采用了这种形式的访问控制列表,列表中每个用户有三种保护类:用户指一个特定主体;组将相同利益主体组织在一起;分隔区限制了不信任的对象,在一个分隔区中运行的程序未经许可不能访问另一个分隔区的对象。耗视女娄芽道故侨周旬泵拴奈练嫉葵蝴滇奖憎瞅谣鼠饭慧蹭盐若酥宝潭挖第4章通用操作系统保护第4章通用操作系统保护4.3.2 访问控制列表(续) 用户Adams登录时,其身份是在分组Dec1及分隔区Art2的用户。在会话中允许该用户访问的对象需要在访问控制列表中包含Adams-Dec1-Art2。这种保护不实用,用户Adams不
27、能生成一般的文件用于所有会话。共享对象、可接受的组和分隔区都需要明确列出Adams。 解决办法是引入通配符*(wild card),它表示任意用户(或任意组或任意分隔区),例如, Adams-*-Art2。访问控制列表可以按顺序组织,包含“*”的用户排列在所有说明了名字表项的后面。在查找规则中,所有显示给定了名字的表总是比表项中的任意位置包含通配符的表项先检查,而最后一项用户可能是*-*-*,定义所有不指明用户的权限。毡澈货查跳舶能鳞话肘多撮靖族雕格捣赐婿峙沤蚌了咖等卧氦鹿簿预越神第4章通用操作系统保护第4章通用操作系统保护4.3.3 访问控制矩阵 访问控制矩阵访问控制矩阵(access co
28、ntrol matrix)是一张表格,每行代表一个主体,每一列代表一个对象,表中的每个元素表示访问权限。一般说来,访问控制矩阵是一个稀疏矩阵。因此,访问控制矩阵也可以用的三元组表示。表 4.1 访问控制矩阵滩惫柠信纷恶实仅吟慑尺签向老佐路十犯垃瓢让结于秋住洱术桅蛆幂趴抗第4章通用操作系统保护第4章通用操作系统保护 4.3.4 访问权能 访问权能访问权能(capability),是一种不可伪造的标签(ticket),代表对某个对象有某种类型的访问权限。使标签不可伪造的一个方法是不直接将它交给用户,而由操作系统代管。只有用户向操作系统发出特殊请求时,才能生成访问权能。另一个方法是,使用访问控制机制
29、的密钥加密包含合法用户身份的访问权能证。访问权能将部分保护对象的负担交给用户,对于对象的可能访问权限包括转移或传播,每个访问权能都对应一个许可的访问权限类型列表,如果具有转移权限,用户才可以将对象的访问权转给第三方。戴芬皑面就村荐副蛔凝蜗崎凯释述珊蜘躯力絮纳瘸悉歪徒菌腥泌角遏立程第4章通用操作系统保护第4章通用操作系统保护 4.3.4 访问权能(续) 考虑一个进程执行时,它运行在一个域域(domain)或本地名字空间本地名字空间(local name space)中。域是进程要访问对象的集合。图 4.13 进程执行域疡味挤蔚乌吕幽卓葵土胚略屈娶曾滦疆进恍拘飘返职望理锰绘毡来陕孺硷第4章通用操作
30、系统保护第4章通用操作系统保护4.3.4 访问权能(续) 而调用子程序时,需要传递一些子程序需要访问的对象,主程序可以只传递部分对象访问权限给子程序,子程序也可以拥有主程序没有的其他对象访问权。因为每个访问权能仅对应一个对象,访问权能的集合定义了域。当进程调用子程序时,操作系统形成一个目前程序所有访问权能堆栈,之后为子程序产生一个新的访问权能。蝶租抱掺鹊掀梅侨罐签立纲赴抹摇禹崖楚二章钨舀沼贪鹊袋抖楷纹尿劈百第4章通用操作系统保护第4章通用操作系统保护4.3.4 访问权能(续)图 4.14 将对象传递给一个主体烬片顿悍潭金董梳侣螺喻寿蛀归莽虚枪旺肿阿煮壶釉舟惋勘哪倘禁冻疚屋第4章通用操作系统保护
31、第4章通用操作系统保护4.3.4 访问权能(续) 访问权能的几点说明: (1) 在操作上,访问权能是跟踪执行主体对于对象的访问权限的直接方法,可以用一张全面的表来备份访问权能。一个进程需要使用新对象时,由操作系统检查决定是否赋予新的权能。 (2) 访问权能必须保存在普通用户不可访问的内存区,可以存储在用户表不能引用的内存段,或用标记结构机制将访问权能标识为保护的数据结构。 (3) 在执行期间,只有被当前进程访问过的对象的权能会被保持可用状态,这可以改善访问对象时检查速度。 (4) 访问权能可以撤消,撤消后的访问权能不允许包含任何访问权限。访问权能表用指针形成活动访问权能链,方便动态管理。勒乎库
32、挑咎刷叔糖佰稗溯撼瓶叁理饰蹿目沪攻葱靴酸唾圭峰芦骤沪涧冲掠第4章通用操作系统保护第4章通用操作系统保护4.3.5 Kerberos Kerberos实现了通过访问权能(称为票据)的鉴别与访问授权,票据使用对称加密技术保证了安全性。 Kerberos具有两个系统鉴别鉴别服务器服务器(AS, authentication server)和票据授权票据授权服务器服务器(TGS, ticket-granting server)。 它们都是密钥分发中心密钥分发中心(KDC, key distribution center)的一部分。 Kerberos实现了单点登录单点登录(single sign-on)
33、,即用户只需要登录一次,其后用户被允许的所有需要授权的活动都不需要反复登录。铣驭钙爹奎疟械捏牵袜萨剥社倍贪帜被盒吾筐雀轿齐吱仆氓阻镇饿捞觉沟第4章通用操作系统保护第4章通用操作系统保护4.3.5 Kerberos(续) 如果用户需要在不同的域中访问资源,只要这两个域之间建立了授权,用户都可直接访问而不需要在不同的系统间登录。 Kerberos实现了本地与远程鉴别和带共享密钥系统的授权,实际上,每个用户的口令被作为加密密钥使用。隘狄筑臭甚裁怯琉喧史索蓝九津瑚娩矮虑嗜凑举括驼很弥嗜哈农析蹲史蠕第4章通用操作系统保护第4章通用操作系统保护4.3.6 面向程序的访问控制 面向程序面向程序(proced
34、ure-oriented)的保护,即用程序来控制访问的对象(例如,通过执行它的用户鉴别来加强操作系统提供的基本保护)。也就是说,程序在对象周围形成保护层,只准许指定的访问。 程序可以确保只有通过可信界面可信界面才能访问对象。例如,合法用户表只允许三个程序访问该表:增加用户程序,删除用户程序以及检查程序。增加用户程序、删除用户程序可以使用检查机制以确保对它们的调用是合法的 。览酵并纺血舀睦渺淬库害茫颇舒阂赢纵是鸽铺亢黔堤侨烂蔓吟侣揖葬舅悼第4章通用操作系统保护第4章通用操作系统保护4.3.6 面向程序的访问控制(续) 由于只有对象控制程序知道被保护的对象,所以面向程序的保护方法实现了信息隐藏信息
35、隐藏的原则。当然,保护的程度是以效率为代价的。保护机制提供的灵活性越大,为此付出的代价也越多。安全科学中,在简单性和功能性之间寻求平衡需要做出不断的努力。稿搭狮蔷调件昧垣蟹剪冰沪辜契域戴豆郧剧土习续忍有离蝇捣汉隶悄泥阑第4章通用操作系统保护第4章通用操作系统保护4.3.7 基于角色的访问控制 某些用户(如系统管理员)具有某种特权,而其他用户(普通用户或客人)具有低一些的权限。基于角色的访问控制基于角色的访问控制(role-based access control)可以将权限与分组联系在一起。根据职责的改变,用户的访问控制也相应改变,系统管理员不必为该用户重新选择适合的访问权限。衅讯料挺谬臭德麻
36、昆锚座霄综志得蝎鸵创绒橱表券蹬胆穷滞房豁萨归派袁第4章通用操作系统保护第4章通用操作系统保护4.4 文件保护机制 4.4.1 基本保护形式 保证用户之间不能相互恶意或无意地访问或修改文件。随着用户的增多,这种保护方法的复杂度也增大了。 完全保护或完全不保护完全保护或完全不保护 文件被默认为公共文件,这里假定用户只知道他们有权访问的文件名。 口令保护被认为是保护操作系统最有价值的方法。有两种方法执行:口令用于控制所有的访问(读、写或删除),所有文件完全由系统管理员控制;口令仅控制写、删除两种访问,因为只有这两种行为会影响其他用户。 洱蒂狗堕种脖据钨聂炭懒匀菇柔澜口孕庄乖蚜食嫩韩蔓遁很特添插绝商巨
37、第4章通用操作系统保护第4章通用操作系统保护4.4.1 基本保护形式(续) 这种完全保护或完全不保护有几个原因不切实际: 缺乏信任缺乏信任 :假定用户值得信任是不合理的。 过于粗糙过于粗糙 :即使确定了一批可信任的用户,也没有简单方法只允许这些用户访问。 共享的出现共享的出现:这种保护更适合于批处理环境。在共享使用环境下,用户需要与其他用户交互使用文件与程序。 复杂性复杂性:因为文件保护需要机制干涉,降低了操作系统的性能。 文件列表文件列表 :通常一些程序可以创建包含所有文件的列表。因此,用户不可能一点都不知道系统中驻留文件情况。肥候寿钧蹦实呀董逸砰辫泳媳承拂痰佯令沿颊唤抢障卒嵌楚肇热批澄鸟维
38、第4章通用操作系统保护第4章通用操作系统保护4.4.1 基本保护形式(续) 组保护组保护 重点集中在识别有公共联系的用户组上。典型的UNIX+实现是,主体世界被划分为三个等级:用户、相互信任的用户组和其余用户。我们可以将之简称为用户、用户组和全体用户。Windows NT+系列使用的分组是:系统管理员、有权用户、用户和客人。 所有授权用户被分成不同的组。用户组成员是基于共享需求而组合起来的,可以与其他成员共享文件。一个用户只能属于一个组。适魁依还禁苗墩考妨拯唁桓梗乎念踩盘氏础臃枕庶打糊脐话侦基董宛材窝第4章通用操作系统保护第4章通用操作系统保护4.4.1 基本保护形式(续) 当用户创建一个文件
39、时,可以定义用户本身、组内成员以及组外用户的访问权限。通常,访问权限来自一个有限集合,比如更新、读-执行、读、写-创建-删除。用户组保护的主要优点就是易于实现。 尽管这种保护方案弥补了完全保护或完全不保护方法的某些不足,但是也带来了一些新的麻烦。 组的从属性组的从属性:一个用户不能属于两个组。 鸳糕郁凡玲埃步得渭藉捧缅峰近害分伯菠试赤全谭细玉茁查雹住葡陌糯掌第4章通用操作系统保护第4章通用操作系统保护4.4.1 基本保护形式(续) 多重身份多重身份 :为克服一个成员只能从属一个组的限制,允许一定数量的人有多个帐号,也就是允许一个用户有多个用户身份。多重身份导致了帐号的增加、文件冗余、对共同文件
40、的有限保护,以及用户使用不方便的问题。 所有组所有组:为了避免多重身份,用户可以在访问执行期间属于多个组的成员。 限制共享限制共享:用户希望根据每个文件的情况识别共享文件的伙伴。乃主公痰忿等饭狰盐最着钮鼎掳兵灯房涂畸润蜀悄诱芯咆姬甫廓憎尾烧饭第4章通用操作系统保护第4章通用操作系统保护4.4.2 单独许可 将单个文件与访问许可联系起来时,还可以有更简单的保护实现方法。 持久许可持久许可 持久许可持久许可(persistent permission)通常是使用一个名称和令牌,通过访问控制列表,决定可以访问的资源。 这种方法的困难之处在于,将某用户从一个控制列表中删除很容易,但找到针对该用户的所有
41、控制,并删除他的权限,则非常复杂。 沛跪袍审荧脯询顿巩人颧番咱烂溉公司爷见削账帆壹洪委中斟侍片嘱富仕第4章通用操作系统保护第4章通用操作系统保护4.4.2 单独许可(续) 获得临时许可获得临时许可 UNIX+操作系统提供了一个许可方案,方案基于:用户/组/全局。 UNIX的设计者增加了一种 set userid (suid)的访问许可。如果对一个文件的保护设置为执行保护设置为执行,则文件的保护级别是文件所有者而不是不是文件的执行者。由于普通用户只能在规定的方式下执行系统功能,所以采用这种机制便于实现系统功能。利用suid的特点,系统可以拥有一个口令修改程序,通过它可以完全访问系统的口令表。营裂
42、弧缓锯茂咬痕拒铅洛儿逝炔膀诉湘圭宴麻裔捣瓜俏依曝速桩孕姻廓合第4章通用操作系统保护第4章通用操作系统保护4.4.3 每个对象和每个用户的保护 文件保护方法的最基本的限制是要求能够产生有意义的用户组,组内的用户对一个或多个数据集有相似的访问权限。前面提到的访问控制表和访问控制矩阵虽然灵活,但如果某个用户允许很多用户分别对许多不同的数据集进行访问,则该用户必须详细说明每个数据集应该被哪个用户访问。当增加一个新用户时,所有相关的用户必须详细说明该用户的访问权限。钻井蜒腺额戈区摊犀竭极妆通牙诱捐垒蛊邓闪汽榴看掐香椿乌肤巡块耸藤第4章通用操作系统保护第4章通用操作系统保护4.5 用户鉴别 操作系统提供的
43、大部分保护都是以知道用户身份为基础的。生活中有许多鉴别手段,包括文件、声音识别、指纹和视网膜匹配等可信的识别方法。但是在计算机技术中鉴别工具的选择有许多的局限性,而且安全性可能更差。大多数计算机系统的鉴别需要依赖计算系统和用户都知道的某些知识。率菌私绷谬绰爽弦娘挪俩组铝迄豺尸猴窥奄晃书祥娘镐框桂右赌琳昧惟慧第4章通用操作系统保护第4章通用操作系统保护 鉴别机制使用下列三种性质中的某种性质来确认用户的身份: (1) 用户已知的事情用户已知的事情:如口令、PIN数字、口令短语等。 (2) 用户拥有的东西用户拥有的东西:如身份徽章、物理钥匙、驾驶执照等。 (3) 用户身体的一些特征用户身体的一些特征
44、:以用户物理特征为鉴别的基础,称为生物特征鉴别生物特征鉴别(biometrics),如指纹、人的声音、相貌等。 # 两种或更多方式结合起来能形成更稳妥的鉴别服务。近答宛琐脓泥坏价碉撇阮瑰盛募代妥帽乱兔仔防活拔扯贵个弄靶湍朵脚胸第4章通用操作系统保护第4章通用操作系统保护 生物特征鉴别推进困难的原因:用户的接受程度不高。 Prabhakar等列出了生物特征鉴别与隐私有关的三类情况: (1) 不可预计的功能范畴不可预计的功能范畴:鉴别不仅仅是授权,还可能具有其他附加的功能。 (2) 不可预计的应用范畴不可预计的应用范畴:鉴别例程识别客体。例如鉴别例程可以识别出一个客体是否使用的假姓名。 (3) 隐
45、藏的身份识别隐藏的身份识别:不必通过识别或鉴别就可以识别一个客体。进番侮予遥盎钠滩蘸倍皖裁儿下泛冯陪猫畸峦兹残翠卓数熄街已翌疹仔谱第4章通用操作系统保护第4章通用操作系统保护4.5.1 口令鉴别 口令口令(password) 是用户和计算机都知道的一个“单词”。口令保护可以提供一个相对安全的系统,但是人们对口令的不恰当使用可能降低安全保护的质量。这里我们将主要讨论口令攻击、选择口令的标准和口令的鉴别方法。 汛雾攒渣凶杭卧核稚说毛蔓引杆败率油缩直粒岔鸿贾涂葡艺蚜充碗主浪直第4章通用操作系统保护第4章通用操作系统保护4.5.1 口令鉴别(续) 口令实际上是相互达成一致的字码,并假定只有用户和系统知
46、道这个字码。口令可以由用户选择也可以是系统分配。口令格式和长度各个操作系统会有所不同。 口令也存在一些问题: 丢失丢失 :根据口令的实现方法,没有人能找回原来的口令。 使用使用:每次访问文件,都要求提供口令,这种方式非常不方便。 泄露泄露:如果口令泄露给非授权个体,则文件就可能被非法访问。更改口令需要通知所有合法用户。 撤消撤消:为了撤消一个用户对文件的访问权限,需要更 改口令,将引起与泄露口令相同的问题。错阑夷秒总滇意苫刽友析怯葵当感熔药市短虏皑瓢盖姚多擞剖砍蛤遇咕窍第4章通用操作系统保护第4章通用操作系统保护4.5.2 附加的鉴别信息 除用户名和口令之外,可能还需要授权用户的其他信息来用于
47、鉴别。如Adams工作于会计部门,他允许的登录办公计算机的时间可以是周一至五的上午8:00至下午5:00。这样做的好处在于: (1) 阻止外界的某个人试图假冒Adams。这种尝试由于时间或访问端不符合而以失败告终。 (2) 阻止Adams本人试图在家或在周末访问系统,访问不允许使用的资源或偷偷地干不能公开的事情。 副作用:使系统复杂化。 惭谚碑撮楞拟缴烬畅坝效睬送患普轴莽瘁谦阿坯答这殃碰协激漱虑舱绎夫第4章通用操作系统保护第4章通用操作系统保护4.5.2 附加的鉴别信息(续) 使用附加的鉴别信息称为多因素鉴别多因素鉴别(multifactor authentication)。两种形式的鉴别称为
48、两因素鉴别两因素鉴别(two-factor authentication),通常认为比一种形式的鉴别好,因为一般地说这样的鉴别安全性更强。但随之而来的是复杂度增加。 晚泛捷俐病尊值摸刃瓦皖刻阔拱碧朵头传淖迈捻步查倍乍章秤带伶业婪遮第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击有几种方法可以确定用户口令:(1) 尝试所有可能的口令(2) 尝试经常使用的口令(3) 尝试一个用户可能的口令(4) 查找系统口令表(5) 询问用户# 困难程度依次降低,成功可能性依次降低 押朵疵氓别跌惟儡楚裹捻沙幢髓谭煤宜麻染粗酋挤坎独椒登胞常牲蛆隋届第4章通用操作系统保护第4章通用操作系统保护4.5.
49、3 口令攻击(续) 松懈的系统松懈的系统 假设一个对系统一无所知的入侵者,如下登录设计不好: WELCOME TO THE XYZ COMPUTING SYSTEMS ENTER USER NAME: adams INVALID USER NAMEUNKNOWN USER ENTER USER NAME:掘步绍伴舆扣门续桌撂穿忽旧递贪玉蒲友大题该睦仆殴哆湛或斯钳沾哪蹭第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续) 改进的设计为: WELCOME TO THE XYZ COMPUTING SYSTEMS ENTER USER NAME: adams ENTER PASSW
50、ORD: john INVALID ACCESS ENTER USER NAME:显昌眉鞋涉规迄紧域氓刚漆雄喳障佛柬脾涝悟翌嗽甥踢笑驾印枚茁厄筐矾第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续) 更好的设计为: ENTER USER NAME: adams ENTER PASSWORD: john INVALID ACCESS ENTER USER NAME: adams ENTER PASSWORD: johnq WELCOME TO THE XYZ COMPUTING SYSTEMS 破犁烤昧驰菲尧豺怨刁吩志祭保旷谩梢椎批恍躯藕些禁冀宅私症联隶凰殖第4章通用操作系统保
51、护第4章通用操作系统保护4.5.3 口令攻击(续) 穷举法攻击穷举法攻击 在穷举法攻击穷举法攻击(exhaustive attack)或暴力攻暴力攻击击(brute force attack)中,攻击者通过某种自动的方式尝试所有可能的口令。当然,可能口令的数量取决于特定计算系统的实现情况。搜索特定的口令不需要尝试所有口令,而只需要测试到正确口令为止。如果口令均匀分布,只需要测试一半的口令。挡瘟憋键宗级纵亩拽抬置伎讫鲜亩腑桌帝肌瘴作单版伴谴渤王归沂膝搀妈第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续) 很可能的口令很可能的口令 大多数用户都会选择短的,常见的,容易拼写或发音
52、的单词作为口令。攻击者在搜索口令时意识到这一特点,并有效利用它。许多计算系统都带有拼写检验程序,用于检查文件中拼写错误和印刷错误,通常这些程序包含最常用的单词在线词典,以这些词作为搜索集合,通常需要的时间非常短。帘管鹏渣档除腹碱帧丫叮咯茨腕刽莲呐阮哪广华惨懈炮贷偿碑绕席寞丹透第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续) 与用户有关的可能口令与用户有关的可能口令 一般情况下,用户会选择自己认为有意义的字符作为口令,例如,配偶、孩子、兄弟姐妹、宠物、街道等的名字作为口令,如果加以限制,这个口令集合实际非常小,可以非常快地完成对这个集合的口令正确性验证。因此,口令保护在理论
53、上很强大,但在实践中常常变得很脆弱。淆嘛上钾苇唉烛候挟魏心衬系甭舀枪卷惋箱舟上货丛柳虞浸煌燎渊踩蔓锑第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续) Morris和Thompson报道了他们收集的许多用户的口令统计规律。表 4.2 实际口令的分布 统计人数统计人数百分率百分率口令形式口令形式150.5%单个ASCII字符722%两个ASCII字符46414%三个ASCII字符47714%4个字母70621%5个字母(全部是大写或小写)60518%6个小写字母49215%字典中的单词或人名283186%以上各类的合计畦摊瞪倡翻删巢憾溪露妥煮究珍视夺馅铰鸦纤频携熏间蓄擅孟正巷
54、享妹萝第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续)图 4.15 用户选择的口令# 在口令选择方面的进步非常有限柱盼姻肯迹室雾案壮语与坊寺脾凝粘伪扶丘姻怜菜哑更杏谢纶筒凸邢矫捉第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续) Knight和Hartley依次排列了攻击者在测试口令时可能使用的12个步骤: (1) 没有口令 (2) 和用户ID相同 (3) 是用户的名字或来源于用户的名字 (4) 普通的单词列表加普通的名字和模式 (5) 学生用字典 (6) 完整的英语单词列表 (7) 非英语国家的常用字典 程呜涩石浸梨玩梁地耕哆桶窿犊泵僻跺棵邵结愚胀浮
55、痢幸剧叮度拓盾掷袋第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续)(8) 使用大小写和替代字符的学生用字典(9)包含大小写和替代字符的完整英语字典(10) 包含大小写和替代字符的非英语字典(11) 暴力攻击所有的小写字母字符(12) 暴力攻击所有的字符览恰鲸裳挂骋谈稚飘难绊原躯搔裸逃劈搀潦慑责能哲宋慑稠汹众朗疗轮庇第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续) 明文系统口令表明文系统口令表 口令表是一个包括用户身份和相应口令的两列表格。可以用多种不同的安全方法来隐藏口令表,以避免无关用户发现。 可以用强访问控制方法限制对操作系统的访问以保护口令表。
56、但是在一些系统中,有n+1个用户知道口令表,n个常规用户和1个操作系统,并且操作系统的所有模块没有区别对待,都有访问所有信息的特权。这使攻击者潜在可能利用操作系统的缺陷访问口令表。更好的方法是只有必要的操作系统模块才可以访问口令表。咏弦反未冉焦抿归善菱赞梁憎韶沙肥铜傈麻佐推它辊扯扔荫黄栏乙筛遣侨第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续) 如果口令以明文方式存储,攻击者也可以在适当时间通过遍历内存中的所有内容,找到可能为口令表的文件。 攻击者利用系统备份也可以获得口令表。为了从系统错误中恢复,系统管理员会周期性地把文件备份到一些介质上以保证存储安全。如果普通用户可以访
57、问系统备份,就可能获得系统备份的口令表,该表可能包含仍然有效的口令。 还有可能泄露口令表的情况是其在磁盘上复 制以便保存。显足辅矮碾劝蓟氟寒犁撒眺笆慢胺豪宣雅生恢厅迹诅划刮稻都贼学丸娶垂第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续) 加密口令文件加密口令文件 保护口令表的简单办法是:加密。用传统加密技术,既可以隐藏整个口令表,也可以隐藏口令表的口令部分。接受用户输入的口令后,系统对口令表中的口令进行解密,然后相互比较。但这种方法的缺点在于可以在主存中以明文的方式获取用户的口令。藕韭领冀茵稗轻盏毒鸵躇沸冰谱敢珍姚匿六耸讹陆缓集狄冉贺蹲绸枷烘忱第4章通用操作系统保护第4章通
58、用操作系统保护4.5.3 口令攻击(续) 另一种方法是使用单向函数加密技术。口令表经过单向函数计算后存储。当用户输入口令时,计算它的单向函数值,看是否与存储值相等。UNIX操作系统就使用这种访问控制机制,所有用户可以读存储的口令表。总是有可能两个人选择相同的口令值,UNIX+操作系统通过扩展口令来绕过这个弱点,称为salt。salt是包含系统时间和进程标识符组成的12个比特。salt对于每个用户唯一,且公开,这样即使用户选择相同的口令pw,由于单向函数计算的输入是 (pw+salt),所以输出也不会相等。 # 对于口令文件的保护与口令提供的保护具有相同的重要性。傣穆鹿俭佬昭滞薄哑蜘嚼德贪殆典菊
59、懈依挎温过岭刘号密帘赶抽委山堵豌第4章通用操作系统保护第4章通用操作系统保护4.5.3 口令攻击(续) 轻率的用户轻率的用户 攻击者一种简单的方法是直接获得口令。人们经常把口令输入身边的终端机中,或是写在卡片上放在抽屉里,特别是用户有几个帐号的时候。分担工作或共享数据时,试图共享口令也比共享文件更危险。蹬啼肉醛少衣月皂愉滦徊骄定贫程阁瑰搔吩戊袄袍射仪诡朗远利逼朴的妆第4章通用操作系统保护第4章通用操作系统保护4.5.4 口令选择标准 尽管口令应用有诸多不尽如人意之处,但可以预计在未来一段时间内还将继续使用。其难度应该适合环境的安全需要。我们可以对口令的使用做如下总结: (1) 用所有字符而不是
60、只用用所有字符而不是只用A Z:应该包含大小写和数字。 (2) 选择长口令选择长口令:选择的口令越长,被识破的可能就越小。 (3) 避免实际的名字或单词避免实际的名字或单词:字母的随机组合的数量远远多于单词数量。奎床甜衫辙铭输适腐坠遍症监半椎受搅高柔唐阀酶退伎太近夸帝蔼遥扬戒第4章通用操作系统保护第4章通用操作系统保护4.5.4 口令选择标准(续) (4) 选择一个看似无意义的口令选择一个看似无意义的口令:口令的选择为双重约束。为了容易记住,需要选择对用户具有特别意义的口令,而这又不能让其他人猜出其意义。如,2Brn2B代表“to be or not to be”,但像I10veu已经被收入字
61、典了。 (5) 有规律地更改口令有规律地更改口令:即使没有口令面临威胁的证据,也要定期更改口令。 (6) 不要写下口令不要写下口令:实践表明当拥有多个帐户口令时,设置相同口令或者使用不安全但好记的口令要比将口令记录在一个保护妥当的表上更安全,但是在用户自身安全面临考验的时候除外。 (7) 不要告诉任何人不要告诉任何人:最容易的攻击是使用社会工社会工程学程学(social engineering)。醉冉摹岩仑滁讳获踞掺遭管肛氏朽坡烷后癣彦红撵莎郊小石翁谢赛出搅剃第4章通用操作系统保护第4章通用操作系统保护4.5.4 口令选择标准(续) 一些系统提供了无字面意义但可发音的口令。例如,VAX VMS
62、系统随机产生5个口令供用户选择其中一个。但这样产生的口令也容易出错,如,发音为bliptab和blaptib、blabtip易混淆。 一些学者发现口令短语比口令字有更好的安全强度。 有些系统鼓励用户有规律的改变口令。如一个系统规定30天更改一次口令,可以到了30天后用户第一次登录时,要求用户修改口令。 有时系统要求周期性更改口令,用户可以选择两个口令交替使用,为防止这种情况,Windows 2000系统可以拒绝接受最近k次使用过的口令。卞盒燎奥伊泉妒抓鼓隧捌枪铸后憎盔虫析燥亚准簧雁幢祝墅属诬谍盘董六第4章通用操作系统保护第4章通用操作系统保护4.5.4 口令选择标准(续) 一次性口令一次性口令
63、 一次性口令一次性口令(one-time password)只能使用一次,以后不再有效。用户使用一个静态的数学函数,而不是一个静态的短语。用户使用这个数学函数计算并把函数值返回给系统进行认证。这样的系统又称为挑战挑战-响应响应系统(challenge-response system)。Lamport 一次口令方案就是此类方案。怪芋爬悲庐仙蚌磷支督阳轮肯渐潍渍阂脓性鄙谈把山中曼葫创桌淳茫座懒第4章通用操作系统保护第4章通用操作系统保护4.5.4 口令选择标准 (续)荡段灸吻卞亲御炸棚顷薛娄挪治薄铃艳臼低胆否云善掳咳茂扣末瞳毡阑兢第4章通用操作系统保护第4章通用操作系统保护4.5.4 口令选择标准
64、(续)轴吧拴登殴锈疮栏舀郁喝捍汁西慌厚勇炉锑敏痈疗波琵平迁褂艘领掠级串第4章通用操作系统保护第4章通用操作系统保护4.5.4 口令选择标准(续) 一次性口令使得中途截取口令变得毫无用处。但是人们能够记忆的算法程度有限,因而一次口令的实用性受到限制。口令生成设备,可以实现更复杂的函数,价格合理的这类设备已有好几种型号了。胞墟撕懦洽啊醉掉汝峻喜攘所条耕妻祷廓宏患纹枚培胖手沼噎巾教茬泡棕第4章通用操作系统保护第4章通用操作系统保护4.5.5 鉴别过程 在鉴别过程中,如果用户错误输入口令,一般的系统会允许其继续输入直到正确口令为止。 一些系统可能会故意延长执行时间,阻止攻击者搜索口令。另一些系统会在几
65、次登录失败后,断开与用户的连接。 更安全的系统中,可能会因为用户错误输入指定次数而将用户帐户锁住。只有系统管理员才能恢复其帐号。这样系统管理员可以识别出成为攻击者目标的账号。亮鱼陇阮莽蛊伺小蜡馆挨晓肇戊淘瞳莉媳酗窜斋彪御代搔脚览惹企悟侯躇第4章通用操作系统保护第4章通用操作系统保护4.5.5 鉴别过程(续) 修复鉴别过程中的缺陷修复鉴别过程中的缺陷 口令被认为是鉴别用户身份的最基本或第一手证据,如果对输入口令产生怀疑,系统可以要求更多令人信服的证明。可以采取:增加另一轮口令确认或挑战-响应协议,实现第二层保护。如果有物理设备辅助可以实现更强的挑战-响应协议。浆组溶钢壁琐座逮蚂掇嘎台耗洒卜粳矮麻
66、纸舰议诫赦勒伍捞适忘栗哦昂捻第4章通用操作系统保护第4章通用操作系统保护4.5.5 鉴别过程(续) 另一个问题是假扮登录界面问题。前面的讨论都是用户向系统的单向鉴别过程。攻击者也可能编写出与登录程序完全相同的程序来,在目标系统上建立假扮登录界面,等待无辜受害者输入身份与口令信息,之后以看似正常的方式结束会话。 为防止这种攻击,用户必须确保每次使用系统时都要重新初始化。而有些计算机系统则通过网络进行访问连接,所以不可能重新初始化。 因此,用户对计算机系统也必须保持审慎态度。在相信系统是安全之前不应该输入任何机密数据。当然,在设计系统时也可使系统在鉴别过程中显示一些只有双方才了解的信息增强信任。火
67、投莆炸搜驱掸喇屉耻募蕉痘耍劈树皿措史弱们麦毖锗穗萝峰宁男不霄配第4章通用操作系统保护第4章通用操作系统保护4.5.6 不用口令的生物特征鉴别 生物特征鉴别器生物特征鉴别器(Biometrics)是基于人体的一个物理特征进行鉴别的设备,包括手印探测器、声音识别器和视网膜鉴别器 。现在的设备主要识别以下生物特征:指纹、手掌几何特征(手指的外形和尺寸)、视网膜、虹膜(眼的一部分)、声音、笔记、手指的血管和人脸。生物特征的鉴别的优点是:不会丢失、被盗、遗忘、出租或伪造,并随时在身边可用。疫煤周峦烦东烟份剑芥模丸精槐犊粗益懊编苔键笼乔顶忌砧旗佛斟责浇简第4章通用操作系统保护第4章通用操作系统保护4.5.
68、6 不用口令的生物特征鉴别(续) 认证与鉴别认证与鉴别 所有生物阅读器都是分为两个阶段进行的: 第一阶段是:用户使用阅读器进行注册,其间,阅读器捕获用户的特征,如手掌的几何尺寸,并简化为一个模版或模式。在注册过程中,可能要求用户多次出示手掌,以便注册软件能调整适应不同的变化。 第二阶段:用户要求系统进行鉴别,其间,系统重新测定手掌,并与存储的模版进行比较。如果重新测定的数据与模版数据足够接近,系统就接受该鉴别,否则,系统拒绝该用户。池躬嘛冗蓟涝晴氟辗益苛抓虐两悟挞手誉锭峭泻禄枯翰披垣琳面浅萍谰运第4章通用操作系统保护第4章通用操作系统保护4.5.6 不用口令的生物特征鉴别(续) 生物特征鉴别对
69、鉴别非常可靠,对认证的可靠性则差一些。原因在于精准性不够。 认证与鉴别的区别如下:系统查看手掌的几何特征,然后说“这是Hook船长”(认证);如果一个人说“我,Hook船长,我的手掌可以证明这一点”,系统确认“这只手与Hook船长的模版匹配”(鉴别)。瞧印也象势元鱼属痈坞重仟朝利募残尽烃喂矫叮陇膳阳培刊片谬嘘这巷韭第4章通用操作系统保护第4章通用操作系统保护4.5.6 不用口令的生物特征鉴别(续) 生物特征鉴别的问题生物特征鉴别的问题 生物特征鉴别存在以下问题: (1) 生物特征鉴别是相对较新的技术,一些人不愿接受它的使用方式。 (2) 生物识别设备开销大。 (3) 所有生物阅读器都是先采样,
70、再设定阈值,如果匹配足够接近,则可以接受。如果生物特性发生变化可能不能识别。 饺汪斑摧耘腮翟骡佳溜遇斩匿俘捷抢湿痰生域歧贡脑腋级抗烙律醚考铆己第4章通用操作系统保护第4章通用操作系统保护4.5.6 不用口令的生物特征鉴别(续) (4) 生物特征鉴别可能成为单点故障。忘记口令是用户的错,生物特征鉴别失败却不是用户的错。 (5) 尽管鉴别设备在不断改进,但还是有误读的情况。“误承认”(false positive)或“误接受” (false accept)指阅读器误接受了应该拒绝的(即鉴别不匹配),而“误否认”(false negative)或“误拒绝” (false reject)则拒绝了应该接
71、受的。两者相互对立,一个可以接受的系统误承认率可以是0.001%,而误否认率可以是1%。 (6) 鉴别的速度限制了精度。可以通过多鉴定几次来提高精度,但鉴别不是最终目标,花费过多时间,会让用户感到失望和愤怒。 (7) 虽然我们认为生物特征是个体的唯一一部分,因而伪造似乎是不可能的。 但有证据表明伪造生物特征仍然可能,只是成本很高。屑唬腋猜芍划书望银拴嚎垣珊同秦咳聋敬侯捆罚娠壕毋锨猎碌拔颈孔镍悉第4章通用操作系统保护第4章通用操作系统保护4.5.7 鉴别需要注意的问题 有时讨论鉴别会忽略可信性是双方的,系统要确保用户可信,用户同样需要确定系统可信。第二个问题产生了新的计算欺诈,称为“钓鱼欺诈”
72、(phishing),它是指一个不设防的用户将敏感数据提交给一个装成真实可信却有恶意的系统。 大多数操作系统来说,鉴别是基本而关键的。操作系统和系统管理员会根据实际环境使用合理而严格的安全措施。但是,有时也不得不使用一些不合适的机制。例如,互联网上,经常用cookie作为鉴别方法。cookie是Web站点的服务器发送给Web浏览器的包含关键字及对应值的数据项。保护用户的隐私以及身份不被假冒非常重要,但由于cookie不加密也缺乏完整性检查,窃听者就可以窃听cookie,并再使用它来假冒用户身份。否题垦摔炮苑拴铱膜桨讹值蒸血令聘棺是圈己膛帮缄匣鸡蔡芹恿酉窝速倾第4章通用操作系统保护第4章通用操作
73、系统保护4.6 本章总结 本章讨论了4个主题:内存保护、文件保护、普通对象的访问控制和用户鉴别。界地址、基址/范围寄存器、标记结构、分页式、分段式等都是以寻址保护内存为目的。文件保护方法在通用操作系统中通常是分3个或4个保护级别进行限制。访问控制矩阵或单用户或单对象列表可灵活地用于解决访问控制基本问题,但实现却是比较困难的。用户鉴别随着通过网络寻求共享设备的未知用户增加,而愈加重要。明文口令文件是安全计算系统的薄弱环节。如何劝服用户使用强口令十分重要。本章主要介绍基于用户基于用户的保护,给用户提供可见的和可请求的保护机制。侧转了趟艇灵协园痴夏惟邵探墨茧谦暇宪相羊节鸵丢蔫亲阔卸整澳垃遮爹第4章通用操作系统保护第4章通用操作系统保护谢谢!吕孜交咳迢悲精沦翔佩课恢绢惹轰真蚂诧耽兰服况冯撒侦奖踩掐鼻狄数叠第4章通用操作系统保护第4章通用操作系统保护