开源!在 Linux 内核里跑 Lua-LSM 小程序,是什么样的体验?

简介: 不需要任何编译工具链,不需要安装额外软件。

Lua-LSM 是一个运行在内核态的访问控制框架,支持使用 Lua 小程序来编写安全策略并且挂载到 LSM 框架的任意关键路径上——不需要编译模块,不需要重启,热加载即刻生效。


⚡热加载    🔒沙盒运行   📝小程序    🛡️零重启

什么是 Lua-LSM?

LSM(Linux Security Module)是 Linux 内核早期版本就内置的安全框架。它在文件访问、进程权限变更、socket 创建等关键路径上预埋了钩子(hook),SELinux、AppArmor、Yama 等安全模块都跑在这个框架上。

传统的 LSM 模块开发需要编写 C 代码、和内核一起参与编译,不能作为模块动态拆卸,这里每一步都有门槛。

Lua-LSM 改变了这一点:编写一个安全策略小程序,通过 securityfs 接口写入内核,内核内置的 Lua 引擎会将其编译为字节码,经过预编译检查后挂载到 LSM 钩子上,运行在安全沙盒,避免内核 Crash。

从写脚本到策略生效, 最简单只需要一个  echo 命令,极大地降低了 LSM 访问控制的开发门槛。

典型场景

Lua-LSM 不是一个完整的安全解决方案,它是一个底层框架——让任何人可以用最低的成本在内核 LSM 关键路径上插入自定义逻辑。

  • 漏洞热缓解:内核漏洞曝光后、补丁到达前的窗口期,用几行 Lua 脚本挂载到 LSM 钩子上做拦截,无需重启系统。
  • 细粒度访问控制:对特定文件路径、特定进程属性的访问做精细化控制,比 SELinux 策略更轻量、更易维护。
  • 安全审计与日志:在 LSM 钩子上挂载审计逻辑,记录敏感操作的调用者、时间、参数,用于安全分析和溯源。
  • 多租户隔离增强:在容器宿主机上对非特权进程的敏感系统调用做额外限制,弥补 cgroup/namespace 的不足。

三分钟上手

不需要任何编译工具链,不需要安装额外软件。只要你的内核是 ANCK 6.6 且启用了 Lua-LSM,就可以开始。

示例:只允许 /etc/shadow 文件被访问三次

local kernel = require('kernel')
localfunction log(fmt, ...)
    local s = string.format('shadow_protect: ' .. fmt, ...)
    kernel.printk(s)
end
local function file_post_open(file, mask)
    local path = file:path()
    if path == "/etc/shadow"then
        local n = shared.dogs:incr('count')
        if n > 3 then
            log('%s %d Read deny, %s', current:comm(), n, path)
            return false
        end
    end
end
return {
    name = "shadow_protect",
    file_post_open = file_post_open
}

小程序加载

cat shadow_protect.lua > /sys/kernel/security/lua/register

此时对/etc/shadow 的前三次访问会被允许,从第四次开始的访问将被拒绝,返回 Operation not permitted。

小程序卸载

echo 'shadow_protect' > /sys/kernel/security/lua/unregister

小程序功能

这个示例在 file_post_open 钩子上挂载了一段逻辑:当任何用户任何进程尝试打开包含 /etc/shadow 路径的文件时,会维持一个计数,当计数大于 3 时,拒绝打开操作,即使 root 用户也受该策略控制。

架构一览

Lua-LSM 的体系架构以及在内核安全子系统中的位置如下:

借助 Lua 语言的语法和元编程能力,可以屏蔽掉 LSM 底层的复杂逻辑,lua-lsm 的目标是以最接近自然语言的方式高效开发 LSM 程序,支持需要快速响应又无需更新内核的安全威胁场景,比如系统实时防御和动态止血能力。

正式开源,欢迎参与

Lua-LSM 项目已在龙蜥社区(OpenAnolis)正式开源,代码已合入 Cloud Kernel (ANCK) 6.6 主线,路径为 security/lua 目录。

项目地址https://gitee.com/anolis/cloud-kernel

文档地址:https://github.com/openanolis/lua-lsm-kernel/wiki


Lua-LSM 是一个开源项目,我们欢迎所有形式的贡献:

  • 提交 Issue:如果你发现了 bug、有功能建议、或者觉得文档不够清晰,提一个 Issue 就是最大的帮助。
  • 提交 PR:如果你有好的想法,可以直接 Fork 仓库,修改后提交 PR。无论是修复 bug、增加 LSM 钩子支持、还是优化 Lua 引擎,我们都欢迎。
  • 小程序:哪怕你不改一行 C 代码,你也可以用 Lua 脚本编写实用的安全小程序。好用的脚本欢迎提交到社区,让更多人受益。

这是一个刚刚起步的项目,每一个关注它的人都是它早期最重要的贡献者。欢迎大家加入钉钉交流群(群号:162895003107)讨论 Lua-LSM 开源技术

📢 注意:Lua-LSM 目前仅在 Cloud Kernel (ANCK) 6.6 最新开发分支中可用,会在下个 Release 版本中发布。


本篇主要介绍了 Lua-LSM 及其架构等,在下一篇中,我们会用一个真实的安全漏洞场景,展示 Lua-LSM 如何在几十行脚本内完成对内核提权漏洞的热缓解。欢迎持续关注龙蜥不迷路。

—— 完 ——

相关文章
|
16天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23519 12
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
3天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
1215 7
|
5天前
|
人工智能 BI 持续交付
Claude Code 深度适配 DeepSeek V4-Pro 实测:全场景通关与真实体验报告
在 AI 编程工具日趋主流的今天,Claude Code 凭借强大的任务执行、工具调用与工程化能力,成为开发者与自动化运维的核心效率工具。但随着原生模型账号稳定性问题频发,寻找一套兼容、稳定、能力在线的替代方案变得尤为重要。DeepSeek V4-Pro 作为新一代高性能大模型,提供了完整兼容 Claude 协议的 API 接口,只需简单配置即可无缝驱动 Claude Code,且在任务执行、工具调用、复杂流程处理上表现极为稳定。
1368 3
|
9天前
|
人工智能 缓存 Shell
Claude Code 全攻略:命令大全 + 实战工作流(完整版)
Claude Code 是一款运行在终端环境下的 AI 编码助手,能够直接在项目目录中理解代码结构、编辑文件、执行命令、执行开发计划,并支持持久化记忆、上下文压缩、后台任务、多模型切换等专业能力。对于日常开发、项目维护、快速重构、代码审查等场景,它可以大幅减少手动操作、提升编码效率。本文从常用命令、界面模式、核心指令、记忆机制、图片处理、进阶工作流等维度完整说明,帮助开发者快速上手并稳定使用。
2516 4
|
3天前
|
人工智能 JSON BI
DeepSeek V4-Pro 接入 Claude Code 完全实战:体验、测试与关键避坑指南
Claude Code 作为当前主流的 AI 编程辅助工具,凭借强大的代码理解、工程执行与自动化能力深受开发者喜爱,但原生模型的使用成本相对较高。为了在保持能力的同时进一步降低开销,不少开发者开始寻找兼容度高、价格更友好的替代模型。DeepSeek V4 系列的发布带来了新的选择,该系列包含 V4-Pro 与 V4-Flash 两款模型,并提供了与 Anthropic 完全兼容的 API 接口,理论上只需简单修改配置,即可让 Claude Code 无缝切换为 DeepSeek 引擎。
930 0
|
20天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
6036 22
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
21天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
7289 18

热门文章

最新文章