1、第四章第四章 操作系统安全操作系统安全刘培顺刘培顺调课通知下周五(11.6)的课调到下周三(11.4)晚上6:00-8:00 地点:信息学院南楼,计算机系机房 B317手工杀毒的实验:W32.Downadup!autorunW32.Huhk.AW32.SillyDCW32.Almanahe.B!infInfostealer.Lineage安全体系结构操作系统是最底层软件系统,其安全性直接影响并决定了计算机的安全性能。操作系统安全是信息系统安全的最基本、最基础的安全要素。操作系统的任何安全脆弱性和安全漏洞,必然导致信息系统的整体安全脆弱性。操作系统的任何功能性变化,都可导致信息系统安全脆弱性分布
2、情况的变化。从软件角度来看,确保信息系统安全的第一要事便是采取措施保证操作系统安全。在目前的操作系统中,对安全机制的设计不尽完善,存在较多的安全漏洞隐患。面对黑客的盛行,网络攻击的日益频繁,运用的技术愈加先进,计算机操作系统的安全显得尤为重要。安全体系结构的安全服务l认证我不认识你!-你是谁?我怎么相信你就是你?-要是别人冒充你怎么办?l访问控制授权我能干什么?-我有什么权利?你能干这个,不能干那个.l保密性我与你说话时,别人能不能偷听?l完整性收到的传真不太清楚?传送过程过程中别人篡改过没有?l防抵赖我收到货后,不想付款,想抵赖,怎么样?我将钱寄给你后,你不给发货,想抵赖,如何?操作系统安全
3、操作系统安全身份认证身份认证提纲单机状态下身份认证基于口令的认证方式基于智能卡的认证方式基于生物特征的认证方式认证的概念认证是一个过程,通过这个过程,一个实体像另一个实体证明了某种声称的属性。认证概念可以分为三个子概念数据源认证:验证消息的某个声称属性实体认证:验证消息发送者所声称的身份身份认证身份认证,用来确定用户在系统中的身份的真实性,包括用户的标识和鉴别,是用户进入系统后的第一道防线。用户标识是指用户登录注册在信息系统中的身份标识(ID),代表用户的身份信息。鉴别是验证某些事物的过程。身份认证的基本途径基于你所知道的(What you know)知识、口令、密码基于你所拥有的(What
4、you have)身份证、信用卡、密钥、智能卡、令牌等基于你的个人特征(What you are)指纹,笔迹,声音,手型,脸型,视网膜,虹膜双因素、多因素认证身份认证的基本模型申请者(Claimant)验证者(Verifier)认证信息AI(Authentication Information)可信第三方(Trusted Third Party)申请AI验证AI申请AI验证AI交换AI常用的身份认证技术/协议简单口令认证质询/响应认证一次性口令认证(OTP)电子令牌基于U盾的身份认证基于生物特征的身份认证基于口令的身份认证用户名/口令认证技术是最简单、最普遍的身份识别技术各类系统的登录等。口令
5、具有共享秘密的属性,只有用户和系统知道。例如,用户把他的用户名和口令送服务器,服务器操作系统鉴别该用户。口令有时由用户选择,有时由系统分配。通常情况下,用户先输入某种标志信息,比如用户名和ID号,然后系统询问用户口令,若口令与用户文件中的相匹配,用户即可进入访问。口令有多种,如一次性口令;还有基于时间的口令基于口令的身份认证用户名/口令具有实现简单的优点,但存在以下安全缺点:大多数系统的口令是明文传送到验证服务器的,容易被截获。口令维护的成本较高。为保证安全性,口令应当经常更换。另外为避免对口令的字典攻击,口令应当保证一定的长度,并且尽量采用随机的字符。但缺点是难于记忆。口令容易在输入的时候被
6、攻击者偷窥,而且用户无法及时发现。简单和安全是互相矛盾的两个因素口令保护技术对口令的使用,存储和更新进行控制控制口令显示信息限制注册失败次数:3次或6次定期更新口令避免重复使用最小长度:68个字符用户被锁根口令:要求更严系统生成口令:随机性更好创建强健的口令 在创建安全口令的时候,最好能遵循以下准则:不要做以下的事:不要只使用单词或数字 决不要在口令中只使用单词或数字。某些不安全口令包括:8675309 juan hackme不要使用现成词汇 像名称、词典中的词汇、甚至电视剧或小说中的用语,即使在两端使用数字,都应该避免使用。某些不安全口令包括:John1 DS-9 mentat123创建强健
7、的口令不要使用外语中的词汇 口令破译程序经常使用多种语言的词典来检查其词汇列表。依赖外语来达到保护口令的目的通常不起作用。某些不安全口令包括:Cheguevara bienvenido1 1dumbKopf不要使用黑客术语 如果你以为在口令中使用黑客术语 又称 l337(LEET)就会与众不同,请再三思。许多词汇列表都包含了 LEET 式术语。某些不安全口令包括:H4X0R 1337不要使用个人信息 千万不要使用个人信息。如果攻击者知道你的身份,推导出你所用口令的任务就会变得非常容易。以下是你在创建口令时应该避免使用的信息类型。某些不安全口令包括:你的名字 宠物的名字 家庭成员的名字生日 你的
8、电话号码或邮政编码创建强健的口令不要倒转现存词汇 优秀的口令破译者总是倒转常用词汇,因此倒转薄弱口令并不会使它更安全。某些不安全口令包括:R0X4Hnauj9-DS不要笔录你的口令 决不要把口令写在纸上。把它牢记在心才更为安全。不要在所有机器上都使用同样的口令 在每个机器上使用不同的口令是及其重要的。这样,如果一个系统泄密了,所有其它系统都不会立即受到威胁。做以下的事:创建强健的口令口令长度至少为八个字符 口令越长越好。若使用 MD5 口令,它应该至少有15个字符。若使用 DES 口令,使用最长长度(8个字符)。混和大小写字母 红帽企业 Linux 区分大小写,因此混和大小写会增加口令的强健程
9、度。混和字母和数字 在口令中添加数字,特别是在中间添加(不只在开头和结尾处)能够加强口令的强健性。包括字母和数字以外的字符&、$、和 之类的特殊字符可以极大地增强口令的强健性(若使用 DES 口令则不能使用此类字符)。挑选一个你可以记住的口令 如果你记不住你的口令,那么它再好也没有用;使用简写或其它记忆方法来帮助你记忆口令。安全口令创建方法想出一个可记忆的短语,如:over the river and through the woods,to grandmothers house we go.然后只引用第一个字母而把它变成简写(包括标点)。otrattw,tghwg.把简写中的字母替换成数字和
10、符号来增加其复杂性。例如,用 7 来替换 t,用 来替换 a:o7r77w,7ghwg.至少把一个字母变成大写来增加其复杂性,如 H。o7r77w,7gHwg.最后,永远不要在任何系统上使用以上的口令范例。口令攻击的种类网络数据流窃听。由于认证信息要通过网络传递,并且很多认证系统的口令是未经加密的明文,攻击者通过窃听网络数据,就很容易分辨出某种特定系统的认证数据,并提取出用户名和口令。认证信息截取/重放(Record/Replay)有的系统会将认证信息进行简单加密后进行传输,如果攻击者无法用第一种方式推算出密码,可以使用截取/重放方式。安全的口令认证技术-动态口令动态口令:一般采用双运算因子的
11、计算方式,也就是加密算法的输入值有两个数值,其一为用户密钥、另一为变动因子.由于用户密钥为固定数值,因此变动因子必须不断变动才可以算出不断变动的动态密码。服务器及动态口令系统必须随时保持相同的变动因子,才能算出相同的动态密码基于动态口令的身份认证质询/响应认证(Challenge/Response)一次性口令(OTP)质询/响应认证协议Challenge and Response Handshake ProtocolClient和Server共享一个密钥Login,IDcIDc,RIDc,MACcMAC=H(R,K)sMAC=H(R,K)比较比较MAC和和MACOK/DisconnectMAC
12、的计算可以基于的计算可以基于Hash算算,对称密钥算法,公开密钥算法对称密钥算法,公开密钥算法一次性口令认证(OTP)S/Key SecurIDTokenServer应答 seed+seqOTPHash(Pass+seed)OTPhttp:/www.faqs.org/rfcs/rfc1760.htmlhttp:/www.ietf.org/rfc/rfc2289.txtOTPID确认Hash(Pass+seed)Seq-1利用单向Hash函数生成一次性口令序列,逆序使用基于智能卡认证方式基于智能卡的认证可提供双重认证,即你所拥有的东西认证(您的智能卡)和你所知道的东西认证(您的PIN代码)智能卡
13、提高硬件保护措施和加密算法,可以利用这些功能加强安全性能。当前比较常用的是基于USB接口的智能卡,UKEY.UKey是一种通过USB(通用串行总线接口)直接与计算机相连、具有密码验证功能、可靠高速的小型存储设备。UKey的设计小巧精致、携带方便UKey自身所具备的存贮器可以用来存储一些个人信息或证书,UKey的内部密码算法可以为数据传输提供安全的管道,UKey是适用于单机或网络应用的安全防护产品。生理特征介绍每个人所具有的唯一生理特征指纹,视网膜,声音,视网膜、虹膜、语音、面部、签名等指纹一些曲线和分叉以及一些非常微小的特征;提取指纹中的一些特征并且存储这些特征信息:节省资源,快速查询;手掌、
14、手型 手掌有折痕,起皱,还有凹槽;还包括每个手指的指纹;人手的形状(手的长度,宽度和手指)表示了手的几何特征 生理特征介绍(续)视网膜扫描 扫描眼球后方的视网膜上面的血管的图案;虹膜扫描 虹膜是眼睛中位于瞳孔周围的一圈彩色的部分;虹膜有其独有的图案,分叉,颜色,环状,光环以及皱褶;语音识别 记录时说几个不同的单词,然后识别系统将这些单词混杂在一起,让他再次读出给出的一系列单词。面部扫描 人都有不同的骨骼结构,鼻梁,眼眶,额头和下颚形状。指纹识别历史悠久考古证实,公元前年到公元前年,指纹作为身份鉴别已在古中国和古叙利亚使用。从那时出土的粘土陶器上留有的陶艺匠人的指纹,纸稿上印有的起草者的大拇指指
15、纹,古城市的房屋留下的砖匠一对大拇指指纹的印记中可以看出,指纹认证已被应用于当时社会的许多领域里。世纪初,科学发现了至今仍被承认的指纹的两个重要特征,即两个不同手指的指纹纹脊的式样不同,和指纹纹脊的式样终生不改变。这个有关指纹唯一性和终身不变性的研究成果在指纹鉴别犯罪中得到正式应用。世纪末到世纪初,阿根廷、苏格兰等国相继将指纹识别技术应用于罪犯鉴别。最初的指纹识别采用手工方法,即将指纹卡片存放在指纹库中,需要时在指纹库中人工查找由指纹专家比对指纹卡。世纪年代后,人们利用计算机代替了效率低、投入高的手工方式来处理指纹,个人电脑和光学扫描仪成为指纹取像工具。年代后期,低价位取像设备的出现,为个人身
16、份识别技术的发展提供了舞台。指纹识别读取指纹图像提取特征保存数据和比较第一代指纹识别系统,属于光学识别系统,光学指纹识别系统由于光不能穿透皮肤表层(死性皮肤层),所以只能够扫描手指皮肤的表面,或者扫描到死性皮肤层,但不能深入真皮层。在这种情况下,手指表面的干净程度,直接影响到识别的效果。如果,用户手指上粘了较多的灰尘,可能就会出现识别出错的情况。并且,如果人们按照手指,做一个指纹手模,也可能通过识别系统,对于用户而言,这具有不安全性。第二代指纹识别系统,采用了电容传感器技术,并采用了小信号来创建山脉状指纹图像的半导体设备。指纹识别器的电容传感器发出电子信号,电子信号将穿过手指的表面和死性皮肤层
17、,而达到手指皮肤的活体层(真皮层),直接读取指纹图案,从而大大提高了系统的安全性。模板 1K已保存模板 1K小结身份认证的途径质询/响应认证方式访问控制访问控制访问控制的基本概念什么是访问控制访问控制的基本模型访问控制和其他安全机制的关系什么是访问控制访问控制是网络安全防范和保护的主要核心策略,它的主要任务是保证网络资源不被非法使用和访问。访问控制规定了主体对客体访问的限制,并在身份识别的基础上,根据身份对提出资源访问的请求加以控制。它是对信息系统资源进行保护的重要措施,也是计算机系统最重要和最基础的安全机制。访问控制的基本概念主体(Subject)主体是一个主动的实体,它提出对资源访问请求。
18、如用户,程序,进程等。客体(Object)含有被访问资源的被动实体,如网络、计算机、数据库、文件、目录、计算机程序、外设、网络。授权(Authorization)对资源的使用,读、写、修改、删除等操作,例如访问存储器;访问文件、目录、外设;访问数据库;访问一个网站。访问控制的基本概念访问控制的基本概念访问可以被描述为一个三元组(s,a,o)主体,发起者 :Subject,Initiator客体,目标 :Object,Target访问操作 :AccessObjectRead/Write/Exec访问控制模型访问控制执行功能访问控制执行功能访问控制决策功能访问控制决策功能客体客体主体的访问主体的访
19、问控制信息控制信息主体主体客体的访问客体的访问控制信息控制信息访问控制政策规则上下文信息(如时间,地址等)决策请求决策请求决策决策访问请求访问请求提交访问提交访问访问控制的基本概念访问控制的基本概念访问控制信息(ACI)的表示主体访问控制属性客体访问控制属性访问控制政策规则授权(Authorization)怎样把访问控制属性信息分配给主体或客体如何浏览、修改、回收访问控制权限访问控制功能的实施控制实施部件如何获得实体的访问控制信息怎样执行访问控制矩阵访问控制机制可以用一个三元组来表示(S,O,M)主体的集合 S=s1,s2,sm客体的集合 O=o1,o2,on所有操作的集合 A=R,W,E,访
20、问控制矩阵 M=S O 2A访问控制矩阵矩阵的的i行Si表示了主体si对所有客体的操作权限,称为主体si的能力表(Capability List)矩阵的第j列Oj表示客体oj允许所有主体的操作,称为oj的访问控制表(ACL)能力表(Capability List)能力表与主体关联,规定主体所能访问的客体和权限。表示形式:用户Profile,由于客体相当多,分类复杂,不便于授权管理授权证书,属性证书从能力表得到一个主体所有的访问权限,很容易从能力表浏览一个客体所允许的访问控制权限,很困难O1RWO2RO5RWESi访问控制表(Access Control List)访问控制表与客体关联,规定能够
21、访问它的主体和权限由于主体数量一般比客体少得多而且容易分组,授权管理相对简单得到一个客体所有的访问权限,很容易浏览一个主体的所有访问权限,很困难S1RWS2RS5RWEOj授权信息访问控制与其他安全机制的关系认证、授权、审计(AAA)Log身份认证身份认证访问控制访问控制审审计计授权(授权(authorization)主体主体客体客体访问控制与其他安全机制的关系身分认证身份认证是访问控制的前提保密性限制用户对数据的访问(读取操作),可以实现数据保密服务完整性限制用户对数据的修改(写操作),实现数据完整性保护可用性限制用户对资源的使用量,保证系统的可用性安全管理相关的活动访问控制功能通常和审计、
22、入侵检测联系在一起访问控制政策模型自主型访问控制(DAC)强制型访问控制(MAC)基于角色的访问控制(RBAC)自主自主访问控制访问控制强制强制访问控制访问控制基于角色基于角色访问控制访问控制访问控制访问控制访问控制的一般策略访问控制的一般策略自主型访问控制政策Discretionary Access Control,DAC每个客体有一个属主,属主可以按照自己的意愿把客体的访问控制权限授予其他主体DAC是一种分布式授权管理的模式控制灵活,易于管理,是目前应用最为普遍的访问控制政策自主型访问控制(DAC)无法控制信息流动信息在移动过程中其访问权限关系会被改变。如用户A可将其对目标O的访问权限传递
23、给用户B,从而使不具备对O访问权限的B可访问O。特洛伊木马的威胁 特洛伊木马(Trojan)是一段计算机程序,它附在合法程序的中,执行一些非法操作而不被用户发现一个用户能读取某些数据,然后他就可以把这些数据转发给其他原本没有这一权限的人。这是因为,自主访问控制策略本身没有对已经具有权限的用户如何使用和传播信息强加任何限制。但在强制策略系统中,高安全等级数据传播到低安全等级是受到限制的。在自主访问控制策略环境中,为了保证安全,默认参考设置是拒绝访问,以提高信息的安全性。访问许可访问许可与访问模式描述了主体对客体所具有的控制权与访问权.访问许可定义了改变访问模式的能力或向其它主体传送这种能力的能力
24、.访问模式则指明主体对客体可进行何种形式的特定的访问操作:读写运行.自主访问控制包括身份型(Identity-based)访问控制和用户指定型(User-directed)访问控制,通常包括目录式访问控制,访问控制表,访问控制矩阵等方式。访问许可(Access Permission)(1)等级型的(Hierarchical)(2)有主型的(Owner)对每个客体设置一个拥有者(通常是客体的生成者).拥有者是唯一有权修改客体访问控制表的主体,拥有者对其客体具有全部控制权.(3)自由型的(Laissez-faire)最高领导最高领导(系统操作员系统操作员)部门领导部门领导部门领导部门领导科组领导科
25、组领导科组领导科组领导科组领导科组领导科组领导科组领导成员成员成员成员成员成员成员成员成员成员成员成员成员成员成员成员访问模式Access Mode系统支持的最基本的保护客体:文件,对文件的访问模式设置如下:(1)读-拷贝(Read-copy)(2)写-删除(write-delete)(3)运行(Execute)(4)无效(Null)基于个人的策略根据哪些用户可对一个目标实施哪一种行为的列表来表示。等价于用一个目标的访问矩阵列来描述基础(前提):一个隐含的、或者显式的缺省策略例如,全部权限否决最小特权原则:要求最大限度地限制每个用户为实施授权任务所需要的许可集合在不同的环境下,缺省策略不尽相同
26、,例如,在公开的布告板环境中,所有用户都可以得到所有公开的信息对于特定的用户,有时候需要提供显式的否定许可例如,对于违纪的内部员工,禁止访问内部一些信息基于组的策略基于组的策略一组用户对于一个目标具有同样的访问许可。是一组用户对于一个目标具有同样的访问许可。是基于身份的策略的另一种情形基于身份的策略的另一种情形相当于,把访问矩阵中多个行压缩为一个行。相当于,把访问矩阵中多个行压缩为一个行。实际使用时实际使用时先定义组的成员先定义组的成员对用户组授权对用户组授权同一个组可以被重复使用同一个组可以被重复使用组的成员可以改变组的成员可以改变表示和实现基于组的策略在表示和实现上更容易和更有效在基于个人
27、的策略中,对于系统中每一个需要保护的客体,为其附加一个访问控制表,表中包括主体标识符(ID)和对该客体的访问模式对客体I将属于同一部门或工作性质相同的人归为一组(Group),分配组名GN,主体标识=ID1.GN对客体IID1.re ID2.rID3.eIdn.rew张三.CRYPTO.re*.CRYPTO.re李四.CRYPTO.r*.*.n强制型访问控制(MAC)Mandatory Access ControlMAC是一种多级访问控制策略,它的主要特点是系统对访问主体和受控对象实行强制访问控制,系统事先给访问主体和受控对象分配不同的安全级别属性,在实施访问控制时,系统先对访问主体和受控对象
28、的安全级别属性进行比较,再决定访问主体能否访问该受控对象每个主体和客体分配一个固定的安全级别,只有系统管理员才可以修改普密秘密机密TchMNStud MN。RBAC中通常定义不同的约束规则来对模型中的各种关系进行限制,最基本的约束是“相互排斥”约束和“基本限制”约束,分别规定了模型中的互斥角色和一个角色可被分配的最大用户数。RBAC中引进了角色的概念,用角色表示访问主体具有的职权和责任,灵活地表达和实现了企业的安全策略,使系统权限管理在企业的组织视图这个较高的抽象集上进行,从而简化了权限设置的管理,从这个角度看,RBAC很好地解决了企业管理信息系统中用户数量多、变动频繁的问题。一个基于角色的访
29、问控制的实例在银行环境中,用户角色可以定义为出纳员、分行管理者、顾客、系统管理者和审计员访问控制策略的一个例子如下:(1)允许一个出纳员修改顾客的帐号记录(包括存款和取款、转帐等),并允许查询所有帐号的注册项(2)允许一个分行管理者修改顾客的帐号记录(包括存款和取款,但不包括规定的资金数目的范围)并允许查询所有帐号的注册项,也允许创建和终止帐号(3)允许一个顾客只询问他自己的帐号的注册项(4)允许系统的管理者询问系统的注册项和开关系统,但不允许读或修改用户的帐号信息(5)允许一个审计员读系统中的任何数据,但不允许修改任何事情 RBAC与传统访问控制的差别与传统访问控制的差别增加一层间接性带来了
30、灵活性增加一层间接性带来了灵活性RBAC的优势的优势便便于于授授权权管管理理,如如系系统统管管理理员员需需要要修修改改系系统统设设置置等等内内容容时时,必必须须有有几几个个不不同同角角色色的的用用户户到到场场方方能能操操作作,从从而保证了安全性。而保证了安全性。便便于于根根据据工工作作需需要要分分级级,如如企企业业财财务务部部门门与与非非财财力力部部门门的的员员工工对对企企业业财财务务的的访访问问权权就就可可由由财财务务人人员员这这个个角角色来区分。色来区分。便便于于赋赋于于最最小小特特权权,如如即即使使用用户户被被赋赋于于高高级级身身份份时时也也未未必必一一定定要要使使用用,以以便便减减少少
31、损损失失。只只有有必必要要时时方方能能拥拥有特权。有特权。便于任务分担,不同的角色完成不同的任务。便于任务分担,不同的角色完成不同的任务。便便于于文文件件分分级级管管理理,文文件件本本身身也也可可分分为为不不同同的的角角色色,如信件、账单等,由不同角色的用户拥有。如信件、账单等,由不同角色的用户拥有。授权的管理授权的管理决定谁能被授权修改允许的访问 强制访问控制的授权管理自主访问控制的授权管理角色访问控制的授权管理 强制访问控制的授权管理 在强制访问控制中,允许的访问控制完全是根据主体和客体的安全级别决定。其中主体(用户、进程)的安全级别是由系统安全管理员赋予用户,而客体的安全级别则由系统根据
32、创建它们的用户的安全级别决定。因此,强制访问控制的管理策略是比较简单的,只有安全管理员能够改变主体和客体的安全级别。自主访问控制的授权管理集中式管理:只单个的管理者或组对用户进行访问控制授权和授权撤消。分级式管理:一个中心管理者把管理责任分配给其它管理员,这些管理员再对用户进行访问授权和授权撤消。分级式管理可以根据组织结构而实行。所属权管理:如果一个用户是一个客体的所有者,则该用户可以对其它用户访问该客体进行授权访问和授权撤消。协作式管理:对于特定系统资源的访问不能有单个用户授权决定,而必须要其它用户的协作授权决定。分散式管理:在分散管理中,客体所有者可以把管理权限授权给其他用户。角色访问控制
33、的授权管理 角色访问控制提供了类似自由访问控制的许多管理策略。而且,管理权限的委托代理是角色访问控制管理的重要特点,在以上的两种访问控制的管理策略中都不存在。安全策略的实施原则安全策略的制定实施也是围绕主体、客体和安全控制规则集三者之间的关系展开的。(1)最小特权原则:最小特权原则是指主体执行操作时,按照主体所需权利的最小化原则分配给主体权力。最小特权原则的优点是最大限度地限制了主体实施授权行为,可以避免来自突发事件、错误和未授权用主体的危险。也就是说,为了达到一定目的,主体必须执行一定操作,但他只能做他所被允许做的,其它除外。(2)最小泄漏原则:最小泄漏原则是指主体执行任务时,按照主体所需要知道的信息最小化的原则分配给主体权力。(3)多级安全策略:多级安全策略是指主体和客体间的数据流向和权限控制按照安全级别的绝密(TS)、秘密(S)、机密(C)、限制(RS)和无级别(U)五级来划分。多级安全策略的优点是避免敏感信息的扩散。具有安全级别的信息资源,只有安全级别比他高的主体才能够访问。重点访问控制模型及相关概念:访问控制矩阵,能力表,访问控制表三种常见的访问控制政策