CN111399988B - 一种云平台的内存安全检测系统及方法 - Google Patents
一种云平台的内存安全检测系统及方法 Download PDFInfo
- Publication number
- CN111399988B CN111399988B CN202010270388.2A CN202010270388A CN111399988B CN 111399988 B CN111399988 B CN 111399988B CN 202010270388 A CN202010270388 A CN 202010270388A CN 111399988 B CN111399988 B CN 111399988B
- Authority
- CN
- China
- Prior art keywords
- memory
- virtual machine
- cloud platform
- detection result
- characteristic value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 335
- 238000001514 detection method Methods 0.000 title claims abstract description 243
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000002955 isolation Methods 0.000 claims abstract description 34
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 7
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种云平台的内存安全检测系统及方法,涉及网络安全领域。云平台上部署有若干虚拟机并分别运行在同一宿主机上,宿主机分别为各虚拟机提供内存;安全检测系统通过向虚拟机写入特征值的方式进行内存安全检测;内存隔离检测子系统包括:第一写入模块,持续向写入虚拟机中写入特征值,直至虚拟机的剩余内存容量不大于预先设置的第一阈值容量;第一查找模块,依次于除写入虚拟机之外的虚拟机中查找是否包含有特征值,并在任意一台虚拟机中查找到特征值时输出表征内存未完全隔离的检测结果,以及在所有虚拟机中均未查找到时输出表征内存完全隔离的检测结果。具有以下有益效果:准确、直观的展示云平台的内存安全状态。
Description
技术领域
本发明涉及网络安全领域,尤其涉及一种云平台的内存安全检测系统及方法。
背景技术
近年来,云计算技术作为一种新的服务模式,得到了飞速的发展。由于云服务的一系列优点,越来越多的用户选择将信息系统迁移到云端,因此,提供各种云服务的云服务商也随之出现,而基础设施服务提供商(IaaS)提供的云计算平台是最基础的一种模式,云计算平台安全也是信息系统安全运行的基础。
相对于传统的信息系统,迁移到云端的信息系统,信息系统构建用户不需要自己购买各种服务器资源进行系统的搭建,只需要跟云服务商租用相应的服务,就可以组建自己的信息系统,这样,可以很大程度上节省了成本。与此同时,运维成本也得以降低,信息系统构建用户只需关注云服务器的自身问题,而无需关注底层的服务器的硬件问题、网络的运维问题等。针对这种服务模式,云服务商保障的安全技术更多的在于抵御各种攻击,加强的安全防范基本都体现在主机层安全、网络层安全、应用层安全以及整个云系统的安全。然而,对于云服务商提供的云服务,如何保证云平台自身的安全,一直以来缺少相应的研究和检测。
对于云服务提供者,存在多种租户同时租用云上的服务,这些云服务部署在云服务商提供的一台台虚拟机上,而这些虚拟机运行在底层的宿主机(安装了虚拟化软件的物理服务器)上,多个租户是共享宿主机上的资源的,如CPU、内存、磁盘等。这里多个租户使用云服务时,每个租户执行时的内存数据是否是隔离的;以及在租户实例关机、删除、重启场景下,将申请的实例释放时,实例内存的数据是否得到相应的清除。这些针对云平台自身的安全,是亟需解决的问题。
发明内容
本发明为了解决上述问题,现提出一种云平台的内存安全检测系统,所述云平台上部署有若干虚拟机,各所述虚拟机分别运行在同一宿主机上,所述宿主机分别为各所述虚拟机提供内存;
所述安全检测系统通过向所述虚拟机写入特征值的方式进行内存安全检测;
所述安全检测系统包括至少一内存隔离检测子系统,所述内存隔离检测子系统包括:
第一写入模块,用于任选一台虚拟机,将所述虚拟机作为写入虚拟机,并持续向所述写入虚拟机中写入所述特征值,直至所述虚拟机的剩余内存容量不大于预先设置的第一阈值容量;
第一查找模块,连接所述第一写入模块,用于依次于所述云平台上部署的除所述写入虚拟机之外的所述虚拟机中查找是否包含有所述特征值,并在任意一台所述虚拟机中查找到所述特征值时输出表征内存未完全隔离的检测结果作为所述云平台的内存安全检测结果,以及在所有所述虚拟机中均未查找到所述特征值时输出表征内存完全隔离的检测结果作为所述云平台的所述内存安全检测结果。
优选的,所述安全检测系统还包括一内存剩余信息检测子系统,所述内存剩余信息检测子系统包括:
第二写入模块,用于任选一台虚拟机,将所述虚拟机作为写入虚拟机,并持续向所述写入虚拟机中写入所述特征值,直至所述虚拟机的剩余内存容量不大于预先设置的第二阈值容量;
第一控制模块,连接所述第二写入模块,用于控制所述写入虚拟机与所述宿主机断开连接;
第二查找模块,连接所述第一控制模块,用于在所述虚拟机与所述宿主机断开连接后在所述宿主机中进行内存查找,并在所述宿主机中查找到所述特征值时输出第一查找结果,以及在所述宿主机中未查找到所述特征值时输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果;
分配模块,连接所述第二查找模块,用于根据所述第一查找结果在所述宿主机上生成一新虚拟机,并将所述宿主机中的剩余内存全部分配给所述新虚拟机;
第三查找模块,连接所述分配模块,用于对所述新虚拟机进行内存查找,并在所述新虚拟机中查找到所述特征值时输出表征内存剩余信息未保护的检测结果作为所述云平台的内存安全检测结果,以及在所述新虚拟机中未查找到所述特征值时输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果。
优选的,所述第一查找模块包括:
第一导出单元,连接一第一缓存单元,用于依次将所述云平台上部署的除所述写入虚拟机之外的其他所述虚拟机中的第一内存值导出至所述第一缓存单元;
第一查找单元,连接所述第一导出单元,用于在每次导出所述第一内存值时,对所述第一缓存单元进行查找,并在查找到所述特征值时输出未完全隔离内存检测结果作为所述云平台的内存安全检测结果,以及在所有所述虚拟机的所述第一内存值全部导出时仍未查找到所述特征值,输出完全隔离内存检测结果作为所述云平台的所述内存安全检测结果。
优选的,所述第一查找模块还包括一删除单元,连接所述第一缓存单元,用于在内存安全检测完成后对所述第一缓存单元中的所述第一内存值进行删除。
优选的,所述第二查找模块包括:
第二导出单元,连接一第二缓存单元,用于将所述宿主机中的第二内存值导出至所述第二缓存单元;
第二查找单元,连接所述第二导出单元,用于在导出所述宿主机中的所述第二内存值时,对所述第二缓存单元进行查找,并在所述宿主机中查找到所述特征值时输出第一查找结果,以及在所述宿主机中未查找到所述特征值时输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果。
优选的,所述第三查找模块包括:
第三导出单元,连接一第三缓存单元,用于将所述新虚拟机中的第三内存值导出至所述第三缓存单元;
第三查找单元,连接所述第三导出单元,用于在导出所述新虚拟机中的所述第三内存值时,对所述第三缓存单元进行查找,并在所述新虚拟机中查找到所述特征值时输出表征内存剩余信息未保护的检测结果作为所述云平台的内存安全检测结果,以及在所述新虚拟机中未查找到所述特征值时输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果。
优选的,还包括删除模块,分别连接所述第二查找模块和所述第三查找模块,用于在内存安全检测完成后分别对所述第二缓存单元中的所述第二内存值和所述第三缓存单元中的所述第三内存值进行删除。
优选的,还包括测试环境选择模块,分别连接所述内存隔离检测子系统和所述内存剩余信息检测子系统,用于在对所述云平台进行内存安全检测之前,获取所述云平台的运行环境,并根据所述运行环境切换所述内存安全检测的测试环境。
一种云平台的内存安全检测方法,应用于云平台的内存安全检测系统,所述安全检测方法通过向所述虚拟机写入特征值的方式进行内存安全检测;
所述安全检测方法包括至少一内存隔离检测流程,所述内存隔离检测流程包括以下步骤:
步骤S1,所述内存安全检测系统任选一台虚拟机,将所述虚拟机作为写入虚拟机,并持续向所述写入虚拟机中写入所述特征值,直至所述虚拟机的剩余内存容量不大于预先设置的第一阈值容量;
步骤S2,所述内存安全检测系统依次于所述云平台上部署的除所述写入虚拟机之外的所述虚拟机中查找是否包含有所述特征值,
若在任意一台所述虚拟机中查找到所述特征值,则输出表征内存未完全隔离的检测结果作为所述云平台的内存安全检测结果,
若在所有所述虚拟机中均未查找到所述特征值,则输出表征内存完全隔离的检测结果作为所述云平台的所述内存安全检测结果。
优选的,所述安全检测方法还包括一内存剩余检测流程,所述内存剩余检测流程包括:
步骤A,所述内存安全检测系统任选一台虚拟机,将所述虚拟机作为写入虚拟机,并持续向所述写入虚拟机中写入所述特征值,直至所述虚拟机的剩余内存容量不大于预先设置的第二阈值容量;
步骤B,所述内存安全检测系统控制所述写入虚拟机与所述宿主机断开连接;
步骤C,所述内存安全检测系统在所述虚拟机与所述宿主机断开连接后在所述宿主机中进行内存查找:
若在所述宿主机中查找到所述特征值,则转向步骤D;
若在所述宿主机中未查找到所述特征值,则输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果,随后退出;
步骤D,所述内存安全检测系统在所述宿主机上生成一新虚拟机,并将所述宿主机中的剩余内存全部分配给所述新虚拟机;
步骤E,所述内存安全检测系统对所述新虚拟机进行内存查找:
若在所述新虚拟机中查找到所述特征值,则输出表征内存剩余信息未保护的检测结果作为所述云平台的内存安全检测结果;
若在所述新虚拟机中未查找到所述特征值,则输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果。
具有以下有益效果:
本发明先对写入虚拟机进行特征值写入,通过内存隔离检测子系统和内存剩余信息检测子系统检测获得云平台的内存安全检测结果,从而准确、直观的展示云平台的内存安全状态。
附图说明
图1为本发明较佳的实施例中,一种云平台的内存安全检测系统的结构示意图;
图2为本发明较佳的实施例中,内存隔离检测流程示意图;
图3为本发明较佳的实施例中,内存剩余信息检测流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本发明为了解决上述问题,现提出一种云平台的内存安全检测系统,如图1所示,云平台上部署有若干虚拟机,各虚拟机分别运行在同一宿主机上,宿主机分别为各虚拟机提供内存;
安全检测系统通过向虚拟机写入特征值的方式进行内存安全检测;
安全检测系统包括至少一内存隔离检测子系统1,内存隔离检测子系统1包括:
第一写入模块11,用于任选一台虚拟机,将虚拟机作为写入虚拟机,并持续向写入虚拟机中写入特征值,直至虚拟机的剩余内存容量不大于预先设置的第一阈值容量;
第一查找模块12,连接第一写入模块11,用于依次于云平台上部署的除写入虚拟机之外的虚拟机中查找是否包含有特征值,并在任意一台虚拟机中查找到特征值时输出表征内存未完全隔离的检测结果作为云平台的内存安全检测结果,以及在所有虚拟机中均未查找到特征值时输出表征内存完全隔离的检测结果作为云平台的内存安全检测结果。
具体地,本实施例中,在本发明一种云平台的内存安全检测系统中的云平台的运行环境可以但不限于KVM、VMware和Xen运行环境,在选用上述任一云平台进行运行,本发明中的内存安全检测包括内存隔离检测和内存剩余信息检测,内存隔离检测为写入虚拟机与剩余虚拟机之间的内存隔离情况的检测,剩余虚拟机为和写入虚拟机运行在同一台宿主机下的所有其他虚拟机;内存剩余信息检测为写入虚拟机与宿主机断开连接后,对宿主机和新虚拟机的检测。
具体的,考虑到虚拟化云平台上的运行设备可具体分为虚拟机和宿主机。从虚拟内存来看,每个虚拟机都独占整个内存寻址空间,每个虚拟机之间完全隔离;从物理内存来看,多个虚拟机访问各自的虚拟地址空间,但最终可能引用的是宿主机上同一个物理内存地址,因此,当虚拟机消亡时,会释放所占用的内存地址,此时可能存在消亡的虚拟机的内存里的信息没有清除干净而直接归还到宿主机,而宿主机可能将这片内存分配给下一个申请的新虚拟机。上述情况会造成内存未完全隔离或者内存剩余信息未删除干净而导致信息泄露。为了解决上述问题,将内存安全检测分为内存隔离检测和内存剩余信息检测。
针对内存隔离检测,为了检测同一个宿主机上的虚拟机与虚拟机之间的内存是否完全隔离,是否存在内存泄漏的可能。具体实施时,先向一个虚拟机的内存中写入设定大小的特定字符作为特征值,写入的特征值的容量应小于设定的第一阈值容量,即为了达到写入设定大小的内存值,特征值将以重复写的方式写入内存,直到达到设定的内存大小。设定第一阈值容量为了考虑当写入虚拟机写入的内存的特征值过小时,容易出现执行完内存写入操作后,这片内存有较大的可能被分配到执行下一个程序,即被覆盖,这样的话,检测结果中可能出现较大的误报率,这里测试时写入设定大小内存值设置以兆比特(Mbps)为单位,写入的特征值后写入虚拟机的剩余内存容量接近第一阈值容量,优选的,写入虚拟机和剩余虚拟机为linux虚机,使用vm-stride对写入虚拟机进行写入特征值并一直占用内存,并使用--vm-stride保证持续的给内存赋值;为了能直观的识别出,此外写入内存的特征值应具有较强的代表性,以便查找时,向虚拟机写入成功后,在宿主机上的其它剩余虚拟机上执行查找该特征值,为了保证虚拟机的内存安全以及正在执行的服务正常,这里采取将剩余虚拟机的第一内存值导出并存储在第一缓存单元,并对第一缓存单元进行查找。如果查找到了特征值时,则输出未完全隔离内存检测结果,说明云平台的内存隔离检测不通过,如果在所有虚拟机的第一内存值全部导出时仍未查找到特征值,输出完全隔离内存检测结果,说明内存隔离检测通过。
进一步说明,当运行在同一台宿主机上存在三台虚拟机时,分别为虚拟机VM1,虚拟机VM2,虚拟机VM3,先对虚拟机VM1进行写入特征值,然后分别对虚拟机VM2和虚拟机VM3中的内存进行导出并查找是否存在该特征值,如果在虚拟机VM2和虚拟机VM3均未找到该特征值,则说明内存隔离检测通过,如果在虚拟机VM2和虚拟机VM3中任意一台查找到该特征值,说明内存隔离检测不通过。
本发明较佳的实施例中,安全检测系统还包括一内存剩余信息检测子系统2,内存剩余信息检测子系统2包括:
第二写入模块21,用于任选一台虚拟机,将虚拟机作为写入虚拟机,并持续向写入虚拟机中写入特征值,直至虚拟机的剩余内存容量不大于预先设置的第二阈值容量;
第一控制模块22,连接第二写入模块21,用于控制写入虚拟机与宿主机断开连接;
第二查找模块23,连接第一控制模块22,用于在虚拟机与宿主机断开连接后在宿主机中进行内存查找,并在宿主机中查找到特征值时输出第一查找结果,以及在宿主机中未查找到特征值时输出表征内存剩余信息保护的检测结果作为云平台的内存安全检测结果;
分配模块24,连接第二查找模块23,用于根据第一查找结果在宿主机上生成一新虚拟机,并将宿主机中的剩余内存全部分配给新虚拟机;
第三查找模块25,连接分配模块24,用于对新虚拟机进行内存查找,并在新虚拟机中查找到特征值时输出表征内存剩余信息未保护的检测结果作为云平台的内存安全检测结果,以及在新虚拟机中未查找到特征值时输出表征内存剩余信息保护的检测结果作为云平台的内存安全检测结果。
具体地,内存剩余信息检测是指检测云平台上虚拟机删除、重启和关机时,在虚拟机的内存归还给宿主机时,是否将虚拟机中的内存数据进行清除干净,进一步的判断云平台是否存在内存剩余信息泄漏的问题。具体实施为,先向一个虚拟机的内存中写入设定大小的特定值,写入特定值和内存隔离检测的设置方式一样,不再赘述。在对写入虚拟机写入特征值成功后,需要将写入虚拟机和宿主机断开连接,可以根据需要实际场景选择将虚拟机删除、重启或关机操作,然后在宿主机上执行查找,为了保证宿主机的内存安全以及正在执行的服务正常,这里采取将宿主机的内存导出并存储,并使用内存查找工具进行查找,内存查找工具可通过输入需查找的特征值对导出的内存进行查找,本内存剩余信息检测的查找需要进行两步,第一步,在宿主机上查找是否存在特征值,如果不存在特征值则得出内存剩余信息保护的检测结果,如果存在特征值,则需要进行第二步查找进行确认,在进行第二步查找时,先在宿主机上生成一台新虚拟机,并将宿主机的剩余内存全部分配给新虚拟机,在新的虚拟机上使用内存查找工具进行查找特征值,若存在特征值,得出内存剩余信息未保护的检测的结论;若不存在特征值,得出内存剩余信息保护的检测的结论。
进一步说明,首选对虚拟机VM1进行写入特征值,然后控制虚拟机VM1与其相连的宿主机断开连接,然后在该宿主机中查找该特征值,若未查到该特征值,则得出内存剩余信息保护的检测结论,若查找到了该特征值,则需要进一步查找,先在宿主机上重新生成虚拟机VM2,然后在虚拟机VM2中查找是否存在该特征值,如果在虚拟机VM2未找到该特征值,得出内存剩余信息保护的检测结论,如果在虚拟机VM2找到该特征值,得出内存剩余信息未保护的检测结论。
本发明较佳的实施例中,第一查找模块12包括:
第一导出单元122,连接一第一缓存单元121,用于依次将云平台上部署的除写入虚拟机之外的其他虚拟机中的第一内存值导出至第一缓存单元121;
第一查找单元123,连接第一导出单元122,用于在每次导出第一内存值时,对第一缓存单元进行查找,并在查找到特征值时输出未完全隔离内存检测结果作为云平台的内存安全检测结果,以及在所有虚拟机的第一内存值全部导出时仍未查找到特征值,输出完全隔离内存检测结果作为云平台的内存安全检测结果。
本发明较佳的实施例中,第一查找模块12还包括一删除单元124,连接第一缓存单元121,用于在内存安全检测完成后对第一缓存单元中的第一内存值进行删除。
具体地,在第一查找模块12中设置第一缓存单元121,为了在检测过程中不影响云平台中虚拟机和宿主机的正常运行。
本发明较佳的实施例中,第二查找模块23包括:
第二导出单元232,连接一第二缓存单元231,用于将宿主机中的第二内存值导出至第二缓存单元;
第二查找单元233,连接第二导出单元232,用于在导出宿主机中的第二内存值时,对第二缓存单元进行查找,并在宿主机中查找到特征值时输出第一查找结果,以及在宿主机中未查找到特征值时输出表征内存剩余信息保护的检测结果作为云平台的内存安全检测结果。
本发明较佳的实施例中,第三查找模块25包括:
第三导出单元252,连接一第三缓存单元251,用于将新虚拟机中的第三内存值导出至第三缓存单元;
第三查找单元253,连接第三导出单元252,用于在导出新虚拟机中的第三内存值时,对第三缓存单元进行查找,并在新虚拟机中查找到特征值时输出表征内存剩余信息未保护的检测结果作为云平台的内存安全检测结果,以及在新虚拟机中未查找到特征值时输出表征内存剩余信息保护的检测结果作为云平台的内存安全检测结果。
本发明较佳的实施例中,还包括删除模块26,分别连接第二查找模块23和第三查找模块25,用于在内存安全检测完成后分别对第二缓存单元中的第二内存值和第三缓存单元中的第三内存值进行删除。
本发明较佳的实施例中,还包括测试环境选择模块3,分别连接内存隔离检测子系统1和内存剩余信息检测子系统2,用于在对云平台进行内存安全检测之前,获取云平台的运行环境,并根据运行环境切换内存安全检测的测试环境。
具体地,本实施例中,为了确保云平台的内存安全检测的顺利进行,先对云平台的运行环境进行检测以确定云平台环境,再根据运行环境选择内存安全检测的测试环境,使云平台的内存安全检测过程顺利并可靠。
一种云平台的内存安全检测方法,应用于云平台的内存安全检测系统,安全检测方法通过向虚拟机写入特征值的方式进行内存安全检测;
内存安全检测方法包括至少一内存隔离检测流程,如图2所示,内存隔离检测流程包括以下步骤:
步骤S1,内存安全检测系统任选一台虚拟机,将虚拟机作为写入虚拟机,并持续向写入虚拟机中写入特征值,直至虚拟机的剩余内存容量不大于预先设置的第一阈值容量;
步骤S2,内存安全检测系统依次于云平台上部署的除写入虚拟机之外的虚拟机中查找是否包含有特征值:
若在任意一台虚拟机中查找到特征值,则输出表征内存未完全隔离的检测结果作为云平台的内存安全检测结果,
若在所有虚拟机中均未查找到特征值,则输出表征内存完全隔离的检测结果作为云平台的内存安全检测结果。
本发明较佳的实施例中,安全检测方法还包括一内存剩余检测流程,如图3所示,内存剩余检测流程包括:
步骤A,内存安全检测系统任选一台虚拟机,将虚拟机作为写入虚拟机,并持续向写入虚拟机中写入特征值,直至虚拟机的剩余内存容量不大于预先设置的第二阈值容量;
步骤B,内存安全检测系统控制写入虚拟机与宿主机断开连接;
步骤C,内存安全检测系统在虚拟机与宿主机断开连接后在宿主机中进行内存查找:
若在宿主机中查找到特征值,则转向步骤D;
若在宿主机中未查找到特征值,则输出表征内存剩余信息保护的检测结果作为云平台的内存安全检测结果,随后退出;
步骤D,内存安全检测系统在宿主机上生成一新虚拟机,并将宿主机中的剩余内存全部分配给新虚拟机;
步骤E,内存安全检测系统对新虚拟机进行内存查找:
若在新虚拟机中查找到特征值,则输出表征内存剩余信息未保护的检测结果作为云平台的内存安全检测结果;
若在新虚拟机中未查找到特征值,则输出表征内存剩余信息保护的检测结果作为云平台的内存安全检测结果。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (9)
1.一种云平台的内存安全检测系统,其特征在于,所述云平台上部署有若干虚拟机,各所述虚拟机分别运行在同一宿主机上,所述宿主机分别为各所述虚拟机提供内存;
所述安全检测系统通过向所述虚拟机写入特征值的方式进行内存安全检测;
所述安全检测系统包括至少一内存隔离检测子系统,所述内存隔离检测子系统包括:
第一写入模块,用于任选一台虚拟机,将所述虚拟机作为写入虚拟机,并持续向所述写入虚拟机中写入所述特征值,直至所述虚拟机的剩余内存容量不大于预先设置的第一阈值容量;
第一查找模块,连接所述第一写入模块,用于依次于所述云平台上部署的除所述写入虚拟机之外的所述虚拟机中查找是否包含有所述特征值,并在任意一台所述虚拟机中查找到所述特征值时输出表征内存未完全隔离的检测结果作为所述云平台的内存安全检测结果,以及在所有所述虚拟机中均未查找到所述特征值时输出表征内存完全隔离的检测结果作为所述云平台的所述内存安全检测结果;
所述第一查找模块包括:
第一导出单元,连接一第一缓存单元,用于依次将所述云平台上部署的除所述写入虚拟机之外的其他所述虚拟机中的第一内存值导出至所述第一缓存单元;
第一查找单元,连接所述第一导出单元,用于在每次导出所述第一内存值时,对所述第一缓存单元进行查找,并在查找到所述特征值时输出未完全隔离内存检测结果作为所述云平台的内存安全检测结果,以及在所有所述虚拟机的所述第一内存值全部导出时仍未查找到所述特征值,输出完全隔离内存检测结果作为所述云平台的所述内存安全检测结果。
2.根据权利要求1所述的内存安全检测系统,其特征在于,所述安全检测系统还包括一内存剩余信息检测子系统,所述内存剩余信息检测子系统包括:
第二写入模块,用于任选一台虚拟机,将所述虚拟机作为写入虚拟机,并持续向所述写入虚拟机中写入所述特征值,直至所述虚拟机的剩余内存容量不大于预先设置的第二阈值容量;
第一控制模块,连接所述第二写入模块,用于控制所述写入虚拟机与所述宿主机断开连接;
第二查找模块,连接所述第一控制模块,用于在所述虚拟机与所述宿主机断开连接后在所述宿主机中进行内存查找,并在所述宿主机中查找到所述特征值时输出第一查找结果,以及在所述宿主机中未查找到所述特征值时输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果;
分配模块,连接所述第二查找模块,用于根据所述第一查找结果在所述宿主机上生成一新虚拟机,并将所述宿主机中的剩余内存全部分配给所述新虚拟机;
第三查找模块,连接所述分配模块,用于对所述新虚拟机进行内存查找,并在所述新虚拟机中查找到所述特征值时输出表征内存剩余信息未保护的检测结果作为所述云平台的内存安全检测结果,以及在所述新虚拟机中未查找到所述特征值时输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果。
3.根据权利要求1所述的内存安全检测系统,其特征在于,所述第一查找模块还包括一删除单元,连接所述第一缓存单元,用于在内存安全检测完成后对所述第一缓存单元中的所述第一内存值进行删除。
4.根据权利要求2所述的内存安全检测系统,其特征在于,所述第二查找模块包括:
第二导出单元,连接一第二缓存单元,用于将所述宿主机中的第二内存值导出至所述第二缓存单元;
第二查找单元,连接所述第二导出单元,用于在导出所述宿主机中的所述第二内存值时,对所述第二缓存单元进行查找,并在所述宿主机中查找到所述特征值时输出第一查找结果,以及在所述宿主机中未查找到所述特征值时输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果。
5.根据权利要求4所述的内存安全检测系统,其特征在于,所述第三查找模块包括:
第三导出单元,连接一第三缓存单元,用于将所述新虚拟机中的第三内存值导出至所述第三缓存单元;
第三查找单元,连接所述第三导出单元,用于在导出所述新虚拟机中的所述第三内存值时,对所述第三缓存单元进行查找,并在所述新虚拟机中查找到所述特征值时输出表征内存剩余信息未保护的检测结果作为所述云平台的内存安全检测结果,以及在所述新虚拟机中未查找到所述特征值时输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果。
6.根据权利要求5所述的内存安全检测系统,其特征在于,还包括删除模块,分别连接所述第二查找模块和所述第三查找模块,用于在内存安全检测完成后分别对所述第二缓存单元中的所述第二内存值和所述第三缓存单元中的所述第三内存值进行删除。
7.根据权利要求2所述的内存安全检测系统,其特征在于,还包括测试环境选择模块,分别连接所述内存隔离检测子系统和所述内存剩余信息检测子系统,用于在对所述云平台进行内存安全检测之前,获取所述云平台的运行环境,并根据所述运行环境切换所述内存安全检测的测试环境。
8.一种云平台的内存安全检测方法,其特征在于,应用于如权利要求1至7所述的任意一项所述的云平台的内存安全检测系统,所述安全检测方法通过向所述虚拟机写入特征值的方式进行内存安全检测;
所述安全检测方法包括至少一内存隔离检测流程,所述内存隔离检测子流程的过程包括以下步骤:
步骤S1,所述内存安全检测系统任选一台虚拟机,将所述虚拟机作为写入虚拟机,并持续向所述写入虚拟机中写入所述特征值,直至所述虚拟机的剩余内存容量不大于预先设置的第一阈值容量;
步骤S2,所述内存安全检测系统依次于所述云平台上部署的除所述写入虚拟机之外的所述虚拟机中查找是否包含有所述特征值:
若在任意一台所述虚拟机中查找到所述特征值,则输出表征内存未完全隔离的检测结果作为所述云平台的内存安全检测结果,
若在所有所述虚拟机中均未查找到所述特征值,则输出表征内存完全隔离的检测结果作为所述云平台的所述内存安全检测结果;
所述步骤S2包括:依次将所述云平台上部署的除所述写入虚拟机之外的其他所述虚拟机中的第一内存值导出至第一缓存单元;在每次导出所述第一内存值时,对所述第一缓存单元进行查找,并在查找到所述特征值时输出未完全隔离内存检测结果作为所述云平台的内存安全检测结果,以及在所有所述虚拟机的所述第一内存值全部导出时仍未查找到所述特征值,输出完全隔离内存检测结果作为所述云平台的所述内存安全检测结果。
9.根据权利要求8所述的内存安全检测方法,其特征在于,所述安全检测方法还包括一内存剩余信息检测流程,所述内存剩余信息检测流程包括:
步骤A,所述内存安全检测系统任选一台虚拟机,将所述虚拟机作为写入虚拟机,并持续向所述写入虚拟机中写入所述特征值,直至所述虚拟机的剩余内存容量不大于预先设置的第二阈值容量;
步骤B,所述内存安全检测系统控制所述写入虚拟机与所述宿主机断开连接;
步骤C,所述内存安全检测系统在所述虚拟机与所述宿主机断开连接后在所述宿主机中进行内存查找:
若在所述宿主机中查找到所述特征值,则转向步骤D;
若在所述宿主机中未查找到所述特征值,则输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果,随后退出;
步骤D,所述内存安全检测系统在所述宿主机上生成一新虚拟机,并将所述宿主机中的剩余内存全部分配给所述新虚拟机;
步骤E,所述内存安全检测系统对所述新虚拟机进行内存查找:
若在所述新虚拟机中查找到所述特征值,则输出表征内存剩余信息未保护的检测结果作为所述云平台的内存安全检测结果;
若在所述新虚拟机中未查找到所述特征值,则输出表征内存剩余信息保护的检测结果作为所述云平台的所述内存安全检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010270388.2A CN111399988B (zh) | 2020-04-08 | 2020-04-08 | 一种云平台的内存安全检测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010270388.2A CN111399988B (zh) | 2020-04-08 | 2020-04-08 | 一种云平台的内存安全检测系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111399988A CN111399988A (zh) | 2020-07-10 |
CN111399988B true CN111399988B (zh) | 2024-02-09 |
Family
ID=71435060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010270388.2A Active CN111399988B (zh) | 2020-04-08 | 2020-04-08 | 一种云平台的内存安全检测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399988B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966458A (zh) * | 2020-08-10 | 2020-11-20 | 国网四川省电力公司信息通信公司 | 一种虚拟云桌面的安全管理方法 |
CN113067809B (zh) * | 2021-03-15 | 2023-05-16 | 公安部第三研究所 | 一种云平台的环境安全检测系统及方法 |
CN113918393B (zh) * | 2021-09-16 | 2024-04-23 | 盾构及掘进技术国家重点实验室 | 一种功能安全系统内存检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902885A (zh) * | 2014-03-04 | 2014-07-02 | 重庆邮电大学 | 面向多安全等级虚拟桌面系统虚拟机安全隔离系统及方法 |
CN104484606A (zh) * | 2014-12-05 | 2015-04-01 | 国云科技股份有限公司 | 一种虚拟化平台内存信息保密性的验证方法 |
CN106778275A (zh) * | 2016-12-29 | 2017-05-31 | 北京瑞星信息技术股份有限公司 | 基于虚拟化环境下的安全防护方法及系统和物理主机 |
CN106919854A (zh) * | 2017-03-08 | 2017-07-04 | 公安部第三研究所 | 一种虚拟机剩余信息清除的检测方法 |
CN108491716A (zh) * | 2018-01-29 | 2018-09-04 | 中国电子科技网络信息安全有限公司 | 一种基于物理页地址分析的虚拟机内存隔离性检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015176046A1 (en) * | 2014-05-15 | 2015-11-19 | Lynx Software Technologies, Inc. | Systems and methods involving features of hardware virtualization, hypervisor, apis of interest, and/or other features |
-
2020
- 2020-04-08 CN CN202010270388.2A patent/CN111399988B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902885A (zh) * | 2014-03-04 | 2014-07-02 | 重庆邮电大学 | 面向多安全等级虚拟桌面系统虚拟机安全隔离系统及方法 |
CN104484606A (zh) * | 2014-12-05 | 2015-04-01 | 国云科技股份有限公司 | 一种虚拟化平台内存信息保密性的验证方法 |
CN106778275A (zh) * | 2016-12-29 | 2017-05-31 | 北京瑞星信息技术股份有限公司 | 基于虚拟化环境下的安全防护方法及系统和物理主机 |
CN106919854A (zh) * | 2017-03-08 | 2017-07-04 | 公安部第三研究所 | 一种虚拟机剩余信息清除的检测方法 |
CN108491716A (zh) * | 2018-01-29 | 2018-09-04 | 中国电子科技网络信息安全有限公司 | 一种基于物理页地址分析的虚拟机内存隔离性检测方法 |
Non-Patent Citations (4)
Title |
---|
exploiting memory remnant vulnerabilities to do cross-tenant data extraction in cloud systems;Daniel Steven Keating;http://web.archive.org/web/20200323095637/https://etda.libraries.psu.edu/files/final_submissions/7497;第21-26页 * |
虚拟化安全隔离增强技术研究;何重阳等;《软件导刊》;20181115;第17卷(第11期);全文 * |
虚拟化环境中内存隔离性测试与分析;周斌;《计算机工程》;20101205;第36卷(第23期);全文 * |
邹娟平,胡月阳,李艳.内存擦除技术.《基于物联网技术的现代物流管理研究》.中国海洋大学出版社,2019,第38-45页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111399988A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111399988B (zh) | 一种云平台的内存安全检测系统及方法 | |
US9811369B2 (en) | Method and system for physical computer system virtualization | |
US10884645B2 (en) | Virtual machine hot migration method, host machine and storage medium | |
US8677484B2 (en) | Providing protection against unauthorized network access | |
US9069487B2 (en) | Virtualizing storage for WPAR clients using key authentication | |
CN102147763B (zh) | 一种网络日志的记录方法、系统及计算机 | |
EP1856609A1 (en) | Method, apparatus and system for dynamically reassigning memory from one virtual machine to another | |
US10521259B2 (en) | Device and method for monitoring resources in full virtualization system | |
CN108701048A (zh) | 数据加载方法及装置 | |
JP7144642B2 (ja) | フォレンジクスのための動作ベースのvmリソースキャプチャ | |
CN108920253B (zh) | 一种无代理的虚拟机监控系统和监控方法 | |
CN111736945A (zh) | 基于智能网卡的虚拟机热迁移方法、装置、设备及介质 | |
JP6768823B2 (ja) | 投機的仮想マシン実行 | |
US20050108440A1 (en) | Method and system for coalescing input output accesses to a virtual device | |
US11734430B2 (en) | Configuration of a memory controller for copy-on-write with a resource controller | |
JP2007133544A (ja) | 障害情報解析方法及びその実施装置 | |
CN103996003A (zh) | 一种虚拟化环境中的数据擦除系统及方法 | |
US20180157605A1 (en) | Configuration of a memory controller for copy-on-write | |
CN111966603A (zh) | 内存泄露的检测方法及装置、可读存储介质及电子设备 | |
CN107329836A (zh) | 多系统的内存管理方法、管理装置以及移动终端 | |
CN100514305C (zh) | 实现操作系统安全控制的系统及方法 | |
JP5966466B2 (ja) | バックアップ制御方法、および情報処理装置 | |
CN107832097A (zh) | 数据加载方法及装置 | |
CN107544834A (zh) | 一种镜像文件收缩方法、装置和机器可读存储介质 | |
CN111428240A (zh) | 一种用于检测软件的内存违规访问的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |