10-操作系统安全
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
10.2.3 操作系统安全设计原则
1、系统设计必须公开。 2、不可访问应该是缺省属性。 3、时刻检查文件的当前权限。 4、给每个进程赋予一个最小的可能权限。 5、保护机制应简单一致,并嵌入到系统的底层。 6、采取的保护方案必须可以接受。
•指导原则:简单(KISS,Keep it Simple, Stupid)。
§10.6 恶意程序防御机制
恶意程序: 独立运行类:自包含,可独立运行。 宿主寄生类:需要宿主程序才能运行、传播。
隐蔽、传染、潜伏、破坏
16
蠕虫 独立 运行类 恶 意 软 件 宿主 寄生类 细菌 僵尸
通过网络连接在系统间传播 不显式破坏文件,其目的 是复制自身。呈指数级地 再生,用尽系统资源。 被种植到可信第三方的数百 台计算机上,并向目标Web 站点发起拒绝服务式攻击。 一个秘密进入程序的入口 嵌入到合法程序中的代码 ,满足某项条件时爆炸。 嵌入到合法程序中的 例程,程序执行时会 触发例程的执行。 修改并感染(复制病毒的 17 拷贝并运行)其它程序。
防止信息泄漏。加密
隐私:
保证私人信息不被滥用、公开
4
§10.2 操作系统安全
10.2.1 操作系统安全的基本概念(1)
主体与客体:主体是系统的使用者,如用户、管理员等。 客体是系统中的被保护者,如文件、设备等。 策略与机制:将机制放入操作系统而将策略留给用户, 即使需要改变策略,OS本身也可以保持不变。
不是当没有东西可以再添加,而是当没有东西可以再 裁减时,才能达到尽善尽美。
代码越多,安全漏洞和bug就越多。
万事应该尽可能简单,但不能过于简单。(爱因斯坦)
7
§10.3 硬件安全机制
10.3.1 存储保护
内存块保护码:内存块和所属进程有相同的保护键 基址和界限寄存器
10.3.2 CPU安全技术
Intel Pentium的4级保护环,以执行不同的指令集合 CPU NX技术:缓冲区溢出保护。CPU对内存中没有明 确包含可执行代码的数据区标记为NX(No eXecute不可 执行)。如果某程序试图执行该区域将被自动关闭。 CPU加密技术:在CPU中内嵌一种保密装置(硬件),使 用户可以储存、开启、封锁CPU内部经过加密的信息。
12
§10.5 信息安全与加密
在网络中,从发送者到接收者的数据可以被:
切断
截取
篡改
伪造
所以,数据包的发送者和接收者不可信任。 密码术可以限制一条消息的潜在发送者和接收者。
13
一、验证: 发送者根据消息和函数S(k)产生验证数据,并随 消息发送;接收者根据函数V(k)验证消息的真伪。 数字签名:V(k)是单向函数,可公开。S(k)需保 密。
病毒,蠕虫,木马,炸弹,后门等
数据意外丢失:
由于灾难、硬件或软件故障、人的失误造成数据 丢失。备份,且放在离数据源远的地点。
3
10.1.3 计算机系统安全目标 安全:
硬件设备、存储介质、通信介质的安全 软件程序不被篡改、非法复制、失效 数据不被非法使用、更改
完整:
软件程序和数据不被非法删改或破坏
保密:
后门 逻辑炸弹 特洛伊木马 病毒
一、病毒: 内嵌到合法程序中的一段代码。 通过程序下载、交换磁盘或光盘、email、 office文档中的宏macro等传播。
一个正常 可执行程序
病毒嵌入 程序头部
病毒嵌入 程序尾部
病毒散布 于程序中
18
二、蠕虫:(Morris,1988)
蠕虫包含:挂钩程序和蠕虫本体。 蠕虫调用finger,并把一个 通过rsh运行一个远程shell,在其 536B串作为参数传给它, 中挂钩将上载蠕虫并感染新机器 导致缓冲溢出,然后执行 536B中的子程序(sh) 用sendmail ① 向远程主机发 送一份挂钩并 ② 执行它
多形态病毒的例子(它们做的事情是一样的) 25
病毒的预防: 使用安全的OS 安装防病毒软件 少下载软件,安装正版软件 预防Word宏病毒:使用RTF文件格式 不要点击陌生电子邮件的附件 经常备份 从病毒攻击中恢复: 从干净磁盘启动(以防引导扇区病毒),运 行杀毒软件,甚至重新低级格式化硬盘,重装 系统和软件…… 26
10
对口令加密:
对口令明文进行加密,由密文不能逆计算出明文。只允许 特殊用户(如root)访问口令密文文件。 UNIX口令方案:
o 加密例程crypt基于DES算法。 o 用户的8字符口令明文和2字符的“salt”值(与将口令
分派给用户的时间有关)作为加密算法的输入,算法的 输出作为下一次加密的输入,迭代25次。
8
§10.4 软件安全机制
10.4.1 身份识别: 每个访问者身份(帐号)惟一。 访问者声称自己身份后,进行: 口令验证 钥匙、磁卡验证 生物识别:指纹、虹膜、人脸、语音、 签名(包括行笔顺序)、手指长度等验证。
9
口令(密码):一个口令与一个用户或文件关联。 口令password脆弱的一面: 猜测口令:根据用户个人信息或穷举 泄漏口令:登录时被偷窥或被假login欺骗、 网络中传输数据流被监听、口令写在纸上…… 一个合法用户ID和口令被多个用户共享(冒用) 改善:增加口令字符种类、避免使用常规单词 和个人信息、强制口令最短长度、有效期、口令间 相似程度,每次会话都更换口令……
20
四、特洛伊木马: 包含在正常程序中的非法代码或程序,运行 后,用户计算机的某个端口就被开放,黑客再 通过该端口进入计算机。
完整的木马程序一般由服务器程序和控制器程序两 部分组成。“中了木马”是指被安装了木马的服务器程序 (如被远程安装了按键记录器)。若本机被安装了服务 器程序,则拥有控制器程序的人就可以通过网络控制本 机上的各种文件、程序、帐号密码等。 手段: 把修改后的程序放到受害计算机上,或伪装成一 个似乎有用的公共程序,引诱用户来下载、执行。 用假登录程序窃取用户帐号和密码。
一次性口令:三种形式 挑战响应:系统和用户共享一个秘密(可以是 用户帐号、PIN、口令),和一个种子(如随机数 ,当前时间)一起用作单向函数F(秘密,种子)的输 入,函数结果作为密码交由系统验证。 系统和用户共享一个整数函数,登录时系统选 择一随机整数,用户计算并输入结果。需要用户 记忆该函数并正确计算。 验证码:现在Internet中有一定安全要求的网站 上常用。如由系统给出一4位随机数,作为口令。
计算数字签名块
接收者得到的数据
14
(b)
二、加密: 消息被加密后,只有那些拥有解 密密钥的接收者才能读取消息。
加密密钥 解密密钥
明文输入 加密
密文
明文输出 解密 原文:key is one two three 密文:ITSHNEEW YOEEKTOR 15
一种很简单的对称加密算法:易位法
M 7 k t E 4 e w G A B U C 5 1 2 8 3 y i s o n o t h r e K 6 e e
5
10.2.1 操作系统安全的基本概念(2)
可信软件与不可信软件: 可信软件:软件本身正确,能安全运行 良性软件:软件可能有错误,但不会有意地破坏系统 安全 恶意软件:软件来源或意图不明
10.2.2 操作系统的安全机制
物理隔离:机密机器不与网络连接 时间隔离:不同安全级别的进程在不同时间段中运行 逻辑隔离:对主体和客体规定不同的安全级别,不允许 主体存取其允许范围外的客体 密码隔离:以其它进程不可知的方式隐藏数据及计算
数据可访问及随意修改。 存储数据密度高,存储介质易损坏。 电磁波易泄漏和被干扰。 通信网络易被攻击、破坏、泄密。
2
10.1.2 计算机系统面临的威胁 入侵者:消极入侵者和恶意的积极入侵者
非技术人员的偶然窥视或浏览 内行入侵者的窥视 明确的偷窃企图 商业或军事间谍活动
设计安全对策时要考虑是哪一类入侵者 恶意程序:
§10.7 隐蔽信道
实际上,即使采用非常严格的安全措施,也无法阻 止信息通过各种隐蔽信道(Covert Channels)泄漏。
如:右图包含5个莎士比亚戏剧的内容。 把压缩内容的bit插到RGB颜色数值的低位。
Zebras Hamlet, Macbeth, Julius Caesar •1024×768像素,24bit彩色 Merchant of Venice, King Lear
27
第十章
操作系统安全
计算机系统安全性 操作系统安全 硬件安全机制 软件安全机制 信息安全与保密 恶意程序防御机制 隐蔽信道
1
§10.1 计算机系统安全性
安全问题的两种类型
恶意性安全:未经许可,对敏感数据的读取、破坏 或使系统服务失效。 意外性安全:由于软件或硬件故障以及自然灾害造 成的安全问题。
10.1.1 计算机系统的脆弱
主程序运行时
正常调用程序A之后
灰色为溢出的缓冲 23
七、拒绝服务式攻击:DoS Denial of Service 方式1:当用户点击网页时,一个Java Applet 被下载到本地机,并用尽本地CPU资源。 方式2:攻击者向目标网站发出大量连接请求 “开始TCP连接”,但不发送“连接结束”请求,阻 塞网站入口,使合法连接无法进入网站。 很难断定是正常使用突然增多还是由于攻击 导致系统减速。
21
五、后门(天窗): 系统设计者、程序员在软件中留一个漏洞。 手段:程序代码中隐藏漏洞,编译器在正确目 标代码中产生漏洞,不公开的OS系统调用。
正常代码
插入了后门的代码
22
六、栈和缓冲区溢出
输入过多数据使一个输入缓冲溢出,直到写入栈; 用攻击代码的地址覆盖栈内正确的返回地址; 在栈内写入攻击代码Baidu Nhomakorabea返回时将被执行。 防范:禁止返回地址和将执行代码同在栈中。
③
蠕虫本体探测用户密码。每个破解出来的密码都使 蠕虫能够在该用户拥有帐号的远程主机上登录。
19
三、逻辑炸弹: 在应用程序中设置各种条件。当程序运行时检 查条件,满足时触发。 触发方式:时间触发(当今天是某个日期时) ,复制触发(当病毒副本数量达到某个设定值时 ),计数器触发,报复式等。
台湾一号宏病毒
24
反病毒Antivirus Vs. 反反病毒Anti-Antivirus 反病毒软件包中包含多种已知病毒的特征指令模 式(签名),在所有软件中搜索并删除这些特征指令。 反病毒软件(常驻内存)通过程序行为检测病毒。 病毒变异:多形态病毒。 反病毒软件用家族模式匹配方法来确认病毒。
X=A+B+C-4
o 64位输出转化为11个字符的序列(口令密文),与
salt的明文副本一起被存在口令文件中。
o /etc/security/passwd 包含加密口令。(AIX中)
sww: password = zK.fqD5UcMR2c 口令密文和salt lastupdate = 1030664407 上次改口令距 11 1970.1.1零时的秒数
例:饭店的厨房、餐桌、服务员等是提供餐饮的机 制,而由厨师长确定的菜单是策略。
例1:进程调度中的进程数组是机制,调度时按照优 先级选择下一个要运行的进程。但如何确定优先级是 策略(如不同的用户类别,已运行时间,等待时间 等)。 例2:分页管理的页表和页面是机制,但缺页时做什 么是策略(如LRU、FIFO、全局、局部置换等)。
10.2.3 操作系统安全设计原则
1、系统设计必须公开。 2、不可访问应该是缺省属性。 3、时刻检查文件的当前权限。 4、给每个进程赋予一个最小的可能权限。 5、保护机制应简单一致,并嵌入到系统的底层。 6、采取的保护方案必须可以接受。
•指导原则:简单(KISS,Keep it Simple, Stupid)。
§10.6 恶意程序防御机制
恶意程序: 独立运行类:自包含,可独立运行。 宿主寄生类:需要宿主程序才能运行、传播。
隐蔽、传染、潜伏、破坏
16
蠕虫 独立 运行类 恶 意 软 件 宿主 寄生类 细菌 僵尸
通过网络连接在系统间传播 不显式破坏文件,其目的 是复制自身。呈指数级地 再生,用尽系统资源。 被种植到可信第三方的数百 台计算机上,并向目标Web 站点发起拒绝服务式攻击。 一个秘密进入程序的入口 嵌入到合法程序中的代码 ,满足某项条件时爆炸。 嵌入到合法程序中的 例程,程序执行时会 触发例程的执行。 修改并感染(复制病毒的 17 拷贝并运行)其它程序。
防止信息泄漏。加密
隐私:
保证私人信息不被滥用、公开
4
§10.2 操作系统安全
10.2.1 操作系统安全的基本概念(1)
主体与客体:主体是系统的使用者,如用户、管理员等。 客体是系统中的被保护者,如文件、设备等。 策略与机制:将机制放入操作系统而将策略留给用户, 即使需要改变策略,OS本身也可以保持不变。
不是当没有东西可以再添加,而是当没有东西可以再 裁减时,才能达到尽善尽美。
代码越多,安全漏洞和bug就越多。
万事应该尽可能简单,但不能过于简单。(爱因斯坦)
7
§10.3 硬件安全机制
10.3.1 存储保护
内存块保护码:内存块和所属进程有相同的保护键 基址和界限寄存器
10.3.2 CPU安全技术
Intel Pentium的4级保护环,以执行不同的指令集合 CPU NX技术:缓冲区溢出保护。CPU对内存中没有明 确包含可执行代码的数据区标记为NX(No eXecute不可 执行)。如果某程序试图执行该区域将被自动关闭。 CPU加密技术:在CPU中内嵌一种保密装置(硬件),使 用户可以储存、开启、封锁CPU内部经过加密的信息。
12
§10.5 信息安全与加密
在网络中,从发送者到接收者的数据可以被:
切断
截取
篡改
伪造
所以,数据包的发送者和接收者不可信任。 密码术可以限制一条消息的潜在发送者和接收者。
13
一、验证: 发送者根据消息和函数S(k)产生验证数据,并随 消息发送;接收者根据函数V(k)验证消息的真伪。 数字签名:V(k)是单向函数,可公开。S(k)需保 密。
病毒,蠕虫,木马,炸弹,后门等
数据意外丢失:
由于灾难、硬件或软件故障、人的失误造成数据 丢失。备份,且放在离数据源远的地点。
3
10.1.3 计算机系统安全目标 安全:
硬件设备、存储介质、通信介质的安全 软件程序不被篡改、非法复制、失效 数据不被非法使用、更改
完整:
软件程序和数据不被非法删改或破坏
保密:
后门 逻辑炸弹 特洛伊木马 病毒
一、病毒: 内嵌到合法程序中的一段代码。 通过程序下载、交换磁盘或光盘、email、 office文档中的宏macro等传播。
一个正常 可执行程序
病毒嵌入 程序头部
病毒嵌入 程序尾部
病毒散布 于程序中
18
二、蠕虫:(Morris,1988)
蠕虫包含:挂钩程序和蠕虫本体。 蠕虫调用finger,并把一个 通过rsh运行一个远程shell,在其 536B串作为参数传给它, 中挂钩将上载蠕虫并感染新机器 导致缓冲溢出,然后执行 536B中的子程序(sh) 用sendmail ① 向远程主机发 送一份挂钩并 ② 执行它
多形态病毒的例子(它们做的事情是一样的) 25
病毒的预防: 使用安全的OS 安装防病毒软件 少下载软件,安装正版软件 预防Word宏病毒:使用RTF文件格式 不要点击陌生电子邮件的附件 经常备份 从病毒攻击中恢复: 从干净磁盘启动(以防引导扇区病毒),运 行杀毒软件,甚至重新低级格式化硬盘,重装 系统和软件…… 26
10
对口令加密:
对口令明文进行加密,由密文不能逆计算出明文。只允许 特殊用户(如root)访问口令密文文件。 UNIX口令方案:
o 加密例程crypt基于DES算法。 o 用户的8字符口令明文和2字符的“salt”值(与将口令
分派给用户的时间有关)作为加密算法的输入,算法的 输出作为下一次加密的输入,迭代25次。
8
§10.4 软件安全机制
10.4.1 身份识别: 每个访问者身份(帐号)惟一。 访问者声称自己身份后,进行: 口令验证 钥匙、磁卡验证 生物识别:指纹、虹膜、人脸、语音、 签名(包括行笔顺序)、手指长度等验证。
9
口令(密码):一个口令与一个用户或文件关联。 口令password脆弱的一面: 猜测口令:根据用户个人信息或穷举 泄漏口令:登录时被偷窥或被假login欺骗、 网络中传输数据流被监听、口令写在纸上…… 一个合法用户ID和口令被多个用户共享(冒用) 改善:增加口令字符种类、避免使用常规单词 和个人信息、强制口令最短长度、有效期、口令间 相似程度,每次会话都更换口令……
20
四、特洛伊木马: 包含在正常程序中的非法代码或程序,运行 后,用户计算机的某个端口就被开放,黑客再 通过该端口进入计算机。
完整的木马程序一般由服务器程序和控制器程序两 部分组成。“中了木马”是指被安装了木马的服务器程序 (如被远程安装了按键记录器)。若本机被安装了服务 器程序,则拥有控制器程序的人就可以通过网络控制本 机上的各种文件、程序、帐号密码等。 手段: 把修改后的程序放到受害计算机上,或伪装成一 个似乎有用的公共程序,引诱用户来下载、执行。 用假登录程序窃取用户帐号和密码。
一次性口令:三种形式 挑战响应:系统和用户共享一个秘密(可以是 用户帐号、PIN、口令),和一个种子(如随机数 ,当前时间)一起用作单向函数F(秘密,种子)的输 入,函数结果作为密码交由系统验证。 系统和用户共享一个整数函数,登录时系统选 择一随机整数,用户计算并输入结果。需要用户 记忆该函数并正确计算。 验证码:现在Internet中有一定安全要求的网站 上常用。如由系统给出一4位随机数,作为口令。
计算数字签名块
接收者得到的数据
14
(b)
二、加密: 消息被加密后,只有那些拥有解 密密钥的接收者才能读取消息。
加密密钥 解密密钥
明文输入 加密
密文
明文输出 解密 原文:key is one two three 密文:ITSHNEEW YOEEKTOR 15
一种很简单的对称加密算法:易位法
M 7 k t E 4 e w G A B U C 5 1 2 8 3 y i s o n o t h r e K 6 e e
5
10.2.1 操作系统安全的基本概念(2)
可信软件与不可信软件: 可信软件:软件本身正确,能安全运行 良性软件:软件可能有错误,但不会有意地破坏系统 安全 恶意软件:软件来源或意图不明
10.2.2 操作系统的安全机制
物理隔离:机密机器不与网络连接 时间隔离:不同安全级别的进程在不同时间段中运行 逻辑隔离:对主体和客体规定不同的安全级别,不允许 主体存取其允许范围外的客体 密码隔离:以其它进程不可知的方式隐藏数据及计算
数据可访问及随意修改。 存储数据密度高,存储介质易损坏。 电磁波易泄漏和被干扰。 通信网络易被攻击、破坏、泄密。
2
10.1.2 计算机系统面临的威胁 入侵者:消极入侵者和恶意的积极入侵者
非技术人员的偶然窥视或浏览 内行入侵者的窥视 明确的偷窃企图 商业或军事间谍活动
设计安全对策时要考虑是哪一类入侵者 恶意程序:
§10.7 隐蔽信道
实际上,即使采用非常严格的安全措施,也无法阻 止信息通过各种隐蔽信道(Covert Channels)泄漏。
如:右图包含5个莎士比亚戏剧的内容。 把压缩内容的bit插到RGB颜色数值的低位。
Zebras Hamlet, Macbeth, Julius Caesar •1024×768像素,24bit彩色 Merchant of Venice, King Lear
27
第十章
操作系统安全
计算机系统安全性 操作系统安全 硬件安全机制 软件安全机制 信息安全与保密 恶意程序防御机制 隐蔽信道
1
§10.1 计算机系统安全性
安全问题的两种类型
恶意性安全:未经许可,对敏感数据的读取、破坏 或使系统服务失效。 意外性安全:由于软件或硬件故障以及自然灾害造 成的安全问题。
10.1.1 计算机系统的脆弱
主程序运行时
正常调用程序A之后
灰色为溢出的缓冲 23
七、拒绝服务式攻击:DoS Denial of Service 方式1:当用户点击网页时,一个Java Applet 被下载到本地机,并用尽本地CPU资源。 方式2:攻击者向目标网站发出大量连接请求 “开始TCP连接”,但不发送“连接结束”请求,阻 塞网站入口,使合法连接无法进入网站。 很难断定是正常使用突然增多还是由于攻击 导致系统减速。
21
五、后门(天窗): 系统设计者、程序员在软件中留一个漏洞。 手段:程序代码中隐藏漏洞,编译器在正确目 标代码中产生漏洞,不公开的OS系统调用。
正常代码
插入了后门的代码
22
六、栈和缓冲区溢出
输入过多数据使一个输入缓冲溢出,直到写入栈; 用攻击代码的地址覆盖栈内正确的返回地址; 在栈内写入攻击代码Baidu Nhomakorabea返回时将被执行。 防范:禁止返回地址和将执行代码同在栈中。
③
蠕虫本体探测用户密码。每个破解出来的密码都使 蠕虫能够在该用户拥有帐号的远程主机上登录。
19
三、逻辑炸弹: 在应用程序中设置各种条件。当程序运行时检 查条件,满足时触发。 触发方式:时间触发(当今天是某个日期时) ,复制触发(当病毒副本数量达到某个设定值时 ),计数器触发,报复式等。
台湾一号宏病毒
24
反病毒Antivirus Vs. 反反病毒Anti-Antivirus 反病毒软件包中包含多种已知病毒的特征指令模 式(签名),在所有软件中搜索并删除这些特征指令。 反病毒软件(常驻内存)通过程序行为检测病毒。 病毒变异:多形态病毒。 反病毒软件用家族模式匹配方法来确认病毒。
X=A+B+C-4
o 64位输出转化为11个字符的序列(口令密文),与
salt的明文副本一起被存在口令文件中。
o /etc/security/passwd 包含加密口令。(AIX中)
sww: password = zK.fqD5UcMR2c 口令密文和salt lastupdate = 1030664407 上次改口令距 11 1970.1.1零时的秒数
例:饭店的厨房、餐桌、服务员等是提供餐饮的机 制,而由厨师长确定的菜单是策略。
例1:进程调度中的进程数组是机制,调度时按照优 先级选择下一个要运行的进程。但如何确定优先级是 策略(如不同的用户类别,已运行时间,等待时间 等)。 例2:分页管理的页表和页面是机制,但缺页时做什 么是策略(如LRU、FIFO、全局、局部置换等)。