控制流完整性保护方法、装置、设备及存储介质

    公开(公告)号:CN111898119B

    公开(公告)日:2024-08-09

    申请号:CN202010599864.5

    申请日:2020-06-28

    Abstract: 本发明实施例提供一种控制流完整性保护方法、装置、设备及存储介质,所述方法包括:将待保护程序的控制流中的当前间接分支指令的所有合法目标地址的预设位更改至相同;将当前间接分支指令的当前目标地址的预设位改写为与合法目标地址的预设位相同,以使待保护程序在当前目标地址被篡改时终止执行。本发明实施例通过将当前间接分支指令的所有合法目标地址的预设位更改至相同;并将当前目标地址的预设位改写为与合法目标地址的预设位一致,用预设位覆盖操作替代传统的标签比对,减小性能开销,提高攻击防御效率;使程序被篡改时由于目标指令的错误而触发异常终止执行,实现了细粒度控制流完整性保护,提高了控制流完整性保护的安全性与可靠性。

    一种链式哈希栈运算方法及装置

    公开(公告)号:CN111680289B

    公开(公告)日:2023-04-14

    申请号:CN202010357761.8

    申请日:2020-04-29

    Abstract: 本发明实施例提供一种链式哈希栈运算方法及装置,该方法包括在函数调用时,将处理器保留栈中目标数据项返回地址保存到栈中,并用新的返回地址覆盖处理器保留栈中目标数据项返回地址;将目标数据项指向下一项,得到新的目标数据项,直至处理器保留栈存满新的返回地址;若依然存在函数调用,则将处理器保留栈中保存的所有返回地址进行批量哈希运算,得到当前哈希值信息。在函数返回时没有进入过栈中的处理器保留栈的返回地址直接用于函数返回,并用栈中取出的返回地址覆盖它。直到取出栈中的返回地址覆盖了处理器保留栈的初始数据项时,对处理器保留栈中的多个返回地址进行一次哈希校验。这种方式有效降低了处理器的功耗和性能损耗。

    多链哈希栈结构及检测函数返回地址被篡改的方法

    公开(公告)号:CN110363006B

    公开(公告)日:2020-12-18

    申请号:CN201910559217.9

    申请日:2019-06-26

    Abstract: 本发明实施例提供一种多链哈希栈结构及检测函数返回地址被篡改的方法,所述多链哈希栈结构包括:N条链式结构,每条链式结构对应一个用于存储哈希值的top寄存器,多链哈希栈结构的任一帧中存储了当前帧所对应的函数体的返回地址和当前帧所在链式结构所对应的top寄存器中的哈希值;其中,当前帧所在的链式结构是根据当前帧所对应的函数体在多链哈希栈结构中的深度来确定的;当前帧所在链式结构所对应的top寄存器存储的是所述当前帧所在链式结构上的最新的哈希值;N为大于1的自然数。本发明实施例有效地缓解了由于相近的哈希运算的冲突造成的流水线停顿,减少了链式哈希栈的性能损耗。

    控制流完整性保护方法、装置、设备及存储介质

    公开(公告)号:CN111898119A

    公开(公告)日:2020-11-06

    申请号:CN202010599864.5

    申请日:2020-06-28

    Abstract: 本发明实施例提供一种控制流完整性保护方法、装置、设备及存储介质,所述方法包括:将待保护程序的控制流中的当前间接分支指令的所有合法目标地址的预设位更改至相同;将当前间接分支指令的当前目标地址的预设位改写为与合法目标地址的预设位相同,以使待保护程序在当前目标地址被篡改时终止执行。本发明实施例通过将当前间接分支指令的所有合法目标地址的预设位更改至相同;并将当前目标地址的预设位改写为与合法目标地址的预设位一致,用预设位覆盖操作替代传统的标签比对,减小性能开销,提高攻击防御效率;使程序被篡改时由于目标指令的错误而触发异常终止执行,实现了细粒度控制流完整性保护,提高了控制流完整性保护的安全性与可靠性。

    一种链式哈希栈运算方法及装置

    公开(公告)号:CN111680289A

    公开(公告)日:2020-09-18

    申请号:CN202010357761.8

    申请日:2020-04-29

    Abstract: 本发明实施例提供一种链式哈希栈运算方法及装置,该方法包括在函数调用时,将处理器保留栈中目标数据项返回地址保存到栈中,并用新的返回地址覆盖处理器保留栈中目标数据项返回地址;将目标数据项指向下一项,得到新的目标数据项,直至处理器保留栈存满新的返回地址;若依然存在函数调用,则将处理器保留栈中保存的所有返回地址进行批量哈希运算,得到当前哈希值信息。在函数返回时没有进入过栈中的处理器保留栈的返回地址直接用于函数返回,并用栈中取出的返回地址覆盖它。直到取出栈中的返回地址覆盖了处理器保留栈的初始数据项时,对处理器保留栈中的多个返回地址进行一次哈希校验。这种方式有效降低了处理器的功耗和性能损耗。

    多链式哈希栈的硬件开销优化方法及系统

    公开(公告)号:CN110348250A

    公开(公告)日:2019-10-18

    申请号:CN201910559199.4

    申请日:2019-06-26

    Abstract: 本发明实施例提供一种多链式哈希栈的硬件开销优化方法及系统,该方法包括:在硬件上添加发射队列;其中,发射队列包括顺序排列的多个项目,每一个项目代表一条链式哈希栈,每一条链式哈希栈用于存储一次哈希运算的输入及输出;当哈希运算的输入送入发射队列中对应的项目时,将该项目置为排队计算状态;当哈希模块结束计算状态后,查询发射队列中是否还存在处于排队计算状态的项目;若存在,则哈希模块根据排队顺序计算下一个项目中的哈希运算。本发明实施例相比于现有技术中使用N倍哈希模块的技术方案减少了硬件开销,起到了多链和影子缓存的加速效果。

Patent Agency Ranking