【技术实现步骤摘要】
一种无人系统嵌入式处理器隐藏指令防御方法
[0001]本专利技术涉及领域为硬件安全领域,针对无人系统中采用的嵌入式处理器,对其代码指令进行检测,提出了一种隐藏指令防御框架,为后续嵌入式处理器的安全性分析提供了可靠的技术手段。
技术介绍
[0002]反汇编技术分为静态反汇编和动态反汇编两种。但是根据已知的反汇编工具的信息来看,目前反汇编技术还是以静态反汇编为主。因为静态反汇编可以在不执行代码的情况下对目标代码进行反汇编,适用的场景更广泛。除了传统的静态反汇编算法外,研究人员为了提高反汇编的覆盖率和准确度,以及应对不同的情况,还提出了许多改进办法。
[0003]Schwarz B等人重新讨论了可执行代码的反汇编工作,改进了传统的两种静态反汇编算法,并将其两种算法结合使用,产生可相互应证的反汇编代码,在优选算法的支撑下形成最优的反汇编代码。Ma等人通过堆栈指针来对程序分块,并通过模式匹配的方法来区分程序与数据,因为模式匹配方式只在特定情况有效,方法缺乏灵活性。Wu等人引入了汇编指令级的函数块划分思想,并利用置信度评估对函数 ...
【技术保护点】
【技术特征摘要】
1.一种无人系统嵌入式处理器隐藏指令防御方法,该方法包括:步骤1:隐藏指令挖掘隐藏指令指的是可以被处理器识别并执行,但它不包含在处理器厂商声明的指令集文档中,用E表示可以处理器可以执行的指令集合,D表示在处理器对应的指令集文档中声明的指令集合,则隐藏指令集合U可以表示为式(1);因此隐藏指令挖掘的实质就是在指令空间中找出指令集合U;首先需要选定特定的嵌入式处理器型号,并且生成指令搜索空间I
S
,I
S
(i)是指令搜索空间I
S
的第i条指令;其次应当根据反汇编工具依次对I
S
(i)进行反汇编,将没有反汇编结果的指令集合记作待测指令集合R
T
,R
T
(j)是R
T
的第j条指令;下一步在相应的处理器中对R
T
(j)进行运行测试,将处理器可以执行的指令记作隐藏指令H(k),H则是隐藏指令集合;最后将H的操作码、操作数等信息补充完整,保存至隐藏指令信息库H
D
中;步骤2:读取嵌入式设备中的用户设计首先需要选择提取的对象类型,也就是非易失存储器件F的种类为Flash和EEPROM;在非易失存储器件F中,数据的写入和读取都是以block作为单位进行的,记一个page中的字节数为page_size,一个sector含有的页数为page_number,一个block含有的扇区数目为sector_number,则一个block的字节数可以表示为式(2);block_bytes=page_size*page_number*sector_number
ꢀꢀꢀꢀ
(2)因此在读取存储器的时候,在一个block的字节全部读取完成之后,将其存放在之前设置的指针所指向的地址空间进行存储,然后再进行下一个block的读取;因此读取完成之后得到的数据文件File是非易失存储器件F存储的所有字节内容;步骤3:数据分析和处理在得到了File之后,接下来是对File中的数据进行分析和处理,得到程序代码的内容;可执行文件的数据内容采用分段管理的方式,用式(3)表示;File={Header,S1,S2,...S
i
...S
N
}
ꢀꢀꢀꢀ
(3)其中Header表示File的文件头信息,S
i
表示数据中的第i个Section,其中重要的Section包括:text、data和bss;text表示用来存放程序执行的指令部分,data表示用来存放程序中...
【专利技术属性】
技术研发人员:王坚,陈哲,郭世泽,李桓,唐豪,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。