linux的lsm--TCB组成部分的新视角

简介:
可信路径的一端是任意用户,另一端是TCB,这条路经要做到尽可能短,从而加大消息在中间被拦截的难度,事实上,可信路径上的消息时不能被拦截的,否则就不叫可信路径了,可信路径的一端必须是绝对可信的,我们称为TCB,也就是可信计算基,然而TCB并不仅仅存在于可信路径的另一端,TCB是一整套安全环境的总称,包括很多元素,比如硬件隔离机制,OS内核的一切组件,事实上,TCB是一个抽象的概念而不是一个形象的实体,在linux中TCB还包括所有的suid程序,也就是说,TCB的元素一定是可以信任的,如果想让操作系统绝对安全,仅仅有一些可以信任的“基”还不行,虽然“基”是可以信任的,那么谁能保证调用“基”的程序是正常调用呢,如果一个恶意的程序调用了TCB,那么后果一样是很严重的,因此作为TCB本身的组成部分,有一个叫做访问控制监视器,这个监视器的作用就是监控任何受控调用比如系统调用的合法性,比如对于sys_mount来讲,访问监视器判断调用进程能否进行mount操作。

     可悲的是,很多的操作系统并没有实现这个访问监视器,操作系统几乎在一开始设计的时候是不考虑安全的,而只考虑功能和效率,很多设计者都将安全这件事寄托给了硬件机制,比如Intel的rings以及arm的特权模式等等,事实上这种寄托很不严格,毕竟硬件的实现千差万别,设计者往往在出现了具体问题的时候才会考虑加入安全控制机制最终使得操作系统内核的代码杂乱无比,因此操作系统需要一个更加一致的TCB,便于实现统一接口下的不同实现以及扩充新的安全策略。如果实现了这么一个接口一致,仅仅实现的机制的安全控制机制的话,那么可以说TCB包含了三部分,一个是寄托给硬件的那部分(所谓的内核模式),提供OS作为服务提供者的保护机制,一个是访问监视器,就是上面说的那个一致的接口,另外一个是用户空间的一些门(gate)程序,对于linux来讲就是suid程序。现在看看linux的lsm,它实际上就是一个访问监视器框架,然后你可以用任何方式实现它,用访问监视器的视角来理解lsm的话,可以很清晰的弄明白为什么它的调用点存在于一个地方而不是另一个地方。lsm提供了两种实现访问监视的方式,一种是单独模块的方式,这种方式下只要你提供了一个lsm实现并且注册了它,那么就不能再注册第二个了,也就是说系统中只允许注册一个lsm实现,另一种方式是堆栈模块的方式,security_operations本身提供了register_security回调函数,任何一个lsm实现都可以重载这个回调函数以允许系统中存在很多lsm实现,从而实现串行的访问控制过滤。



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1271984

相关文章
|
18天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
5天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
15天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
36 9
|
2天前
|
监控 Linux Windows
50个必知的Linux命令技巧,你都掌握了吗?(下)
50个必知的Linux命令技巧,你都掌握了吗?(下)
|
2天前
|
Linux Shell Windows
Linux 常用基本命令
Linux 常用基本命令
|
3天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
3天前
|
Linux
【Linux】常用命令
【Linux】常用命令
24 0
|
3天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
16 0
Linux 网络操作命令Telnet
|
4天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
30 0