-
公开(公告)号:CN110362503A
公开(公告)日:2019-10-22
申请号:CN201910559289.3
申请日:2019-06-26
Applicant: 中国科学院信息工程研究所
IPC: G06F12/0804 , G06F12/0895
Abstract: 本发明实施例提供了一种链式哈希栈的优化方法及系统,通过为链式哈希栈配置发射队列,实现链式哈希栈上的返回地址的错位存储,原本函数返回必定经过的校验运算也大都被消除掉了,提高了链式哈希栈的运行速度,本发明实施例中使用较小的硬件开销,起到了很好的加速效果。
-
-
-
公开(公告)号:CN109409086A
公开(公告)日:2019-03-01
申请号:CN201811109582.1
申请日:2018-09-21
Applicant: 中国科学院信息工程研究所
IPC: G06F21/54 , G06F16/901
Abstract: 本发明实施例提供一种基于新增指令的检测堆栈中返回地址被篡改的装置,本发明将返回地址和哈希值都通过一个链式结构来存储并验证,本发明实施例具有安全性高、性能损耗小、设计复杂度低等有益效果。
-
公开(公告)号:CN109409084B
公开(公告)日:2021-06-25
申请号:CN201811108333.0
申请日:2018-09-21
Applicant: 中国科学院信息工程研究所
IPC: G06F21/54 , G06F16/901
Abstract: 本发明上述实施例提供一种检测返回地址被篡改的链式数据存储结构,本发明将返回地址和哈希值都通过一个链式数据存储结构来存储并验证,本发明实施例具有安全性高、性能损耗小、设计复杂度低等有益效果。
-
公开(公告)号:CN110348250B
公开(公告)日:2020-12-29
申请号:CN201910559199.4
申请日:2019-06-26
Applicant: 中国科学院信息工程研究所
IPC: G06F21/72
Abstract: 本发明实施例提供一种多链式哈希栈的硬件开销优化方法及系统,该方法包括:在硬件上添加发射队列;其中,发射队列包括顺序排列的多个项目,每一个项目代表一条链式哈希栈,每一条链式哈希栈用于存储一次哈希运算的输入及输出;当哈希运算的输入送入发射队列中对应的项目时,将该项目置为排队计算状态;当哈希模块结束计算状态后,查询发射队列中是否还存在处于排队计算状态的项目;若存在,则哈希模块根据排队顺序计算下一个项目中的哈希运算。本发明实施例相比于现有技术中使用N倍哈希模块的技术方案减少了硬件开销,起到了多链和影子缓存的加速效果。
-
公开(公告)号:CN111898130A
公开(公告)日:2020-11-06
申请号:CN202010600005.3
申请日:2020-06-28
Applicant: 中国科学院信息工程研究所
IPC: G06F21/57
Abstract: 本发明实施例提供一种细粒度控制流完整性保护实现方法及系统。该方法包括:获取目标程序中若干代码片段的合法间接控制流;基于所述合法间接控制流,将对应于每一个代码片段的跳转地址替换为控制流指令地址的预设低位编码;为每一个代码片段添加预设空指令作为间接控制流的合法跳转目的标记。本发明实施例通过将程序运行中的代码片段之间的跳转地址标签替换为跳转指令自身地址的低位编码,使得内存运行的硬件开销大幅降低,同时提升了安全性。
-
公开(公告)号:CN110363006A
公开(公告)日:2019-10-22
申请号:CN201910559217.9
申请日:2019-06-26
Applicant: 中国科学院信息工程研究所
Abstract: 本发明实施例提供一种多链哈希栈结构及检测函数返回地址被篡改的方法,所述多链哈希栈结构包括:N条链式结构,每条链式结构对应一个用于存储哈希值的top寄存器,多链哈希栈结构的任一帧中存储了当前帧所对应的函数体的返回地址和当前帧所在链式结构所对应的top寄存器中的哈希值;其中,当前帧所在的链式结构是根据当前帧所对应的函数体在多链哈希栈结构中的深度来确定的;当前帧所在链式结构所对应的top寄存器存储的是所述当前帧所在链式结构上的最新的哈希值;N为大于1的自然数。本发明实施例有效地缓解了由于相近的哈希运算的冲突造成的流水线停顿,减少了链式哈希栈的性能损耗。
-
公开(公告)号:CN110362502A
公开(公告)日:2019-10-22
申请号:CN201910559287.4
申请日:2019-06-26
Applicant: 中国科学院信息工程研究所
IPC: G06F12/0804 , G06F12/0891 , G06F12/0893
Abstract: 本发明实施例提供的链式哈希栈的影子缓存优化方法和装置,添加了一个影子缓存表,当调用子函数时,保存子函数头部哈希运算的输入(返回地址和哈希值),记录该项为有效,然后指针指向最近更新的缓存项的下一项。当函数返回时,查询最近一次有效的缓存项。如果此时的输入(从栈中取出的返回地址和哈希值)与影子缓存最新的有效项相同,则不需要进行哈希计算,而是直接用影子缓存表中的缓存项来更新top寄存器,然后将影子缓存表中的该项缓存置为无效。这种方法能够加速函数体尾部对栈中返回地址和哈希值的校验,减少流水线停顿。
-
公开(公告)号:CN109409085A
公开(公告)日:2019-03-01
申请号:CN201811108399.X
申请日:2018-09-21
Applicant: 中国科学院信息工程研究所
IPC: G06F21/54 , G06F16/901
Abstract: 本发明上述实施例提供一种处理堆栈中返回地址被篡改的方法及装置,本发明将返回地址和哈希值都通过一个链式结构来存储并验证,本发明实施例具有安全性高、性能损耗小、设计复杂度低等有益效果。
-
-
-
-
-
-
-
-
-