[发明专利]一种基于硬件辅助的虚拟化指令模拟错误检测方法及系统在审
申请号: | 202111597207.8 | 申请日: | 2021-12-24 |
公开(公告)号: | CN116339904A | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 杨轶;苏璞睿;黄桦烽 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 硬件 辅助 虚拟 指令 模拟 错误 检测 方法 系统 | ||
本发明公开了一种基于硬件辅助的虚拟化指令模拟错误检测方法及系统。本方法为:选择两台配置相同的主机,分别安装Qemu系统构建Qemu虚拟机、KVM系统构建KVM虚拟机;在Qemu虚拟机运行时,定时保存Qemu虚拟机运行快照;当Qemu发生异常时,将Qemu虚拟机和KVM虚拟机同时恢复到最近一次快照位置;以基本块为单位,在Qemu虚拟机和KVM虚拟机中同步执行程序,执行之前Qemu虚拟机创建快照,监测运行的指令基本块,并检测错误发生的位置;根据检测错误发生的位置确定出现错误的基本块,然后以Qemu虚拟机最近一次的基本块快照为起点,同时启动Qemu虚拟机和KVM虚拟机,检测错误发生的指令位置。
技术领域
本发明属于计算机科学与技术领域,具体涉及一种基于硬件辅助的虚拟化指令模拟错误检测方法及系统。本发明通过硬件辅助,同步实际指令块和单条指令,检测虚拟化硬件平台的指令模拟错误,快速定位错误出现的位置并上报错误原因,辅助人工修补虚拟化平台的模拟规则,实现正确的指令模拟,保证被虚拟化的程序正常运行。
背景技术
基于虚拟化的动态分析,是二进制程序分析的重要技术手段之一,当前基于虚拟化的分析均基于硬件模拟器Qemu开展,Qemu使用动态译码机制,通过将被虚拟化CPU的指令,通过反汇编、中间语言解析、目标指令翻译等阶段,翻译为目标指令代码执行。由于CPU指令的复杂性和人工制定规则过程中不可避免的产生错误,Qemu存在大量指令模拟问题,导致程序运行出现异常、系统出现崩溃。传统的指令模拟错误检测主要通过人工排错或Fuzzing的方式实现,时间复杂度高,并且易产生误报,难以满足CPU复杂指令条件下的指令模拟错误检测需求。
当前的指令模拟错误检测技术,通常使用如下的几种方法:
1.基于人工分析的指令模拟错误检测
基于人工分析的指令模拟错误检测是一种传统的检测方案,通过开发人员之间交叉检验,判定指令模拟中存在的错误,或在程序运行过程中观测到崩溃,通过人工分析重现该过程,定位和分析其中存在的错误。基于人工分析的方法具有很高的技术要求,且时间复杂度高,难以满足大规模指令检测的要求。
2.基于Fuzzing的指令模拟错误检测
基于Fuzzing的指令模拟错误检测,是当前较为广泛使用的检测方法,开发人员自行编写一个指令生成器,随机生成指令在Qemu中运行,通过观测系统产生的异常,检测指令模拟错误。该方法的主要问题在于:CPU指令寻址方式、操作数均比较复杂并且依赖于程序的上下文,Fuzzing的方法无法构造程序上下文,因而在很多情况下容易将由于缺乏上下文引发的异常误认为指令模拟错误,基于Fuzzing的方法后期分析也依赖于人工,其效果强于直接的人工分析,但技术和时间复杂度均具有局限性。
综上,目前程序API行为监控信息提取方法的主要缺陷在于:由于上下文构造的困难,以及错误指令定位的困难,使得现有分析方法具有较高的时间复杂度和人工成本,难以实现针对大规模复杂指令集的指令模拟错误检测。
发明内容
针对现有Qemu系统硬件虚拟化技术对所需要虚拟化的指令逐一编写翻译规则,在编写过程中容易出现错误并引发系统崩溃的问题,本发明的目的在于提供一种基于硬件辅助的虚拟化指令模拟错误检测方法及系统,该方法通过构建一个硬件支持的虚拟机(KVM),在运行虚拟机程序的同时,同步验证Qemu虚拟机程序模拟的正确性,快速定位Qemu虚拟机指令模拟过程中的错误,快速定位、上报指令模拟错误发生的位置和条件,该方法能够有效提升Qemu虚拟机指令模拟排错的效率和准确性。
本发明的技术方案为:
一种基于硬件辅助的虚拟化指令模拟错误检测方法,其步骤为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111597207.8/2.html,转载请声明来源钻瓜专利网。