增强Linux内核中访问控制安全的方法-创新互联
背景
成都创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元饶平做网站,已为上家服务,为饶平各地企业和个人服务,联系电话:18982081108前段时间,我们的项目组在帮客户解决一些操作系统安全领域的问题,涉及到windows,Linux,macOS三大操作系统平台。无论什么操作系统,本质上都是一个软件,任何软件在一开始设计的时候,都不能百分之百的满足人们的需求,所以操作系统也是一样,为了尽可能的满足人们需求,不得不提供一些供人们定制操作系统的机制。当然除了官方提供的一些机制,也有一些黑魔法,这些黑魔法不被推荐使用,但是有时候面对具体的业务场景,可以作为一个参考的思路。
Linux中常见的拦截过滤
本文着重介绍Linux平台上常见的拦截:
- 用户态动态库拦截。
- 内核态系统调用拦截。
- 堆栈式文件系统拦截。
- inline hook拦截。
- LSM(Linux Security Modules)
动态库劫持
Linux上的动态库劫持主要是基于LD_ PRELOAD环境变量,这个环境变量的主要作用是改变动态库的加载顺序,让用户有选择的载入不同动态库中的相同函数。但是使用不当就会引起严重的安全问题,我们可以通过它在主程序和动态连接库中加载别的动态函数,这就给我们提供了一个机会,向别人的程序注入恶意的代码。
假设有以下用户名密码验证的函数:
#include#include #include int main(int argc, char **argv) { char passwd[] = "password"; if (argc < 2) { printf("Invalid argc!\n"); return; } if (!strcmp(passwd, argv[1])) { printf("Correct Password!\n"); return; } printf("Invalid Password!\n"); }
网页标题:增强Linux内核中访问控制安全的方法-创新互联
网站网址:http://scyanting.com/article/cdciji.html