CN104331436B - 基于家族基因码的恶意代码快速归类方法 - Google Patents

基于家族基因码的恶意代码快速归类方法 Download PDF

Info

Publication number
CN104331436B
CN104331436B CN201410571621.5A CN201410571621A CN104331436B CN 104331436 B CN104331436 B CN 104331436B CN 201410571621 A CN201410571621 A CN 201410571621A CN 104331436 B CN104331436 B CN 104331436B
Authority
CN
China
Prior art keywords
malicious code
sample
code
family gene
behavior
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
Application number
CN201410571621.5A
Other languages
English (en)
Other versions
CN104331436A (zh
Inventor
沈超
程颢
张泽华
管晓宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201410571621.5A priority Critical patent/CN104331436B/zh
Publication of CN104331436A publication Critical patent/CN104331436A/zh
Application granted granted Critical
Publication of CN104331436B publication Critical patent/CN104331436B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于家族基因码的恶意代码快速归类方法,在多个行为层面上采用行为出现频数对恶意代码行为进行特征表示,基于海量恶意代码样本间的聚集性和差异性生成家族基因码,利用家族基因码与新增恶意代码特征向量的直接匹配实现恶意代码的准确和快速归类。本发明方法的优点在于:从多个行为层面刻画恶意代码的行为信息,利用相似恶意代码间的聚集性和差异性生成家族基因码,显著地提高了对恶意代码家族进行表示的准确性及普适性;同时,采用将恶意代码特征向量与家族基因码直接匹配的方法能够有效地提高恶意代码比对和归类的速度;此外,整个过程的算法均高度自动化,无需人为干预,增加了本方法的稳定性及准确性。

Description

基于家族基因码的恶意代码快速归类方法
技术领域
本发明涉及计算机安全防护技术,特别涉及一种计算机恶意代码归类方法。
背景技术
随着社会的进步与科技的发展,计算机已经渗透到了人们生活的方方面面,越来越多的个人信息(如图片、视频、聊天记录等)和敏感信息(如银行账号、商业资料等)被存储于计算机之中。同时,近年来以盗用、破坏这些信息为主要目的的恶意代码数量急剧增加,且呈现出变种多、智能化的特点,这使得计算机恶意代码的识别和分类问题引起各国政府和民众的极大重视。
现有的恶意代码归类方法主要从恶意代码静态特征或动态特征出发,大多集中在对已知的恶意代码的聚类分类上,对新增恶意代码的分类效果较差,同时恶意代码行为的特征分析形式单一且样本数量较少,缺乏准确性和普适性。
发明内容
本发明的目的是提供一种可以快速且准确地对计算机恶意代码进行归类的方法,特别是一种利用海量恶意代码样本经过聚类后得到的恶意代码家族基因码来实现对新增恶意代码快速准确归类的方法。
为达到以上目的,本发明是采取如下技术方案实现的:
一种基于家族基因码的恶意代码快速归类方法,其特征在于,包括下述两大步骤:
第一步,恶意代码家族基因码的生成,包括下述分步骤:
(1)获取由M个恶意代码样本构成的恶意代码样本集,其中,M至少为1000万;
(2)从恶意代码样本中提取行为信息;
(3)对所有恶意代码样本的各种行为出现的频数进行统计排序,选择频数总和不小于3的行为作为刻画恶意代码样本的行为向量;
(4)使用行为向量的每个元素在恶意代码行为信息中出现的频数构成该恶意代码样本的特征向量;
(5)采用曼哈顿距离算法计算恶意代码样本特征向量之间的距离,形成恶意代码样本集的距离矩阵D={dij}M×M,其中,dij表示恶意代码样本i到恶意代码样本j的距离,矩阵D关于对角线对称;
(6)基于恶意代码样本集的距离矩阵D,从恶意代码样本集中提取出恶意代码家族基因码,以方便生成恶意代码家族。
第二步,恶意代码快速归类,包括下述分步骤:
(1)针对新增的恶意代码样本,提取其行为信息,与在恶意代码样本集中得到的行为向量进行比对,将行为向量中每个元素在新增恶意代码样本的行为信息中出现的频数作为该样本的特征向量;
(2)将新增恶意代码样本的特征向量与恶意代码家族基因码进行匹配,对新增恶意代码所属的类别进行判定。
上述方法中,第一步(2)中所述恶意代码的行为信息是指恶意代码在执行过程中对计算机资源的访问行为,包括API导入表的访问行为、文件操作行为、进程操作行为、注册表操作行为、动态链接库调用行为、钩子函数调用行为。
第一步(3)中所述选择频数总和不小于3的行为作为刻画恶意代码样本的行为向量,其具体步骤为:
(1)对恶意代码样本集中每个样本的行为信息进行统计分析,利用出现过的所有行为构成初始特征集;
(2)计算初始特征集中每个元素在所有样本的行为信息中出现频数的总和,排序并去除出现频数总和为1和2的元素,使用剩余的元素作为刻画恶意代码样本的特征。
第一步(6)中所述从样本集中提取恶意代码家族基因码的具体方法为:
1)将恶意代码样本间的距离dij(i<j)进行降序排列,取排列结果的中值作为截断距离dc
2)采用高斯核函数计算每个恶意代码样本的聚集度ρi,表示该样本被它的邻居样本的包裹程度,计算公式为:
3)生成恶意代码样本聚集度的降序排列下标序
4)计算每个恶意代码样本的差异度表示该恶意代码样本与其它聚集度大的恶意代码样本之间的距离,计算公式为:
5)针对每个恶意代码样本,计算该恶意代码样本作为家族基因码的决策值,该决策值为该恶意代码样本的聚集度和差异度的乘积;
6)将每个恶意代码样本作为家族基因码的决策值与预设的阈值ε进行比较,若大于该阈值,则判定该样本作为一个家族基因码,并存储于数据库中。
第二步(2)中所述根据特征向量与恶意代码家族基因码的匹配结果进行新增恶意代码样本类别判定的具体方法为:将新增恶意代码样本特征向量与数据库中每一个恶意代码家族基因码进行匹配,得到与该恶意代码家族基因码的相似度值,若存在相似度值大于预设阈值的情况,将该恶意代码样本归类为最大相似度值对应的恶意代码家族;若不存在相似度值大于预设阈值的情况,将该恶意代码样本归类为新增恶意代码家族。
第一步(4)中所构成的恶意代码样本特征向量,其存储方法为:使用索引矩阵进行存储,在索引矩阵中仅记录特征向量中大于0小于10的元素位置。
与现有方法相比,基于恶意代码家族基因码的归类技术具有显著的优势:首先,分析的恶意代码样本数量巨大,且采用动态和静态特征结合的方式从多个行为层面对恶意代码行为进行描述和刻画,利用相似恶意代码间的聚集性和差异性生成家族基因码,产生的恶意代码家族基因码具有代表性和普适性;其次,采用将恶意代码特征向量与家族基因码直接匹配的方式能够有效地增加恶意代码比对和归类的速度;此外,整个过程的算法均高度自动化,无需人为干预,增加了本方法的稳定性及准确性。
附图说明
图1是本发明方法的总体流程示意图。
图2是图1第一大步中的生成家族基因码步骤具体流程示意图。
图3是图1中第二大步的具体流程示意图。
具体实施方式
参见图1,本发明涉及了一种基于家族基因码的恶意代码快速归类方法,可用于对新增恶意代码的家族信息进行快速识别,实现对海量恶意代码快速且准确的归类。本发明包含家族基因码的生成和恶意代码的快速归类两个部分,具体实施步骤如下:
1)家族基因码的生成部分包括下述步骤:
(1)获取恶意代码样本集(包含M个恶意代码样本)。
(2)对每个恶意代码样本进行反汇编,分析反汇编结果并得到恶意代码的静态行为信息,包括API导入表调用行为,再将该恶意代码样本置于沙箱中运行,同时监测其对宿主计算机的动态操作行为,得到恶意代码的动态行为信息,包括文件操作行为,进程操作行为,注册表操作行为,动态链接库调用行为,钩子函数调用行为。对恶意代码样本集中每个样本的行为信息进行统计分析,利用出现过的所有行为构成初始特征集。
(3)在初始特征集中,对所有恶意代码样本的各种行为出现的频数进行统计排序,去除出现频数为1和2的元素,使用剩余的P个元素形成刻画恶意代码样本的行为向量C。其中元素是指每一类行为对恶意代码宿主计算机的特定目标资源的访问行为,包括对特定目标API函数的调用行为,对特定文件的操作行为,对特定进程的操作行为,对特定注册表的操作行为,对特定动态链接库的调用行为以及对特定钩子函数的调用行为。
(4)将行为向量C中每个元素在恶意代码行为信息中出现的频数作为该恶意代码样本的特征向量,对于恶意代码样本集中的每个恶意代码样本均生成一个P维的特征向量,共有M个特征向量,每个特征向量表示为Vj=[S1,S2,S3,…,SP],其中Si表示在样本j的行为向量中第i个元素出现的频数;
(5)采用曼哈顿距离计算两两恶意代码样本之间的距离,生成恶意代码样本集的距离矩阵D,D为M×M的矩阵。其中dij表示样本i到样本j的距离,其中D内对角线元素均为0,并且D关于对角线对称;
(6)基于恶意代码样本集的距离矩阵D,从样本集中提取出家族基因码其具体实施步骤为:
1)将恶意代码样本间的距离dij(i<j)进行降序排列,取排列结果的中值作为截断距离dc
2)采用高斯核函数计算每个恶意代码样本的聚集度ρi,表示该样本被它的邻居样本的包裹程度,计算公式为:
3)生成恶意代码样本聚集度的降序排列下标序
4)计算每个恶意代码样本的差异度表示该样本与其它聚集度大的样本之间的距离,计算公式为
5)针对每个恶意代码样本,计算该样本作为家族基因码的决策值为该样本的聚集度和差异度的乘积γi=ρiδi
6)将每个恶意代码样本作为家族基因码的决策值γi与预设的阈值ε进行比较,若大于该阈值,则判定该样本作为一个家族基因码,并存储于数据库中。
(7)针对非恶意代码家族基因码的恶意代码样本,从距离矩阵中提取每个样本与所有家族基因码之间的距离,根据最近距离的原则对每个样本进行归类,形成恶意代码家族,并存储于数据库中。
2)恶意代码的快速归类部分,包括下述步骤:
(1)对于新增恶意代码样本B,对B进行反汇编,得到其静态特征,提取B的API导入表调用行为;在沙箱中运行B,并监测其对宿主计算机的动态操作行为,得到其动态特征,提取文件操作行为,进程操作行为,注册表操作行为,动态链接库调用行为,钩子函数调用行为;
(2)基于在基因码生成过程中获得恶意代码的行为向量C,对所获取的恶意代码样本B的行为信息进行特征提取,将行为向量C中每个元素在B的行为信息中出现的频数作为B的特征向量;
(3)将恶意代码样本B的特征向量与数据库中每一个家族的基因码进行匹配,计算它们之间的曼哈顿距离,作为B与该家族的相似度,若存在相似度值大于预设阈值的情况,将该恶意代码样本归类为最大相似度值对应的家族;若不存在相似度值大于预设阈值的情况,将该恶意代码样本归类为新增家族,并将B的特征向量填入数据库中并记为新增的家族。

