-
公开(公告)号:CN111898120B
公开(公告)日:2023-10-10
申请号:CN202010611766.9
申请日:2020-06-29
Applicant: 中国科学院信息工程研究所
IPC: G06F21/52
Abstract: 本发明实施例提供一种控制流完整性保护方法及装置,该方法包括:获取待保护程序的控制流图,确定所有间接分支指令和对应的合法目标地址;在每个合法目标地址前插入带有标签信息的NOP指令,并将对应的间接分支指令的跳转目标地址,指向NOP指令所在地址,所述标签信息根据间接分支指令所在地址确定;其中,NOP指令用于间接分支指令执行时,通过验证NOP指令中的标签信息和间接分支指令的源地址一致后,执行跳转后的指令。由于每个合法目标地址前插入带有标签信息的NOP指令,可以对不同间接转移的合法目的地址进行区分,实现了细粒度的控制流完整性保护;通过NOP指令实现,硬件开销小,不影响性能,并且具有较好的兼容性。
-
公开(公告)号:CN110569065B
公开(公告)日:2021-08-17
申请号:CN201910670455.7
申请日:2019-07-24
Applicant: 中国科学院信息工程研究所
IPC: G06F9/30
Abstract: 本发明实施例提供一种基于域填充的处理器指令编码自动生成方法及装置,所述方法包括:获取目标处理器指令集手册中所有的译码图‑译码表对,对所有的译码图‑译码表对进行预处理,将所有经过预处理的译码图‑译码表对存储至一个文件中,获得预处理文件;对预处理文件中的任一译码图‑译码表对,根据该译码图‑译码表对中包含的信息进行固定域和变化域的填充,生成该译码图‑译码表对的所有已定义和未定义指令编码,将该译码图‑译码表对从预处理文件中删除,并判断预处理文件是否为空,若预处理文件不为空,则对预处理文件中的下一译码图‑译码表对执行所有已定义和未定义指令编码的生成操作。本发明实施例能够高效、自动地生成处理器指令编码。
-
公开(公告)号:CN110362502B
公开(公告)日:2021-05-04
申请号:CN201910559287.4
申请日:2019-06-26
Applicant: 中国科学院信息工程研究所
IPC: G06F12/0804 , G06F12/0891 , G06F12/0893
Abstract: 本发明实施例提供的链式哈希栈的影子缓存优化方法和装置,添加了一个影子缓存表,当调用子函数时,保存子函数头部哈希运算的输入(返回地址和哈希值),记录该项为有效,然后指针指向最近更新的缓存项的下一项。当函数返回时,查询最近一次有效的缓存项。如果此时的输入(从栈中取出的返回地址和哈希值)与影子缓存最新的有效项相同,则不需要进行哈希计算,而是直接用影子缓存表中的缓存项来更新top寄存器,然后将影子缓存表中的该项缓存置为无效。这种方法能够加速函数体尾部对栈中返回地址和哈希值的校验,减少流水线停顿。
-
公开(公告)号:CN110688304B
公开(公告)日:2021-04-27
申请号:CN201910813443.5
申请日:2019-08-30
Applicant: 中国科学院信息工程研究所
IPC: G06F11/36
Abstract: 本发明实施例提供一种处理器指令集的完备性检测方法、装置与电子设备,其中该方法包括:获取处理器指令集中所有的指令编码,并基于此分别计算所述处理器指令集的预期指令总条数和理论实际指令总条数;若所述理论实际指令总条数与所述预期指令总条数不相等,则对所有指令编码进行重叠性聚类处理,并通过计算每个类中的重叠指令条数,计算被重复计算的指令总条数;基于所述理论实际指令总条数和所述被重复计算的指令总条数,计算真实实际指令总条数,并判断所述真实实际指令总条数与所述预期指令总条数是否相等,若是,则判定所述处理器指令集是完备的,否则,判定不完备。本发明实施例能够有效消除计算误差,从而有效提高检测结果的准确性。
-
公开(公告)号:CN112269716A
公开(公告)日:2021-01-26
申请号:CN202011183673.7
申请日:2020-10-29
Applicant: 中国科学院信息工程研究所
IPC: G06F11/30
Abstract: 本发明提供一种灵活定义的处理器异常访问实时监测方法及电子装置,包括:将设定敏感地址写入敏感地址域;当一应用程序启动后,获取该应用程序的敏感地址,并将该应用程序的进程号及敏感地址写入敏感地址域;若任一应用程序运行中生成的地址与敏感地址域中的敏感地址匹配成功,则将包含地址信息的内存监控请求发送至控制端;该控制端根据内存监控请求中的地址信息,开启相应的内存监控。本发明独立于计算核且可灵活配置,能够不受计算核影响自由且合理地配置于其指令流水线中的流水级,实时地将异常访存行为进行内存监控,从而在保证处理器安全性的同时提高处理器内存监控的效率,减少其性能开销。
-
公开(公告)号:CN111898120A
公开(公告)日:2020-11-06
申请号:CN202010611766.9
申请日:2020-06-29
Applicant: 中国科学院信息工程研究所
IPC: G06F21/52
Abstract: 本发明实施例提供一种控制流完整性保护方法及装置,该方法包括:获取待保护程序的控制流图,确定所有间接分支指令和对应的合法目标地址;在每个合法目标地址前插入带有标签信息的NOP指令,并将对应的间接分支指令的跳转目标地址,指向NOP指令所在地址,所述标签信息根据间接分支指令所在地址确定;其中,NOP指令用于间接分支指令执行时,通过验证NOP指令中的标签信息和间接分支指令的源地址一致后,执行跳转后的指令。由于每个合法目标地址前插入带有标签信息的NOP指令,可以对不同间接转移的合法目的地址进行区分,实现了细粒度的控制流完整性保护;通过NOP指令实现,硬件开销小,不影响性能,并且具有较好的兼容性。
-
公开(公告)号:CN110175047A
公开(公告)日:2019-08-27
申请号:CN201910323866.9
申请日:2019-04-22
Applicant: 中国科学院信息工程研究所
IPC: G06F9/30
Abstract: 本发明实施例提供一种处理器指令编码的自动生成方法及装置,所述方法包括:从目标处理器指令集的手册中获取所有位编码表,对每张所述位编码表进行预处理,以使得每张经过预处理的位编码表包括表名、位编码高位、位编码低位、表项名以及所述表项名所对应的位编码;将所有经过预处理的位编码表存储至一个文件中,获得位编码表文件,基于所述位编码表文件构建多叉树;遍历所述多叉树,获取所述处理器指令集手册中所有已定义指令编码和未定义指令编码。本发明实施例提供了高效的、通用的、自动的处理器指令编码生成方法,与具体的处理器指令集类型无关,只与位编码表文件有关。
-
-
公开(公告)号:CN119829341A
公开(公告)日:2025-04-15
申请号:CN202411632372.6
申请日:2024-11-15
Applicant: 中国科学院信息工程研究所
IPC: G06F11/22
Abstract: 本发明涉及计算机技术领域,提供一种处理器模糊测试的测试指令生成方法、装置、设备和介质,该方法包括:基于测试模板和测试模板的测试环境相对应的第一测试指令,生成初始测试指令文件;通过指令模拟器执行初始测试指令文件,得到执行结果;基于执行结果和历史指令的历史执行结果的比较结果,确定待测处理器的模糊测试的目标测试指令。本发明避免随机生成测试指令的重复性和单一性,提高了处理器模糊测试的效率和准确性以及进一步探测到处理器设计中的深层次漏洞。
-
公开(公告)号:CN114707143B
公开(公告)日:2024-08-09
申请号:CN202210253761.2
申请日:2022-03-15
Applicant: 中国科学院信息工程研究所
Abstract: 本发明提供一种内存数据损坏攻击的监测方法和装置,方法包括:对内存数据进行静态分析得到关键数据;在所述内存数据的内存读指令、函数调用指令和函数返回指令前插入标签检查指令,在所述内存数据的内存写指令前插入设置标签的指令,得到所述内存数据的可执行文件;执行所述可执行文件,根据所述关键数据的内存读指令、函数调用指令和函数返回指令的标签检查指令进行标签检查。本发明通过在内存数据中锁定关键数据,缩减保护数据量,提出了基于关键数据的数据流完整性防御机制,在程序运行时,更加高效地监测内存数据损坏攻击。
-
-
-
-
-
-
-
-
-