《小特权的实现》PPT课件.ppt

上传人:牧羊曲112 文档编号:5633362 上传时间:2023-08-04 格式:PPT 页数:51 大小:337.99KB
返回 下载 相关 举报
《小特权的实现》PPT课件.ppt_第1页
第1页 / 共51页
《小特权的实现》PPT课件.ppt_第2页
第2页 / 共51页
《小特权的实现》PPT课件.ppt_第3页
第3页 / 共51页
《小特权的实现》PPT课件.ppt_第4页
第4页 / 共51页
《小特权的实现》PPT课件.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《《小特权的实现》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《小特权的实现》PPT课件.ppt(51页珍藏版)》请在三一办公上搜索。

1、3 最小特权的实现,(1)传统UNIX/Linux特权管理1)普通用户没有特权,超级同户拥有所有特权。2)当进程要进行某特权操作时,系统检查进程所代表的用户是否为超级用户、3)普通用户涉及特权操作时,通过setuid/setgid实现。用户希望访问/etc/passed来修改自己的密码,必须使他能超越对客体的受限访问。setuid/setgid可以使得代表普通用户的进程不继承用户的uid/gid,而是继承该进程对应的应用程序文件(可执行文件)的所有者的uid/gid、即普通用户暂时获得其他用户身份,并通过该身份访问客体。由于此项活动具有局限性,具系统还会进行安全检查,有助于维护系统安全性。,(

2、2)Linux最小特权的实现,1)系统安全管理员:用来维护系统中与安全性相关的信息,包括对系统用户账户的管理、系统中的主体客体安全级的管理以及设置和维护系统的安全数据库;2)系统审计员:用来设置审计开关和审计阈值,启动和关闭审计机制以及管理审计日志;3)系统操作员:用来完成系统中日常的操作和维护,包括开启和关闭系统、对文件的档案备份和恢复、安装或卸载文件系统以及向终端发送消息等等。4)网络管理员:用来完成所有与网络相关的管理与操作。,(1)Linux系统中对权能的定义,系统将系统管理的权限进行分割,共30种权能:例如,超越改变系统文件所有者和组所有的的特权;超越所有自主访问控制机制的约束的特权

3、;超越所有强制访问控制机制的约束的特权;修改文件属性的特权;写审计文档的特权;配置进程记帐的特权;打开或关闭缓冲区的特权;删除信号量的特权;文件系统上设置加密口令的特权;安装或卸下文件系统的特权;改变和设置进程安全的级特权;改变和设置文件安全级的特权;处理系统时钟和设置实时时钟的特权;设置加密密钥的特权,等等。,(2)基于Linux系统中的权能构造最小特权机制,要在Linux系统中实现最小特权管理,可以参照多级安全模型对强制访问控制机制的实现方法,对系统中的每个可执行文件赋予相应的特权集,同时对于系统中的每个进程,根据其执行的程序和所代表的用户,也赋予相应的特权集。,新进程继承的特权,新进程继

4、承的特权既有进程的特权,也有所运行文件的特权,称为“基于文件的特权机制”。这种机制的最大优点是特权的细化,其可继承性提供了一种执行进程中增加特权的能力。,1)文件的特权的实现,可执行文件具有两个特权集,当通过exec系统调用时,进行特权的传递。固定特权集:固有的特权,与调用进程或父进程无关,将全部传递给执行它的进程。可继承特权集:只有当调用进程具有这些特权时,才能激活这些特权。这两个集合是不能重合的,即固定特权集与可继承特权集不能共有一个特权。当然,可执行文件也可以没有任何特权。当文件属性被修改时(例如,文件打开写或改变它的模式),它的特权会被删去,这将导致从TCB中删除此文件。因此,如果要再

5、次运行此文件,必须重新给它设置特权。,2)进程的特权,当fork一个子进程时,父子进程的特权是一样的。但是,当通过exec执行某个可执行文件时,进程的特权取决于调用进程的特权集和可执行文件的特权集。每个进程都具有三个特权集:最大特权集(permitted privileges set):可能具有的最大特权。可继承特权集(inheritable privileges set):决定进程执行exec后进程是否保留提升后特权的特权集。有效特权集(effective privileges set):进程当前使用的特权集。,新进程时的特权计算,(3)权能表的修改,为在Linux系统中实现最小特权机制,可

