基于虚拟化的应用可信保障方法技术

技术编号:21004334 阅读:27 留言:0更新日期:2019-04-30 21:35
本发明专利技术公开了一种基于虚拟化的应用可信保障方法,监控虚拟机CPU寄存器变化,截获虚拟机中内核模块和进程加载事件;在模块和进程加载时进行完整性验证,截获加载事件过程中验证可执行代码的完整性;实时截获进程切换事件;在进程切换事件时,验证相应应用信息完整性;若上述过程中完整性验证不通过,则警报并终止系统运行。该方法首先实现虚拟机中内核模块和进程加载时的代码完整性验证;同时,在运行时实时截获应用切换事件,并在进程切换时,验证相应应用信息完整性。而且同时保持对被监控的虚拟机透明。保证了信息的完整,不易被篡改。

【技术实现步骤摘要】
基于虚拟化的应用可信保障方法
本专利技术属于通信可靠性领域,涉及应用可信保障方法,尤其是一种基于虚拟化的应用可信保障方法。
技术介绍
恶意软件是网络犯罪的一种常用的工具,包括trojans和backdoors。恶意软件入侵计算系统后,往往破坏系统正常运行,导致系统性能下降,一些主要文件和隐私文件存在被窃取的风险,对计算机使用者构成严重威胁。在各种利益的驱动下,恶意软件不断发展与更新,融合了多种主要的安全攻击技术。目前大部分恶意软件具有了抵御可信防护系统的能力,如AgoBot对105种防护系统免疫。因此安全监控系统必须保证对于恶意软件透明。传统可信防护系统根据部署位置可分为两类,第一类基于主机的可信防护系统,第二类是基于网络的防护系统。其中第一类可信防护系统与被监控计算机系统部署在一起,这种方式能够获取充分的监控信息,但是对于恶意软件可见,易受到攻击。第二类系统与被监控系统部署在不同的主机上,通过网络传输方式获取监控信息,具有良好的透明性,但是获取信息量少,而且网络状态构成系统瓶颈。这两类系统都有不足之处,无法同时满足既可以获取充分监控信息,又可以保证可信防护系统透明性。
技术实现思路
本专利技术所要达到的目的就是提供一种基于虚拟化的应用可信保障方法,该方法基于硬件虚拟化技术,改善传统可信防护系统。为了达到上述目的,本专利技术采用如下技术方案:一种基于虚拟化的应用可信保障方法,其中,监控虚拟机CPU寄存器变化,截获虚拟机中内核模块和进程加载事件;在模块和进程加载时进行完整性验证,截获加载事件过程中验证可执行代码的完整性;实时截获进程切换事件;在进程切换事件时,验证相应应用信息完整性;若上述过程中完整性验证不通过,则警报并终止系统运行。进一步的,所述截获加载事件过程中验证可执行代码的完整性的过程,为验证可执行代码是否发生变化,以第一次被加载为标准,并且记录每次可执行代码被加载时其散列值,读取虚拟机中文件采用加载文件系统驱动程序的方式读取。进一步的,截获加载事件过程中验证可执行代码的完整性包括:S1.通过系统调用第一个参数中存储的字符串地址;S2.通过S1步骤的地址,读取字符串内容,获得需要加载内容的文件目录信息;S3.通过虚拟机监控器打开文件,并计算文件摘要信息;S4.与预事先存储在可信数据中的摘要信息对比,若摘要信息一致,说明加载内容未经篡改,可以安全加载,若摘要信息不一致,则报警。进一步的,在所述截获进程切换事件时,获取虚拟机进程列表以及计算进程CPU利用率。进一步的,所述截获进行切换事件,操作系统包括两个步骤:S11.切换页面全局目录地址以安装一个新的地址空间,CR3寄存器是保存进程全局目录地址的寄存器,新的进程地址写入CR3寄存器;S22.后切换内核堆栈和硬件上下文,进程的内核堆栈地址写入ESP寄存器,跟踪CR3寄存器变换实现截获进程切换事件。进一步的,所述应用相关信息保存在数据类型为structtask_struct的进程描述符里,所述进程描述符中包含进程的PID和进程名称,以及下一个进程的进程描述符地址。进一步的,所述获取当前进程的描述符包括:操作系统为每个进程单独分配一个存储空间,在所述存储空间里保存两个不同的数据结构,一个是内核态的进程堆栈,另一个是进程信息,所述进程堆栈自上而下增长,发生进程切换时ESP寄存器指示当前进程堆栈的地址。进一步的,通过esp获取进程信息thread_info结构体的地址thread_info_addr;根据task在进程信息thread_info结构体中偏移量计算出进程描述符的地址task_addr;通过读取虚拟机内存获取当前进程描述符,通过进程描述符中保持的数据,获取进程PID以及进程名称等信息。进一步的,所述获取虚拟机进程列表包括:操作系统采用双向链表的方式将所有进程链接起来,所述进程描述符中包含两个指针:prev指向前一个进程描述符,next指向下一个进程描述符,在进程切换时通过节描述方法获取当前进程描述符,通过next指针就遍历所有当前系统中的进程,获取当前进程的列表,以及每个进程的信息。进一步的,所述获取进程CPU利用率包括:通过进程切换获取进程CPU执行时间,计算进程CPU利用率。采用上述技术方案后,本专利技术具有如下优点:该方法首先实现虚拟机中内核模块和进程加载时的代码完整性验证;同时,在运行时实时截获应用切换事件,并在进程切换时,验证相应应用信息完整性。而且同时保持对被监控的虚拟机透明。基于硬件虚拟化技术,通过分析虚拟机CPU寄存器变化,获取虚拟机内部系统调用和进程切换信息,这种基于虚拟机硬件底层信息的监控,保证了信息的完整,不易被篡改。而且本文将安全监控系统实现为Linux系统模块,可以根据需求安装和卸载。并且开发了一组获取虚拟机底层信息的API,可以供其他开发者使用。并且安全监控信息全面,可以作为其他安全系统的基础数据。同时与现有技术相比,后者在进行系统内核加载和应用加载时代码可信验证主要采用基于内核的方法,即在被测系统内核中添加一个新的内核模块或代码。从而实现对系统操作内核加载及应用加载事件的截获,并在截获中进行验证。该方法透明性差,会改变被测系统的状态,造成二次开发的成本。另外,修改的部分对恶意攻击可见,容易成为明确的攻击目标。本技术中,验证模块处于虚拟机监控器层面中,基于虚拟机监控器截获系统的方法,取得对应效果。该方法不需要修改被测系统,同时对被测系统不可见。与另一现有技术相比,如基于虚拟机的文件完整性监控系统,其实质是通过虚拟机监控器层实现文件的完整性保护,访问控制等功能。该类系统主要通过截获虚拟机的IO操作进行,也就是对所有文件操作进行截获和监控。总体开销大。而本技术方案的目的是内核加载和应用加载完整性验证,因此截获点是系统加载事件而不是IO,从而可以保证系统的性能。附图说明下面结合附图对本专利技术作进一步说明:图1为本专利技术中系统整体框架示意图;图2为本专利技术中本地认证方法示意图。具体实施方式实施例:如图1所示,本专利技术涉及一种基于虚拟化的应用可信保障方法,监控虚拟机CPU寄存器变化,截获虚拟机中内核模块和进程加载事件;在模块和进程加载时进行完整性验证,截获加载事件过程中验证可执行代码的完整性;实时截获进程切换事件;在进程切换事件时,验证相应应用信息完整性;若上述过程中完整性验证不通过,则警报并终止系统运行。通过硬件虚拟化技术,监控虚拟机CPU寄存器变化,首先实现截获虚拟机中内核模块和进程加载事件,并在截获过程中实现可执行代码完整性验证;同时,在运行时实时截获进程切换事件,并在进程切换时,验证相应应用信息完整性。若过程中完整性验证不通过,则警报并终止系统运行,从而实现整个系统的可信。本专利技术对于虚拟机的性能损耗小于10%;而且不需要与虚拟机中操作系统交互,实现被监控系统的完全透明,保证了监控系统的抗感染能力;另外,本专利技术可以根据监控需求安装和卸载,避免不在需要安全监控时,对虚拟机性能产生无用的浪费。在本实施例中具体的,模块加载及应用加载时完整性验证包括:模块加载和进程加载时完整性验证是验证可执行代码是否发生变化,也就是说,所述截获加载事件过程中验证可执行代码的完整性的过程,为验证可执行代码是否发生变化,以第一次被加载为标准,并且记录每次可执行代码本文档来自技高网...

