[发明专利]在虚拟机管理器中动态无侵的应用进程函数调用监控方法有效
申请号: | 201610117437.2 | 申请日: | 2016-03-02 |
公开(公告)号: | CN105843667B | 公开(公告)日: | 2019-01-15 |
发明(设计)人: | 黄皓;余劲 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 南京君陶专利商标代理有限公司 32215 | 代理人: | 沈根水 |
地址: | 210093*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明是在虚拟机管理器中动态无侵的应用进程函数调用监控方法,包括函数调用触发器插入算法、触发器代码的构造。在需要监控的时候,从被监控的应用程序的函数的入口地址开始处根据函数调用触发器插入算法选择的位置插入函数调用触发器代码,不需要监控时可以恢复原样,具有动态性和无侵性。优点:可在任何一个被监控函数的入口处开始寻找一个7字节或者9字节的位置,在这个位置根据这个位置原来的代码的情况选择长度分别为7字节和9字节两种函数调用触发代码之一进行插入。 | ||
搜索关键词: | 虚拟机 管理器 动态 应用 进程 函数 调用 监控 方法 | ||
【主权项】:
1.在虚拟机管理器中动态无侵的应用进程函数调用监控方法,其特征是包括函数调用触发器插入位置的选择算法、触发器代码的构造,在需要监控的时候,从被监控的应用程序的函数的入口地址开始处根据函数调用触发器插入算法选择的位置插入函数调用触发器代码,不需要监控时恢复原样,具有动态性和无侵性;所述的函数调用触发器代码如下:(1)如果在被监控的函数的入口代码到函数调用触发器代码插入点之前寄存器eax没有被改写,则触发器代码codeA为:mov eax, constant;cpuid(2)在被监控的函数的入口代码到函数调用触发器代码插入点之前寄存器eax被改写,触发器代码codeB如下,其中register是从触发器插入点开始没有被改写过的一个通用寄存器:mov register, eaxmov eax, constantcpuidmov eax, register;所述的函数调用触发器插入位置的选择算法如下:函数调用触发器插入算法:1)令插入点位置a=0,下一条被检查指令位置 b=0,检查通过的指令长度L=0,状态s=0,插入点之前被改写过的通用寄存器集合RW=⌽,在插入点之前没有被改写过用来保存eax原来的值的通用寄存器集合R={ eax, ebx, ecx, edx, esi, edi };2)在b处读取一条指令,设指令的长度为k,指令中的作为源操作数的通用寄存器的集合为rr,作为目的操作数的通用寄存器的集合为rw;L + k → L, b + k → b, RW ⋃ rw →RW;3)如果rr ∩ R ≠ ⌽ 转步骤6);4)如果 L ≥ 7 并且 eax ∊ R,则令 s=1,转步骤9);5)如果 L ≥ 9 则令 s=2 转步骤9);否则转步骤2);6)R \ ( rr ⋃ RW ) →R;7)如果 R ≠ ⌽,则转步骤2);8)L = 0,a = b,转步骤2);9)如果s=1 则报警代码为代码序列codeA;如果s=2 则报警代码为代码序列codeB;报警代码插入位置a。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610117437.2/,转载请声明来源钻瓜专利网。
- 上一篇:一种光纤陶瓷套管注射成型模具
- 下一篇:组装式下企口模板