第1页:11.4 操作系统安全
- 威胁类型
- 阻断(interruption)系统资产被毁损或变成不可用、不能用;
- 截取(interception)非授权方得到系统资产,如盗取保密数据;
- 篡改(modification)系统数据被非授权者改变;
- 伪造(fabrication)非授权者将假对象加入系统。
第2页:11.4 操作系统安全(续)
威胁类型图示:阻断sourcedestination截取sourcedestination篡改sourcedestinationsourcedestination伪造
第3页:11.4.1 闯入与身份认证
- 身份认证最常用的手段是口令;
- 口令加密后存储到系统Password文件中
- 用户口令在帐户建立时连同登录名字一起记载在系统password文件中
- Linux /etc/shadow
- UNIX /etc/passwd
第4页:11.4.1 闯入与身份认证(续)
- 推荐选取原则
- 混合使用字母(大小写)、数字.
- 采用一个熟悉句字中出现的单词的首字母,如MfnisB (My Father’s Name is Bob) .口令的选取
第5页:11.4.1 闯入与身份认证(续3)
- UNIX口令:UNIX系统在加密之前对口令拼加“salt” ;salt是随机产生的长度为12bit的附加位,将其与口令s(56bit:密码中前8个字符的低7位)串接在一起;然后对其结果再运行crypt(3)算法,加密后的结果连同salt一起保存在passwd文件中。
第6页:11.4.1 闯入与身份认证(续4)
3charscrypt(3)saltpassword12bit56bitUser-idsaltEpsw(s,salt)User-idUNIX口令载入11.4.1闯入与身份认证Password文件
第7页:11.4.1 闯入与身份认证(续5)
User-idsaltEpsw(s,salt)User-idcrypt(3)passwordcompareUNIX口令验证
第8页:11.4.1 闯入与身份认证(续6)
- 基于单向函数y=f(x),给定x,很容易地计算y ;给定y,从计算上不可能求得x。
- 用户首先选定一个保密口令s ,同时指定一个整数n ;
- Password generation:第一代口令为p1=fn(s) ;第二代口令为p2=fn-1(s) ;......第n代口令为pn= f ( s ) .一次性口令
第9页:1.11.4.1 闯入与身份认证
- 一次性口令登录的口令验证主机初始化:P0=f(P1)和n记在password file中
- 第一次登录:
- 主机响应n;
- 远程用户输入口令s,在客户端计算出p1=fn(s)并传送给主机;
- 主机计算出p0’=f(p1)并将其与password file中的p0相比较;
- 如果相同登录成功,主机用p1取代password file中的p0,并将n减
第10页:11.4.1 闯入与身份认证
- 第二次登录:
- 主机响应n-1;
- 远程用户输入口令s ,在客户端计算出p2=fn-1(s)并传送给主机;
- 主机计算出p1=f(p2)并将其与password文件中的p1相比较.
- 如果相同登录成功,主机用p2取代password文件中的p1,并将n减1.………………………………..
- 第i次登录:主机存放fn-i+2(s),用户fn-i+1(s);特点:抗截取
第11页:11.4.1 闯入与身份认证(续)
1.4.2程序威胁独立程序寄生程序病毒陷阱门逻辑炸弹特洛伊木马细菌蠕虫复制恶意程序
第12页:11.4.2 程序威胁
- 逻辑炸弹:逻辑炸弹是隐藏在合法程序中可以被某种条件触发而执行某种破坏性动作的程序。
- 软件开发者可以采用这种手段制约使用者,以达到某种目的;
- 逻辑炸弹程序的设计是容易的,一般编程人员都能实现,但要伪装得好、不易被发现,则需要一定的设计技巧和编程经验。
第13页:@B1@特洛伊木马
- 特洛伊木马:嵌入于某合法程序中的秘密例程;合法程序的执行将导致秘密例程的执行;具有伪装的攻击程序。例如:甲欲得到乙的文件F,因无权限不能直接访问,便编写一个游戏程序G并邀请甲玩;甲运行G,这确实是一个游戏程序,但在后台G将F复制到乙用户的目录下,达到了文件窃取的目的。11.4.2程序威胁
- 防止特洛伊木马
- 增强权限检查和控制,如限制存取灵活性;
- 提高自我防范意识,慎重使用来历不明的软件。
第14页:11.4.2 程序威胁
- 后门(trapdoor):是程序中绕过例行检查的入口;是系统安全的严重隐患。
- 这种非正常入口在程序开发过程中普遍存在;
- 一旦系统发布所有后门均应关闭
- 后门一般有两种情况
第15页:11.4.2 程序威胁(续)
- 细菌(bacteria)
- 消耗系统资源
- 进程复制: System callfork,spaw, etc.
- 文件复制: make new bacteria file
- 细菌可以指数级别增长,消耗
- CPU资源
- 内存资源
- 磁盘空间
第16页:11.4.2 程序威胁(续3)
- 病毒(virus)
- 病毒不是一个独立的程序;
- 寄生于某一合法程序(通常是一个可执行程序)上的一段代码。
- 危害:
- 传播:使其它文件感染上该病毒;
- 破坏:如删除系统文件。
第17页:11.4.2 程序威胁(续4)
第18页:11.4.2 程序威胁(续5)
- 危害:
- 复制和传播:通过自身复制消耗系统资源,在网上从一个计算机传播到另一个计算机;
- 除利用spawn复制和传播外,可能伴随执行不期望的动作。蠕虫(worm)
第19页:11.4.3 安全策略
- 口令管理
- 初始口令当为给一个用户建立户头时,为其规定一个登录口令;
- 关卡口令在某些关键目录、关键文件等设置口令,可以防止非授权的用户对其进行访问,达到保护的目的。
- 主副口令即设置两个口令:一个为主口令,另外一个为副口令.主副口令分别由两个不同的用户掌握;仅当二者都在场时才能成功对答通过。
第20页:11.4.3 安全策略(续)
- 防火墙(firewall)
- 防火墙是网络上分离可信系统(trustedsystem)与非可信系统(un-trusted system)的常用方法;
- 介于可靠系统与非可靠系统之间的一台计算机或一个路由器构成;
- 作用
- 限制两个不同安全域之间的相互访问;
- 动态监视和记录所有连接。
第21页:11.4.3 安全策略(续3)
- 加密思想:伪装信息,使局外人不可理解信息的真正含义。
- 安全性取决于对密钥的管理;
- 加密保护可以防止信息被截取(interception);
- 不能防止信息被篡改(modification)。
第22页:@B1@加密和解密原理EDC=E(P,…
- 加密和解密原理EDC=E(P,KE)PP=D(C,KD)KEKD11.4.3安全策略一个加密系统可由五元组定义:S={P,C,K,E,D},其中P为明文空间,C为密文空间,K为密钥空间,E为加密算法,D为解密算法.
第23页:11.4.3 安全策略
- 审计(auditing)
- 审计作为事后追踪的手段来保证系统安全;
- 审计将涉及系统安全的操作记录在系统监听日志(audit log)中;
- 以便在发生安全问题后对违反系统安全规则的事件能够有效地追查事件发生时间、地点与过程。
第24页:11.4.3 安全策略(续)
- 审计记录的事件
- 使用识别和认证机制(如注册过程);
- 将某客体引入某个用户的地址空间(如打开文件);
- 删除客体;
- 系统管理员和安全管理员执行的操作。
第25页:11.4.3 安全策略(续3)
- 审计的事件包括:
- 对系统资源的访问;
- 使用某种特权对系统资源进行访问;
- 注册/退出操作;
- 修改系统或用户口令;
- 不成功的登录操作。
第26页:11.4.3 安全策略(续4)
- 备份与恢复抗御信息破坏(disruption)的安全措施
- 导致信息破坏的原因可能是人为的,如文件被非法删除;
- 也可能是自然原因造成的,如存储介质失效、自然灾害等;
- 系统操作员必须定期地对系统中的重要数据进行转储.
第27页:11.4.4 可信系统
- 可信系统的核心是最小的可信计算基;(Trusted Computing Base,TCB)
- TCB由强制实施所有安全规则的硬件和软件构成
- TCB组成
- 绝大多数硬件(I/O设备除外,因为它们不影响安全性);
- 操作系统核心中的一部分:进程创建,进程切换,存储映射,部分文件设备I/O管理;
- 其它具有特权用户权限的用户程序(例如UNIX系统中的setuid的root程序).
第28页:11.4.4 可信系统(续)
- 可信系统结构访问监视器进程所有系统调用TCB操作系统核心用户空间系统空间
第29页:11.5 系统举例
11.5系统举例