运行时指令重组方法及装置制造方法及图纸

技术编号:9159794 阅读:251 留言:0更新日期:2013-09-14 12:02
运行时指令重组方法,包括:缓存指令运行环境;获取待调度的机器指令片段;在所述获取的机器指令片段的最后一条指令前,插入第二跳转指令,所述第二跳转指令指向指令重组平台的入口地址,生成具有地址A"的重组指令片段;将所述缓存的指令运行环境中的地址寄存器的值A修改为地址A";恢复所述指令运行环境。运行时指令重组装置,包括:指令运行环境缓存和恢复单元,适于缓存和恢复指令运行环境;指令获取单元,适于获取待调度的机器指令片段;指令重组单元,适于生成具有地址A"的重组指令片段;和指令替换单元,适于将所述缓存的指令运行环境中的地址寄存器的值修改为重组指令片段的地址。完成了对计算设备的运行时指令的监视和控制。

【技术实现步骤摘要】
【国外来华专利技术】运行时指令重组方法及装置
本专利技术涉及计算设备的指令处理,尤其涉及一种运行时指令重组方法及装置。
技术介绍
计算机在运行过程中是软件指挥硬件并产生执行效果的过程。可是,计算机在运行过程中,由于编码错误、系统后门、程序漏洞、恶意代码等,造成计算机运行的结果不全是或者完全不是用户的预期结果。为了解决这种问题,现有技术中提供了多种方法,比如静态代码分析、漏洞检测、建立恶意代码黑名单(即杀病毒软件)。但是,静态的代码检测只能检测代码的逻辑编写和参数定义的正确性,即只能进行语法分析;漏洞检测也只是在静态的基础上进行多种逻辑尝试希望从中找到逻辑漏洞,众所周知,建立黑名单的方法只能解决有限问题。上述方法不能解决当前存在的问题的原因在于其不是针对运行时指令进行分析。所以,现有技术仍缺乏一种对计算设备的运行时指令进行监控的方法。
技术实现思路
本专利技术解决的问题是提供一种运行时指令重组方法及装置,监视和控制计算设备的运行时指令。为了解决上述问题,本专利技术的实施例中提供了一种运行时指令重组方法,包括:缓存指令运行环境;获取待调度的机器指令片段;在所述获取的机器指令片段的最后一条指令前,插入第二跳转指令,所述第二跳转指令指向指令重组平台的入口地址,生成具有地址A"的重组指令片段;将所述缓存的指令运行环境中的地址寄存器的值A修改为地址A";恢复所述指令运行环境。所述指令运行环境中的地址寄存器的值为修改后的值。可选的,获取待调度的机器指令片段包括:从CPU地址寄存器读取待调度的机器指令地址;从所述机器指令地址读取机器指令片段,所述机器指令片段最后一条指令为跳转指令。可选的,从所述机器指令地址读取机器指令片段包括:检索所述机器指令地址对应的机器指令,直到发现第一个跳转指令;所述跳转指令包括Jump指令和Call指令。可选的,在缓存指令运行环境之后,获取待调度的机器指令片段之前,还包括:利用所述地址寄存器的值A查找地址对应表;所述地址对应表用于表示地址A对应的待重组的机器指令片段是否具有已保存的重组过的指令片段,所述已保存的重组过的指令片段具有地址A’;如果找到相应的记录,将所述地址寄存器的值A修改为记录中的值A’,恢复所述指令运行环境。所述指令运行环境中的地址寄存器的值为修改后的值。可选的,还包括:利用地址A"与地址A在所述地址对应表中建立一条记录。可选的,在插入第二跳转指令之前,还包括:解析所述机器指令片段,利用指令集匹配所述机器指令片段,得到待处理的目标机器指令;所述指令集包括X86,MIPS和ARM指令集;按照预定的方式,修改所述目标机器指令。可选的,所述目标指令为存储/读取指令;按照预定的方式,修改所述目标机器指令包括:修改其中的存储和读取地址为安全存储设备上的地址。可选的,所述目标指令为I/O指令;按照预定的方式,修改所述目标机器指令包括:将所述I/O指令中的输入指令全部阻止。可选的,所述目标指令为网络传输指令;按照预定的方式,修改所述目标机器指令包括:检验所述网络传输指令中的目标地址对应的远端计算设备是否为安全地址;如果不是,阻止所述网络传输指令。进一步的,本专利技术的实施例中还提供了一种运行时指令重组方法,包括:缓存指令运行环境;获取待调度的机器指令片段;反汇编所述机器指令片段,得到汇编指令片段;在所述汇编指令片段的最后一条指令前,插入第二跳转指令,生成具有地址A"的重组指令片段;所述第二跳转指令指向指令重组平台的入口地址;将所述缓存的指令运行环境中的地址寄存器的值修改为重组指令片段的地址;汇编所述汇编指令片段,得到重组后的机器指令片段;恢复所述指令运行环境。所述指令运行环境中的地址寄存器的值为修改后的值。进一步的,本专利技术的实施例中还提供了一种计算机可读介质,所述可读介质中存储有计算机可执行的程序代码,所述程序代码用于执行上述方法的步骤。进一步的,本专利技术的实施例中还提供了一种运行时指令重组装置,包括:指令运行环境缓存和恢复单元,适于缓存和恢复指令运行环境;指令获取单元,适于在指令运行环境缓存和恢复单元缓存指令运行环境后,获取待调度的机器指令片段;指令重组单元,适于解析、修改所述待调度的机器指令片段,以生成具有地址A"的重组指令片段;和指令替换单元,适于将所述缓存的指令运行环境中的地址寄存器的值修改为重组指令片段的地址。可选的,所述指令获取单元适于从CPU地址寄存器读取待调度的机器指令地址,并从所述机器指令地址读取机器指令片段,所述机器指令片段最后一条指令为跳转指令。可选的,所述运行时指令重组装置还包括:指令检索单元,适于利用所述缓存的指令运行环境中的地址寄存器的值A查找地址对应表;所述地址对应表用于表示地址A对应的待重组的机器指令片段是否具有已保存的重组过的指令片段,所述已保存的重组过的指令片段具有地址A’;如果找到相应的记录,指令检索单元适于调用指令替换单元,将所述地址寄存器的值A修改为记录中的值A’;如果没有找到相应的记录,指令检索单元适于利用地址A"与地址A在所述地址对应表中建立一条记录。可选的,所述指令重组单元包括:指令解析单元,适于利用指令集匹配所述机器指令片段,得到待处理的目标机器指令;所述指令集包括X86,MIPS和ARM指令集;指令修改单元,适于按照预定的方式,修改所述目标机器指令。可选的,如果所述目标指令为存储/读取指令,所述指令修改单元适于修改其中的存储和读取地址为安全存储设备上的地址。可选的,如果所述目标指令为I/O指令,所述指令修改单元适于将所述I/O指令中的输入指令全部阻止。可选的,如果所述目标指令为网络传输指令,所述指令修改单元适于检验所述网络传输指令中的目标地址对应的远端计算设备是否为安全地址;如果不是,所述指令修改单元适于阻止所述网络传输指令。可选的,所述指令重组单元包括:反汇编单元,适于在解析、修改所述待调度的机器指令片段之前,反汇编所述待调度的机器指令片段,生成待调度的汇编指令片段;汇编单元,适于在解析、修改所述待调度的机器指令片段之后,汇编重组后的汇编指令片段,得到机器码表示的重组指令片段。与现有技术相比,本专利技术具有以下优点:(1)通过指令重组方法,在指令运行状态下监控计算设备的指令;(2)利用地址对应表,提高了指令重组效率,节省了计算资源;(3)针对存储和读取指令进行操作,修改其中的目标和源地址,以实现转移存储;并且通过转移存储到安全存储设备上,实现数据安全;(4)针对I/O指令进行操作,将所述I/O指令中的输入指令全部阻止,以实现彻底阻断对本地硬件设备的写操作;还可以实现对除存储指令之外的输入指令的阻止,可以提高计算设备中的数据安全性;(5)针对网络传输指令进行操作,检验所述网络传输指令中的目标地址对应的远端计算设备是否为安全地址;如果不是,阻止所述网络传输指令,以实现数据安全传输。附图说明图1是本专利技术的第一个实施例中提供的运行时指令重组方法的流程图;图2是本专利技术的第一个实施例中指令重组过程和重组指令片段的示意图;图3是本专利技术的第二个实施例中提供的运行时指令重组方法的流程图;图4是本专利技术的第三个实施例中提供的重组指令的生成方法流程图;图5是本专利技术的第七个实施例中提供的运行时指令重组装置的框图;图6是本专利技术的第八个实施例中提供的运行时指令重组装置的框图;图7是本专利技术的第九个实本文档来自技高网...
运行时指令重组方法及装置

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种运行时指令重组方法,其特征在于,包括:缓存指令运行环境;获取待调度的机器指令片段;在所述获取的机器指令片段的最后一条指令前,插入第二跳转指令,所述第二跳转指令指向指令重组平台的入口地址,生成重组指令片段;将所述缓存的指令运行环境中的地址寄存器的值修改为重组指令片段的地址;恢复所述指令运行环境;所述指令运行环境中的地址寄存器的值为修改后的值。2.如权利要求1所述的运行时指令重组方法,其特征在于,获取待调度的机器指令片段包括:从CPU地址寄存器读取待调度的机器指令地址;从所述机器指令地址读取机器指令片段,所述机器指令片段最后一条指令为跳转指令。3.如权利要求2所述的运行时指令重组方法,其特征在于,从所述机器指令地址读取机器指令片段包括:检索所述机器指令地址对应的机器指令,直到发现第一个跳转指令;所述跳转指令包括Jump指令和Call指令。4.如权利要求1所述的运行时指令重组方法,其特征在于,在缓存指令运行环境之后,获取待调度的机器指令片段之前,还包括:利用所述地址寄存器的值查找地址对应表;所述地址对应表用于表示待重组的机器指令片段是否具有已保存的重组过的指令片段;如果找到相应的记录,将所述地址寄存器的值修改为记录中的值,恢复所述指令运行环境;所述指令运行环境中的地址寄存器的值为修改后的值。5.如权利要求4所述的运行时指令重组方法,其特征在于,还包括:利用重组指令片段的地址与所述缓存的指令运行环境中的地址寄存器的修改前的值在所述地址对应表中建立一条记录。6.如权利要求1所述的运行时指令重组方法,其特征在于,在插入第二跳转指令之前,还包括:解析所述机器指令片段,利用指令集匹配所述机器指令片段,得到待处理的目标机器指令;按照预定的方式,修改所述目标机器指令。7.如权利要求6所述的运行时指令重组方法,其特征在于,所述目标机器指令为存储/读取指令;按照预定的方式,修改所述目标机器指令包括:修改其中的存储和读取地址为安全存储设备上的地址。8.如权利要求6所述的运行时指令重组方法,其特征在于,所述目标机器指令为I/O指令;按照预定的方式,修改所述目标机器指令包括:将所述I/O指令中的输入指令全部阻止。9.如权利要求6所述的运行时指令重组方法,其特征在于,所述目标机器指令为网络传输指令;按照预定的方式,修改所述目标机器指令包括:检验所述网络传输指令中的目标地址对应的远端计算设备是否为安全地址;如果不是,阻止所述网络传输指令。10.一种运行时指令重组方法,其特征在于,包括:缓存指令运行环境;获取待调度的机器指令片段;反汇编所述机器指令片段,得到汇编指令片段;在所述汇编指令片段的最后一条指令前,插入第二跳转指令,生成重组指令片段;所述第二跳转指令指向指令重组平台的入口地址;汇编所述汇编指令片段,得到重组后的机...

【专利技术属性】
技术研发人员:汪家祥
申请(专利权)人:北京中天安泰信息科技有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1