代码签名
- bootloader 较早一级验证下一级代码
- Google 自签名,IOS企业签名
加固堆缓冲区
- 加固dlmalloc,例子:双链表结点删除技术
防止整数溢出
- safe_iop 安全整数运算库
阻止数据执行
- 使栈中的数据或者堆中的数据不可执行
- 程序头GNU_STACK,可以被设置成是否可执行
地址空间布局随机化 ASLR
栈Cookie
保护格式化字符串
- 在编译时,直接加上检测参数
只读GOT表,
沙盒
- 权限管理,用户分离
增强源代码
访问控制技术
- 分布式控制访问,集中式控制访问
unix文件权限 SELinux
保护内核
- 减少普通用户直接获取内核调试信息,/proc/kallsyms,设置项:kptr_restrict,dmesg_restrict
- 保护零地址页