[发明专利]一种基于虚拟机自省技术的API动态监控方法及系统有效

专利信息
申请号: 202110367511.7 申请日: 2021-04-06
公开(公告)号: CN113176926B 公开(公告)日: 2023-09-05
发明(设计)人: 丁振全;郝志宇;屈天恒;程丰;刘永继;秦文雨 申请(专利权)人: 中国科学院信息工程研究所
主分类号: G06F9/455 分类号: G06F9/455
代理公司: 北京君尚知识产权代理有限公司 11200 代理人: 司立彬
地址: 100093 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 虚拟机 自省 技术 api 动态 监控 方法 系统
【权利要求书】:

1.一种基于虚拟机自省技术的API动态监控方法,其步骤包括:

1)策略加载模块读取并解析设定的监控策略配置文件,获取所需监控的API以及API所属的动态链接库DLL;其中,策略加载模块读取并解析设定的监控策略配置文件的方法为:

1-1)读取监控策略配置文件,获取所需监控的API及所属的动态链接库DLL;

1-2)初始化需监控API与其地址及状态的第一哈希表,初始化所需监控的API与其所属的动态链接库DLL的第二哈希表;

1-3)根据当前操作系统内核文件ntoskrnl.exe对应的程序数据库文件PDB,获取操作系统进程链的头节点地址,进程链的每个节点对应一个EPROCESS结构体,每个EPROCESS结构体对应操作系统中的一个进程,EPROCESS结构体内部包含进程的进程ID、进程页目录表基址、进程名和磁盘文件存储位置信息;

1-4)在EPROCESS结构体中根据被监控操作系统EPROCESS成员偏移查找该EPROCESS结构体对应进程的PEB结构体;

1-5)从进程的PEB结构体按照被监控操作系统PEB成员偏移找到进程的PEB_LDR_DATA结构体;

1-6)遍历PEB_LDR_DATA双向链表,取出已映射到当前进程中的各DLL的虚拟基址;

1-7)对已映射入操作系统内存的DLL,查询所述第二哈希表寻找所需监控的API函数,然后根据程序数据库文件PDB获取API函数相对于DLL基址的偏移;将此偏移加上API函数所属DLL的虚拟基址,得到所需监控API函数的虚拟地址并对该API函数进行监控;

1-8)若监控成功,则更新该API函数的状态与地址;若不成功则保持原有状态不变;

2)遍历已加载到系统内存的动态链接库,调用监控设置模块对已加载到内存中且需要监控的API进行监控;对未加载入系统内存的动态链接库进行监控,当其载入系统内后,动态监控模块将其交于策略加载模块进行判断,确认是否是需要监控的动态链接库,如果是,则调用监控设置模块对该动态链接库内需要监控的API函数进行监控;

3)当所需监控API函数被触发后,语义转换模块对当前操作系统内存进行解析,提取出当前进程、进程ID、当前线程、线程ID、当前进程名、所调用API、所属动态链接库信息,并写入日志。

2.如权利要求1所述的方法,其特征在于,监控设置模块对需要监控的API进行监控的方法为:

2-1)获取所需监控API函数的虚拟地址与当前进程的EPROCESS结构体地址;

2-2)从EPROCESS结构体地址中根据被监控操作系统EPROCESS成员偏移取出当前进程的页目录表基址;

2-3)根据进程的页目录表基址找到进程的页目录表,根据所述虚拟地址依次查询多级页表,寻找所述虚拟地址对应的物理地址;

2-4)如果未找到物理地址,则将CR2寄存器装入虚拟地址,触发系统换页机制,并将对应内存页重新换入内存;

2-5)重复步骤2-3),再次查询所述虚拟地址对应物理地址,找到所述虚拟地址对应的物理地址;

2-6)监控所述虚拟地址对应的物理地址,保存对应位置的机器码,生成一个中断事件并返回监控设置状态。

3.如权利要求2所述的方法,其特征在于,语义转换模块对当前操作系统内存进行解析的方法为:

3-1)取出一个中断事件,同时暂停被监控操作系统;

3-2)根据该中断事件中保存的触发事件的物理地址查找第一哈希表,确定对应的API;

3-3)获取该API的调用参数并对其进行还原,得到原始参数并保存到缓冲区;

3-4)对被监控操作系统内核模块的PDB文件进行解析,获取操作系统的KPCR结构体地址,找到对应KPRCB结构体,根据KPRCB结构体偏移从该KPRCB结构体中找到当前运行线程的KTHREAD结构体;然后从KTHREAD结构体与EPROCESS结构体中读取触发该中断事件的进程、线程相关信息;

3-5)将步骤3-3)、3-4)获取的信息写入数据库,并恢复虚拟机运行。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110367511.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top