收藏 分享(赏)

第七章 安全操作系统的设计与实现.ppt

上传人:达达文库 文档编号:5781294 上传时间:2019-03-17 格式:PPT 页数:150 大小:4.43MB
下载 相关 举报
第七章 安全操作系统的设计与实现.ppt_第1页
第1页 / 共150页
第七章 安全操作系统的设计与实现.ppt_第2页
第2页 / 共150页
第七章 安全操作系统的设计与实现.ppt_第3页
第3页 / 共150页
第七章 安全操作系统的设计与实现.ppt_第4页
第4页 / 共150页
第七章 安全操作系统的设计与实现.ppt_第5页
第5页 / 共150页
点击查看更多>>
资源描述

1、安全操作系统,中国科学技术大学计算机系 陈香兰(051287161312) 助教:裴建国 Autumn 2008,第七章 安全操作系统的设计与实现,对OS进行攻击, 是黑客永恒不变的目标,突破了OS的防御, 就有机会得到计算系统的秘密, 就有机会控制应用程序的运行。,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统关键技术的实现,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统关键技术的实现,安全操作系统的设计原理,通用操作系统的安全功能 用户认证 存储器保护 文件和I/O设备的访问控制 对普通对象的定位和访问控制

2、共享的实现(保证完整性和一致性) 保证公平的服务 IPC和同步 Saltzer和Schroeder的八条设计原则,存储器保护,用户程序的运行空间 未经批准的用户不能访问!即便是对自己的程序空间,访问也要受限!Linux中的线性区,返回,公平的服务,极端:饿死现象资源: CPU:公平调度 内存:按需分配 IO设备 等等,返回,IPC和同步,信号量 管道和FIFO 消息队列 Socket 共享内存,返回,75,Saltzer和Schroeder,Saltzer, J.H. and M.D. Schroeder, The protection of information in computer s

3、ystems. Proceedings of the IEEE, 1975. 63(9): p. 1278-1308. 以保护机制的体系结构为中心 探讨了计算机系统的信息保护问题 重点考察了权能和访问控制表的实现结构 给出了信息保护机制的8条设计原则并指出,如何证明硬件和软件保护机制的设计与实现的正确性,是一个挑战,信息保护机制的八条设计原则 机制经济性原则:要简单而且短小 Fail-safe默认原则:即失败是保险的。 显式授权 VS 隐式授权 完全仲裁原则 开放式设计原则:不要基于设计的保密性 特权分离原则 最小特权原则 最少公共机制原则 心理可接受性原则:易用性,操作系统安全的可信性,操作

4、系统安全的可信性,依赖 安全功能在系统中实现的完整性 文档系统的清晰说明 系统测试 形式化程度,操作系统 一个大型软件:内核系统软件应用程序验证困难解决思路: 提供安全保证的部分: 尽可能小 便于验证(测试),硬 件,OS kernel,System Software,Application,安全操作系统的一般结构,高安全级别OS的结构 VS. 低安全级别OS的结构 分离的安全内核? 前者:KSOS,UCLA Secure Linux 后者:LINVS IV,Secure XENIX,TMACH和Secure TUNIS,安全操作系统的一般结构,内容提要,安全操作系统的设计原理 安全操作系统的

5、设计 隔离 安全内核 分层设计 环结构 安全操作系统的开发 安全操作系统关键技术的实现,操作系统设计的基本原则,通用OS 灵活性 性能 开发费用 方便性,安全内核 隔离性 完整性 可验证性,安全操作系统设计的考虑因素 隔离性:主要是不同进程间的隔离,是操作系统最基本的安全功能 安全内核的设计: 分层设计 环结构设计,内容提要,安全操作系统的设计原理 安全操作系统的设计 隔离 安全内核 分层设计 环结构 安全操作系统的开发 安全操作系统关键技术的实现,隔离,有四种方法将一个进程与其他过程分离 物理分离:各进程使用不同的硬件设施 时间分离:各进程使用不同的时间段(宏观) 密码分离: 逻辑分离:安全