Claims (5)

1.一种基于家族基因码的恶意代码快速归类方法,其特征在于,包括下述两大步骤:
第一步,恶意代码家族基因码的生成,包括下述分步骤:
(1)获取由M个恶意代码样本构成的恶意代码样本集,其中,M至少为1000万;
(2)从恶意代码样本中提取行为信息;
(3)对所有恶意代码样本的各种行为出现的频数进行统计排序,选择频数总和不小于3的行为作为刻画恶意代码样本的行为向量;
(4)使用行为向量的每个元素在恶意代码行为信息中出现的频数构成该恶意代码样本的特征向量;
(5)采用曼哈顿距离算法计算恶意代码样本特征向量之间的距离,形成恶意代码样本集的距离矩阵D={dij}M×M,其中,dij表示恶意代码样本i到恶意代码样本j的距离,矩阵D关于对角线对称;
(6)基于恶意代码样本集的距离矩阵D,从恶意代码样本集中提取出恶意代码家族基因码,以方便生成恶意代码家族;
第二步,恶意代码快速归类,包括下述分步骤:
(1)针对新增的恶意代码样本,提取其行为信息,与在恶意代码样本集中得到的行为向量进行比对,将行为向量中每个元素在新增恶意代码样本的行为信息中出现的频数作为该样本的特征向量;
(2)将新增恶意代码样本的特征向量与恶意代码家族基因码进行匹配,对新增恶意代码所属的类别进行判定;
第一步(6)中所述从样本集中提取恶意代码家族基因码的具体方法为:
1)将恶意代码样本间的距离dij进行降序排列,i<j,取排列结果的中值作为截断距离dc
2)采用高斯核函数计算每个恶意代码样本的聚集度ρi,表示该样本被它的邻居样本的包裹程度,计算公式为:
其中ID为所有恶意样本的序号的集合;
3)生成恶意代码样本聚集度的降序排列下标序
4)计算每个恶意代码样本的差异度表示该恶意代码样本与其它聚集度大的恶意代码样本之间的距离,计算公式为:
&delta; s i = min s j , j < i { d s i s j } , i &GreaterEqual; 2 min j &GreaterEqual; 2 { &delta; s j } , i = 1 ;
5)针对每个恶意代码样本,计算该恶意代码样本作为家族基因码的决策值,该决策值为该恶意代码样本的聚集度和差异度的乘积;
6)将每个恶意代码样本作为家族基因码的决策值与预设的阈值ε进行比较,若大于该阈值,则判定该样本作为一个家族基因码,并存储于数据库中。
2.根据权利要求1所述的基于家族基因码的恶意代码快速归类方法,其特征在于,第一步(2)中所述恶意代码的行为信息是指恶意代码在执行过程中对计算机资源的访问行为,包括API导入表的访问行为、文件操作行为、进程操作行为、注册表操作行为、动态链接库调用行为、钩子函数调用行为。
3.根据权利要求1所述的基于家族基因码的恶意代码快速归类方法,其特征在于,第一步(3)中所述选择频数总和不小于3的行为作为刻画恶意代码样本的行为向量,其具体步骤为:
(1)对恶意代码样本集中每个样本的行为信息进行统计分析,利用出现过的所有行为构成初始特征集;
(2)计算初始特征集中每个元素在所有样本的行为信息中出现频数的总和,排序并去除出现频数总和为1和2的元素,使用剩余的元素作为刻画恶意代码样本的特征。
4.根据权利要求1所述的基于家族基因码的恶意代码快速归类方法,其特征在于,第二步(2)中所述根据特征向量与恶意代码家族基因码的匹配结果进行新增恶意代码样本类别判定的具体方法为:将新增恶意代码样本特征向量与数据库中每一个恶意代码家族基因码进行匹配,得到与该恶意代码家族基因码的相似度值,若存在相似度值大于预设阈值的情况,将该恶意代码样本归类为最大相似度值对应的恶意代码家族;若不存在相似度值大于预设阈值的情况,将该恶意代码样本归类为新增恶意代码家族。
5.根据权利要求1所述的基于家族基因码的恶意代码快速归类方法,其特征在于,第一步(4)中所构成的恶意代码样本特征向量,其存储方法为:使用索引矩阵进行存储,在索引矩阵中仅记录特征向量中大于0小于10的元素位置。
CN201410571621.5A 2014-10-23 2014-10-23 基于家族基因码的恶意代码快速归类方法 Active CN104331436B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410571621.5A CN104331436B (zh) 2014-10-23 2014-10-23 基于家族基因码的恶意代码快速归类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410571621.5A CN104331436B (zh) 2014-10-23 2014-10-23 基于家族基因码的恶意代码快速归类方法

