gpt4 book ai didi

computer-architecture - NX 标志如何工作?

转载 作者:行者123 更新时间:2023-12-04 12:01:31 25 4
gpt4 key购买 nike

您能否解释一下 NX 标志是什么以及它是如何工作的(请具有技术性)?

最佳答案

它在虚拟内存系统和 TLB(CPU 用于解析虚拟内存映射的结构)中标记一个内存页面不可执行。如果要从这样的页面执行任何程序代码,CPU 将出错并将控制权转移到操作系统进行错误处理。

程序通常将其二进制代码和静态数据保存在只读存储器部分,如果它们试图在那里写入,CPU 会出错,然后操作系统通常会终止应用程序(这称为段错误或访问冲突) .

出于安全原因,程序的读/写数据存储器通常默认受 NX 保护。这可以防止攻击者将他的恶意代码作为数据提供给某些应用程序,使应用程序将其写入其数据区域,然后以某种方式执行该代码,通常是通过应用程序中的缓冲区溢出/下溢漏洞,覆盖函数的返回地址与数据区中恶意代码的位置堆栈。

一些合法的应用程序(尤其是高性能模拟器和 JIT 编译器)也需要执行它们的数据,因为它们在运行时编译代码,但它们专门分配内存而没有为此设置 NX 标志。

关于computer-architecture - NX 标志如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2168555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com