6、操作系统应该将每个用户与所有其他用户分离开,仔细地只允许受控制的用户间的交互,操作系统中隔离机制的实现方法,隔离机制的实现方法: 多个虚拟存储空间 虚拟机,多个虚拟存储空间,操作系统空间,用户1空间,用户2空间,用户n空间,操作系统空间,地址0,高端,存储器,对比:早期,多用户OS的存储器,单地址空间,内存的实际组织,多个虚拟存储空间(举例:IBM MVS),操作系统空间,MAIN,SUB1,DATA1,SUB2,DATA2,自由空间,操作系统空间,用户1的程序和数据,地址0,高端,存储器,用户1感觉到的内存,操作系统空间,MAIN,PROC_A,DYNAMIC_DAT,PROC_B,自由空间

7、,操作系统空间,用户2的程序和数据,地址0,高端,存储器,用户2感觉到的内存,操作系统空间,用户2的程序 数据片段,操作系统空间,地址0,高端,存储器,用户1的程序 数据片段,用户3的程序 数据片段,用户2的程序 数据片段,多个虚拟存储空间(举例:Linux 2.4.18),3GB,低端,高端,内核,内核,内核,内核,用户态,内核态,中断/异常/系统调用,虚拟存储器虚拟机,对比:传统的操作系统,终端,终端,终端,虚拟机(举例:IBM VM),虚拟机系统,虚拟机: 安全?,虚拟机(举例:VMWare),内容提要,安全操作系统的设计原理 安全操作系统的设计 隔离 安全内核 分层设计 环结构 安全操

8、作系统的开发 安全操作系统关键技术的实现,安全内核,操作系统中“核”的概念 “核”是操作系统的一部分,用于完成低级功能 常规操作系统中,核的功能包括: 同步、进程间通信、中断处理等 安全内核负责实现整个操作系统的安全机制 一般,安全内核被包含在操作系统内核内为什么要将安全功能隔离在安全内核中?,为什么要隔离出一个安全内核,优点 分隔 统一 可修改性 紧凑性 可验证性 覆盖面安全内核:有什么缺点?,主要是性能问题,内容提要,安全操作系统的设计原理 安全操作系统的设计 隔离 安全内核 分层设计 环结构 安全操作系统的开发 安全操作系统关键技术的实现,分层设计,分层操作系统,层 层间接口,在不同层上

9、操作的模块,内容提要,安全操作系统的设计原理 安全操作系统的设计 隔离 安全内核 分层设计 环结构 安全操作系统的开发 安全操作系统关键技术的实现,环结构 ring structure,MULTICS参考ppt: http:/www.cs.wfu.edu/fulp/CSC790/access2.pdf http:/www.cse.psu.edu/tjaeger/cse497b-s07/slides/cse497b-lecture-24-macsystems.pdf,分层设计的进一步发展,Multics中的段,两类:数据和程序 段相关的权限 读、写、执行和添加 保护环ring 编号063:环编号

10、越大,特权越低 内核:0环与一个段相关联,而不是整个进程,称 “一个程序在环r中执行” 环跨越和环跨越fault 关于门gate,a1,a2,r1,r2,r3,a1,a2 c1,c2,(1),(2),(3),(4),2,4,2,4,6,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统开发方法 安全操作系统开发过程 安全操作系统的开发 安全操作系统关键技术的实现,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统开发方法 安全操作系统开发过程 安全操作系统的开发 安全操作系统关键技术的实现,开发思路,1)设计时就考虑建立一

11、个完整的安全OS 包括硬件和软件 如MULTICS 2)先设计一个通用OS,然后加入安全机制 如HP CMW,基于HP UX,达到B1 如数据通用公司的DG UX/B1和DG UX/B2,基于DX UX后者,安全级别不会超过B2 B3及以上的SOS必须“从头做起”,基于通用操作系统之上开发安全操作系统,一般有三种方法:,虚拟机法,在GOS与硬件之间增加一个新的分层:安全内核 安全内核提供的接口几乎与原有硬件等价 GOS本省并未意识到已被安全内核控制例如KVM 其硬件(IBM 370)支持虚拟机 其原有OS(VM/370)支持虚拟机缺点: 由于对虚拟机的依赖,局限性太大,改进/增强法,在GOS中

12、,对内核和应用程序进行面向安全策略的分析,加入安全机制,进行改造开发 保持原有GOS的用户接口优点: 代价小;用户接口不变;效率变化不大 缺点: 受GOS的限制 难达B3,仿真法,对GOS的内核进行修改,但不受限于GOS 在得到的安全内核之上提供一个仿真程序缺点: 工作量大 围绕安全策略,仿真困难,改进/增强法举例,基于某版本通用UNIX操作系统进行安全性开发的例子,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统开发方法 安全操作系统开发过程 安全操作系统的开发 安全操作系统关键技术的实现,安全操作系统开发过程,安全操作系统的系统开发过程,形式化方法,是

13、非形式化方法的一个补充,形式化方法,要达到完全,是很困难的,半形式化方法,一致性?,操作系统安全性开发过程,用非形式化论据论证系统实现、形式化描述和模型三者是一致的,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统开发方法 安全操作系统开发过程 安全操作系统的开发 安全操作系统关键技术的实现,安全操作系统的开发,从两个方面进行 安全功能 安全保证十项安全功能 标识与鉴别 自主访问控制 标记 强制访问控制 客体重用 审计 数据完整性 可信路径 隐通道分析 可信恢复,三个方面的安全保证 TCB自身安全保护 TSF保护 资源利用 TCB访问 TCB设计和实现 配

14、置管理、分发和操作、开发指导性文档、生命周期支持、测试、脆弱性评定 TCB安全管理,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统关键技术的实现 自主访问控制的实现 强制访问控制的实现 最小特权的实现 安全审计的实现 隐蔽信道分析,自主访问控制的实现,访问控制表ACL 权能表CL,在20世纪70年代,有很多权能系统的研究,但都不是很成功。 现代操作系统基本上都采用ACL方法,访问控制矩阵示例,访问控制表,权能表,访问控制示例,实现举例(Linux),每 个 文 件 都 有 一 个 ACL,?,ACL列表的定义,in-memory,三元组,filesyst

15、em representation,ACL的表项类型,user:user_id:permissions,user:permissions,ACL的分类,访问ACL 文件 目录 缺省ACL only目录,并可选 用来决定此目录下新产生客体的ACL列表 若无,则利用系统的umask值来决定,系统设置新客体NObj的ACL的方法,得到所在目录的default ACL,若新的是目录,则,设置文件的,相掩(见后),ACL的保存,基本ACL(最小化ACL) Inode节点中 扩展ACL 部分在Inode节点中 部分在用户文件数据区中,ACL_USER_OBJ,ACL_GROUP_OBJ,ACL_OTHER

16、_OBJ,ACL_USER_OBJ,ACL_MASK_OBJ,ACL_OTHER_OBJ,ACL_USER,ACL_GROUP_OBJ,ACL_GROUP,可以指定零个或多个ACL_USER项,可以指定零个或多个ACL_GROUP项,2.6.26中,ACL操作命令,getfacl - 取得文件的ACL信息 setfacl - 设置文件的ACL信息,# getfacl passwd # file: passwd # owner: cvsadmin # group: cvsadmin user:rw- group:r- other:r-,# setfacl -m u:allen:rw- passw

17、d,# getfacl passwd # file: passwd # owner: cvsadmin # group: cvsadmin user:rw- user:allen:rw- group:r- mask:rw- other:r-,基于ACL的自主访问控制机制,DAC检查算法ACL项的检查顺序 ACL_USER_OBJ:属主? ACL_USER: ACL_GROUP_OBJ(ACL_GROUP):某组? ACL_OTHER_OBJ当进程属于多个组?(或),以ext2为例,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统关键技术的实现 自主访问控制

18、的实现 强制访问控制的实现 最小特权的实现 安全审计的实现 隐蔽信道分析,强制访问控制的实现(例BLP的实现),BLP模型简介 基于BLP的多级安全访问控制机制的实现,BLP模型简介,1973开始,D.E. Bell和L.J. LaPadula BLP模型 对应于军事类型安全密级分类的计算机OS模型最早:第一个可证明的安全系统的数学模型 最常用 影响巨大:TCSEC,要解决的本质问题: 对具有密级划分的信息的访问进行控制 方法:采用线性排列安全许可的分类形式来保证信息的保密性 每个主体都有一个安全许可,安全许可的等级越高,可以访问的信息就越敏感,越需要保密 每个客体都有一个安全密级,安全密级越

19、高,客体信息越敏感,保密性越高 BLP模型的目的 控制主体对客体只能进行安全规则以内的访问,举例:一个基本的安全等级分类系统,为保证系统安全,要防止主体读取安全密级比它的安全许可更高的客体,密级,基本保密性分类系统,按安全许可分组的访问主体,按密级分组的客体,参考文献,D.E. Bell and L.J. LaPadula, Secure computer systems: mathematical foundations, ESD-TR-73-278, vol. 1, ESD/AFSC, Hansom AFB, Bedford, Mass., Nov. 1973. D.E. Bell and

20、 L.J. LaPadula, Secure computer systems: a mathematical model, ESD-TR-73-278, vol. 2, ESD/AFSC, Hansom AFB, Bedford, Mass., Nov. 1973. D. Elliott Bell, “Secure Computer Systems: A Refinement of the Mathematical Model,” MTR2547, Vol. III, The MITRE Corporation, Bedford, MA, December 1973. (ESDTR73278

21、III), p. 25.,BLP模型的定义,(1)主体 (2)客体 (3)访问方式,四种: 只读r,只写a,可读写w,不可读写(可执行)e (4)当前访问 三元组(主体、客体、访问方式) (5)状态 四元组(b, M, f, H) b是当前访问的集合,是当前状态下允许的访问 M是访问控制矩阵 f是安全级别函数,用于确定任意主体和客体的安全级别 H是客体间的层次关系,(6)系统包含 (a)一个初始状态Z0 (b)一个三元组(请求,判定,状态)组成的序列 其中,三元组序列中相邻状态之间满足某种关系W。主体的安全级别包括最大安全级别和当前安全级别BLP模型满足: 若一个系统的初始状态是安全的,且三元

22、组序列中的所有状态都是安全的,则该系统就是一个安全的系统,BLP模型的核心内容,2个强制访问控制特性: 简单安全特性 星号安全特性 1个自主访问控制特性简单安全特性(ss-特性): 若(主体,客体,可读)是当前访问,那么一定有 level(主体)level(客体) 其中level表示安全级别,星号安全特性(-特性): 在任意状态,如果(主体,客体,方式)是当前访问,那么一定有: (1)若方式是a,则 level(客体) current-level(主体) (2)若方式是w,则 level(客体)=current-level(主体) (3)若方式是r,则 current-level(主体) le

23、vel(客体) 其中current-level表示当前安全级别,下读上写,自主安全特性(ds-特性): 若(主体-i,客体-j,方式-x)是当前访问, 那么方式-x一定在访问控制矩阵M的元素Mij中基本安全定理: 如果系统状态的每次变化都能满足ss-特性、 -特性和ds-特性的要求,那么,在系统的整个状态变化过程中,系统的安全性是不会被破坏的,多级安全(扩展BLP),引入“需知”(need-to-know) MLS 首先,对系统中的主/客体分别赋予与其身份相对称的安全级标签 主体:许可标签 客体:敏感性标签 要保证所有的IO信息系统都能正确的标记 建立多个不同安全级别的分类信息:类别范畴 类别

24、:安全等级 范畴:信息领域,范畴举例,3个范畴:NUC,EUR,US,NUC, EUR, US,NUC, EUR,NUC, US,EUR, US,NUC,EUR,US,关系:,安全标签A和B之间有4种关系 A支配B 安全等级上:A=B 范畴上:A包含B B支配A,反之 A等于B A支配B,并且B支配A 等级上:相等 范畴上:相等 A与B无关,某SOS中的安全标签举例,安全标签的存储,某SOS中结构如下LID,外部表示,应用可见 内部:LIDmac_level,struct mac_level /安全级别,内部表示ulong_t catCAT_SIZE; /范畴,sig所指组中哪些位ushort

