发明名称 基于Xen的操作系统识别方法
摘要 一种基于Xen的操作系统识别方法,属于计算机虚拟化技术领域,应用于虚拟化环境下操作系统类别的识别,具体方法是采用细粒度的精确识别与粗粒度的弹性识别相结合的方法,全面识别操作系统类别,所述细粒度的精确识别采用中断描述符表和全局描述符表基址两种识别方式进行识别。细粒度的精确识别能够在管理域中精确的识别客户域中操作系统的类别,如果细粒度精确识别操作系统失效,则利用TCP指纹粗粒度的识别客户域中操作系统的类型,从而实现从管理域识别客户域中操作系统的类型。本发明在识别时不修改客户操作系统,从管理域获取信息,不需要客户操作系统参与,避免被客户操作系统发现保证自身的安全。
申请公布号 CN103544089A 申请公布日期 2014.01.29
申请号 CN201310477287.2 申请日期 2013.10.13
申请人 西安电子科技大学 发明人 张驰;杨超;马建峰;王照羽;侯琬婷;黄为
分类号 G06F11/30(2006.01)I;G06F21/57(2013.01)I 主分类号 G06F11/30(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 张问芬;王品华
主权项 一种基于Xen的操作系统识别方法,其特征在于:采用细粒度的精确识别与粗粒度的弹性识别相结合的方法,全面识别操作系统类别,所述细粒度的精确识别采用中断描述符表和全局描述符表基址两种识别方式进行识别,细粒度的精确识别能够在管理域中精确的识别客户域中的操作系统的类别,如果细粒度精确识别操作系统失效,则利用TCP指纹粗粒度的识别在客户域的操作系统类型,从而实现从管理域识别客户域中操作系统的类型,具体识别过程如下:(1)在管理域中判别客户域是硬件虚拟化还是半虚拟化环境;(2)当客户域是半虚拟化环境:2a)在管理域中,利用libxc的库函数读取客户域操作系统的VCPU,直接从VCPU中读取出中断描述符表的内容;2b)对中断描述符表进行哈希操作,获取中断描述符表指纹,并与半虚拟化中断描述符表指纹库进行比较,识别客户域操作系统的类别;2c)当半虚拟化中断描述符表精确识别失败的时候,进行TCP指纹被动识别,抓取客户域操作系统的网络数据包,提取指纹关键字来粗粒度识别操作系统的类别;(2)当客户域是硬件虚拟化环境:3a)在管理域中,利用libxc库函数,读取客户域操作系统的VCPU,从VCPU中获取客户域操作系统中断描述符表的线性基址;接着,将该地址从线性地址转换为伪物理地址;3b)把中断描述符表的伪物理地址所在的内存页面从客户域映射到管理域,在管理域中读取中断描述符表,并进行哈希操作获取硬件虚拟化中断描述符表指纹,对比硬件虚拟化中断描述符表指纹库,识别客户操作系统的类别;3c)当中断描述符表识别失败的时候,通过全局描述符表基址来识别操作系统的类别,从客户域VCPU中读取全局描述符表基址,利用该基址对比硬件虚拟化全局描述符表基址指纹库,识别客户操作系统的类型;3d)当全局描述符表基址识别失败的时候,进行TCP指纹被动识别,抓取客户域操作系统的网络数据包,提取指纹关键字来粗粒度识别操作系统的类别。
地址 710071 陕西省西安市太白南路2号