如何在linux-kernel 4.18上注册一个带register_security的安全模块?

问题描述 投票:0回答:1

目前我正在尝试注册一个带有系统调用文件挂钩的linux安全模块。我似乎无法在任何地方找到register_security函数。有人可以告诉我它在哪里,是否仍然可以做这样的钩子。

这是我尝试过的。


#include <linux/module.h>    // included for all kernel modules
#include <linux/kernel.h>    // included for KERN_INFO
#include <linux/init.h>      // included for __init and __exit macros
#include <linux/security.h>
#include <linux/fs.h>
#include <linux/file.h>
#include <linux/lsm_hooks.h>

MODULE_LICENSE("GPL");


extern struct security_operations *security_ops;

int acl_file_open(struct file *file) {
    if (!file)
        return -1;

    printk(KERN_INFO "Ouverture de : %s", file->name);
    return 0;
}

static struct security_operations acl_ops = {
    .file_open = acl_file_open
};

static int __init acl_init(void)
{
    printk(KERN_INFO "Initialisation du module ACL...\n");

    if (register_security(&acl_ops)) {
        printk(KERN_INFO "Impossible de charger le module ACL\n");
        return 1;
    }

    printk(KERN_INFO "Module ACL charge\n");

    return 0;    // Non-zero return means that the module couldn't be loaded.
}

static void __exit acl_cleanup(void)
{
    printk(KERN_INFO "Cleaning up module.\n");
}

module_init(acl_init);
module_exit(acl_cleanup);
security linux-kernel hook system-calls kernel-module
1个回答
0
投票

这些天我想你可能想看看struct security_hook_listsecurity_add_hooks()

© www.soinside.com 2019 - 2024. All rights reserved.