首页
›
Linux内核与驱动
›
061-Linux内核系统调用
›
《Linux系统调用参数校验:内核模块安全增强》
VIP10
本课程属于:061-Linux内核系统调用
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux系统调用参数校验:内核模块安全增强
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
系统调用安全的重要性 · 参数校验在内核安全中的角色 · 课程目标与学习路径
课程导论
系统调用安全的重…
02
Linux系统调用基础
系统调用概念 · 系统调用号与表 · 用户态到内核态的切换流程
Linux
系统调用基础
03
系统调用参数传递机制
参数寄存器约定 · 参数传递路径 · 参数类型与大小限制
系统调用参数传递…
参数寄存器约定
04
常见系统调用漏洞案例
缓冲区溢出 · 整数溢出 · 空指针解引用
常见系统调用漏洞…
缓冲区溢出
05
内核模块开发环境搭建
内核源码获取 · 编译配置 · 模块编译与加载
内核模块开发环境…
内核源码获取
06
内核模块基础结构
模块入口/出口函数 · 许可证声明 · 模块参数
内核模块基础结构
模块入口
07
系统调用拦截技术
修改系统调用表 · kprobes机制 · ftrace框架
系统调用拦截技术
修改系统调用表
08
系统调用表保护
CR0寄存器写保护 · SELinux/AppArmor限制 · 内核锁定机制
系统调用表保护
CR0
09
参数校验基础
指针有效性检查 · 范围检查 · 类型检查
参数校验基础
指针有效性检查
10
用户空间指针安全
copy_from_user/cop… · access_ok宏 · __user注解
用户空间指针安全
copy
11
字符串参数校验
strncpy_from_user · 字符串长度限制 · 空终止符处理
字符串参数校验
strncpy
12
数值参数校验
整数溢出检测 · 符号检查 · 边界值测试
数值参数校验
整数溢出检测
13
数组与缓冲区参数校验
数组索引验证 · 缓冲区大小匹配 · 零长度与负长度处理
数组
缓冲区参数校验
14
枚举与标志位参数校验
合法值范围检查 · 位掩码验证 · 保留位清零
枚举
标志位参数校验
15
文件路径参数校验
路径长度限制 · 路径遍历防护 · 符号链接检查
文件路径参数校验
路径长度限制
16
网络相关参数校验
套接字选项验证 · 地址族检查 · 端口范围限制
网络相关参数校验
套接字选项验证
17
进程与用户ID参数校验
PID有效性检查 · UID/GID范围验证 · 命名空间感知
ID
进程
18
时间与定时器参数校验
时间值合理性检查 · 定时器溢出防护 · 时钟源验证
时间
定时器参数校验
19
权限与能力参数校验
capable()函数使用 · capability位检查 · 最小权限原则
权限
能力参数校验
20
并发与竞态条件防护
自旋锁使用 · RCU机制 · 原子操作
并发
竞态条件防护
21
错误处理与返回值设计
错误码选择原则 · errno映射 · 部分成功处理
错误处理
返回值设计
22
日志与审计
printk等级控制 · 结构化日志 · 审计事件记录
日志
审计
23
单元测试框架
kunit测试框架 · 测试用例编写 · 模拟用户空间调用
单元测试框架
kunit
24
模糊测试(Fuzzing)
syzkaller使用 · 测试用例生成 · 崩溃分析
Fuzzing
模糊测试
25
静态分析工具
sparse · smatch · cppcheck
静态分析工具
sparse
26
动态分析工具
KASAN · UBSan · KMSAN
动态分析工具
KASAN
27
安全编码规范
Linux内核编码风格 · 安全函数替代(如strlcpy vs… · 防御性编程
安全编码规范
Linux
28
案例实战一
实现一个安全的系统调用拦截模块(参数…
案例实战一
实现一个安全的系…
29
案例实战二
修复一个已知漏洞系统调用(如ioct…
案例实战二
ioct
30
课程总结与进阶方向
内核安全社区资源 · CVE跟踪 · 进一步学习路径
课程总结
进阶方向
所属VIP或分类
同VIP:eBPF-kprobe追踪系统调用:内核动态插桩方法
同VIP:Linux系统调用开发调试与性能分析
同VIP:Linux系统调用源码分析与全链路追踪