-
公开(公告)号:CN114707143A
公开(公告)日:2022-07-05
申请号:CN202210253761.2
申请日:2022-03-15
Applicant: 中国科学院信息工程研究所
Abstract: 本发明提供一种内存数据损坏攻击的监测方法和装置,方法包括:对内存数据进行静态分析得到关键数据;在所述内存数据的内存读指令、函数调用指令和函数返回指令前插入标签检查指令,在所述内存数据的内存写指令前插入设置标签的指令,得到所述内存数据的可执行文件;执行所述可执行文件,根据所述关键数据的内存读指令、函数调用指令和函数返回指令的标签检查指令进行标签检查。本发明通过在内存数据中锁定关键数据,缩减保护数据量,提出了基于关键数据的数据流完整性防御机制,在程序运行时,更加高效地监测内存数据损坏攻击。
-
公开(公告)号:CN109409120B
公开(公告)日:2021-12-10
申请号:CN201710713347.4
申请日:2017-08-18
Applicant: 中国科学院信息工程研究所
IPC: G06F21/62
Abstract: 本发明提供一种面向Spark的访问控制方法,其步骤包括:识别访问Spark系统用户的身份信息,从访问控制策略集中找到所有相关的访问控制规则,将所述访问控制规则转化为安全控制规则;根据所述安全控制规则,对用户的逻辑计划进行安全重写,将所述逻辑计划变换成符合访问需求的安全逻辑计划;针对输入Spark系统的外部数据,保存其身份标识和结构信息;对所述安全逻辑计划进行优化,根据优化后的安全逻辑计划生成可运行代码,通过身份标识和结构信息选择控制外部数据,实现Spark数据处理的访问控制。本发明还提供一种面向Spark的访问控制系统。
-
公开(公告)号:CN113312082A
公开(公告)日:2021-08-27
申请号:CN202110483804.1
申请日:2021-04-30
Applicant: 中国科学院信息工程研究所
Abstract: 本发明提供一种二进制文件中混合在指令中的数据的识别方法及装置,涉及二进制技术领域,包括以下步骤:获取待执行的二进制文件;执行所述二进制文件,探索二进制文件的路径,当执行的二进制文件的代码片段访问原始的代码区域时,将访问原始的代码区域的所述代码片段确定为混合在指令中的数据;将所述混合在指令中的数据和二进制文件的原始数据段作为重写后二进制文件的数据段,本发明实现了二进制重写技术的准确性和完全性。
-
公开(公告)号:CN113296833A
公开(公告)日:2021-08-24
申请号:CN202110481096.8
申请日:2021-04-30
Applicant: 中国科学院信息工程研究所
Abstract: 本发明提供一种二进制文件中合法指令的识别方法及装置,涉及二进制技术领域,包括以下步骤获取待执行的二进制文件;沿着二进制文件的路径执行所述二进制文件的每一条路径,获取执行过的每一条路径中执行过的指令,在执行过程中根据代码块的状态标记代码块类型,对不同类型的所述代码块类型执行不同的迭代策略,识别所有潜在的间接控制流目标地址,并将所述潜在的间接控制流目标地址确定为所述二进制文件的路径的入口地址并继续探索,其中,所述执行过的指令为合法指令,本发明实现二进制重写技术的准确性和完全性。
-
公开(公告)号:CN109409084B
公开(公告)日:2021-06-25
申请号:CN201811108333.0
申请日:2018-09-21
Applicant: 中国科学院信息工程研究所
IPC: G06F21/54 , G06F16/901
Abstract: 本发明上述实施例提供一种检测返回地址被篡改的链式数据存储结构,本发明将返回地址和哈希值都通过一个链式数据存储结构来存储并验证,本发明实施例具有安全性高、性能损耗小、设计复杂度低等有益效果。
-
公开(公告)号:CN110716855B
公开(公告)日:2021-05-14
申请号:CN201910784021.X
申请日:2019-08-23
Applicant: 中国科学院信息工程研究所
IPC: G06F11/36
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寄存器,然后将影子缓存表中的该项缓存置为无效。这种方法能够加速函数体尾部对栈中返回地址和哈希值的校验,减少流水线停顿。
-
-
-
-
-
-
-
-
-