NX-bit

NX技术,全称为‘禁止执行’,是一种用于区分CPU内存区域为指令集存储或数据使用的安全技术。该技术通过在x86处理器页表索引中设置NX位元来实现,有效防止缓冲满溢攻击,确保程序安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://en.wikipedia.org/wiki/NX_bit

http://baike.soso.com/v5295598.htm

       NX,全名為“No eXecute”,即「禁止执行」,是应用在CPU的一种技术,用作把记忆体区域分隔为只供储存处理器指令集,或只供数据使用。任何使用NX技术的记忆体,代表仅供数据使用,因此处理器的指令集并不能在这些区域储存。这种技术可防止大多数的缓冲满溢攻击,即一些恶意程式,把自身的恶意指令集放在其他程式的数据储存区并执行,从而把整台电脑控制。

       类似的技术其实早已应用在SPARC、DEC AlphaIBM的PowerPC、甚至是英特尔的IA-64架构处理器Itanium上,但NX这个名称最先在AMD的Athlon 64、Opteron等支援AMD64的处理器上使用,并成为这些技术的代名词。

在x86处理器的页表索引中,NX位元置于63号的位置(以0作第一位),即64位中的最后一位,如果NX位元的数值是0(关闭),在页表内的指令集可正常执行,但如果是1(启动)的话则不能执行页表的指令集,并会把页表的一切皆当作数据。在格式上,页表需为PAE格式,而非x86传统的格式。

2001年,英特尔在自家的Itanium处理器加入这种技术,但未有在Pentium、Celeron、Xeon等x86处理器上使用。在AMD把NX应用在AMD64之后,英特尔也为Prescott版本的Pentium 4处理器加入类似技术,并以“XD”(eXecute Disable)的名义推出市场。在功能上,AMD的“NX”和Intel的“XD”完全相同,只是名称不同。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值