6、以在Linux/include/Linux/capabilities中加入以下几项能力:1)CAP_MAC_READ 用来超越强制访问控制机制的读访问限制。2)CAP_MAC_WRITE 用来超越强制访问控制机制的写访问限制。3)CAP_AUDIT 用来管理审计系统的权限。,(4)进程的特权,在Linux系统的进程结构中,已经有三个向量表示进程的特权类型:cap_ effective、cap_inheritable、cap_permitted。它们是kernel_cap_t类型(无符号长整形)的数据。进程的有效特权集(cap_effective)表明了进程当前使用的特权情况,进程的最大特权集(

7、cap_permitted)表明了进程可拥有的最多特权,进程的可继承特权集(cap _inheritable)包含进程下一步exec新文件时所拥有的特权集。kernel _cap _t类型是一个无符号整数表示,共32位,每一个位表示系统细分的一命特权。,(5)文件的特权,对于文件特权的实现,可以以特权数据库来表示,例如,可以创建核心特权文件filepriv,其入口项的格式如下所示:“dev:fid:valid:fixed privileges:inher privileges:path name”格式其中,dev:表示包含该文件的设备;fid:表示该文件的ID号;valid:以十进制串的形式表

8、示inode中标记该文件状态最近一次被修改的时间;fixed privilege:文件的固定特权;inher privilege:文件的可继承特权;path name:文件的绝对路径名。,4 安全审计的实现,安全操作系统中的安全审计,要求为下述可审计事件产生审计记录:1)审计功能的启动和关闭;2)使用身份鉴别机制;3)将客体引入用户地址空间(例如:打开文件、程序初始化);4)删除客体;5)系统管理员、系统安全员、审计员和一般操作员所实施的操作;6)其他与系统安全有关的事件或专门定义的可审计事件。,审计记录应包括,事件的日期和时间、用户、事件类型、事件是否成功,及其他与审计相关的信息。特别地,对

9、于身份鉴别事件,审计记录应包含请求的来源(如终端标识符);对于客体被引入用户地址空间的事件及删除客体事件,审计记录应包含客体名及客体的安全级别。,审计缓冲区,(4)审计点的处理,1)对系统调用及客体安全级范围的审计 a)在每个系统调用的入口处:若进程有AEXEMPT标记,则不作审计,否则通过系统调用号索引“系统检查函数表”,得到真正的检查函数入口,再根据系统调用参数判定它应属于哪个审计事件,将事件号作为中间结果赋给进程task结构的 a_event备用,接着检查事件号是否属于进程审计标准a_procemask,是则对进程 task结构设AUDITME标记,不是则返回。,b)系统调用的出口处:检

10、查进程task结构的AUDITME标记是否置位,是则通过系统调用号索引“系统记录函数表”,得到真正的记录函数入口,调用它将数据写入缓冲区,并清除AUDITME标记;否则不做审计动作。c)主体访问客体的权限检查处:对于系统调用引发的客体访问,要根据客体安全级判定是否审计。可以在客体访问的必经之地namei作检查,若进程task结构的AUDITME标记置位,则说明该事件已经属于主体(进程)审计范围,不必重复记录,返回即可;否则,根据系统调用入口判定的事件号a_event,检查该事件是否属于对象审计标准,是则检查当前客体的安全级是否在待审计的系统安全级范围中,若是则置位AUDITME标记,否则返回。

11、,(6)审计系统自身的安全保护,1)程序和代码的安全 在发布的系统中,只提供执行代码,源程序不可见,对用户屏蔽了系统的工作细节。审计数据的采集记录部分集成到安全内核,审计进程的执行不受外界影响,核外的应用程序(审计管理员配置程序和审计数据显示分析程序)则严格遵循强制访问控制MAC和最小特权控制PAC,保证只有审计管理员才能使用这些程序。,2)系统配置和审计数据的安全,配置文件包括系统和用户审计标准、审计系统的运行参数、审计事件的定义等,这些文件也必须施加MAC控制。,7.5.5 信息系统安全评估标准简介,1操作系统安全漏洞扫描 为了确保安全操作系统的安全性,人们首先想到采用专用工具扫描操作系统

12、的安全漏洞,以达到发现漏洞和采取补救措施。操作系统安全漏洞扫描的主要内容有:(1)设置错误:设置是很困难的,设置错误可能导致一系列安全漏洞,可以检查系统设置,搜索安全漏洞,判断是否符合安全策略。(2)黑客踪迹:黑客留下的踪迹常常可以检测到,软件能检查是否有黑客侵入系统、盗取口令,也可检查某些关键目录下是否有黑客放置的可疑文件。(3)特洛伊木马:黑客常常在系统内嵌入这类程序,软件软件能够检查系统文件的非授权修改和不合适的版本,既检测了漏洞,也有利于版本控制。,2操作系统安全评测方法,(1)形式化验证:(2)非形式化确认:(3)入侵测试:,3操作系统安全测评准则,美国国防部于1983年推出了历史上

13、第一个计算机系统安全评测准则TCSEC(Trusted Computer System Evaluation Criteria),又称桔皮书,从而,带动了国际正计算机系统安全评测的研究,德国、英国、加拿大、西欧等纷纷制定了各自的计算机系统安全评价标准。近年来,我国也制定了相应的国家标准GB17859-1999和GB/T18336-2001等标准。,TCSEC的主要内容,对可信任计算机信息系统有6项基本需求,基中,4项涉及存取控制,2项涉及安全保障:需求1-安全策略、需求2-标记、需求3-标识、需求4-审计、需求5-保证、需求6-连续保护。根据6项基本需求,TCSEC在用户登录、授权管理、访问控

14、制、审计跟踪、隐蔽信道分析、可信通路建立、安全检测、生命周期保证、文档写作等各方面,均提出了规范性要求,并根据所采用的安全策略、系统所具有的安全功能把系统分为,4类7个安全等级,D类D级,安全性最低级,整个系统不可信任。C类自主保护类,C1级自主安全保护。C2级受控制的存取控制系统,引入DAC和审计机制。B类强制保护类,B1级标记安全保护级,引入MAC、标记和标记管理。B2级结构保护级,具有形式化安全模型,完善的MAC,可信通路、系统结构化设计、最小特权管理、隐蔽信道分析。B3级安全域级,访问监控机制、TCB最小复杂性设计、审计实时报告和对硬件的要求。A类A1级(仅一个级别),验证保护类,严格

15、的设计、控制和验证过程。,7.6 实例研究:安全操作系统SELinux,7.7实例研究:Windows 2000/XP安全机制,Windows 2000/XP提供了一组可配置的安全性服务和灵活的访问控制能力,能满足分布式系统的安全性需求,主要服务有:安全登录、访问控制、安全审计、内存保护、活动目录、Kerberos 5身份验证协议、基于Secure Sockets Layer 3.0安全通道、EFS加密文件系统。,7.7.1安全性组件和安全登录,1安全性组件实现Windows 2000/XP的安全性机制的组件和数据库如下:(1)安全引用监视器(SRM)。是执行体(NTOSKRNL.EXE)的一

16、个组件,该组件负责执行对对象的安全访问检查、管理对象的访问权限和产生安全审计消息。(2)本地安全权限(LSA)服务器。是一个运行映像LSASS.EXE的用户态进程,它负责本地系统安全性规则(例如允许用户登录到机器的规则、密码规则、授予用户和组的权限列表以及系统安全性审计设置)、用户身份验证以及向“事件日志”发送安全性审计消息。,(3)LSA策略数据库。是一个包含了系统安全性规则设置的数据库,该数据库被保存在注册表中的HKEY-LOCAL-MACHINE/security下。它包含的信息有:哪些域被信任用于认证登录企图;哪些用户可以访问系统以及怎样访问(交互、网络和服务登录方式);谁被赋予了哪些

17、权限;执行的安全性审计的种类。(4)安全账号管理服务器。是一组负责管理数据库的子例程,该数据库包含定义在本地机器上或用于域(如果系统是域控制器)的用户名和组。SAM在LSASS进程的描述表中运行。,(5)SAM数据库。是一个包含定义用户和组以及它们的密码和属性的数据库,它被保存在HKEY-LOCAL-MACHINESAM下的注册表中。(6)默认身份认证包。是一个被称为MSV1_0的动态链接库(DLL),在进行Windows 身份验证的LSASS进程的描述表中运行。这个DLL负责检查给定的用户名和密码是否和SAM数据库中指定的相匹配,如果匹配,返回该用户的信息。,(7)登录进程。是一个运行WIN

18、LOGON.EXE的用户态进程,它负责搜寻用户名和密码,并发送给LSA用以验证它们,并在用户会话中创建初始化进程。(8)网络登录服务。是一个响应网络登录请求的SERVICES.EXE进程内部的用户态服务。身份验证同本地登录一样,是通过把它们发送到LSASS进程来验证的。,2安全登录,登录是通过登录进程WinLogon、LSA、身份认证包和SAM相互作用完成的。用户按下热键时,登录就开始,在获得用户名和口令后,由LSA本地安全认证服务器、msv1_0身份验证软件包、SAM数据库协同工作,进行标识和鉴别,msv1_0查看请求的登录与SAM数据库中允许的访问是否有匹配项。如果是合法用户,LSA会汇集