25、_t hier; / 等级uchar_t valid; ushort_t catsigCAT_SIZE+1; /涉及哪些组 ,范畴总数(最大):1024 32(组)32(位) 每个bit,一个范畴,LID缓冲区中,LID entry的结构缓冲区大小: sizeof(struct mac_cachent)*CACHL*CACHW,struct mac_cachent lid_t lid;timestruct_t lastref; /最近引用时间,用于LRUulong_t count; /引用次数struct mac_level level; /对应的安全等级 ,安全标签比较算法(比较是否满足支配

26、关系),首先,比较安全等级 若不存在支配关系,则返回不支配 接着,根据范畴的有序性比较两者之间是否存在关系 具体的算法与安全标签的存储结构有关系针对前面示例中的结构: 可以首先按顺序比较catsig数组的包含关系 在catsig项相等的情况下,在比较对应cat项之间的包含关系,基于安全标签的强制访问控制机制,进程A 许可标签 Secret:(ABC),进程A 许可标签 Top secret:(ABC),进程A 许可标签 Confidential:(ABC),进程A 许可标签 Top secret:(DFH),./filex 敏感性标签 Secret:(ABC),写许可,读许可,写拒绝,读拒绝,

27、读拒绝,写许可,读许可,写拒绝,Top secret; Secret; Confidential; Unclassified,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统关键技术的实现 自主访问控制的实现 强制访问控制的实现 最小特权的实现 安全审计的实现 隐蔽信道分析,最小特权的实现,最小特权的思想(ROOT)权限的划分设用于系统管理的权限集为PA,则有 Spi(i1,2,m) 是包含用来实现某一管理功能所需的最小的权限的集合,常见的UNIX系统中的特权划分,Spau:对系统进行审计的特权集 Spssa:对涉及系统安全性管理的特权集 Spso:对系统

28、进行日常管理的特权集 Spnet:涉及网络管理的特权集最小特权的流行实现方法:RBAC,网络管理员,系统操作员,系统审计员,系统安全管理员,例:Linux中基于权能的最小特权机制,对系统管理权限进行分割。2.6.26中的权能的定义 8个POSIX 1003.1e规定的 26个Linux特有的最小特权相关 特在哪里?,观察Linux 2.6.26中的权能,POSIX 1003.1e规定的,Linux特有的,观察2.6.26中权能的定义,http:/www.kernel.org/doc/man-pages/online/pages/man7/capabilities.7.html,观察:常用的权能

29、组合,基于Linux的权能构造最小特权机制,可执行文件的特权集:exec时传递 固定特权集:always 可继承特权集进程的特权集 最大特权集 可继承特权集 有效特权集进程的特权的确定 Fork:父子相同 Exec:进程的特权集 可执行文件的特权集 Capset:当一个进程具有CAP_SETPCAP特权时,可以修改其他进程的权能,一个新进程所继承的特权,既有进程的特权,也有所运行的文件的特权“基于文件的特权机制”,不重,可为空。文件属性的修改,会导致特权丢失,从而导致该文件从TCB中删除。 可以重设。,新进程特权集的计算,2.6.26中task_struct的cap相关域,可以看出2.6.26

30、中每个进程有4个权能位图。 cap_bset:Capability Bounding set,关于cap_bset,When a program is execed, the permitted and effective capabilities are ANDed with the current value of capability bounding set, defined in the file /proc/sys/kernel/cap-bound. It is used to place a system-wide limit on the capabilities grante

31、d to all subsequently executed programs. Only the init process may set bits in the capability bounding set; the superuser may only clear bits in this set. On a standard system the capability bounding set always masks out the CAP_SETPCAP capability. To remove this restriction (dangerous!), modify the

32、 definition of CAP_INIT_EFF_SET in include/linux/capability.h and rebuild the kernel. Since: 2.2.11.,权能位图及2.6.26中的数据结构,位:1具有某种能力;0不具有,2个32位,INIT_TASK中cap相关域的初始化,任务创建与权能,1,2,copy_process中,0,linux_binprm中的cap相关域,观察cap_bprm_apply_creds 中的特权计算,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统关键技术的实现 自主访问控制的实现