Publications (2)

Publication Number Publication Date
CN104331436A CN104331436A (zh) 2015-02-04
CN104331436B true CN104331436B (zh) 2017-06-06

Family

ID=52406163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410571621.5A Active CN104331436B (zh) 2014-10-23 2014-10-23 基于家族基因码的恶意代码快速归类方法

Country Status (1)

Country Link
CN (1) CN104331436B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106355090A (zh) * 2015-07-15 2017-01-25 重庆达特科技有限公司 恶意代码dna家族收集,分析和分类平台
CN105205397B (zh) * 2015-10-13 2018-10-16 北京奇安信科技有限公司 恶意程序样本分类方法及装置
CN105279434B (zh) * 2015-10-13 2018-08-17 北京奇安信科技有限公司 恶意程序样本家族命名方法及装置
CN106453320B (zh) * 2016-10-14 2019-06-18 北京奇虎科技有限公司 恶意样本的识别方法及装置
CN106709349B (zh) * 2016-12-15 2019-10-29 中国人民解放军国防科学技术大学 一种基于多维度行为特征的恶意代码分类方法
CN106682515B (zh) * 2016-12-15 2019-10-18 中国人民解放军国防科学技术大学 恶意代码分析中行为能力的度量方法
CN106803039B (zh) * 2016-12-30 2019-09-17 北京神州绿盟信息安全科技股份有限公司 一种恶意文件的同源判定方法及装置
CN106713335B (zh) * 2016-12-30 2020-10-30 山石网科通信技术股份有限公司 恶意软件的识别方法及装置
CN106951780B (zh) * 2017-02-08 2019-09-10 中国科学院信息工程研究所 重打包恶意应用的静态检测方法和装置
CN107392019A (zh) * 2017-07-05 2017-11-24 北京金睛云华科技有限公司 一种恶意代码家族的训练和检测方法及装置
CN107590388B (zh) * 2017-09-12 2020-06-23 南方电网科学研究院有限责任公司 恶意代码检测方法和装置
CN108108616A (zh) * 2017-12-19 2018-06-01 努比亚技术有限公司 恶意行为检测方法、移动终端及存储介质
CN108063768B (zh) * 2017-12-26 2020-11-10 河南信息安全研究院有限公司 基于网络基因技术的网络恶意行为识别方法及装置
CN108932430A (zh) * 2018-07-02 2018-12-04 北京大学 一种基于软件基因技术的恶意软件检测方法
CN109190653B (zh) * 2018-07-09 2020-06-05 四川大学 基于半监督密度聚类的恶意代码家族同源性分析方法
CN111222136B (zh) * 2018-11-23 2022-09-09 中兴通讯股份有限公司 恶意应用归类方法、装置、设备及计算机可读存储介质
CN110046501B (zh) * 2019-03-09 2020-09-29 中国人民解放军战略支援部队信息工程大学 一种受生物基因启发的恶意代码检测方法
CN111274123A (zh) * 2019-05-14 2020-06-12 上海戎磐网络科技有限公司 基于软件基因的安全防护软件测试集自动生成方法、架构
CN114254317B (zh) * 2021-11-29 2023-06-16 上海戎磐网络科技有限公司 基于软件基因的软件处理方法、装置以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604363A (zh) * 2009-07-10 2009-12-16 珠海金山软件股份有限公司 基于文件指令频度的计算机恶意程序分类***及分类方法
CN102054149A (zh) * 2009-11-06 2011-05-11 中国科学院研究生院 一种恶意代码行为特征提取方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101303643B1 (ko) * 2007-01-31 2013-09-11 삼성전자주식회사 침입 코드 탐지 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604363A (zh) * 2009-07-10 2009-12-16 珠海金山软件股份有限公司 基于文件指令频度的计算机恶意程序分类***及分类方法
CN102054149A (zh) * 2009-11-06 2011-05-11 中国科学院研究生院 一种恶意代码行为特征提取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
恶意代码分类的研究与实现;方志鹤;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120415(第 04 期);第1.1、1.2.2.2、2.1.3.3节,第6章 *

Also Published As

Publication number Publication date
CN104331436A (zh) 2015-02-04

Similar Documents

Publication Publication Date Title
CN104331436B (zh) 基于家族基因码的恶意代码快速归类方法
CN110704840A (zh) 一种基于卷积神经网络cnn的恶意软件检测方法
Dornaika et al. Decremental sparse modeling representative selection for prototype selection
CN111797239B (zh) 应用程序的分类方法、装置及终端设备
CN106599686A (zh) 一种基于tlsh特征表示的恶意软件聚类方法
CN108228845B (zh) 一种***分类方法
CN108446559A (zh) 一种apt组织的识别方法及装置
CN106845220B (zh) 一种Android恶意软件检测***及方法
CN107679403A (zh) 一种基于序列比对算法的勒索软件变种检测方法
CN111507385B (zh) 一种可扩展的网络攻击行为分类方法
CN109408636A (zh) 文本分类方法及装置
CN103020645A (zh) 一种垃圾图片识别方法和***
CN106815253B (zh) 一种基于混合数据类型数据的挖掘方法
CN112084308A (zh) 用于文本类型数据识别的方法、***及存储介质
CN114386511A (zh) 基于多维度特征融合和模型集成的恶意软件家族分类方法
CN110399432A (zh) 一种表的分类方法、装置、计算机设备及存储介质
CN108920694A (zh) 一种短文本多标签分类方法及装置
CN111782811A (zh) 一种基于卷积神经网络和支持向量机的电子政务敏感文本检测方法
CN104021220B (zh) 基于显著性模型的图像检索方法
Gopal et al. Content based image retrieval using enhanced surf
Pobar et al. Multi-label poster classification into genres using different problem transformation methods
Choudhary et al. Offline handwritten mathematical expression evaluator using convolutional neural network
Guru et al. Symbolic representation and classification of logos
CN115842645A (zh) 基于umap-rf的网络攻击流量检测方法、装置及可读存储介质
CN115034292A (zh) 一种基于多模态的内部威胁检测方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant