扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
四.实现
这一段我们来实现我们刚才提出的在linux系统下建立参考监视器的设想。开始我们将描述一个访问控制功能函数,这个功能函数包括增加到内核的访问控制数据库(ACD)的数据结构定义。这个新的系统调用来读,写和升级ACD和参考功能函数。还会附有check_rootproc的代码。
4.1 认证功能函数
访问控制数据库包括一个关于每一个系统调用的参考监视器。在这里,只有两个主要的数据结构起作用,一个叫做setuid_acd用来检查对setuid的系统调用,一个是execve_acd来检查对execve的系统调用。这两个结构都在下面的图2中列出。
|
Setuid_acd只包括串rpasswd,用来保存在内核存储的加密root密码。这是用来健壮性的对setuid系统调用认证进行实现的。Execve_acd包括两个eflst_t结构的数组:
Admitted:在这个结构里提供了一个入口给可执行的文件F,一个setuid程序需要通过执行F来调用execve。在入口里存储了所有的调用F的setuid程序的列表。
Failure:这里保存了一些没有得到认证的利用setuid进程来调用execve尝试的日志。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者