为了提高攻击者逆向分析软件程序的难度,结合代码虚拟化保护技术,研究并实现了保护系统ISRVMP(具有指令集随机化的虚拟机保护).ISR-VMP通过将本地x86指令转换成自定义的虚拟指令,在程序运行过程中,由一个虚拟解释器解释执行生成的虚拟指令,从而实现程序中对应的本地x86指令的功能.另外,ISR-VMP还采用了指令集随机化的技术,使得软件在保护后具有代码多样性的效果,能够进一步阻碍攻击者的逆向分析.理论分析和实验结果显示:ISR-VMP能够在较小的时空消耗基础上大幅增加攻击者逆向分析的难度,提高软件的安全性.
To increase the difficulty of reverse analysis,aprotection system named ISR-VMP(virtual machine protection with instruction set randomization)was proposed.ISR-VMP combined code virtualized protection technique and instruction set randomization.It protected native x86 instructions by transforming them into self-defined virtual instructions.At runtime,a virtual interpreter would interpret these virtual instructions to fulfill the original x86instructions′semantics.Besides,ISR-VMP also adopted instruction set randomization.As a result,the protected software has the effect of code diversity,which can further impede attackers′analyses.Theoretical analysis and experimental results show that ISR-VMP can largely increase the difficulty of reverse analyzing the software,only with small spatial and temporal overhead.