windows 7中内存保护机制不包括哪项技术?
发布网友
发布时间:2022-04-26 10:13
我来回答
共6个回答
热心网友
时间:2022-06-27 05:48
Windows操作系统为解决栈溢出漏洞的问题引入了一个对策——GS编译保护技术。
GS编译保护技术是通过编译时添加相关代码而实现的,开启GS 编译选项后会在函数的开头和结尾添加代码来阻止栈溢出漏洞的利用。当应用程序启动时,程序的cookie被计算出来(伪随机数)并保存在.data 节段中,在函数的开头这个 cookie 被拷贝到栈中,位于返回地址和局部变量的中间。
函数调用完后系统检测cookie值是否被修改。
1.2 绕过方法
计算/猜测cookie值
覆盖虚函数表
堆栈布局:[局部变量][cookie][入栈寄存器][返回地址][参数][虚表指针]。
覆盖对象和虚函表指针,如果你把这个指针指向一个用于欺骗的虚函数表,你就可以重定向这个虚函数的调用,并执行恶意的代码。
覆盖SHE
SEH句柄用于指向异常处理函数,这个句柄被存在SecurityCookie的上方,这使得攻击者不需要覆盖到SecurityCookie就可以修改SEH句柄指向的位置。
同时替换掉栈中和.data段中的cookie值
通过替换加载模块.data 节中的cookie 值(可写)来绕过栈上的 cookie 保护,并用相同的值替换栈中的cookie。
2 SafeSEH机制
2.1 基本原理
通过覆盖SEH可以绕过GS编译保护,所以微软又引入了一种SEH的安全校验机制——SafeSEH。
通过启用/SafeSEH编译选项来把这种机制应用到所有的执行模块上,当异常处理器被执行前,SafeSEH会验证异常处理链是否被修改过。系统会从头到尾遍历异常处理链表,并逐个验证它们的有效性。
如果覆盖SEH,这将破坏链表并触发SafeSEH机制。
2.2 绕过方法
利用未开启SafeSEH保护的模块
寻找程序中加载的未开启SafeSEH保护的模块来绕过,比如软件本身自带的dll文件。
利用堆绕过
SafeSEH允许其异常处理句柄位于除栈空间之外的非映像页面。如果你将shellcode写在堆空间中 ,再覆盖SEH链表的地址。使程序异常处理句柄指向堆空间,就可以绕过SafeSEH的检测了。
覆盖虚函数表(同上)
3 SEH覆盖保护
3.1 基本原理
SEH覆盖保护(SEHOP)可作为SEH的扩展,用于检测SEH是否被覆写。
SEHOP的核心特性是用于检测程序栈中的所有SEH结构链表的完整性,特别是对最后一个SHE结构的检测。在最后一个SEH结构中拥有一个特殊的异常处理函数指针,指向一个位于ntdll中的函数ntdll!FinalExceptHandler()。
3.2 绕过方法
利用未开启SEHOP保护的模块
覆盖虚函数表
伪造SEH链表
4 数据执行保护(DEP)
4.1 基本原理
数据执行保护 (DEP) 是一套软硬件技术,能够在内存上执行额外检查以防止在不可运行的内存区域上执行代码。
DEP 有两种模式,如果 CPU 支持内存页 NX 属性, 就是硬件支持的 DEP。如果 CPU 不支持, 那就是软件支持的 DEP 模式,这种 DEP 不能阻止在数据页上执行代码,但可以防止其他的 exploit(如SEH覆盖)。
4.2 绕过方法
ret2libc
ret2libc是一种通过retn指令在库函数中寻找可用代码的攻击方式。由于其所有代码都是从libc中找到的,所以不存在不可执行的问题。
关闭进程的DEP (NtSetInformationProcess)
因为 DEP 可以设置不同的模式,操作系统需要能动态关闭DEP,因此系统肯定有API来启用或关闭NX,如果黑客可以找到这个NTDLL中的 API,就能绕过硬件DEP保护。一个进程的DEP设置标志保存在内核结构中(KPROCESS结构),这个标志可以用函数NtQueryInformationProcess和NtSetInformationProcess通过设置ProcessExecuteFlags类来查询和修改,用内核调试器也可以达到同样的目的。
利用可写可执行内存
有些程序可能由于配置的问题或者其他原因,在进程中存在可读可写可执行的区域。如果攻击者可以将shellcode写入这部分空间中并劫持流程,就可以绕过DEP。
利用TEB突破DEP(局限于XP SP2以下的版本)
利用WPN与ROP技术
利用SEH
5 地址随机化(ASLR)
5.1 基本原理
ASLR(地址空间布局随机化)技术的主要功能是通过对系统关键地址的随机化,防止攻击者在堆栈溢出后利用固定的地址定位到恶意代码并加以运行。它主要对以下四类地址进行随机化:堆地址、栈基址、PE文件映像基址、PEB地址。
适用范围:Windows Vista,Windows 2008 server,Windows 7下是默认启用。
5.2 绕过方法
覆盖部分返回地址
虽然模块加载基地址发生变化,但是各模块的入口点地址的低字节不变,只有高位变化。部分返回地址覆盖,可以使得覆盖后的地址相对于基地址的距离是固定的,可以从基地址附近找可以利用的跳转指令。这种方法的通用性不是很强,因为覆盖返回地址时栈上的Cookie会被破坏。不过具体问题具体分析,为了绕过操作系统的安全保护机制需要考虑各种各样的情况。
热心网友
时间:2022-06-27 05:49
走七中内存的保护机制不受老师和禁用,这个肯定是不是病患者变换着他们的包括绩效技术是不都是比较好的。
热心网友
时间:2022-06-27 05:49
windows7系统中保护机制不包括自动调试筛选网络的技术。
这个技术需要网络驱动器进行自动的调试。
热心网友
时间:2022-06-27 05:50
WINDOWS 7中内存保护机制不包括哪项技术的话,你可以把选项列出来,我才给你可以给你答案
热心网友
时间:2022-06-27 05:51
很多技术都是属于不同的测试运动,和其他有很多的不同的措施。
热心网友
时间:2022-06-27 05:51
WINDOWS 7中内存保护机制应该是不会包括杀毒这一轮系统的
windows 7中内存保护机制不包括哪项技术?
数据执行保护 (DEP) 是一套软硬件技术,能够在内存上执行额外检查以防止在不可运行的内存区域上执行代码。DEP 有两种模式,如果 CPU 支持内存页 NX 属性, 就是硬件支持的 DEP。如果 CPU 不支持, 那就是软件支持的 DEP 模式,这种 DEP 不能阻止在数据页上执行代码,但可以防止其他的 exploit(如S...
win7电脑常识
4。安全工具和应用软件 由于有了内核式保护以及微软所做的其他改变,再怎样或是否允许应用程序和操作系统的核心功能进行交互方面,老的杀毒软件和其他安全软件不能和Windows 7兼容。 像McAfee、赛门铁克、趋势科技以及其他供应商,都提供和Windows 7兼容的版本,但如果你不想投入更多的钱,微软也提供免费的安全工具来保护你...
...daacfb"指令引用的”0x4b8b2c53"内存。该内存不能为“read”.要终...
在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。内存分配失败故障...
windows7 bitlocker 相关
通过加密整个Windows操作系统卷保护数据。 如果计算机安装了兼容TPM,BitLocker将使用TPM锁定保护数据的加密密钥。因此,在TPM已验证计算机的状态之后,才能访问这些密钥。加密整个卷可以保护所有数据,包括操作系统本身、Windows注册表、临时文件以及休眠文件。因为解密数据所需的密钥保持由TPM锁定,因此攻击者无法通过只是取出硬盘并...
应用程序错误:应用程序正常初始化(oxc0000142)失败
6、应用程序没有检查内存分配失败程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。内存不是永远都招之即来、用之不尽...
电脑内存问题,如图
真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会...
windows7这内存占用算正常吗??
win7的内存管理机制不同于XP的!win7内存管理机制是能更有效的使用物理内存,win7会先加载一些数据进入内存~一旦系统需要这些数据就可以直接调用~~这样的内存管理机制可以让系统反应更加灵敏~~~·所以不要太关心物理内存占用~~~我4G内存经常使用率过半~~~正常 你在载图时是不是开来了什么软件~~~进程...
DEP的安全机制
DEP(Data Execution Prevention)即“数据执行保护”,这是Windows的一项安全机制,主要用来防止病毒和其他安全威胁对系统造成破坏。微软从Windows XP SP2引入了该技术,并一直延续到此后的Windows Server 2003、Windows Server 2008中。毫无例外,在Windows 7中DEP也作为一项安全机制被引入进来。本文将对Windows ...
Win7旗舰版32位与64位的区别
没错,这种方法的确可行,于是现在有了一种名为PAE的技术,中文叫做物理地址扩展,这是硬件设备上提供的技术,不过这种技术需要系统的支持,比如32位的Windows Server 2003可以很好的支持这个技术,但是Vista的支持就不太好,至于Windows 7,大家可以用用看。 因此,不是说只要大于3G内存就必须装64位系统,这还得看你的实际...
该内存不能为READ怎么回事?
该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。 解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\winnt\...