[发明专利]利用处理器PMC特性检测隐藏执行指令的方法有效
申请号: | 201510003005.4 | 申请日: | 2015-01-04 |
公开(公告)号: | CN104598379B | 公开(公告)日: | 2017-08-18 |
发明(设计)人: | 周洪伟;李福林;原锦辉;张畅;袁霖;郭永辉 | 申请(专利权)人: | 中国人民解放军信息工程大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/455 |
代理公司: | 郑州大通专利商标代理有限公司41111 | 代理人: | 张海青 |
地址: | 450001 河南省郑州市高新*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 处理器 pmc 特性 检测 隐藏 执行 指令 方法 | ||
1.一种利用处理器PMC特性检测隐藏执行指令的方法,其特征是:含有下列步骤:
步骤1,目标软件准备:
重新编译目标软件的源代码,使重新编译的软件可执行代码内嵌入若干未激活的检测点;重编译工具依托插桩方法完成,在软件若干类型的位置插入指定检测指令以及相对应的检查函数;
步骤2,检测软硬件环境初始化过程:
参与系统成分包括:检测点部署图、控制器以及检测点;
①控制器读取检测点部署图;②控制器根据检测点部署图的提示,激活目标软件可执行代码中指定的检测点③控制器设置处理器PMC控制寄存器,要求其记录指定类型的处理器事件;
步骤3,PMC读数收集过程:
收集被监控指令片段执行过程所产生的控制转移记录数量;参与系统成分包括:执行切换探针和PMC读数收集器;
①可执行代码在处理器上运行,处理器如实记录所发生的控制转移数量;②当检测点被触发后,PMC读数收集器将读取PMC寄存器的值;③当出现打断被监控指令运行的事件,执行切换探针及时通知PMC读数收集器;④PMC读数收集器根据检测点的对偶关系,计算出被监控指令片段执行过程所产生控制转移记录数量,并提交给基准生成器或判定器;
步骤4,基准生成过程:
检测所需要的基准生成和存储;
①PMC读数收集器向基准生成器提交信息;②当训练阶段结束以后,基准生成器整理和收集信息,根据检测算法的需要,生成基准信息;③基准生成器将基准存储基准信息库;
步骤5,检查过程:
检查PMC读数收集器所提交的信息是否异常,从而发现隐藏执行的指令片段;
①判定器从基准信息库提取基准;②PMC读数收集器一旦获得某指令片段的监控结果,就立即向判定器发送检查请求及被检查数据;③判定器根据检测算法完成检查,并根据检测结果决定是否发出警告。
2.根据权利要求1所述的利用处理器PMC特性检测隐藏执行指令的方法,其特征是:所述步骤1中,软件若干类型的位置为函数头和函数尾;步骤3中,打断被监控指令运行的事件是指进程切换和系统中断。
3.根据权利要求1所述的利用处理器PMC特性检测隐藏执行指令的方法,其特征是:所述检测点为内嵌入目标软件的特定指令片段;检测点的核心指令就是call指令,其调用的对象为PMC读数收集器的入口函数;这些指令片段的作用就是当软件执行到检测点所在位置时,立即唤醒PMC读数收集器,以便其及时收集PMC寄存器的读数;
通过重新编译目标软件的源代码将检测点内嵌入目标软件的可执行代码的指定位置中;将检测点嵌入到可执行代码的四个类型的位置,该四个类型的位置为:函数头、函数尾、间接跳转call指令前、间接跳转jmp指令前。
4.根据权利要求1所述的利用处理器PMC特性检测隐藏执行指令的方法,其特征是:所述检测点部署图用于记录当前检测所要激活的检测点;检测点存在两种状态:激活和未激活;激活状态的检测点正常工作,能够及时唤醒PMC读数收集器读取PMC寄存器的读数;未激活状态的检测点不参与检测工作;
检测点部署图决定本次检测所要监控的指令片段;系统开始工作时,会首先读取检测点部署图,并根据检测点部署图,激活指定的检测点;重新编译的软件可执行代码中,所有检测点均处于未激活状态;只有用户设置当前检测所使用的检测点部署图以后,才能够激活指定检测点完成检测;检测点具有对偶关系,分别在被监控指令片段的头和尾读取PMC寄存器的读数;用户设定所要激活的检测点,来表达本次监控需求。
5.根据权利要求1所述的利用处理器PMC特性检测隐藏执行指令的方法,其特征是:所述控制器负责系统软硬件工作环境的设置;在软件环境方面,控制器将根据检测点部署图,激活嵌入目标软件可执行代码中的检测点;当目标软件为应用程序时,控制器需要及时获知指定应用程序已经装入内存,然后激活相应的检测点;当目标软件为操作系统内核时,控制器需要在系统完成引导后,激活内核中的检测点;在硬件环境方面,控制器将根据需求设置PMC特性的相关控制寄存器,包括:设置PMC特性记录处理器执行控制转移指令的次数,以及是否捕获内核空间或用户空间的控制转移记录。
6.根据权利要求1所述的利用处理器PMC特性检测隐藏执行指令的方法,其特征是:所述PMC读数收集器负责收集和整理PMC寄存器的读数,并根据检测点的对偶关系,获知某指令片段执行时所产生控制转移数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军信息工程大学,未经中国人民解放军信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510003005.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:片上系统及控制方法
- 下一篇:一种实现监测服务器系统中负载设备功耗的方法