System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 处理器及其跳转指令执行方法技术_技高网

处理器及其跳转指令执行方法技术

技术编号:40786954 阅读:5 留言:0更新日期:2024-03-28 19:18
本申请揭露一种处理器及其跳转指令执行方法。处理器包括执行单元。所述执行单元用以:执行跳转指令,其中,所述跳转指令的参数包含目的地寄存器、第一标签以及第二标签;判断所述目的地寄存器存储的跳转位址是否位于所述第一标签的位址以及所述第二标签的位址之间;以及当判断所述跳转位址位于所述第一标签的位址以及所述第二标签的位址之间,停用跳转合法检测并跳转到所述跳转位址。

【技术实现步骤摘要】

本专利技术涉及一种处理器及其跳转指令执行方法,更具体的涉及检测跳转导向编程(jump-oriented programming,jop)攻击的处理器及其跳转指令执行方法。


技术介绍

1、跳转导向编程(jump-oriented programming,jop)攻击是利用程序中的跳转指令(例如:arm的br、blr指令以及risc-v的jr、jalr等指令)来进行攻击。详细来说,当程序正常执行跳转指令时,程序将从跳转指令的指定寄存器中获得其跳转的目的地址,此时,若攻击者通过堆栈溢出的方式修改指定寄存器内容,将使得跳转的目的地址被篡改。通过前述篡改寄存器内容的方式,攻击者便能在程序执行过程中跳转到攻击者所构建的工具(gadget)的地址,进而进行jop攻击。而为了检测是否遭遇jop攻击,各种跳转合法检测(例如:分支目标识别(branch target identification,bti)检测)因此发展,其主要通过跳转后检测相应位址是否具有识别符(identification)作为是否可能遭遇jop攻击的依据。

2、然而,就程序设计的实务面来说,现有跳转合法检测(例如:bti检测)仅适用于跳转指令执行后跳转至不同函数(function)的情况,因识别符可插入在函数入口处(或接近入口处);换句话说,若是跳转指令执行后于相同函数下跳转,则现有的跳转合法检测(例如:bti检测)较难发挥作用或执行效益低,因判断识别符需插入的位置相当不易。据此,需要发展相关的跳转指令执行方法,以提升跳转指令执行效率同时降低jop攻击的可能性。p>

技术实现思路

1、本申请的一实施例涉及一种用于处理器的跳转指令执行方法,其特征在于,包括:执行跳转指令,其中,所述跳转指令的参数包含目的地寄存器、第一标签以及第二标签;判断所述目的地寄存器存储的跳转位址是否位于所述第一标签的位址以及所述第二标签的位址之间;当判断所述跳转位址位于所述第一标签的位址以及所述第二标签的位址之间,停用跳转合法检测并跳转到所述跳转位址。

2、本申请的另一实施例涉及一种处理器。所述处理器包括执行单元,用以:执行跳转指令,其中,所述跳转指令的参数包含目的地寄存器、第一标签以及第二标签;判断所述目的地寄存器存储的跳转位址是否位于所述第一标签的位址以及所述第二标签的位址之间;以及当判断所述跳转位址位于所述第一标签的位址以及所述第二标签的位址之间,停用跳转合法检测并跳转到所述跳转位址。

3、本申请的处理器及其跳转指令执行方法,可先通过标签匡列确认不须进行跳转合法检测的范围。接着,当判断跳转指令的跳转位址落在匡列范围内时,停用跳转合法检测后进行跳转;当判断跳转指令的跳转位址位在匡列范围外时,启用跳转合法检测后进行跳转,再进一步判断是否通过跳转合法检测。如此一来,针对被匡列的范围,可直接执行跳转以提升跳转指令执行效率,针对未被匡列的范围,仍可透过跳转合法检测判断是否遭遇jop攻击。

本文档来自技高网...

【技术保护点】

1.一种用于处理器的跳转指令执行方法,其特征在于,包括:

2.根据权利要求1所述的跳转指令执行方法,其特征在于,还包含:

3.根据权利要求2所述的跳转指令执行方法,其特征在于,启用所述跳转合法检测并跳转到所述跳转位址后,还包含:

4.根据权利要求3所述的跳转指令执行方法,其特征在于,判断是否具有所述合法识别符并根据判断的结果决定是否发出所述警示讯息的步骤还包含:

5.根据权利要求3所述的跳转指令执行方法,其特征在于,判断是否具有所述合法识别符并根据判断的结果决定是否发出所述警示讯息的步骤还包含:

6.根据权利要求2所述的跳转指令执行方法,其特征在于,启用所述跳转合法检测更包含:

7.根据权利要求1所述的跳转指令执行方法,其特征在于,还包含:

8.根据权利要求1所述的跳转指令执行方法,其特征在于,所述跳转指令的参数还包含范围模式,其中,所述第一标签的位址以及所述第二标签的位址根据所述范围模式决定。

9.根据权利要求1所述的跳转指令执行方法,其特征在于,所述跳转位址经过认证。

10.根据权利要求1所述的跳转指令执行方法,其特征在于,所述跳转合法检测包含分支目标识别(branch target identification,BTI)检测。

11.一种处理器,其特征在于,包括:

12.根据权利要求11所述的处理器,其特征在于,所述执行单元还用以:

13.根据权利要求12所述的处理器,其特征在于,启用所述跳转合法检测并跳转到所述跳转位址后,所述执行单元还用以:

14.根据权利要求13所述的处理器,其特征在于,所述执行单元还用以:

15.根据权利要求13所述的处理器,其特征在于,所述执行单元还用以:

16.根据权利要求12所述的处理器,其特征在于,所述执行单元还用以:

17.根据权利要求11所述的处理器,其特征在于,所述执行单元还用以

18.根据权利要求11所述的处理器,其特征在于,所述跳转指令的参数还包含范围模式,其中,所述第一标签的位址以及所述第二标签的位址根据所述范围模式决定。

19.根据权利要求11所述的处理器,其特征在于,所述跳转位址经过认证。

20.根据权利要求11所述的处理器,其特征在于,还包含:

...

【技术特征摘要】

1.一种用于处理器的跳转指令执行方法,其特征在于,包括:

2.根据权利要求1所述的跳转指令执行方法,其特征在于,还包含:

3.根据权利要求2所述的跳转指令执行方法,其特征在于,启用所述跳转合法检测并跳转到所述跳转位址后,还包含:

4.根据权利要求3所述的跳转指令执行方法,其特征在于,判断是否具有所述合法识别符并根据判断的结果决定是否发出所述警示讯息的步骤还包含:

5.根据权利要求3所述的跳转指令执行方法,其特征在于,判断是否具有所述合法识别符并根据判断的结果决定是否发出所述警示讯息的步骤还包含:

6.根据权利要求2所述的跳转指令执行方法,其特征在于,启用所述跳转合法检测更包含:

7.根据权利要求1所述的跳转指令执行方法,其特征在于,还包含:

8.根据权利要求1所述的跳转指令执行方法,其特征在于,所述跳转指令的参数还包含范围模式,其中,所述第一标签的位址以及所述第二标签的位址根据所述范围模式决定。

9.根据权利要求1所述的跳转指令执行方法,其特征在于,所述跳转位址经过认证。

10.根据权利要求1所述的跳转指令执...

【专利技术属性】
技术研发人员:张仕健段立德陈彦光
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1