操作系统安全问题、安全概念及安全机制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
访问控制机制类型 授权颗粒度
访问控制机制问题
功能模块漏洞
?
缓冲区溢出漏洞
后门问题
北京交通大学计算机学院 翟高寿 2
2018年12月1日星期六
缓冲区溢出-概念
指当计算机向缓冲区内填充数据位数时超 过了缓冲区本身的容量,溢出的数据覆盖 在合法数据上。理想情况是程序检查数据 长度且不允许输入超过缓冲区长度的字符, 但是绝大多数程序都会假设数据长度总是 与所分配的储存空间相匹配,这就为缓冲 区溢出埋下隐患。操作系统使用“堆栈”来 保存现场和实现进程或函数之间的跳转控 制,相关数据或地址会被临时储存在“堆 栈”中,亦存在溢出问题
北京交通大学计算机学院 翟高寿
良性软件
恶意软件
2018年12月1日星期六
20
安全内核、安全周界和客体重用
安全内核
系统中与安全实现相关的部分,包括引用验证机制、 访问控制机制和授权管理机制等。 包围着用于处理敏感信息设施的空间,其处于有效 的物理和技术控制之下,并可防止未授权进入或敏 感信息泄漏
北京交通大学计算机学院 翟高寿 5
2018年12月1日星期六
攻 Leabharlann Baidu 机 理 示 例 二
2018年12月1日星期六 北京交通大学计算机学院 翟高寿
void main()
void test(char p)
void callCmd()
-1
6
攻击机理示例二-2
反汇编程序可执行文件,查找函数callCmd() 的入口地 址 : 00401030
安全周界
客体重用
?
对曾经包含一个或若干客体的存储介质的重新分配 和重用;出于安全考虑,其中应不得包含重新分配 前的残留数据或信息
北京交通大学计算机学院 翟高寿 21
2018年12月1日星期六
主体与客体
主体
系统中能够发起行为的实体 举例说明
客体
?
系统中被动的主体行为承担者 举例说明
规范代码编写
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
17
2 操作系统安全问题、 安全概念及安全机制
2.1 操作系统安全问题 2.2 操作系统安全概念 2.3 UNIX/Linux安全机制 2.4 Windows安全机制 2.5 安全操作系统发展历程
2018年12月1日星期六 北京交通大学计算机学院 翟高寿 18
2.2 操作系统安全概念
2.2.1 软件可信分类 2.2.2 标识、鉴别与可信通路 2.2.3 访问控制机制 2.2.4 最小特权管理机制 2.2.5 安全审计
2018年12月1日星期六 北京交通大学计算机学院 翟高寿 19
软件可信分类
可信软件
软件保证能安全运行,但系统安全仍依赖于对软件 的无错操作——人的因素无法回避 软件并不确保安全运行,但由于使用了特权或对敏 感信息的访问权,因而必须确信它不会有意地违反 安全规则;良性软件的错误被视为偶然性的,且这 类错误不会影响系统的安全 软件来源不明。从安全的角度出发,该软件必须被 视为恶意的,即认为即将对系统进行破坏
北京交通大学计算机学院 翟高寿 3
2018年12月1日星期六
基于堆栈溢出的攻击机理
通过往程序缓冲区写入超出其长度的内 容,造成缓冲区的溢出,从而破坏程序 的堆栈,造成程序崩溃或使程序转而执 行其它指令,以达到攻击的目的。譬如, 入侵者可以利用堆栈溢出,通过改变函 数调用返回地址,从而在函数返回时让 其跳转到特定地址,或者使程序崩溃导 致拒绝服务,或者控制跳转执行恶意代 码,或者盗取提升权限、为所欲为。
基于系统运行安全管理的安全机制划分
主体 存取访问 控制机制
身份认证 (标识与鉴别机制)
客体 本地用户 或远程用户 安全操作系统
2018年12月1日星期六 北京交通大学计算机学院 翟高寿 24
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
7
攻击机理示例二-3
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
8
攻击机理示例二-4
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
9
攻击机理示例二-5
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
10
攻击机理示例二-6
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
11
攻击机理示例二-7
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
12
攻击机理示例二-8
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
13
攻击机理示例二-9A
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
14
主体与客体间关系
?
主体使信息在客体间流动
北京交通大学计算机学院 翟高寿
?
22
2018年12月1日星期六
2.2 操作系统安全概念
2.2.1 软件可信分类 2.2.2 标识、鉴别与可信通路 2.2.3 访问控制机制 2.2.4 最小特权管理机制 2.2.5 安全审计
2018年12月1日星期六 北京交通大学计算机学院 翟高寿 23
北京交通大学计算机学院 翟高寿 4
2018年12月1日星期六
攻击机理示例一
问题代码
void function(char *str) { char buffer[16]; strcpy(buffer,str); ...... }
溢出结果
分段错误Segmentation fault 攻击根用户程序,执行类似exec(sh)的代码 ……
2 操作系统安全问题、 安全概念及安全机制
2.1 操作系统安全问题 2.2 操作系统安全概念 2.3 UNIX/Linux安全机制 2.4 Windows安全机制 2.5 安全操作系统发展历程
2018年12月1日星期六 北京交通大学计算机学院 翟高寿 1
操作系统安全问题
安全配置管理问题
口令、特权用户、远程访问
攻击机理示例二-9B
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
15
攻击机理示例二-10
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
16
缓冲区溢出防范措施
限定堆栈数据段不可执行
特例:Linux信号传递&GCC在线重用功能 针对存在安全漏洞的库函数(如strcpy、 sprintf、strcat、gets、vsprintf、scanf)进行 安全改写(插入参数检查等) 安全程序设计语言与编译器
访问控制机制问题
功能模块漏洞
?
缓冲区溢出漏洞
后门问题
北京交通大学计算机学院 翟高寿 2
2018年12月1日星期六
缓冲区溢出-概念
指当计算机向缓冲区内填充数据位数时超 过了缓冲区本身的容量,溢出的数据覆盖 在合法数据上。理想情况是程序检查数据 长度且不允许输入超过缓冲区长度的字符, 但是绝大多数程序都会假设数据长度总是 与所分配的储存空间相匹配,这就为缓冲 区溢出埋下隐患。操作系统使用“堆栈”来 保存现场和实现进程或函数之间的跳转控 制,相关数据或地址会被临时储存在“堆 栈”中,亦存在溢出问题
北京交通大学计算机学院 翟高寿
良性软件
恶意软件
2018年12月1日星期六
20
安全内核、安全周界和客体重用
安全内核
系统中与安全实现相关的部分,包括引用验证机制、 访问控制机制和授权管理机制等。 包围着用于处理敏感信息设施的空间,其处于有效 的物理和技术控制之下,并可防止未授权进入或敏 感信息泄漏
北京交通大学计算机学院 翟高寿 5
2018年12月1日星期六
攻 Leabharlann Baidu 机 理 示 例 二
2018年12月1日星期六 北京交通大学计算机学院 翟高寿
void main()
void test(char p)
void callCmd()
-1
6
攻击机理示例二-2
反汇编程序可执行文件,查找函数callCmd() 的入口地 址 : 00401030
安全周界
客体重用
?
对曾经包含一个或若干客体的存储介质的重新分配 和重用;出于安全考虑,其中应不得包含重新分配 前的残留数据或信息
北京交通大学计算机学院 翟高寿 21
2018年12月1日星期六
主体与客体
主体
系统中能够发起行为的实体 举例说明
客体
?
系统中被动的主体行为承担者 举例说明
规范代码编写
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
17
2 操作系统安全问题、 安全概念及安全机制
2.1 操作系统安全问题 2.2 操作系统安全概念 2.3 UNIX/Linux安全机制 2.4 Windows安全机制 2.5 安全操作系统发展历程
2018年12月1日星期六 北京交通大学计算机学院 翟高寿 18
2.2 操作系统安全概念
2.2.1 软件可信分类 2.2.2 标识、鉴别与可信通路 2.2.3 访问控制机制 2.2.4 最小特权管理机制 2.2.5 安全审计
2018年12月1日星期六 北京交通大学计算机学院 翟高寿 19
软件可信分类
可信软件
软件保证能安全运行,但系统安全仍依赖于对软件 的无错操作——人的因素无法回避 软件并不确保安全运行,但由于使用了特权或对敏 感信息的访问权,因而必须确信它不会有意地违反 安全规则;良性软件的错误被视为偶然性的,且这 类错误不会影响系统的安全 软件来源不明。从安全的角度出发,该软件必须被 视为恶意的,即认为即将对系统进行破坏
北京交通大学计算机学院 翟高寿 3
2018年12月1日星期六
基于堆栈溢出的攻击机理
通过往程序缓冲区写入超出其长度的内 容,造成缓冲区的溢出,从而破坏程序 的堆栈,造成程序崩溃或使程序转而执 行其它指令,以达到攻击的目的。譬如, 入侵者可以利用堆栈溢出,通过改变函 数调用返回地址,从而在函数返回时让 其跳转到特定地址,或者使程序崩溃导 致拒绝服务,或者控制跳转执行恶意代 码,或者盗取提升权限、为所欲为。
基于系统运行安全管理的安全机制划分
主体 存取访问 控制机制
身份认证 (标识与鉴别机制)
客体 本地用户 或远程用户 安全操作系统
2018年12月1日星期六 北京交通大学计算机学院 翟高寿 24
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
7
攻击机理示例二-3
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
8
攻击机理示例二-4
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
9
攻击机理示例二-5
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
10
攻击机理示例二-6
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
11
攻击机理示例二-7
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
12
攻击机理示例二-8
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
13
攻击机理示例二-9A
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
14
主体与客体间关系
?
主体使信息在客体间流动
北京交通大学计算机学院 翟高寿
?
22
2018年12月1日星期六
2.2 操作系统安全概念
2.2.1 软件可信分类 2.2.2 标识、鉴别与可信通路 2.2.3 访问控制机制 2.2.4 最小特权管理机制 2.2.5 安全审计
2018年12月1日星期六 北京交通大学计算机学院 翟高寿 23
北京交通大学计算机学院 翟高寿 4
2018年12月1日星期六
攻击机理示例一
问题代码
void function(char *str) { char buffer[16]; strcpy(buffer,str); ...... }
溢出结果
分段错误Segmentation fault 攻击根用户程序,执行类似exec(sh)的代码 ……
2 操作系统安全问题、 安全概念及安全机制
2.1 操作系统安全问题 2.2 操作系统安全概念 2.3 UNIX/Linux安全机制 2.4 Windows安全机制 2.5 安全操作系统发展历程
2018年12月1日星期六 北京交通大学计算机学院 翟高寿 1
操作系统安全问题
安全配置管理问题
口令、特权用户、远程访问
攻击机理示例二-9B
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
15
攻击机理示例二-10
2018年12月1日星期六
北京交通大学计算机学院 翟高寿
16
缓冲区溢出防范措施
限定堆栈数据段不可执行
特例:Linux信号传递&GCC在线重用功能 针对存在安全漏洞的库函数(如strcpy、 sprintf、strcat、gets、vsprintf、scanf)进行 安全改写(插入参数检查等) 安全程序设计语言与编译器