指针认证失败检测制造技术

技术编号:40844959 阅读:23 留言:0更新日期:2024-04-01 15:13
基于检测存储器指针是否是由于指针认证(PA)失败而被无效化的来处置存储器故障。在对存储器指针的访问导致存储器故障后,检测存储器指针是否是由于PA失败而被无效化的包括:通过用默认值替换存储器指针的预留位来创建新的存储器指针,以及确定新的存储器指针与落入可执行存储器内的存储器地址对应。该确定包括确定存储器地址在可执行存储器页内、确定调用指令被存储在紧接在存储器地址之前的先前存储器地址处,和/或确定存储器地址与可执行文件的代码段对应。基于记录PA失败、终止应用程序和/或在被存储在存储器地址处的指令处恢复执行,来处置PA失败。

【技术实现步骤摘要】
【国外来华专利技术】


技术介绍

1、由于采用了可执行空间保护技术,诸如非执行(nx)位和数据执行保护(dep),因此攻击者难以将新的恶意代码直接插入程序的存储器空间中并执行该代码(例如,通过使用缓冲区溢出将新代码插入程序的数据堆栈上)。因此,许多现代攻击是使用面向返回的编程(rop)来执行的。利用rop,攻击者通过操纵程序的数据堆栈(例如,通过利用诸如缓冲区溢出等漏洞)来用攻击者选择的替换返回地址覆写返回地址,以使程序的控制流转向。当依赖于该返回地址的子例程退出时,替换返回地址会导致执行攻击者选择的可执行代码,该代码已存在于可执行存储器中。该攻击者选择的可执行代码通常处于程序代码本身内或链接库内。库通常包含可能使攻击者能够获得对计算机系统的更大访问权限的子例程和其他功能。

2、一些处理器,诸如英格兰剑桥的arm有限公司设计的处理器,包括对指针认证(pa)的支持,其可以用于减轻对程序数据堆栈的rop攻击。特别地,pa技术将创建已认证的指针的至少一条指令添加到处理器的指令集架构(isa)中(例如,arm isa中前缀为“pac”的指令)。例如,在arm处理器上,pac本文档来自技高网...

【技术保护点】

1.一种在包括处理器的计算机系统处被实现的方法,用于基于检测存储器指针是否是由于指针认证(PA)失败而被无效化的存储器故障处置,所述方法包括:

2.根据权利要求1所述的方法,其中所述存储器故障是存储器转换故障。

3.根据权利要求1所述的方法,所述方法由操作系统内核的存储器故障处置程序实现。

4.根据权利要求1所述的方法,其中所述方法仅在所述处理器被确定为具有PA能力时才检测所述存储器指针是否是由于PA失败而被无效化的。

5.根据权利要求1所述的方法,其中所述方法仅在PA特征被确定为针对所述应用程序被启用时才检测所述存储器指针是否是由于PA失...

【技术特征摘要】
【国外来华专利技术】

1.一种在包括处理器的计算机系统处被实现的方法,用于基于检测存储器指针是否是由于指针认证(pa)失败而被无效化的存储器故障处置,所述方法包括:

2.根据权利要求1所述的方法,其中所述存储器故障是存储器转换故障。

3.根据权利要求1所述的方法,所述方法由操作系统内核的存储器故障处置程序实现。

4.根据权利要求1所述的方法,其中所述方法仅在所述处理器被确定为具有pa能力时才检测所述存储器指针是否是由于pa失败而被无效化的。

5.根据权利要求1所述的方法,其中所述方法仅在pa特征被确定为针对所述应用程序被启用时才检测所述存储器指针是否是由于pa失败而被无效化的。

6.根据权利要求1所述的方法,其中基于所述应用程序以审计模式执行,处置所述pa失败包括:(i)记录所述pa失败,以及(ii)在被存储在所述存储器地址处的所述机器代码指令处恢复执行。

7.根据权利要求1所述的方法,其中基于所述应用程序以严格模式执行,处置所述pa失败包括:(i)记录所述pa失败,以及(ii)终止所述应用程序。

8.根据权利要求1所述的方法,其中

9.根据权利要求1所述的方法,其...

【专利技术属性】
技术研发人员:J·蔺J·林M·J·伍尔曼M·埃伊根
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1