【技术保护点】
1.基于虚拟化的应用可信保障方法,其特征在于,监控虚拟机CPU寄存器变化,截获虚拟机中内核模块和进程加载事件;在模块和进程加载时进行完整性验证,截获加载事件过程中验证可执行代码的完整性;实时截获进程切换事件;在进程切换事件时,验证相应应用信息完整性;若上述过程中完整性验证不通过,则警报并终止系统运行。

【技术特征摘要】
1.基于虚拟化的应用可信保障方法,其特征在于,监控虚拟机CPU寄存器变化,截获虚拟机中内核模块和进程加载事件;在模块和进程加载时进行完整性验证,截获加载事件过程中验证可执行代码的完整性;实时截获进程切换事件;在进程切换事件时,验证相应应用信息完整性;若上述过程中完整性验证不通过,则警报并终止系统运行。2.根据权利要求1所述的基于虚拟化的应用可信保障方法,其特征在于,所述截获加载事件过程中验证可执行代码的完整性的过程,为验证可执行代码是否发生变化,以第一次被加载为标准,并且记录每次可执行代码被加载时其散列值,读取虚拟机中文件采用加载文件系统驱动程序的方式读取。3.根据权利要求2所述的基于虚拟化的应用可信保障方法,其特征在于,截获加载事件过程中验证可执行代码的完整性包括:S1.通过系统调用第一个参数中存储的字符串地址;S2.通过S1步骤的地址,读取字符串内容,获得需要加载内容的文件目录信息;S3.通过虚拟机监控器打开文件,并计算文件摘要信息;S4.与预事先存储在可信数据中的摘要信息对比,若摘要信息一致,说明加载内容未经篡改,可以安全加载,若摘要信息不一致,则报警。4.根据权利要求1所述的基于虚拟化的应用可信保障方法,其特征在于,在所述截获进程切换事件时,获取虚拟机进程列表以及计算进程CPU利用率。5.根据权利要求4所述的基于虚拟化的应用可信保障方法,其特征在于,所述截获进行切换事件,操作系统包括两个步骤:S11.切换页面全局目录地址以安装一个新的地址空间,CR3寄存器是保存进程全局目录地址的寄存器,新的进程地址写入CR3寄存器;S22.后切换内核堆栈和硬件上下文,进程的内核堆栈地址写入ESP寄存器,跟踪C...

【专利技术属性】
技术研发人员:姚一杨陈建戴波王彦波张旭东龚小刚叶志远黄云凡恒山倪鹏程蒲强
申请(专利权)人:国网浙江省电力有限公司国网浙江省电力有限公司信息通信分公司安徽继远软件有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1