CN113157384A - 用于虚拟机的动态迁移防御方法及系统 - Google Patents
用于虚拟机的动态迁移防御方法及系统 Download PDFInfo
- Publication number
- CN113157384A CN113157384A CN202110103562.9A CN202110103562A CN113157384A CN 113157384 A CN113157384 A CN 113157384A CN 202110103562 A CN202110103562 A CN 202110103562A CN 113157384 A CN113157384 A CN 113157384A
- Authority
- CN
- China
- Prior art keywords
- migration
- virtual machine
- information
- virtual machines
- virtual
- 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.)
- Granted
Links
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/45562—Creating, deleting, cloning 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/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/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/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种用于虚拟机的动态迁移防御方法及系统,该方法包括:根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据;基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待转移的主机;根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略。本发明能够满足云基础设施中的服务质量需求,提升云基础设施防御性能,全面覆盖侧信道攻击对云平台的威胁;同时,有效降低虚拟机迁移的网络资源消耗,优化云基础设施的整体功耗。
Description
技术领域
本发明涉及通信及网络安全技术领域,尤其涉及一种用于虚拟机的动态迁移防御方法及系统。
背景技术
随着软件安全攻防技术的螺旋式进步,安全隐患也更加多样化,有关静态分析、动态调试和远程渗透的技术技巧层出不穷,其中,侧通道攻击是一种针对密码系统的特殊攻击方法。由于在加密过程中,加密仪器使用多种运算操作或特定物理硬件,从而产生不同的额外信息,侧通道攻击利用这些额外信息发起攻击,通过捕获和分析这些信息的变化,达到破解密码系统或得到密码系统中的敏感信息的目的。这类“无意识”的额外输出信息通常被称为侧通道信息(side channel information,简称SCI),利用这些信息对密码系统进行的攻击称之为侧通道攻击(side channel attack,简称SCA),也有将称为边信道攻击或旁信道攻击。与传统针对加密算法的数学理论分析攻击方法相比,侧通道攻击的攻击成本更低,且产生的攻击效果要远高于传统分析方法。
在云计算环境中,攻击者利用虚拟机间的共享物理资源,通过对共享资源的目的性使用,从而捕获和分析SCI。当两台虚拟机运行在同一台物理服务器上,有共享物理资源时,称为同驻,这是一种判断是否有共享物理资源的攻击,故同驻检测攻击是云环境中侧通道攻击中的基础检测攻击,一般在进行云环境中侧通道攻击时,首先发起的就是同驻检测攻击。
为了应对现有云平台防御方法中这种严重的固有缺陷,网络移动目标防御(network moving target defense,简称NMTD)作为一种主动防御方法,通过调整网络参数、网络身份标识或资源分配机制,主动进行虚拟机的迁移,从而能够达到隔离恶意用户的效果,阻断恶意用户的攻击窗口。通过这种主动分隔用户的虚拟迁移方式,可以有效地将恶意用户调离与被攻击的用户共同驻留的宿主物理机,针对侧信道攻击具有有效的防范效果。但是,基于目前的虚拟迁移防御方案的研究,仅针对特定的侧信道攻击方案,导致防御面窄,大多数的虚拟迁移方案为了完成主动防御,对云平台的性能与能耗方面的影响比较大,会对云平台的具体使用造成影响,并且,大多数的虚拟迁移方案针对的云平台规模比较有限,不能做到足够好的可伸缩性,一旦部署在规模较大云平台中,主动防御系统的能力会出现不足的情况。因此,目前的方法难以最大化实现虚拟迁移的防御效果,亟需一种用于虚拟机的动态迁移方法及系统来解决上述问题。
发明内容
针对现有技术存在的问题,本发明提供一种用于虚拟机的动态迁移防御方法及系统。
本发明提供一种用于虚拟机的动态迁移防御方法,包括:
根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据;
基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待转移的主机;
根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略。
根据本发明提供的一种用于虚拟机的动态迁移防御方法,虚拟机信息状态包括虚拟机同驻时间、恶意虚拟机共享信息和虚拟机复制信息。
根据本发明提供的一种用于虚拟机的动态迁移防御方法,所述根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据,包括:
根据所述虚拟机同驻时间、所述恶意虚拟机共享信息和所述虚拟机复制信息,构建数据泄露威胁模型;
基于所述数据泄露威胁模型,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据。
根据本发明提供的一种用于虚拟机的动态迁移防御方法,所述基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待进行转移的宿主机,包括:
通过遗传算法,对云平台中的虚拟机和主机进行编码,并根据迁移前的负载状态,对编码后的虚拟机和主机进行种群初始化处理,得到虚拟机分配到主机的初始种群;
基于适应度函数和所述初始种群,通过选择操作、交叉操作和变异操作,获取目标种群,以根据所述目标种群,得到多个目标宿主机和每个目标宿主机对应的迁移优先级。
根据本发明提供的一种用于虚拟机的动态迁移防御方法,所述根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略,包括:
根据所述信息泄露评估数据,将每个虚拟机的威胁风险按照从高到低进行排序;
基于启发式算法,根据排序后的虚拟机和所述迁移优先级,得到每个虚拟机迁移到对应目标宿主机的迁移顺序,以根据所述迁移顺序得到动态迁移防御测量。
根据本发明提供的一种用于虚拟机的动态迁移防御方法,其特征在于,所述数据泄露模型的公式为:
其中,CoResc,i,c′,i′(t)表示二元值0和1,表示在t时刻时,虚拟机i和虚拟机i′是否同驻,1表示同驻,0表示不同驻;InfoLeakc,i→c′,i′(t,Δ)表示在t时刻时,虚拟机的信息泄露评估数据;c表示第一用户,为存在信息泄露的用户;c′表示第二用户,为发起恶意攻击的用户;Δ表示预设时间跨度;i表示存在信息泄露的用户c的第i个虚拟机;i′表示发起恶意攻击的用户c′的第i′个虚拟机;表示在所述第二用户之间无协作,且所述第一用户之间无复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据;表示在所述第二用户之间存在协作,且所述第一用户之间无复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据;表示在所述第二用户之间无协作,且所述第一用户之间存在复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据;表示在所述第二用户之间存在协作,且所述第一用户之间存在复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据。
根据本发明提供的一种用于虚拟机的动态迁移防御方法,所述适应度函数的公式为:
其中,F表示适应度函数,i表示宿主机编号,j表示虚拟机编号,k表示执行了k轮迁移策略;Y为二元值,表示在执行了k轮迁移策略后,宿主机i中是否有虚拟机在运行;M为二元值,表示在执行了k轮迁移策略后,虚拟机j是否迁移;W表示权重值。
本发明还提供一种用于虚拟机的动态迁移防御系统,包括:
信息泄露评估模块,用于根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据;
宿主机选取模块,用于基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待转移的主机;
动态迁移策略构建模块,用于根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述用于虚拟机的动态迁移防御方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述用于虚拟机的动态迁移防御方法的步骤。
本发明提供的用于虚拟机的动态迁移防御方法及系统,能够满足云基础设施中的服务质量需求,并显著提升云基础设施的防御性能,全面覆盖侧信道攻击对云平台的威胁;同时,可有效降低虚拟机迁移的网络资源消耗,大幅优化云基础设施的整体功耗,实现云平台高效的应对防御。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的用于虚拟机的动态迁移防御方法的流程示意图;
图2为本发明提供的云平台信息泄露示意图;
图3为本发明提供的用于虚拟机的动态迁移防御方法的部署示意图;
图4为本发明提供的用于虚拟机的动态迁移防御系统的结构示意图;
图5为本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在云平台环境中,存在着针对不同的共享物理资源,基于不同攻击目的多种侧信道攻击方式,现有的云平台防御手段无法有效应对侧信道攻击,进而采取防御操作。同时,恶意用户可以利用长时间的共同驻留,完成信息的窃取以及攻击的准备与实施。近年来,云平台的安全性越来越受到关注,其中也不乏有运用动目标防御的理念解决云平台安全的问题的方案,包括基于云平台本身的实时迁移能力,将恶意用户与其共同驻留的用户相隔离开,从而完成主动防御。
然而,在实际的云平台虚拟机迁移中,迁移主机的选择以及虚拟机迁移序列的安排,是一个规模较大且不易解决的问题,本发明基于启发式算法的方式来解决该问题。启发式算法定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下,给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。应用启发式算法可以在有更好伸缩性的基础上,更有效率地完成对防御策略的生成,更好的完成防御。因此,本发明将启发式算法应用到虚拟机迁移方法中,使防御者能够给自主判定目前云平台的风险态势,从而进行最优防御策略选择,最大化主动防御方法的防御性能。
图1为本发明提供的用于虚拟机的动态迁移防御方法的流程示意图,如图1所示,本发明提供了一种用于虚拟机的动态迁移防御方法,包括:
步骤101,根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据。
在本发明中,针对现有多种类型的侧信道攻击方式,对侧信道攻击者(存在恶意攻击的虚拟机)进行全方位建模,并基于虚拟机信息状态,评估云平台中每个虚拟机的信息泄露评估数据,从而可以准确表征虚拟机在云中的数据泄露威胁,并做出风险评估。需要说明的是,在本发明中,将每个虚拟机泄露的信息量作为信息泄露评估数据。
步骤102,基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待转移的主机。
在本发明中,对整个云平台进行评估,考虑虚拟机迁移过程中对云平台服务的影响,通过对云基础设施的负载情况进行监测,获取当前时刻(未进行迁移前的状态)虚拟机和虚拟机所在宿主机的负载状态,基于启发式算法,计算得到下一时刻虚拟机将要迁移到的目标宿主机,以及这些目标宿主机的迁移优先级,具体地,将虚拟机迁移到优先级较高的目标宿主机中,当该目标宿主机已迁入的虚拟机达到了预设负载后,剩余的虚拟机将继续迁移至下一优先级的目标宿主机中。本发明对整体云平台进行评估,根据性能约束实时调整宿主机的选择,有效降低虚拟机迁移的网络资源消耗,大幅优化云基础设施的整体功耗。
步骤103,根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略。
在本发明中,根据信息泄露评估数据,对需要迁移的虚拟机进行选择,将信息泄露评估数据较高的虚拟机优先迁移到目标宿主机,并且,确定迁往的宿主机选取最高的迁移优先级,从而得到云平台中虚拟机的迁移顺序,生成对应的动态迁移防御策略。
本发明提供的用于虚拟机的动态迁移防御方法,能够满足云基础设施中的服务质量需求,并显著提升云基础设施的防御性能,全面覆盖侧信道攻击对云平台的威胁;同时,可有效降低虚拟机迁移的网络资源消耗,大幅优化云基础设施的整体功耗,实现云平台高效的应对防御。
在上述实施例的基础上,虚拟机信息状态包括虚拟机同驻时间、恶意虚拟机共享信息和虚拟机复制信息。
在上述实施例的基础上,所述根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据,包括:
根据所述虚拟机同驻时间、所述恶意虚拟机共享信息和所述虚拟机复制信息,构建数据泄露威胁模型;
基于所述数据泄露威胁模型,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据。
在本发明中,基于云平台中影响信息泄露的三个关键信息,构建数据泄露威胁模型。图2为本发明提供的云平台信息泄露示意图,可参考图2所示,恶意用户有3个虚拟机(R1、R2和R3),正常用户有2个虚拟机(B1和B2),每台主机有2个虚拟机分配空间,如图2所示,恶意用户和正常用户的虚拟机在3台主机上跨3个时段的位置。
进一步地,根据恶意用户的虚拟机和正常用户的虚拟机之间所存在的交叉时间,即同驻时间,获取信息泄露量。具体地,一实施例中,从客户机c(正常用户在云平台中所有虚拟机)泄漏到客户机c'(恶意用户在云平台中所有的虚拟机)的私有信息的总量,与它们的虚拟机之间的临时共驻留时间成正比。例如,在Prime+Probe攻击中,信息泄漏以每分钟几位的速度发生,因此,如果它们共存的时间越长,则总泄漏量会更大,可参考图2所示,如果假设通过某个侧信道,每个时段的泄漏率为K位,那么B2将向R1泄漏2K位,因为它们在两个时段中(即第二时段和第三时段)是共存的。
进一步地,恶意用户中虚拟机之间的共享信息,也会对信息泄露威胁造成影响。在本发明中,数据泄露威胁模型允许恶意客户的虚拟机进行协作,以提高信息抽取的速度。例如,在Prime+Probe攻击中,恶意的虚拟机可能决定对密钥的不同部分进行工作,并结合这些部分来重构密钥。可参考图2所示,如果虚拟机R1、R2和R3协作,那么它们可以提取更多信息,由此构建一个C(Collaborating)模型代表恶意虚拟机之间存在协作的关系,在协作的情况下,虚拟机R1可提取到3K位的信息,例如,如图2所示,第一时段中,B1向R1泄露了1K位信息,第二时段中,B1向R3泄露提取了1K位信息,第三时段中,B1向R3泄露了1K位信息;而在虚拟机R1、R2和R3无协作情况构建的NC模型中,只能提取到2K位信息,即第一时段中,B1向R1泄露了1K位信息,第二时段和第三时段,B1共向R3泄露了2K位信息,由于无协作,取R1和R3中获取B1信息的最大值,即2K位信息。
进一步地,针对虚拟机之间存在复制信息的情况,具体地,根据客户机c的工作负载,属于客户机c的不同虚拟机可能携带相同的私有信息位。例如,考虑一个复制的web服务器部署,其中所有副本都有相同的私有数据库记录。直观地说,复制客户端工作负载会带来更大的威胁,因为它们会导致更高的信息泄漏。可参考图2所示,在虚拟机B1、B2之间互为复制备份的条件下,即为R(Replicated)模型,R1于三个时段共获取3K位信息,R2于第一时段获取1K位信息,R3于第二时段和第三时段共获取2K位信息,即恶意虚拟机R1可以在三个时期提取3K位,以防蓝色虚拟机是副本,因为虚拟机B1和B2携带相同的信息;相反,如果B1和B2不是副本,那么R1将有来自B1的K位和来自B2的2K位,但由于信息不同,这些不能组合在一起。需要说明的是,在本发明中,在云平台中,恶意用户中虚拟机之间的共享信息,以及虚拟机之间存在复制信息的情况一般是同时出现的,也就是说,如果R1、R2、R3在合作共享的同时,B1和B2之间也存在复制信息,那么在三个时期中,恶意虚拟机将从正常虚拟机中收集到6K位的私有信息。
在上述实施例的基础上,所述数据泄露模型的公式为:
其中,CoResc,i,c′,i′(t)表示二元值0和1,表示在t时刻时,虚拟机i和虚拟机i′是否同驻,1表示同驻,0表示不同驻;InfoLeakc,i→c′,i′(t,Δ)表示在t时刻时,虚拟机的信息泄露评估数据;c表示第一用户,属于正常用户,即恶意用户攻击的目标用户,为存在信息泄露的用户;c′表示第二用户,为发起恶意攻击的用户;Δ表示预设时间跨度,是一个窗口区,表示[t-Δ,t]这一窗口区;i表示存在信息泄露的用户c的第i个虚拟机;i′表示发起恶意攻击的用户c′的第i′个虚拟机;表示在所述第二用户之间无协作,且所述第一用户之间无复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据;表示在所述第二用户之间存在协作,且所述第一用户之间无复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据;表示在所述第二用户之间无协作,且所述第一用户之间存在复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据;表示在所述第二用户之间存在协作,且所述第一用户之间存在复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据。
在上述实施例的基础上,所述基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待进行转移的宿主机,包括:
通过遗传算法,对云平台中的虚拟机和主机进行编码,并根据迁移前的负载状态,对编码后的虚拟机和主机进行种群初始化处理,得到虚拟机分配到主机的初始种群;
基于适应度函数和所述初始种群,通过选择操作、交叉操作和变异操作,获取目标种群,以根据所述目标种群,得到多个目标宿主机和每个目标宿主机对应的迁移优先级。
在本发明中,多目标优化问题一般不存在单一最优解,需要从一组非劣解中选择一个满意解,因此,对于解的满意选择就存在一种偏好问题。一种简单的方法就是引入一个权重变量,将多个目标求解转化为单目标求解。优选地,本发明采用遗传算法,计算得到目标宿主机和每个目标宿主机对应的迁移优先级。遗传算法是一种模拟自然选择机制和自然遗传进化过程的计算模型,不仅可以高效地搜索最优解,并且其具有的并行性能够适应大规模组合优化问题。遗传算法求解的具体步骤如下:
步骤S1,染色体编码。染色体编码的选择,是影响遗传算法搜索效率和效果的重要因素,其实现的是从问题的解到染色体的映射。在本发明中,虚拟机和主机是多对一的关系,因此,本发明基于遗传算法,运用分组编码的方式对染色体进行编码,即染色体基因位上数字表示分组的主机号,每个分组中包含一串子基因,该子基因号表示主机中的虚拟机编号。
步骤S2,种群初始化。种群初始化是遗传算法最基本的步骤,在本发明中,遗传算法求解的是虚拟机动态迁移问题,种群的初始化需要基于虚拟机和主机迁移前的负载状态。因此,根据虚拟机编号,随机产生一组虚拟机序列,按照当前染色体编码、约束条件(例如,主机可达到的最大预设负载)和多维优先适应的原则,将虚拟机分配到运行的主机中,若运行的主机不满足约束条件,则将虚拟机分配到编号最小的待机状态主机,使主机处于运行状态。
步骤S3,构建适应度函数。在本发明中,适应度函数Fitness是由目标函数转换而成的,所述适应度函数的公式为:
其中,F表示适应度函数,i表示宿主机编号,j表示虚拟机编号,k表示执行了k轮迁移策略;Y为二元值,表示在执行了k轮迁移策略后,宿主机i中是否有虚拟机在运行,即Yj(k)=1表示有虚拟机在运行,Yj(k)=0表示无虚拟机在运行;M为二元值,表示在执行了k轮迁移策略后,虚拟机j是否迁移,即Mi(k)=1表示虚拟机已迁移,Mi(k)=0表示虚拟机未迁移,W表示权重值。
步骤S4,进行选择操作。在本发明中,遗传算法中的选择操作为轮盘赌法,即基于适应度比例的选择策略,以此来选择出合适的个体进行后续的交叉和变异操作,为了防止当前群体的最优个体在下一代发生丢失,导致算法不能收敛到全局最优解,在选择操作前,需要保留g个最优个体。选择操作中每个个体xi的选择概率为Pi:
其中,Fi为个体xi的适应度值,由于选择的适应度是模型目标函数最小值,因此其值越小越好,所以在个体选择前,对适应度值求倒数,a为经验系数,s为种群个体数目。
步骤S5,进行交叉操作。在种群中随机选择两个染色体A和B,设置交叉概率Pc,并对两个父个体随机产生交叉位置,将第一个父个体的交叉位基因,插入到第二个父个体的染色体最前端,删除第二个父个体中重复出现的虚拟机及其所在的主机,根据多维优先适应的原则,从新分配无主虚拟机,并且在满足约束条件的前提下,根据虚拟机迁移数最小原则,将染色体最前端新插入的基因替换删除的主机基因,若不满足约束,则将新基因替换最小编号的空闲主机基因。
步骤S6,进行变异操作。首先,以较小的概率Pm获得需要变异的染色体,随机产生一个存在于变异的染色体中的整数M∈[0,m),即运行的主机号,将主机中的所有虚拟机按照多维优先适应原则进行从新分配。
步骤S7,进行精英保留。具体地,根据适应度函数,重新计算新种群中o个个体适应度P={P1,P2,…,Po},令精英个体适应度Q={Q1,Q2,…,Qo},将P和Q进行混合排序,选取其中最优的o个个体作为新一代种群,从而得到多个目标宿主机和每个目标宿主机对应的迁移优先级。
在上述实施例的基础上,所述根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略,包括:
根据所述信息泄露评估数据,将每个虚拟机的威胁风险按照从高到低进行排序;
基于启发式算法,根据排序后的虚拟机和所述迁移优先级,得到每个虚拟机迁移到对应目标宿主机的迁移顺序,以根据所述迁移顺序得到动态迁移防御测量。
在本发明中,图3为本发明提供的用于虚拟机的动态迁移防御方法的部署示意图,可参考图3所示,云供应商提供部署模型,并开放应用程序接口(Application ProgrammingInterface,简称API)给用户,用户可以自由选择对自己创建虚拟机的约束,两者相结合会确定每一台虚拟机的服务、约束以及工作负载等信息,并将这些信息作为输入;然后,基于上述实施例中获取得到的信息泄露评估数据,以及目标宿主机和每个目标宿主机对应的迁移优先级,根据启发式虚拟机迁移放置算法(启发式算法),计算得到一个迁移集合(MoveSets),即获取需要迁移哪些虚拟机以及这些虚拟机分别迁往哪台物理机,从而通过这个迁移集合生成对应的迁移策略,并交由迁移引擎(Migration Engine)执行迁移操作,针对大量虚拟机及其共同驻留风险,决策虚拟机迁移序列以及迁移去向,能够根据网络安全态势,动态调整迁移周期,快速决策迁移虚拟机以及其去向,完成高效的应对防御。在本发明中,启发式虚拟机迁移放置算法的详细伪代码如表1所示:
表1
图4为本发明提供的用于虚拟机的动态迁移防御系统的结构示意图,如图4所示,本发明提供了一种用于虚拟机的动态迁移防御系统,包括信息泄露评估模块401、宿主机选取模块402和动态迁移策略构建模块403,其中,信息泄露评估模块401用于根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据;宿主机选取模块402用于基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待转移的主机;动态迁移策略构建模块403用于根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略。
本发明提供的用于虚拟机的动态迁移防御系统,能够满足云基础设施中的服务质量需求,并显著提升云基础设施的防御性能,全面覆盖侧信道攻击对云平台的威胁;同时,可有效降低虚拟机迁移的网络资源消耗,大幅优化云基础设施的整体功耗,实现云平台高效的应对防御。
本发明实施例提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
图5为本发明提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行用于虚拟机的动态迁移防御方法,该方法包括:根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据;基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待转移的主机;根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略。
此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的用于虚拟机的动态迁移防御方法,该方法包括:根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据;基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待转移的主机;根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的用于虚拟机的动态迁移防御方法,该方法包括:根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据;基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待转移的主机;根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种用于虚拟机的动态迁移防御方法,其特征在于,包括:
根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据;
基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待转移的主机;
根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略。
2.根据权利要求1所述的用于虚拟机的动态迁移防御方法,其特征在于,虚拟机信息状态包括虚拟机同驻时间、恶意虚拟机共享信息和虚拟机复制信息。
3.根据权利要求2所述的用于虚拟机的动态迁移防御方法,其特征在于,所述根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据,包括:
根据所述虚拟机同驻时间、所述恶意虚拟机共享信息和所述虚拟机复制信息,构建数据泄露威胁模型;
基于所述数据泄露威胁模型,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据。
4.根据权利要求1所述的用于虚拟机的动态迁移防御方法,其特征在于,所述基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待进行转移的宿主机,包括:
通过遗传算法,对云平台中的虚拟机和主机进行编码,并根据迁移前的负载状态,对编码后的虚拟机和主机进行种群初始化处理,得到虚拟机分配到主机的初始种群;
基于适应度函数和所述初始种群,通过选择操作、交叉操作和变异操作,获取目标种群,以根据所述目标种群,得到多个目标宿主机和每个目标宿主机对应的迁移优先级。
5.根据权利要求1所述的用于虚拟机的动态迁移防御方法,其特征在于,所述根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略,包括:
根据所述信息泄露评估数据,将每个虚拟机的威胁风险按照从高到低进行排序;
基于启发式算法,根据排序后的虚拟机和所述迁移优先级,得到每个虚拟机迁移到对应目标宿主机的迁移顺序,以根据所述迁移顺序得到动态迁移防御测量。
6.根据权利要求3所述用于虚拟机的动态迁移防御方法,其特征在于,所述数据泄露模型的公式为:
其中,CoResc,i,c′,i′(t)表示二元值0和1,表示在t时刻时,虚拟机i和虚拟机i′是否同驻,1表示同驻,0表示不同驻;InfoLeakc,i→c′,i′(t,Δ)表示在t时刻时,虚拟机的信息泄露评估数据;c表示第一用户,为存在信息泄露的用户;c′表示第二用户,为发起恶意攻击的用户;Δ表示预设时间跨度;i表示存在信息泄露的用户c的第i个虚拟机;i′表示发起恶意攻击的用户c′的第i′个虚拟机;表示在所述第二用户之间无协作,且所述第一用户之间无复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据;表示在所述第二用户之间存在协作,且所述第一用户之间无复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据;表示在所述第二用户之间无协作,且所述第一用户之间存在复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据;表示在所述第二用户之间存在协作,且所述第一用户之间存在复制信息的情况下,所述第二用户从所述第一用户中获取到的信息泄露数据。
8.一种用于虚拟机的动态迁移防御系统,其特征在于,包括:
信息泄露评估模块,用于根据虚拟机信息状态,对云平台中的虚拟机进行数据泄露威胁风险评估,得到每个虚拟机的信息泄露评估数据;
宿主机选取模块,用于基于启发式算法,根据云平台中虚拟机和宿主机在迁移前的负载状态,获取多个目标宿主机和每个目标宿主机对应的迁移优先级,所述目标宿主机为每个虚拟机待转移的主机;
动态迁移策略构建模块,用于根据所述信息泄露评估数据和所述迁移优先级,获取每个虚拟机迁移到目标宿主机的迁移顺序,以得到对应的动态迁移防御策略。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述用于虚拟机的动态迁移防御方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述用于虚拟机的动态迁移防御方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110103562.9A CN113157384B (zh) | 2021-01-26 | 2021-01-26 | 用于虚拟机的动态迁移防御方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110103562.9A CN113157384B (zh) | 2021-01-26 | 2021-01-26 | 用于虚拟机的动态迁移防御方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157384A true CN113157384A (zh) | 2021-07-23 |
CN113157384B CN113157384B (zh) | 2023-02-28 |
Family
ID=76879142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110103562.9A Active CN113157384B (zh) | 2021-01-26 | 2021-01-26 | 用于虚拟机的动态迁移防御方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157384B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114510712A (zh) * | 2022-04-20 | 2022-05-17 | 中科星启(北京)科技有限公司 | 拟态数量调整方法、装置、宿主机及存储介质 |
CN117950824A (zh) * | 2023-12-13 | 2024-04-30 | 天翼云科技有限公司 | 一种基于改进多目标算法的虚拟机调度方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199736A (zh) * | 2014-06-30 | 2014-12-10 | 浙江大学苏州工业技术研究院 | 云环境下的数据中心节能方法 |
CN104268004A (zh) * | 2014-10-17 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种云计算操作系统下的虚拟机迁移方法 |
US20160314014A1 (en) * | 2015-04-23 | 2016-10-27 | International Business Machines Corporation | Machine learning for virtual machine migration plan generation |
CN106095532A (zh) * | 2016-06-12 | 2016-11-09 | 北京大学 | 一种云环境中虚拟机负载均衡安全调度方法 |
US20160378520A1 (en) * | 2015-06-23 | 2016-12-29 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
CN108469983A (zh) * | 2018-04-02 | 2018-08-31 | 西南交通大学 | 一种云环境下的基于粒子群算法的虚拟机部署方法 |
CN109325344A (zh) * | 2018-09-13 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种云环境中防御侧信道攻击的虚拟机迁移方法及系统 |
-
2021
- 2021-01-26 CN CN202110103562.9A patent/CN113157384B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199736A (zh) * | 2014-06-30 | 2014-12-10 | 浙江大学苏州工业技术研究院 | 云环境下的数据中心节能方法 |
CN104268004A (zh) * | 2014-10-17 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种云计算操作系统下的虚拟机迁移方法 |
US20160314014A1 (en) * | 2015-04-23 | 2016-10-27 | International Business Machines Corporation | Machine learning for virtual machine migration plan generation |
US20160378520A1 (en) * | 2015-06-23 | 2016-12-29 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
CN106095532A (zh) * | 2016-06-12 | 2016-11-09 | 北京大学 | 一种云环境中虚拟机负载均衡安全调度方法 |
CN108469983A (zh) * | 2018-04-02 | 2018-08-31 | 西南交通大学 | 一种云环境下的基于粒子群算法的虚拟机部署方法 |
CN109325344A (zh) * | 2018-09-13 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种云环境中防御侧信道攻击的虚拟机迁移方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114510712A (zh) * | 2022-04-20 | 2022-05-17 | 中科星启(北京)科技有限公司 | 拟态数量调整方法、装置、宿主机及存储介质 |
CN117950824A (zh) * | 2023-12-13 | 2024-04-30 | 天翼云科技有限公司 | 一种基于改进多目标算法的虚拟机调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113157384B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fan et al. | Dredas: Decentralized, reliable and efficient remote outsourced data auditing scheme with blockchain smart contract for industrial IoT | |
Huang et al. | A survey of state-of-the-art on blockchains: Theories, modelings, and tools | |
Durrani et al. | Volunteer computing: requirements, challenges, and solutions | |
CN102571746B (zh) | 一种面向云计算环境侧通道攻击防御的虚拟机部署方法 | |
CN111898137A (zh) | 一种联邦学习的隐私数据处理方法、设备及系统 | |
CN113157384B (zh) | 用于虚拟机的动态迁移防御方法及系统 | |
CN103677960B (zh) | 一种能耗约束的虚拟机博弈重放置方法 | |
Zhao et al. | Obfuscating community structure in complex network with evolutionary divide-and-conquer strategy | |
Kong et al. | A secure container deployment strategy by genetic algorithm to defend against co-resident attacks in cloud computing | |
Jain et al. | Security on Networks | |
Lucas et al. | An initial framework for evolving computer configurations as a moving target defense | |
Jakóbik et al. | Stackelberg games for modeling defense scenarios against cloud security threats | |
Yang et al. | An effective and scalable VM migration strategy to mitigate cross-VM side-channel attacks in cloud | |
CN102752279B (zh) | 一种社交网络恶意代码传播的仿真系统及仿真方法 | |
Xiao et al. | Mixing activations and labels in distributed training for split learning | |
Goel et al. | Defending active directory by combining neural network based dynamic program and evolutionary diversity optimisation | |
Yang et al. | An immunization strategy for social network worms based on network vertex influence | |
Briceño et al. | Robust resource allocation in a massive multiplayer online gaming environment | |
Ngo et al. | Catch Me if You Can: Effective Honeypot Placement in Dynamic AD Attack Graphs | |
Bendahmane et al. | The effectiveness of reputation-based voting for collusion tolerance in large-scale grids | |
CN115719094A (zh) | 基于联邦学习的模型训练方法、装置、设备及存储介质 | |
CN112527898B (zh) | 安全计算方法、装置、计算机及存储介质 | |
Haghighat et al. | Service integrity assurance for distributed computation outsourcing | |
Narwal et al. | A review of game-theoretic approaches for secure virtual machine resource allocation in cloud | |
Guo et al. | User rank: A user influence-based data distribution optimization method for privacy protection in cloud storage system |
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 |