33、 强制访问控制的实现 最小特权的实现 安全审计的实现 隐蔽信道分析,安全审计的实现,可审计事件 审计功能的启动与关闭 使用身份鉴别机制 将客体引入用户地址空间(如打开文件、程序初始化) 删除客体 系统管理员、系统安全员、审计员和一般操作员所实施的操作 其他与安全有关的事件或专门定义的可审计事件 时间、用户、事件、情况,基于Linux实现安全审计,系统审计事件的确定 审计缓冲区的设计 进程task结构的扩充 审计点的处理 异常状况的处理 审计系统自身的安全保护,系统审计事件的确定,从主体角度 用户和代表用户的进程 用户活动:用户事件标准 从客体角度 文件,消息,信号量,共享存储区 确定要审计的操

34、作:对象事件标准 确定MAC安全级范围,审计缓冲区的设计,审计点,审计点,审计点,Auditdmp 系统调用,循环缓冲区,内核审计进程,磁盘 文件,Linux中安全审计的实现,配置选项:CONFIG_AUDITtask_struct,audit_init,audit_init的运行,被kernel_init调用:这是一个内核线程,在start_kernel的最后由rest_init创建,audit_log,Audit_log的调用情况,审计点的处理,对系统调用及客体安全级范围的审计 系统调用入口点 系统调用出口点 主体访问客体的权限检查处 对安全相关的系统命令的审计,系统调用,观察2.6.26

35、内核中的系统调用入口和出口 system_call syscall_trace_entry do_syscall_trace,异常状况的处理,审计数据 VS. 审计空间预留空间(如10)低于预留值时 切换到备用文件系统,继续审计 关闭审计系统 关闭整个系统,审计系统自身安全的保护,程序和代码的安全 对用户,屏蔽源码 审计数据的采集记录部分集成到安全内核中 核外的应用程序,严格遵循MAC和最小特权控制 如审计管理员配置程序 审计数据显示分析程序 系统配置和审计数据的安全 配置数据:使用MAC控制,具有系统最高级别,确保只有审计员才能查看和修改 审计文件:安全级别由kauditd创建指定,也应当是

36、系统最高级别,内容提要,安全操作系统的设计原理 安全操作系统的设计 安全操作系统的开发 安全操作系统关键技术的实现 自主访问控制的实现 强制访问控制的实现 最小特权的实现 安全审计的实现 隐蔽信道分析,隐蔽信道分析,隐通道的概念及其表示方法 隐通道分析的阶段性 隐通道分析的层次性 隐信道分析方法参考ppt http:/www.seas.gwu.edu/poorvi/Classes/CS283_2006/CS283_CovertChannels.ppt http:/ W. Lampson, “A Note on the Confinement Problem“, CACM on Operatin

37、g Systems, Vol.16, No.10, October, 1973. pp 613-615 限制通信的两个实体,若共享某种资源,则可以利用隐通道通信 Steven B. Lipner, A comment on the confinement problem, in Proceedings of the fifth ACM symposium on Operating systems principles. 1975, ACM: Austin, Texas, United States. 根据通信双方传递信息所用媒介的不同 隐蔽存储通道 隐蔽时间通道,Covert Channels

38、 Bibliography,C. Tsai, V. D. Gligor, C. S. Chandersekaran. On the Identification of Covert Storage Channels in Secure Systems. IEEE Transactions on Software Engineering, 16(6):569-580, June 1990.,Lampson关于隐通道的定义,Lampson关于隐通道的定义: 按常规不会用于传送信息但却被利用于泄漏信息的信息传送渠道。例如: 一个程序通过对系统负载的影响的变化情况来向另一个程序暗示某种信息,TCSEC

