您的位置:首页 > 其它

内核驱动漏洞与攻击预防-MJ0011

2016-03-31 16:06 288 查看
总结:

1. 不要使用MmIsAddressValid函数,这个函数对于校验内存没有任何意义

2. 一定要保证在try_execpt内完成你所有对于用户态内存的任何操作

3.留心长度为0的缓存、为NULL的缓存指针和缓存对齐

4.不正确的内核函数调用引发的问题

5.给驱动提供的功能性接口必须小心

6.设备控制尽量使用BUFFERED IO,而且一定要使用SystemBuffer,如果不能用BUFFERED IO,对于UserBuffer必须非常小心地Probe

7.QA使用verifier和Fuzz工具

Verifier

自动检测(驱动卸载后,资源是否释放,内存使用与IRQL,SPINLOCK使用等)

IRQL检测(不同IRQL与分页内存的访问)

低资源模拟

POOL跟踪内存泄露

死锁检测

安全检测(内核访问用户态地址等)

ioctl fuzzer/BSOD HOOK

原文档:内核驱动漏洞与攻击预防–by MJ0011
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: