Windows的访问控制机制教学内容
- 格式:docx
- 大小:13.05 KB
- 文档页数:4
操作系统教学计划一、教学目标通过本课程的学习,学生将对操作系统的基本概念、原理和技术有深入的理解,能够掌握操作系统的核心功能和工作机制,具备分析和解决操作系统相关问题的能力。
具体目标包括:1、理解操作系统的定义、作用和发展历程,掌握操作系统的基本概念和术语。
2、掌握进程管理、内存管理、文件管理、设备管理等操作系统的核心功能。
3、熟悉常见操作系统的特点和应用场景,如Windows、Linux 等。
4、能够运用所学知识,分析和解决操作系统中的常见问题,如进程死锁、内存泄漏等。
5、培养学生的系统思维和创新能力,为进一步学习计算机相关领域的知识和从事相关工作打下坚实的基础。
二、教学内容1、操作系统概述操作系统的定义、功能和分类操作系统的发展历程和趋势操作系统的体系结构和运行机制2、进程管理进程的概念、状态和转换进程控制块(PCB)的结构和作用进程同步与互斥的概念和实现方法线程的概念和特点3、内存管理内存管理的基本概念和功能内存分配算法和回收策略虚拟内存的概念和实现原理页面置换算法4、文件管理文件的概念、结构和类型文件系统的组成和功能文件的目录结构和文件操作磁盘调度算法5、设备管理设备管理的任务和功能I/O 控制方式和缓冲技术设备分配和回收策略设备驱动程序的概念和作用6、操作系统安全与保护操作系统的安全机制和访问控制病毒和恶意软件的防范系统容错和恢复技术7、操作系统实例分析Windows 操作系统的特点和机制Linux 操作系统的内核结构和命令行操作三、教学方法1、课堂讲授通过讲解、演示和案例分析等方式,向学生传授操作系统的基本概念、原理和技术,引导学生理解和掌握重点和难点内容。
2、实验教学安排一定数量的实验课程,让学生亲自动手操作,加深对操作系统的理解和应用能力。
实验内容包括进程管理、内存管理、文件管理等方面的编程和调试。
3、小组讨论组织学生进行小组讨论,针对操作系统中的一些热点问题和实际应用场景,让学生发表自己的观点和见解,培养学生的团队合作和交流能力。
《操作系统安全》课程教学大纲课程名称操作系统安全课程编码131530019 课程类型(学院内)跨专业课程适用范围信息安全学分数 3 先修课程操作系统、数据结构学时数48 其中实验学时其中实践学时考核方式考试制定单位数学与信息科学学院执笔者审核者一、教学大纲说明(一)课程的性质、地位、作用和任务操作系统安全是信息领域重要的核心技术, 在信息安全领域有着非常重要的地位。
《操作系统安全》对培养学生抽象思维能力和信息安全的分析能力有着重要作用;也是信息安全专业高年级学生开设的一门重要课程, 其为全面了解操作系统的安全机制、安全设计、操作系统评测和安全应用提供一些入门方法, 使学生对操作系统安全有一个清晰和完整的认识。
(二)课程教学的目的和要求通过本课程的学习, 学生具有操作系统安全基础知识, 具备对操作系统安全进行分析的基本专业素质和能力。
了解:操作系统安全的有关概念及相关问题, 包括Windows、UNIX等流行操作系统的存在的安全问题, 了解高安全级别操作系统的有关安全机制, 了解操作系统安全评测、安全操作系统的应用和国外在安全操作系统领域的新进展。
理解: 操作系统安全模型、安全体系结构和操作系统安全形式化规范与验证以及安全操作系统设计一般过程。
掌握: 操作系统安全的基本概念、操作系统的安全机制、操作系统设计主要的安全模型和安全体系结构、Unix系统安全策略及安全机制、隐蔽通道分析和处理方法。
(三)课程教学方法与手段教学方法: 本课程采用老师讲授、结合学生自学的方法;教学手段:采用多媒体教学, 教师口授结合电脑演示。
(四)课程与其它课程的联系本课程涉及到信息安全基础、数据结构、计算机网络和操作系统等知识, 因而在开设本课程之前需要为学生开设预备课程: 数据结构、密码学原理、计算机网络和操作系统。
(五)教材与教学参考书教材: 卿斯汉等著, 操作系统安全(第2版), 清华大学出版社, 2011。
教学参考书:1.卿斯汉等著, 操作系统安全, 清华大学出版社, 2004。
【windows操作系统】⽂件保护:⽂件访问类型和访问控制⽂件保护:⽂件访问类型和访问控制为了防⽌⽂件共享可能会导致⽂件被破坏或未经核准的⽤户修改⽂件,⽂件系统必须控制⽤户对⽂件的存取,即解决对⽂件的读、写、执⾏的许可问题。
为此,必须在⽂件系统中建⽴相应的⽂件保护机制。
⽂件保护通过⼝令保护、加密保护和访问控制等⽅式实现。
其中,⼝令保护和加密保护是为了防⽌⽤户⽂件被他⼈存取或窃取,⽽访问控制则⽤于控制⽤户对⽂件的访问⽅式。
访问类型对⽂件的保护可以从限制对⽂件的访问类型中出发。
可加以控制的访问类型主要有以下⼏种:读:从⽂件中读。
写:向⽂件中写。
执⾏:将⽂件装⼊内存并执⾏。
添加:将新信息添加到⽂件结尾部分。
删除:删除⽂件,释放空间。
列表清单:列出⽂件名和⽂件属性。
此外还可以对⽂件的重命名、复制、编辑等加以控制。
这些⾼层的功能可以通过系统程序调⽤低层系统调⽤来实现。
保护可以只在低层提供。
例如,复制⽂件可利⽤⼀系列的读请求来完成。
这样,具有读访问⽤户同时也具有复制和打印的权限了。
访问控制解决访问控制最常⽤的⽅法是根据⽤户⾝份进⾏控制。
⽽实现基于⾝份访问的最为普通的⽅法是为每个⽂件和⽬录增加⼀个访问控制列表(Access-Control List, ACL),以规定每个⽤户名及其所允许的访问类型。
这种⽅法的优点是可以使⽤复杂的访同⽅法。
其缺点是长度⽆法预期并且可能导致复杂的空间管理,使⽤精简的访问列表可以解决这个问题。
精简的访问列表⾤⽤拥有者、组和其他三种⽤户类型。
1. 拥有者:创建⽂件的⽤户。
2. 组:⼀组需要共享⽂件且具有类似访问的⽤户。
3. 其他:系统内的所有其他⽤户。
这样只需⽤三个域列出访问表中这三类⽤户的访问权限即可。
⽂件拥有者在创建⽂件时,说明创建者⽤户名及所在的组名,系统在创建⽂件时也将⽂件主的名字、所属组名列在该⽂件的FCB中。
⽤户访问该⽂件时,按照拥有者所拥有的权限访问⽂件,如果⽤户和拥有者在同⼀个⽤户组则按照同组权限访问,否则只能按其他⽤户权限访问。
【windows安全性之访问控制】访问控制详细解说windows的安全性的两个基本⽀柱是⾝份验证(登⼊)和授权(访问控制)。
⾝份验证是标识⽤户的过程,授权在验证了所标识⽤户是否可以访问特定资源之后进⾏。
相关的命名空间和类:System.Security NamespaceSystem.Security.Principal NamespaceWindowsIdentity ClassSystem.Security.AccessControl NamespacFileSystemSecurity ClassDirectorySecurity ClassFileSecurityAccessRule ClassFileSystemAccessRule ClassAccessControlType EnumFileSystemRights Enum⽬录1、访问控制模型(Access Control Model)1.1访问控制模型的各个部分1.2线程与安全对象之间的交互1.3DACL 和 AES1.4AccessCheck 的⼯作原理2、访问控制编辑器(Access Control Editor)1.1访问控制模型的各个部分访问控制模型由两个基本部分:1. 访问令牌(Access Token)其中包含有关登录⽤户的信息(User SID,Group SIDS,特权列表privileges),访问令牌是与Windows的账户相互对相应的,当某⼀账户登录时,系统会⽣成此⽤户的访问令牌并分发给启动的进程2. 安全描述符(Security descriptor)描述⼀个安全对象的安全信息,如什么样的⽤户的什么访问请求可以被允许,什么样的⽤户或者组的什么访问要被拒绝。
安全描述符具体由ACL、对象拥有者SID 、此拥有者所在主群的SID、安全描述符意思相符的控制位集合⼀起组成。
ACL由⾃由访问控制列表 (DACL) 和系统访问控制列表 (SACL)组成。
Windows的访问控制机制
访问控制:是指的安全特性,这些安全特性控制谁能够访问操作系统资源。
应用程序调用访问控制函数来设置谁能够访问特定资源或控制对由应用程序提供的资源的访问。
C2等级安全:
下面的列表包含在C2等级安全中最重要的一些要求,它们是有美国国防部提出的:
1、必须能够通过授予或拒绝个人用户和组用户访问某个资源来达到控制访问的目的。
2、当一个进程释放内存后,该内存中的内容不能被读取。
同样,一个安全文件系统,例如NTFS,必须防止已删除的文件被读取。
3、当用户需要登录,必须提供一种方式来惟一标识用户。
所有的可审计的操作同样能够确定它的执行用户。
4、系统管理员必须能够审计与安全相关的事件。
然而,授权管理员不能访问与安全相关事件的审计数据。
5、系统必须能抵抗外部干扰、防止诸如篡改运行中系统、存储在硬盘中的系统文件的操作。
访问控制模型:
访问控制模型允许您控制一个进程访问安全对象或执行诸多系统管理任务的能力(控制进程执行xxx的能力)。
访问控制模型有两个基本的组件:
1、访问令牌(包含关于登录用户的信息)
2、安全描述符(包含用于保护一个安全对象的安全信息)
当一个用户要登录,系统验证用户的用户名和密码。
如果验证成功,系统创建一个访问令牌。
所有以这个用户身份运行的进程都有一份令牌的拷贝。
访问令牌包含标识用户账户以及所在组账户的安全标识符。
当然,访问令牌还包含很多其它信息,比如用户以及用户所在组的特权列表。
当进程试图访问安全对象或者执行需要特权的系统管理任务时,系统使用这个访问令牌识别相应的用户。
每当一个安全对象被创建时,系统将一个安全描述符与对象关联起来,安全描述
符中包含由创建者指定的安全信息,如果创建者没有提供安全信息,那么系统将使用默认的安全信息。
应用程序可以调用函数来获得和设置一个已经存在的安全对象的安全信息。
一个安全描述符标识用户的所有者和可以包含下面列出的访问控制列表:
1、一个自主访问控制列表,标识那些用户和组允许或拒绝访问一个对象。
2、一个系统访问控制列表,控制系统审计对对象行为的审计方式(访问成功审计还是访问失败审计等等问题)
一个访问控制列表包含访问控制项的列表。
每一个访问控制项包含一个访问权限集、权限集的实施对象(用户、组或会话)的安全标识符和实施动作(允许或拒绝)。
我们并没有直接访问安全描述符、安全标识符和访问控制列表的内容,而是通过函数透明的访问它们的内容。
这有助于确保这些结构的完整,同时提供一个统一的操作接口。
访问令牌
访问令牌包含下列信息:
1、用户账户的安全标识符。
2、用户所在组账户的安全标识符,一个用户可能是多个组的成员,所以这里可能有多个。
3、登录会话的登录安全标识符。
4、用户或组的特权列表。
5、所有者安全标识符。
6、基本组的安全标识符。
7、默认的自主访问控制列表,当用户在创建安全对象,但没有指定一个安全描述符时,系统将使用这个默认的自主访问控制列表。
8、访问控制令牌的源。
9、令牌的类型,是一个基本令牌还是一个模仿令牌。
10、可选的受限安全标识符列表
11、当前模仿等级。
12、其它策略。
每一个进程都有一个基本令牌。
默认情况下,当一个进程的线程访问一个安全对象时,系统使用基本令牌。
但是,一个线程可以代理(扮演)一个客户账户。
当一个线程代理一个客户账户时,它会使用客户的安全上下文来访问安全对象。
一个代理客户的线程同时拥有基本令牌和代理令牌。
调用OpenProcessToken函数来获得一个进程的基本令牌的句柄。
调用OpenThreadToken函数来获取代理令牌的句柄。
您可以使用下面列出的函数来操控访问令牌。
函数名函数描述
AdjustTokenGroups 更改一个访问令牌的组信息
AdjustTokenPrivileges 使令牌中的某些特权生效或失效。
但它不能产生新的特权或撤销已经存在的特权。
CheckTokenMembership 检测一个特定的安全标识符是否包含在令牌CreateRestrictedToken 为一个已经存在的令牌创建一个受限版本的令牌
DuplicateTokenEx Creates a new primary token or impersonation token that duplicates an existing token.
GetTokenInformation Retrieves information about a token.
IsTokenRestricted Determines whether a token has a list of restricting
SIDs.
OpenProcessToken Retrieves a handle to the primary access token for a
process.
OpenThreadToken Retrieves a handle to the impersonation access token
for a thread.
SetThreadToken Assigns or removes an impersonation token for a
thread.
SetTokenInformation Changes a token's owner, primary group, or default
DACL.
The access token functions use the following structures to describe the components of an access token.
Structure Description
TOKEN_CONTROL Information that identifies an access token.
TOKEN_DEFAULT_DACL
The default DACL that the system uses in the security descriptors of new objects created by a
thread.
TOKEN_GROUPS Specifies the SIDs and attributes of the group
SIDs in an access token.
TOKEN_OWNER The default owner SID for the security descriptors of new objects.
TOKEN_PRIMARY_GROUP The default primary group SID for the security descriptors of new objects.
TOKEN_PRIVILEGES The privileges associated with an access token.
Also determines whether the privileges are
enabled.
TOKEN_SOURCE The source of an access token. TOKEN_STATISTICS Statistics associated with an access token.
TOKEN_USER The SID of the user associated with an access
token.
The access token functions use the following enumeration types.
Enumeration type Specifies
TOKEN_INFORMATION_CLASS Identifies the type of information being set or retrieved from an access token.
TOKEN_TYPE Identifies an access token as a primary or impersonation token.。