最新Linux内核NX实现技术分析Analysis of NX Implementation in Latest Linux Kernel
孙晨,雷英杰,路艳丽
摘要(Abstract):
NX(No eXecute)是一种通过将数据页标记为不可执行来防止恶意代码执行的硬件机制。对最新的Linux内核中NX实现技术进行了分析。首先,介绍了x86平台处理器的NX技术,给出了保护模式下的处理器启用物理地址扩展后,检测、打开该安全机制的方法及具体保护机理。其次,分析了最新的Linux 2.6.11.7内核检测、启动NX的过程,归纳了新的页面保护函数,阐明了页面异常的处理过程。最后,总结了实现NX的优点并指出了可能带来的问题。
关键词(KeyWords): 操作系统;Linux;NX技术;EDB
基金项目(Foundation):
作者(Author): 孙晨,雷英杰,路艳丽
参考文献(References):
- [1]Intel Corporation.Execute Disable Bit Functionality BlocksMalware Code Execution[K/OL].2004.http://cachewww.intel.com/cd/00/00/14/93/149307 149307.pdf.
- [2]Intel Corporation.IA 32 Intel Architecture Software Developer′s Mannual Volume 2A:Instruction Set Reference,AM[K/OL].2004.ftp://download.intel.com/design/Penti-um4/manuals/25366615.pdf.
- [3]毛德操,胡希明.Linux内核源代码情景分析[M].杭州:浙江大学出版社,2001.
- [4]http://www.kernel.org/pub/linux/kernel/v2.6/linux 2.6.11.7.tar.gz.
- [5]Ingo Molnar.[announce][patch]NX(No eXecute)sup-port for x86,2.6.7 rc2 bk2.2004.http://www.uwsg.iu.edu/hypermail/linux/kernel/0406.0/0497.html.
- [6]http://people.redhat.com/mingo/nx patches/nx 2.6.7rc2 bk2 AE.
- [7]Linus Torvalds.Re:[announce][patch]NX(No eXecute)support for x86,2.6.7 rc2 bk2.2004.http://www.uwsg.iu.edu/hypermail/linux/kernel/0406.0/0505.html.