39、关于隐通道的定义,TCSEC关于隐通道的定义: 可以被进程利用来以违反系统安全策略的方式进行非法传输信息的通信通道 存储隐通道 时间隐通道Reading: 安全操作系统原理与技术,4.4.6,p103 计算机安全学,第17章,存储隐通道举例,限制:进程P不能与进程Q通信。 共享:文件系统。 目的:进程P想发送一条消息给进程Q。 一种使用存储隐通道的方法: 进程P在两进程都能读的一个目录中创建一个名为“send”的文件 进程Q要读消息前,Q删除文件send 进程P创建一个文件,命名为0bit或者1bit来代表要传输的比特; 进程Q记录这个比特,并删除这个文件 最后进程P创建一个名为“end”的文

40、件。 通信结束。,时间隐通道举例,Marvin, S., et al., Program confinement in KVM/370, in Proceedings of the 1977 annual conference. 1977, ACM.针对KVM/370系统的研究发现,可以基于两个虚拟机接收的CPU时间片来建立隐通道 若发送方想要发送比特0,则立即释放CPU 否则它将使用全部的时间片接收方通过获得CPU的速度可以推断出前者发送的是0还是1共享资源:CPU时间,返回,建立隐蔽存储通道的四要素,4个要素 发送和接收进程必须能够对同一存储单元具有存储能力 发送进程必须能够变更(即写)共

41、享存储单元的能力 接收进程必须能够查看(即读)共享存储单元的内容的改变 必须有一对通信初始化和发送与接收进程同步的机制,常用的三类共享存储单元,客体属性 包括文件名、文件属性等 客体存在 与文件有关的任何信息,例如某文件是否存在等信息 共享资源 如缓冲池、定额变量、全局计数器、磁盘空间有关盘的可用空间大小的信息、打印机占用情况等等,三元组,隐通道分析的阶段性,4个阶段 标识通道 计算通道带宽 处理通道 测试通道,关于计算通道带宽的方法,Tsai:Markov模型 J. Millen:基于信息论的方法,隐通道分析的层次性,隐通道分析应当在系统说明的各个层次上进行,隐通道的分析方法,Denning

42、,1977,信息流法 Goguen J.A.,1982,无干扰法 Kemmerer R.,1983,共享资源矩阵SRM法 Tsai,1988,语义信息流法 Porras,1990,隐蔽流树CFT法 McHugh J.,1996,改进的SRM法,Kemmerer的共享资源矩阵法,Richard Kemmerer, “A Practical Approach to Identifying Storage and Timing Channels,“ sp,pp.66, 1982 IEEE Symposium on Security and Privacy, 1982 Richard, A. Kemm

43、erer, Shared resource matrix methodology: an approach to identifying storage and timing channels. ACM Trans. Comput. Syst., 1983. 1(3): p. 256-277.,SRM(shared resource matix)举例,共享资源的属性,能读或者改这些属性的操作,考虑一个实现了多级安全模型的系统。文件有上述4种属性;文件操作为上述4种。 有两个活动主体:high级别,low级别 1)若文件存在,且主体的标签比文件的标签要大或相等,则读操作成功。 2).小或相等,则

44、写和删除操作成功。 3)若文件不存在,则创建操作成功。此时,文件的拥有者为创建进程,其标签被设置为该进程的标签。,判断隐蔽(存储)通道,满足如下条件才可能存在 发送与接收进程必须同时具有对某个共享客体的同一项属性的访问权 发送进程必须能够修改共享客体的这项属性 接收进程必须能够引用共享客体的这项属性 必须存在一种机制,能初始化这两个进程,并能正确地安排进程各自访问共享资源的顺序,在上面的矩阵中,只需要考虑同时具有R和M的属性,SRM例子中的隐蔽(存储)通道分析,假设:禁止high进程与low进程直接通信。 发送进程:high 接收进程:low根据上述4个要素,考虑文件存在属性和create_file/delete_file属性,隐蔽时间通道与此类似。,Denning的信息流法,Dorothy E. Denning. Secure Information Flow in Computer Systems. PhD thesis, Purdue Univeristy,West Lafayette, IN, May 1975. Dorothy E. Denning: A Lattice Model of Secure Information Flow. Commun. ACM 19(5): 236-243 (1976),Thanks!,The end.,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报