资料介绍
Linux安全模块(LSM)是Linux内核的一个轻量级通用访问控制框架。本文介绍Linux安全模块(LSM)的相关背景,设计思想,实现方法;并说明如何使用Linux安全模块(LSM)来增强Linux系统的安全性:一方面是供内核开发人员和安全研究人员使用的接口,另一方面是供普通用户使用的模块,以及具体的使用方法。如果读者具有Linux内核和安全的相关背景知识,可以有助于对本文的理解;如果不具有,可以先阅读本文最后参考资料中列出的IBM dW上的三篇文章。
1.相关背景介绍:为什么和是什么
近年来Linux系统由于其出色的性能和稳定性,开放源代码特性带来的灵活性和可扩展性,以及较低廉的成本,而受到计算机工业界的广泛关注和应用。但在安全性方面,Linux内核只提供了经典的UNIX自主访问控制(root用户,用户ID,模式位安全机制),以及部分的支持了POSIX.1e标准草案中的capabilities安全机制,这对于Linux系统的安全性是不足够的,影响了Linux系统的进一步发展和更广泛的应用。
有很多安全访问控制模型和框架已经被研究和开发出来,用以增强Linux系统的安全性,比较知名的有安全增强Linux(SELinux),域和类型增强(DTE),以及Linux入侵检测系统(LIDS)等等。但是由于没有一个系统能够获得统治性的地位而进入Linux内核成为标准;并且这些系统都大多以各种不同的内核补丁的形式提供,使用这些系统需要有编译和定制内核的能力,对于没有内核开发经验的普通用户,获得并使用这些系统是有难度的。在2001年的Linux内核峰会上,美国国家安全局(NSA)介绍了他们关于安全增强Linux(SELinux)的工作,这是一个灵活的访问控制体系Flask在Linux中的实现,当时Linux内核的创始人Linus Torvalds同意Linux内核确实需要一个通用的安全访问控制框架,但他指出最好是通过可加载内核模块的方法,这样可以支持现存的各种不同的安全访问控制系统。因此,Linux安全模块(LSM)应运而生。
Linux安全模块(LSM)是Linux内核的一个轻量级通用访问控制框架。它使得各种不同的安全访问控制模型能够以Linux可加载内核模块的形式实现出来,用户可以根据其需求选择适合的安全模块加载到Linux内核中,从而大大提高了Linux安全访问控制机制的灵活性和易用性。目前已经有很多著名的增强访问控制系统移植到Linux安全模块(LSM)上实现,包括POSIX.1e capabilities,安全增强Linux(SELinux),域和类型增强(DTE),以及Linux入侵检测系统(LIDS)等等。虽然目前Linux安全模块(LSM)仍然是作为一个Linux内核补丁的形式提供,但是其同时提供Linux 2.4稳定版本的系列和Linux 2.5开发版本的系列,并且很有希望进入Linux 2.6稳定版本,进而实现其目标:被Linux内核接受成为Linux内核安全机制的标准,在各个Linux发行版中提供给用户使用。
2.设计思想介绍:得让两方面都满意
Linux安全模块(LSM)的设计必须尽量满足两方面人的要求:让不需要它的人尽可能少的因此得到麻烦;同时让需要它的人因此得到有用和高效的功能。
以Linus Torvalds为代表的内核开发人员对Linux安全模块(LSM)提出了三点要求:
真正的通用,当使用一个不同的安全模型的时候,只需要加载一个不同的内核模块
概念上简单,对Linux内核影响最小,高效,并且
能够支持现存的POSIX.1e capabilities逻辑,作为一个可选的安全模块
另一方面,各种不同的Linux安全增强系统对Linux安全模块(LSM)提出的要求是:能够允许他们以可加载内核模块的形式重新实现其安全功能,并且不会在安全性方面带来明显的损失,也不会带来额外的系统开销。
为了满足这些设计目标,Linux安全模块(LSM)采用了通过在内核源代码中放置钩子的方法,来仲裁对内核内部对象进行的访问,这些对象有:任务,inode结点,打开的文件等等。用户进程执行系统调用,首先游历Linux内核原有的逻辑找到并分配资源,进行错误检查,并经过经典的UNIX自主访问控制,恰好就在Linux内核试图对内部对象进行访问之前,一个Linux安全模块(LSM)的钩子对安全模块所必须提供的函数进行一个调用,从而对安全模块提出这样的问题“是否允许访问执行?”,安全模块根据其安全策略进行决策,作出回答:允许,或者拒绝进而返回一个错误。
另一方面,为了满足大多数现存Linux安全增强系统的需要,Linux安全模块(LSM)采取了简化设计的决策。Linux安全模块(LSM)现在主要支持大多数现存安全增强系统的核心功能:访问控制;而对一些安全增强系统要求的其他安全功能,比如安全审计,只提供了的少量的支持。Linux安全模块(LSM)现在主要支持“限制型”的访问控制决策:当Linux内核给予访问权限时,Linux安全模块(LSM)可能会拒绝,而当Linux内核拒绝访问时,就直接跳过Linux安全模块(LSM);而对于相反的“允许型”的访问控制决策只提供了少量的支持。对于模块功能合成,Linux安全模块(LSM)允许模块堆栈,但是把主要的工作留给了模块自身:由第一个加载的模块进行模块功能合成的最终决策。所有这些设计决策可能暂时影响了Linux安全模块(LSM)的功能和灵活性,但是大大降低了Linux安全模块(LSM)实现的复杂性,减少了对Linux内核的修改和影响,使得其进入Linux内核成为安全机制标准的可能性大大提高;等成为标准后,可以改变决策,增加功能和灵活性。
1.相关背景介绍:为什么和是什么
近年来Linux系统由于其出色的性能和稳定性,开放源代码特性带来的灵活性和可扩展性,以及较低廉的成本,而受到计算机工业界的广泛关注和应用。但在安全性方面,Linux内核只提供了经典的UNIX自主访问控制(root用户,用户ID,模式位安全机制),以及部分的支持了POSIX.1e标准草案中的capabilities安全机制,这对于Linux系统的安全性是不足够的,影响了Linux系统的进一步发展和更广泛的应用。
有很多安全访问控制模型和框架已经被研究和开发出来,用以增强Linux系统的安全性,比较知名的有安全增强Linux(SELinux),域和类型增强(DTE),以及Linux入侵检测系统(LIDS)等等。但是由于没有一个系统能够获得统治性的地位而进入Linux内核成为标准;并且这些系统都大多以各种不同的内核补丁的形式提供,使用这些系统需要有编译和定制内核的能力,对于没有内核开发经验的普通用户,获得并使用这些系统是有难度的。在2001年的Linux内核峰会上,美国国家安全局(NSA)介绍了他们关于安全增强Linux(SELinux)的工作,这是一个灵活的访问控制体系Flask在Linux中的实现,当时Linux内核的创始人Linus Torvalds同意Linux内核确实需要一个通用的安全访问控制框架,但他指出最好是通过可加载内核模块的方法,这样可以支持现存的各种不同的安全访问控制系统。因此,Linux安全模块(LSM)应运而生。
Linux安全模块(LSM)是Linux内核的一个轻量级通用访问控制框架。它使得各种不同的安全访问控制模型能够以Linux可加载内核模块的形式实现出来,用户可以根据其需求选择适合的安全模块加载到Linux内核中,从而大大提高了Linux安全访问控制机制的灵活性和易用性。目前已经有很多著名的增强访问控制系统移植到Linux安全模块(LSM)上实现,包括POSIX.1e capabilities,安全增强Linux(SELinux),域和类型增强(DTE),以及Linux入侵检测系统(LIDS)等等。虽然目前Linux安全模块(LSM)仍然是作为一个Linux内核补丁的形式提供,但是其同时提供Linux 2.4稳定版本的系列和Linux 2.5开发版本的系列,并且很有希望进入Linux 2.6稳定版本,进而实现其目标:被Linux内核接受成为Linux内核安全机制的标准,在各个Linux发行版中提供给用户使用。
2.设计思想介绍:得让两方面都满意
Linux安全模块(LSM)的设计必须尽量满足两方面人的要求:让不需要它的人尽可能少的因此得到麻烦;同时让需要它的人因此得到有用和高效的功能。
以Linus Torvalds为代表的内核开发人员对Linux安全模块(LSM)提出了三点要求:
真正的通用,当使用一个不同的安全模型的时候,只需要加载一个不同的内核模块
概念上简单,对Linux内核影响最小,高效,并且
能够支持现存的POSIX.1e capabilities逻辑,作为一个可选的安全模块
另一方面,各种不同的Linux安全增强系统对Linux安全模块(LSM)提出的要求是:能够允许他们以可加载内核模块的形式重新实现其安全功能,并且不会在安全性方面带来明显的损失,也不会带来额外的系统开销。
为了满足这些设计目标,Linux安全模块(LSM)采用了通过在内核源代码中放置钩子的方法,来仲裁对内核内部对象进行的访问,这些对象有:任务,inode结点,打开的文件等等。用户进程执行系统调用,首先游历Linux内核原有的逻辑找到并分配资源,进行错误检查,并经过经典的UNIX自主访问控制,恰好就在Linux内核试图对内部对象进行访问之前,一个Linux安全模块(LSM)的钩子对安全模块所必须提供的函数进行一个调用,从而对安全模块提出这样的问题“是否允许访问执行?”,安全模块根据其安全策略进行决策,作出回答:允许,或者拒绝进而返回一个错误。
另一方面,为了满足大多数现存Linux安全增强系统的需要,Linux安全模块(LSM)采取了简化设计的决策。Linux安全模块(LSM)现在主要支持大多数现存安全增强系统的核心功能:访问控制;而对一些安全增强系统要求的其他安全功能,比如安全审计,只提供了的少量的支持。Linux安全模块(LSM)现在主要支持“限制型”的访问控制决策:当Linux内核给予访问权限时,Linux安全模块(LSM)可能会拒绝,而当Linux内核拒绝访问时,就直接跳过Linux安全模块(LSM);而对于相反的“允许型”的访问控制决策只提供了少量的支持。对于模块功能合成,Linux安全模块(LSM)允许模块堆栈,但是把主要的工作留给了模块自身:由第一个加载的模块进行模块功能合成的最终决策。所有这些设计决策可能暂时影响了Linux安全模块(LSM)的功能和灵活性,但是大大降低了Linux安全模块(LSM)实现的复杂性,减少了对Linux内核的修改和影响,使得其进入Linux内核成为安全机制标准的可能性大大提高;等成为标准后,可以改变决策,增加功能和灵活性。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于LSM303AGR的超紧凑高性能电子罗盘模块 15次下载
- 嵌入式LINUX系统内核和内核模块调试 9次下载
- 三星LSM315HP02产品说明书下载 2次下载
- 嵌入式LINUX系统内核和内核模块调试教程 21次下载
- LSM6DS3的MCU语言程序和工程文件免费下载 73次下载
- LSM6DS3六轴传感器的程序和工程文件与设计资料合集免费下载 59次下载
- 《Linux设备驱动开发详解》第4章、Linux内核模块 0次下载
- LSM303DLH传感器模块: 三轴加速度计和三轴磁强计 7次下载
- linux web 安全加固理论 17次下载
- LSM303AGR_六轴传感器 0次下载
- LSM6DS3_六轴传感器 0次下载
- Linux 2.6内核下LKM安全性研究 20次下载
- 基于嵌入式Linux的STP模块的设计与应用 25次下载
- 泄露声检测仪LSM1使用指南 8次下载
- 基于嵌入式Linux的来电判决模块的设计与实现 18次下载
- linux和windows的区别 linux系统一般用来干嘛 252次阅读
- 探索aarch64架构上使用ftrace的BPF LSM 196次阅读
- 介绍一种基于eBPF的Linux安全防护系统 403次阅读
- TiDB底层存储结构LSM树原理介绍 531次阅读
- Lynis可发现基于Linux系统中的恶意软件和安全漏洞 509次阅读
- Linux内核的安全性对Android的影响 921次阅读
- 微雪电子三轴电子罗盘指南针介绍 1835次阅读
- 在贴片加工厂中有哪些安全防护需要了解 1197次阅读
- dfrobot6轴电子罗盘LSM303DLH传感器简介 1319次阅读
- Linux搭建Web服务 5584次阅读
- 通过几个简单的命令让你的Linux固若金汤 4117次阅读
- 如何通过一些Linux的安全命令加固你的Linux系统?改善你的Linux安全 1w次阅读
- 嵌入式Linux模块编译步骤详细概述让你少走弯路 8999次阅读
- 关于Linux的Internet安全漏洞与防范措施详解 805次阅读
- Linux内核模块介绍,使用Linux模块的优点 7040次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多