我编写了一个内核模块,用安全强制代码替换 Linux 内核服务例程(例如系统调用),类似于 SELinux 或 AppArmor,主要例外是动态规则集控制和大数据集成。
从安全角度来看,从应用程序使用操作系统服务的唯一方法是通过我的监督代码,该代码受内核的本机 ASLR(地址空间布局随机化)保护并且是只读的。
由于代码和系统调用被标记为只读,它们只能被另一个内核模块绕过,而大多数利用场景下未经批准无法加载。
内核模块与 MongoDB 进行通信、发送日志并动态接收规则。
结果是每个操作系统服务(例如磁盘/文件访问)都会被记录,并且如果应用了阻止规则则可以停止这些服务。
代码从内核继承了 GPL 许可证,因此类似产品也应该是 GPL。
是否有任何可扩展的方法来实现如上所述的结果?
{
"process": "cat",
"pid": 14975,
"accessed file": "/etc/passwd",
"user id": 1000
}