19、各种用户信息,如用户SID、组SID、主目录等配置文件信息,这时,为该用户创建一个用户进程,为了实现对它的访问控制,本地安全认证子系统同时创建了两个重要的管理实体:与每个进程相关联的“访问令牌”和与每个对象相关联的“安全描述符”。,7.7.2 访问控制,1 保护对象保护对象是谨慎访问控制和审计的基本要素,被保护的对象包括文件、设备、邮件槽、己命名的和未命名的管道、进程、线程、事件、互斥体、信号量、可等待定时器、访问令牌、窗口、桌面、网络共享、服务、注册表键和打印机。,2访问控制方案,访问令牌是一个包含进程或线程安全标识的数据结构,包括:安全ID(SID),用户所属组的列表及启用/禁止的特权列表

20、。它是基于安全目的,在系统中使用的该用户的帷一标识符;当用户进程派生出新进程时,新进程对象继承了同一个访问令牌。访问令牌有两种用途:负责协调所有必需的安全信息,从而,加速访问确认,当与一个用户相关联的任何进程试图访问时,安全子系统使用与该进程相关联的访问令牌来确定用户的访问特权。允许每个进程以一种受限的方式修改自己的安全特性,而不会影响代表用户运行的其他进程。,Windows 2000/XP的安全结构,5 ACL的分配,要确定分配给新对象的ACL,系统使用三种互斥的规则之一,步骤为:步1:如果调用者在创建对象时,明确提供了一个安全描述符,则系统将把该描述符应用到对象上。步2:如果调用者没有提供

21、安全描述符,而对象有名称,则系统将在存储新对象名称的目录中查看安全描述符,一些对象目的的ACE可以被指定为可继承的,表示它们可应用于在对象目录中创建的新对象上。如果存在可继承的ACE,系统就把它们编入ACL,并与新对象连接。步3:如果以上情况均未出现,系统会从调用者访问令牌中检索默认的ACL,并将其应用到新对象。系统的一些子系统,如服务、LSA和SAM对象等均有它们在创建对象时分配的硬性编码DACL。,6访问控制算法,该算法确定允许访问对象的最大权限,通过检查ACL中的ACE来生成授予访问掩码和拒绝访问掩码。其步骤为:(1)如果对象没有DACL,对象就不被保护,系统将授予所有访问权力。(2)如

22、果调用者具有所有权特权,系统将在检查DACL之前授予它写入访问权力。(3)如果调用者是对象的所有者,则被授予读取控制和写入DACL的访问权力。(4)对于每一个拒绝访问的ACE,如果其中包含与调用者的访问令牌相匹配的SID,则ACE的访问掩码会被添加到拒绝访问掩码上。(5)对于每一个访问允许的ACE,如果其中包含与调用者的访问令牌相匹配的SID,除非访问已被拒绝,否则ACE的访问掩码会被添加到被计算的授予访问掩码上。,7访问掩码,具体访问位有16位,确定了适用于某特定类型的对象的访问权限。如文件对象的第0位是File_read_data访问,事件对象的第0位是Event_query_status

23、访问。,7.7.3 安全审计,Windows系统产生三类日志:系统日志、应用程序日志和安全日志。审计事件分为七类:系统类、登录类、对象存取类、特权应用类、账号管理类、安全策略类和详细审计类。对每类事件可选择成功、失败或两者同时审计,对于对象存取类的审计,还可以在资源管理器中进一步指定文件和目录的具体审计标准:如读、写、修改、删除、执行等操作,也分成功或失败两种审计,对注册表项及打印机设备的审计类似。审计数据以二进制结构文件存于磁盘,每条记录包括:事件发生时间、事件源、事件号和所属类别、机器名、用户名和事件的详细叙述。,7.7.4 加密文件系统,加密文件系统EFS(Encrypted File System)把NTFS文件中的数据加密,并存储在磁盘上。EFS加密技术是基于公共密钥的,它用一个随机产生的文件密钥FEK(File encryption Key)通过加强型数据加密标准DES(Data Encryption Standard)算法-DESX对文件进行加密。该技术的特点是集成服务、易于管理、不易受攻击。,EFS系统结构,EFS工作流程,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号