CN108268778A - 数据处理方法、装置及存储介质 - Google Patents
数据处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN108268778A CN108268778A CN201810161049.3A CN201810161049A CN108268778A CN 108268778 A CN108268778 A CN 108268778A CN 201810161049 A CN201810161049 A CN 201810161049A CN 108268778 A CN108268778 A CN 108268778A
- Authority
- CN
- China
- Prior art keywords
- image
- executable file
- matrix
- virus
- characteristic similarity
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Abstract
本申请公开了一种数据处理方法,该方法包括:获取待鉴定的可执行文件;获取与可执行文件的运行状态有关的第一图像集合;将第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;当有至少一个所述特征相似度达到第一阈值时,确定可执行文件为病毒文件。本申请还公开了相应的装置及存储介质。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据处理方法、装置及存储介质。
背景技术
计算机病毒是一个程序,一段可执行码。就像生物病毒一样,具有自我繁殖、互相传染以及激活再生等生物病毒特征。计算机病毒有独特的复制能力,它们能够快速蔓延,又常常难以根除。它们能把自身附着在各种类型的文件上,当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。随着互联网的迅猛发展,计算机病毒的更新换代也越来越快,同时对计算机病毒的识别及查杀也越来越困难。
发明内容
本申请实例提供了一种数据处理方法,所述方法包括:获取待鉴定的可执行文件;获取与所述可执行文件的运行状态有关的第一图像集合;将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;及当有至少一个所述特征相似度达到第一阈值时,确定所述可执行文件为病毒文件。
本申请实例还提供了一种数据处理方法,所述方法包括:获取客户端发送的待鉴定的可执行文件;获取与所述可执行文件的运行状态有关的第一图像集合;将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;及将所述特征相似度发送至所述客户端,以使所述客户端根据所述特征相似度,确定所述可执行文件是否为病毒文件。
本申请实例还提供了一种数据处理方法,所述方法包括:从本地获取待鉴定的可执行文件;获取与所述可执行文件的运行状态有关的第一图像集合;将所述第一图像集合发送至服务器,以使所述服务器将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度,并根据所述特征相似度确定所述可执行文件是否为病毒文件;及从所述服务器接收指示所述可执行文件是否为病毒文件的鉴定结果。
本申请实例还提供了一种数据处理方法,所述方法包括:接收客户端发送的待鉴定的可执行文件的第一图像集合,其中,所述第一图像集合与所述可执行文件的运行状态有关;将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;及将所述特征相似度发送至所述客户端,以使所述客户端根据所述特征相似度,确定所述可执行文件是否为病毒文件。
本申请实例还提供了一种数据处理方法,所述方法包括:从本地获取待鉴定的可执行文件;获取与所述可执行文件的运行状态有关的第一图像集合;将所述第一图像集合发送至服务器,以使所述服务器将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;从所述服务器接收所述特征相似度;及当有至少一个所述特征相似度达到第一阈值时,确定所述可执行文件为病毒文件。
本申请还提供了一种数据处理装置,所述装置包括:获取模块,获取待鉴定的可执行文件;获取与所述可执行文件的运行状态有关的第一图像集合;匹配模块,将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;及确定模块,当有至少一个所述特征相似度达到第一阈值时,确定所述可执行文件为病毒文件。
本申请还提供了一种存储介质,存储有计算机可读指令,可以使至少一个处理器执行上述方法。
采用上述技术方案,可以准确的识别病毒,降低了开发成本,提升了系统的性能。
附图说明
为了更清楚地说明本申请实例中的技术方案,下面将对实例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请涉及的一种系统构架示意图;
图2为本申请一实例的方法流程图;
图3为本申请实例涉及的弹窗示意图;
图4为本申请实例涉及的图标示意图;
图5为本申请实例涉及的一图像处理过程;
图6为本申请实例涉及的另一图像处理过程;
图7为本申请实例涉及的另一图像处理过程;
图8为本申请实例涉及的压缩矩阵;
图9为本申请一数据处理实例的消息交互图;
图10为本申请一数据处理实例的消息交互图;
图11为本申请一数据处理实例的消息交互图;
图12为本申请一数据处理实例的消息交互图;
图13为本申请一数据处理实例的消息交互图;
图14为本申请实例涉及的用户界面图;
图15为本申请一实例的装置结构图;及
图16为本申请一实例的设备结构图。
具体实施方式
下面将结合本申请实例中的附图,对本申请实例中的技术方案进行清楚、完整地描述,显然,所描述的实例仅是本申请一部分实例,而不是全部的实例。基于本申请中的实例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实例,都属于本申请保护的范围。
在一些实例中,可以采用特征码扫描方法对计算机病毒进行查杀,即将待鉴定的可执行文件的特征码与病毒库中的特征码进行比对,以确定所述可执行文件是否为病毒。该方法误报率低,检测准确。但对于未知和变形的病毒无法识别,且随着特征码的提取,病毒库越来越庞大,查杀的效率也越来越低。
在一些实例中,还可以采用静态启发式技术对计算机病毒进行查杀,即在不运行病毒程序的情况下,核对病毒头静态指令从而确定病毒。该技术能够查杀未知新病毒,识别出变形病毒。但随着病毒的发展,有些病毒加强壳或未知壳可以绕过该技术的识别,给静态启发式识别带来一定难度。
在一些实例中,还可以采用行为策略技术对计算机病毒进行查杀,该技术通过样本的动态规则能够识别新型和变种病毒,病毒的变形(如加壳等)不影响该技术的判断。然而,该技术较依赖于运行时的动态规则提取的准确性,对于一些病毒,其动态行为难以区别于非病毒的行为,造成了动态规则定义的困难。
基于上述技术问题,本申请提出一种数据处理方法、装置及存储介质,可应用于图1所示的系统构架中。如图1所示,该系统构架包括:客户端101和服务器102,两者通过互联网103进行通信。其中,客户端101可以运行于手机、PAD(平板电脑)、膝上型便携计算机、台式计算机等终端上,服务器102可以为单个服务器,或由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
在一些实例中,所述方法可运行于客户端101或服务器102。客户端101或服务器102获取待鉴定的可执行文件;获取与所述可执行文件的运行状态有关的第一图像集合;将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;及当有至少一个所述特征相似度达到第一阈值时,确定所述可执行文件为病毒文件。
图2显示了本申请实例提出的一种数据处理方法的流程,该方法可应用于服务器102,进一步的,服务器还可以包括图像提取模块和图像识别模块,该方法应用于服务器102中的图像识别模块。如图2所示,该方法可以包括以下步骤:
步骤201:获取待鉴定的可执行文件。
其中,所述可执行文件为客户端发送的待鉴定文件,可以为可移植的可执行文件,如后缀为exe、dll、ocx、com等的文件。
步骤202:获取与所述可执行文件的运行状态有关的第一图像集合。
其中,所述第一图像集合中的图像,例如可以为所述可执行文件运行过程中的弹窗、所述可执行文件的图标等资源图像,如图3和图4所示。服务器接收客户端发送的所述可执行文件,通过获取所述可执行文件的图像,对该图像进行鉴定,以确定该文件是否为病毒。
在一些实例中,所述获取与所述可执行文件的运行状态有关的第一图像集合,包括:创建虚拟运行环境;在所述虚拟运行环境中,运行所述可执行文件并获得所述可执行文件运行状态下展示的图像,所获得的所述图像形成所述第一图像集合。
具体的,所述第一图像集合中的图像可以通过以下方式获得:服务器中的图像提取模块接收所述可执行文件,并通过诸如沙盒技术等技术手段,使得所述可执行文件在虚拟环境中运行,通过截屏技术将所述可执行文件在运行过程中的状态(如待鉴定文件运行时呈现的弹窗等)以图像的形式存储,并将所述图像输出至服务器中的图像识别模块,以使图像识别模块对所述图像进行后续处理。其中,沙盒技术是通过虚拟机技术,建造一个虚拟运行环境,让可执行文件在该环境下运行起来,观测该可执行文件的动态行为,不会对面向用户的真实运行环境造成影响。在本实例中,图像提取模块为所述可执行文件建造一个虚拟运行环境,使得该可执行文件在该环境下运行,在运行过程中,图像提取模块通过沙盒技术的截屏技术获得该可执行文件的弹窗、图标等图像,该图像可以是.bmp、.jpg或.png等格式。图3展示了一种可执行文件的弹窗,如301所示,该弹窗为一款游戏登陆时的界面图。图4展示了可执行文件的图标示例,如图4a所示的文件图标和如图4b所示的pdf图标。作为上述动态获取所述图像的补充,在另一些实例中,所述服务器的图像提取模块还可以对所述可执行文件进行静态解析,以获得所述可执行文件的图标(如图4a和4b所示)等资源图像。通过上述动态和静态两种方式获得所述可执行文件的第一图像集合,以使得所述第一图像集合中的图像更好的体现所述可执行文件。
步骤203:将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度。
在一些实例中,所述将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度,包括:确定所述第一图像集合中各图像的特征向量;分别确定所述第一图像集合中各图像的特征向量与所述第二图像集合中各图像的特征向量之间的余弦距离;对于所述第一图像集合中的一个图像,将所述余弦距离作为该图像与所述第二图像集合中各图像的特征相似度。
在一些实例中,所述确定所述第一图像集合中各图像的特征向量,包括:将所述第一图像集合中各图像转换为灰度图像;对所述灰度图像进行二值化处理得到黑白图像;根据所述黑白图像确定作为所述特征向量的第一矩阵;其中,所述第二图像集合中各图像的特征向量为第二矩阵。
具体的,所述第一图像集合中各图像可以为彩色图像,为了使得该数据处理过程不受色彩的影响,服务器可以将所述图像转换为灰度图像。例如,所述图像中的任一点像素的颜色值可以表示为RGB(R,G,B),可以通过如下公式(1)~(5)中的任一个,将其转换为灰度值Gray:
Gray=R*0.3+G*0.59+B*0.11 (1)
Gray=(R*30+G*59+B*11)/100 (2)
Gray=(R*76+G*151+B*28)>>8 (3)
Gray=(R+G+B)/3 (4)
Gray=G (5)
通过上述任一种方法求得Gray后,将上述像素点原来的颜色值RGB(R,G,B)中的R、G和B统一用Gray替换,形成新的颜色值RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B),即形成灰度图像。
进一步的,可以将所述灰度图像转换为黑白图像,根据所述黑白图像确定作为所述特征向量的第一矩阵,其中,所述第一矩阵可以为0-1矩阵,例如,可以通过以下方式转换:记所述灰度图像中的任一像素点的灰度GRAY为a,预先设置灰度阈值N,当a<=N时,标记为0,该像素点为白色;当a>N,标记为1,该像素点为黑色。可以逐行或逐列扫描所述灰度图像,形成该灰度图像的0-1矩阵,该0-1矩阵即为所述图像的特征向量。如图5所示,通过灰度阈值T可以将图5(a)所示的灰度图像转换为该图像对应的黑白图像,如图5(b)所示,该黑白图像表示该灰度图像的轮廓信息,根据该黑白图像可以得到该黑白图像对应的0-1矩阵,如图5(c)所示。
每张图像的灰度阈值N均不同,且每张图像均存在一个最佳灰度阈值T,使得所述黑白图像能够很好地体现所述灰度图像的轮廓信息。当灰度阈值N远小于最佳灰度阈值T时,如图6所示,通过该灰度阈值N将灰度图像(a)转换的黑白图像(b)白色太多,并不能很好的体现灰度图像(a)轮廓信息。当灰度阈值N远大于最佳灰度阈值T时,如图7所示,通过该灰度阈值N将灰度图像(a)转换的黑白图像(b)黑色太多,同样不能很好的体现灰度图像(a)轮廓信息。
在一些实例中,服务器中的图像识别模块可以通过大律法(OTSU算法或最大类间方差法)对所述灰度图像进行计算,以得到最佳灰度阈值T。具体的,预设分割阈值t,将待识别图像分成前景和背景两个部分。
当分割阈值t取最佳灰度阈值T时,背景应该与前景差别最大,通过OTSU算法计算时,这个衡量上述背景和前景差别的标准就是最大类间,即最佳灰度阈值T。
记t为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。
则图像的总平均灰度为:
u=w0*u0+w1*u1 (6)
前景和背景图象的方差为:
g=w0*(u0-u)*(u0-u)+w1*(u1-u)*(u1-u)=w0*w1*(u0-u1)*(u0-u1) (7)
此公式即为方差公式。
当方差g最大时,可以认为此时前景和背景差异最大,此时的分割阈值t即为最佳灰度阈值T,该最佳灰度阈值可以由公式(8)表示
T=w1*w2*(u1-u0)*(u0-u1) (8)
得到所述最佳灰度阈值T后,将所述灰度图像中的每一个像素点与该最佳灰度阈值T进行比较,以得到所述第一矩阵。
这里,所述病毒库可以为人工预先建立并维护的。人为筛选已知病毒中具有欺骗性的图像,以作为该病毒的特征图像,各病毒的特征图像形成第二图像集合。
具体的,为了使得该数据处理过程不受色彩的影响,以及方便与上述灰度图像进行计算,同样可以将所述病毒库中所述第二图像集合中各个图像转换为灰度图像,转换方法同样可以采用上述公式(1)~(5)中的任一个。进一步的,还可以通过大律法得到最佳灰度阈值,通过该最佳灰度阈值将所述灰度图像转换为黑白图像,从而得到该黑白图像对应的0-1矩阵。
由于0-1矩阵只有0和1,而且都是大段的连续0或者1。为了计算和存储方便,这里还可以将0-1矩阵进行压缩存储,压缩格式为:[行数,列数,连续数-数值],例如,可以逐行扫描0-1矩阵,将其转换为一维数组,即矩阵中的所有行均放在同一行,各行之间以分号间隔,形成一维数组,如801所示,统计所述一维数组中连续0和连续1的个数,得到如所述压缩格式表示的数组。如图8所示,一个1141行2155列的0-1矩阵可以表示成:如801所示的一维数组,然后统计所述一维数组中连续0和连续1的个数,得到如802所示的压缩格式表示的数组。
在一些实例中,在确定所述第一图像集合中各图像的第一矩阵与病毒库中所述第二图像集合中各图像的第二矩阵之间的余弦距离之前,所述方法进一步包括:分别获取所述第一图像集合中各图像的所述第一矩阵的行数和列数和所述第二图像集合中各图像的所述第二矩阵的行数和列数;确定各个所述第一矩阵的行数与各个所述第二矩阵的行数之间的差值,确定各个所述第一矩阵的列数与各个所述第二矩阵的列数之间的差值;当所述行数之间的差值或者所述列数之间的差值大于第二阈值时,确定所述第一图像集合中各图像和所述第二图像集合中各图像之间的特征相似度为低于所述第一阈值的一个取值,或者直接确定所述可执行文件不是病毒文件;当所述行数之间的差值或者所述列数之间的差值小于或等于第二阈值时,执行所述确定所述第一图像集合中各图像的第一矩阵与所述第二图像集合中各图像的第二矩阵之间的余弦距离的步骤。
在一些实例中,所述当所述行数之间的差值或者所述列数之间的差值小于或等于第二阈值时,执行所述确定所述第一图像集合中各图像的第一矩阵与所述第二图像集合中各图像的第二矩阵之间的余弦距离的步骤包括:针对任一所述第一矩阵和所述第二矩阵,根据该第一矩阵和该第二矩阵的行数和列数,获得所述行数和所述列数的最小值;根据所述行数的最小值和所述列数的最小值对该第一矩阵和该第二矩阵进行裁剪,得到行数和列数相同的所述第一矩阵和所述第二矩阵;确定经过裁剪的所述第一矩阵和所述第二矩阵之间的余弦距离。
具体的,确定所述第一图像集合中各图像的第一矩阵与病毒库中第二图像集合中各图像的第二矩阵之间的余弦距离的过程如下:
记所述第一图像集合中任一图像的第一矩阵为0-1矩阵A,所述第二图像集合中任一图像的第二矩阵为0-1矩阵B,而矩阵A和矩阵B的行数和列数可能不同,而为了计算余弦距离,两者的维度需相同,此时,可以预设第二阈值T1,T1为自然数,当矩阵A和矩阵B的行数之间的差值大于T1,或矩阵A和矩阵B的列数之间的差值大于T1时,则说明矩阵A和矩阵B不相似,即从可执行文件中提取的第一图像集合中任一图像与病毒库中的所述第二图像集合中任一图像均不相似,则说明该可执行文件不是病毒。或者确定所述第一图像集合中各图像和所述第二图像集合中各图像之间的特征相似度为低于所述第一阈值的一个取值。例如,T1为50,当矩阵A比矩阵B多60行,则判定矩阵A和矩阵B不相似,矩阵A对应的可执行文件不是病毒。
当矩阵A和矩阵B的行数和列数之间的差值小于或等于T1时,可以对矩阵A和矩阵B进行裁剪,使得两者的维度相同,以计算两者的余弦距离。记矩阵A的行数和列数分别为:r1,c1,矩阵B的行数和列数分别为:r2,c2,取矩阵A和矩阵B行数和列数的最小值,即min(r1,r2),min(c1,c2),则裁剪后共同的行数和列数为:min(r1,r2),min(c1,c2)。裁剪时,可以直接去掉矩阵A的最下|r1-min(r1,r2)|行和最右|c1-min(c1,c2)|列,以及矩阵B的最下|r2-min(r1,r2)|行和最右|c2-min(c1,c2)|列,裁剪后得到两个行列相同的矩阵A’和矩阵B’,通过公式(9)计算两者的余弦距离。在一些实例中,为了防止极端情况导致计算出错,如一张全黑的图片,矩阵全是0,此时公式(9)中的分母为0,导致计算异常,可以给矩阵A’和矩阵B’均加1。
其中,x1k,x2k分别为矩阵A’和矩阵B’的列向量,余弦值cos(θ)ε[-1,1],cos(θ)=-1时表示矩阵A’和矩阵B’完全相反,cos(θ)=0表示矩阵A’和矩阵B’完全不同,cos(θ)=1表示矩阵A’和矩阵B’完全相同。
步骤204:当有至少一个所述特征相似度达到第一阈值时,确定所述可执行文件为病毒文件。
这里,可以设置第一阈值,当有至少一个所述特征相似度达到所述第一阈值时,确定所述第一图像集合中图像的所述第一矩阵和所述第二图像集合中图像的所述第二矩阵相似,即所述第一图像集合中存在至少一个图像与所述第二图像集合中的图像相似,从而确定所述可执行文件为病毒。
具体的,可以设置第一阈值T2,当cos(θ)≥T2时,判断矩阵A’和矩阵B’相似,此时,说明矩阵A’对应的可执行文件为病毒。
在一些实例中,服务器还可以将指示所述可执行文件是否为病毒的鉴定结果发送至所述客户端,以使所述客户端根据所述鉴定结果对所述可执行文件进行处理。
具体的,服务器根据所述特征相似度确定所述可执行文件是否为病毒后,将指示所述可执行文件为病毒的鉴定结果发送至所述客户端,以使所述客户端根据所述鉴定结果对所述可执行文件进行处理,例如,当所述可执行文件为病毒时,所述客户端可以删除该可执行文件。
在一些实例中,所述方法还可以应用于客户端,所述获取待鉴定的可执行文件,包括:从本地获取所述可执行文件;所述病毒库为从服务器下载的。
本申请实例通过诸如沙盒技术的截屏技术和静态解析技术获取所述第一图像集合,不依赖于可执行文件的动态规则的提取,对于一些难以定义其动态规则的病毒,如社工类病毒,其漏报率降低了30%。其中,社工类病毒为以低开发成本,通过虚假欺诈的图形界面等社会工程学方法,诱导用户上当的木马,黑客从中获取非法利益,如QQ粘虫。此外,上述技术方案不受病毒变形、加壳、加花等多态技术的影响,能够识别同类的新病毒,从而同类病毒只需在病毒库中储存该类型的一种病毒即可,避免了病毒库越来越庞大,也省去了人力对同一种类不同变形的病毒的维护,降低了开发成本,提升了系统的性能。
以上实例中,本申请提供的方法可由客户端单机执行(客户端本地下载有病毒库),此方法还可由服务器执行,由客户端提供可执行文件给服务器,服务器返回鉴定结果给客户端。
本申请提供方法还可由客户端和服务器配合完成,以下有几种实现方式:
1、客户端提供可执行文件给服务器,服务器返回图像匹配得到的特征相似度,由客户根据特征相似度确定鉴定结果。
2、客户端提供与可执行文件运行状态有关的图像给服务器,由服务器进行图像匹配并确定鉴定结果,返回鉴定结果给客户端。
3、客户端提供与可执行文件运行状态有关的图像给服务器,由服务器进行图像匹配并返回特征相似度,由客户端根据特征相似度确定鉴定结果。
下面结合附图对这几种处理方式加以说明。
图9示出了本申请实例提出的一种数据处理方法的交互图,包括以下步骤:
步骤901:从本地获取待鉴定的可执行文件。
步骤902:获取与所述可执行文件的运行状态有关的第一图像集合。
步骤903:从服务器下载病毒库。
步骤904:将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度。
步骤905:当有至少一个所述特征相似度达到预定阈值时,确定所述可执行文件为病毒文件。
图10示出了本申请实例提出的一种数据处理方法的交互图,包括以下步骤:
步骤1001:客户端将待鉴定的可执行文件发送至服务器。
步骤1002:服务器接收所述可执行文件,获取与所述可执行文件的运行状态有关的第一图像集合。
步骤1003:服务器将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度。
步骤1004:服务器将所述特征相似度发送至所述客户端。
步骤1005:客户端从所述服务器接收所述特征相似度,当有至少一个所述特征相似度达到预定阈值时,确定所述可执行文件为病毒文件。
图11示出了本申请实例提出的一种数据处理方法的交互图,包括以下步骤:
步骤1101:客户端从本地获取待鉴定的可执行文件。
步骤1102:客户端获取与所述可执行文件的运行状态有关的第一图像集合。
步骤1103:将所述第一图像集合发送至服务器。
步骤1104:服务器接收所述第一图像,将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度。
步骤1105:当有至少一个所述特征相似度达到预定阈值时,服务器确定所述可执行文件为病毒文件。
步骤1106:服务器将指示所述可执行文件是否为病毒文件的鉴定结果发送至所述客户端。
图12示出了本申请实例提出的一种数据处理方法的交互图,包括以下步骤:
步骤1201:客户端从本地获取待鉴定的可执行文件。
步骤1202:客户端获取与所述可执行文件的运行状态有关的第一图像集合。
步骤1203:客户端将所述第一图像集合发送至服务器。
步骤1204:服务器接收所述第一图像,将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度。
步骤1205:服务器将所述特征相似度发送至所述客户端。
步骤1206:客户端接收所述特征相似度,当有至少一个所述特征相似度达到预定阈值时,确定所述可执行文件为病毒文件。
上述图9~12中各个步骤的具体实现原理,前文已有描述,这里不再赘述。
图13示出了本申请提出的一种数据处理方法的交互图。该交互过程涉及客户端和服务器,其中,服务器包括图像提取模块和图像识别模块,包括以下步骤:
步骤1300:人工筛选出已知病毒中具有欺骗性的图像,以作为该病毒的特征图像。对每一个特征图像使用该特征图像的最佳灰度阈值进行二值化,得到该特征图像的0-1矩阵,各特征图像的0-1矩阵形成病毒库;为了便于存储所述0-1矩阵,可以将0-1矩阵以如图8所示的方式进行压缩存储。
步骤1301:客户端将待鉴定的可执行文件发送至服务器中的图像提取模块。例如,如图14所示,电脑管家应用响应用户点击控件1401的操作,对电脑中的文件进行扫描,或者自动扫描电脑中的文件时,在遇到未知的、可疑的可执行文件时,为了防止该可执行文件对电脑系统进行破坏,影响电脑系统的使用,电脑管家应用可以将所述可执行文件发送至对应的服务器。
步骤1302:图像提取模块使用沙盒技术的截屏技术和对该可执行文件进行静态解析,获得该可执行文件的第一图像集合,所述第一图像集合中的图像例如可以为弹窗、图标等,服务器中的图像提取模块将所述第一图像集合发送至图像识别模块,以对所述第一图像集合中的图像进行识别。
步骤1303:图像识别模块将所述第一图像集合中各图像转换为灰度图像,例如,可以通过上述公式(1)~(5)中的任一个进行转换。
步骤1304:图像识别模块使用大律法对所述灰度图像进行计算,求得该灰度图像的最佳灰度阈值,该最佳灰度阈值用于对所述灰度图像进行二值化,得到该灰度图像的0-1矩阵。
步骤1305:根据上述最佳灰度阈值,将所述灰度图像转换为黑白图像。具体的,逐行扫描所述目标灰度图像的像素,当所述像素大于最佳灰度阈值时,该像素点的颜色为黑色,且记为1;当所述像素小于或等于最佳灰度阈值时,该像素点的颜色为白色,且记为0,得到所述灰度图像的0-1矩阵。
步骤1306:分别对所述第一图像集合中的图像和病毒库中的第二图像集合中的图像对应的0-1矩阵进行预处理,如对两者进行裁剪,使得两者的维度相同(即行数和列数相同)。当两者的行数之间的差值或列数之间的差值大于第二阈值时,判定两者不相似,从而确定该可执行文件不是病毒。
步骤1307:根据公式(9)计算所述第一图像集合中任一图像的0-1矩阵和病毒库中的第二图像集合中任一图像对应的各0-1矩阵之间的余弦距离,当有至少一个所述余弦距离大于第二阈值时,则说明所述第一集合中有图像与病毒库中该0-1矩阵对应的第二图像集合中的图像相似,即判定该可执行文件为病毒。
步骤1308:将指示所述可执行文件是否为病毒文件的鉴定结果发送至客户端,以使所述客户端根据所述鉴定结果对所述可执行文件进行处理,例如,当所述可执行文件为病毒时,客户端将所述可执行文件删除;当确定所述可执行文件不是病毒时,客户端对所述可执行文件不做处理。
基于上述实例提供的方法,本申请实例还提出了一种数据处理装置1500。如图15所示,所述装置1500包括:
获取模块1501,获取待鉴定的可执行文件;获取与所述可执行文件的运行状态有关的第一图像集合。
匹配模块1502,将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度。及
确定模块1503,当有至少一个所述特征相似度达到第一阈值时,确定所述可执行文件为病毒文件。
在一些实例中,获取模块1501、匹配模块1502及确定模块1503可以位于客户端或服务器中。
在一些实例中,获取模块1501、匹配模块1502及确定模块1503可以位于服务器中,获取模块1501获取客户端发送的待鉴定的可执行文件,及获取与所述可执行文件的运行状态有关的第一图像集合;匹配模块1502将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;确定模块1503将所述特征相似度发送至所述客户端,以使所述客户端根据所述特征相似度,确定所述可执行文件是否为病毒文件。
在一些实例中,获取模块1501、匹配模块1502及确定模块1503可以位于客户端中,获取模块1501发送待鉴定的可执行文件至服务器,以使所述服务器获取与可执行文件的运行状态有关的第一图像集合,将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;匹配模块1502从所述服务器接收所述特征相似度;当有至少一个所述特征相似度达到预定阈值时,确定模块1503确定所述可执行文件为病毒文件。
在一些实例中,获取模块1501、匹配模块1502及确定模块1503可以位于服务器中,获取模块1501接收客户端发送的待鉴定的可执行文件的第一图像集合,其中,所述第一图像集合与所述可执行文件的运行状态有关;匹配模块1502将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;当有至少一个所述特征相似度达到预定阈值时,确定模块1503确定所述可执行文件为病毒文件,及将指示所述可执行文件是否为病毒文件的鉴定结果发送至所述客户端。
在一些实例中,获取模块1501、匹配模块1502及确定模块1503可以位于客户端中,获取模块1501从本地获取待鉴定的可执行文件,及获取与所述可执行文件的运行状态有关的第一图像集合;匹配模块1502将所述第一图像集合发送至服务器,以使所述服务器将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度,并根据所述特征相似度确定所述可执行文件是否为病毒文件;确定模块1503从所述服务器接收指示所述可执行文件是否为病毒文件的鉴定结果。
在一些实例中,获取模块1501、匹配模块1502及确定模块1503可以位于服务器中,获取模块1501接收客户端发送的待鉴定的可执行文件的第一图像集合,其中,所述第一图像集合与所述可执行文件的运行状态有关;匹配模块1502将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;确定模块1503将所述特征相似度发送至所述客户端,以使所述客户端根据所述特征相似度,确定所述可执行文件是否为病毒文件。
在一些实例中,获取模块1501、匹配模块1502及确定模块1503可以位于客户端中,获取模块1501从本地获取待鉴定的可执行文件,及获取与所述可执行文件的运行状态有关的第一图像集合;匹配模块1502将所述第一图像集合发送至服务器,以使所述服务器将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度,及从所述服务器接收所述特征相似度;当有至少一个所述特征相似度达到预定阈值时,确定模块1503确定所述可执行文件为病毒文件。
图16示出了数据处理装置1500所在的计算设备1600的组成结构图。如图16所示,该计算设备包括一个或者多个处理器(CPU)1602、存储器1604、用户接口1606,以及用于互联这些组件的通信总线1608。
用户接口1606包括一个或多个输出设备1612,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口1610也包括一个或多个输入设备1614,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。
存储器1604可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器1604存储处理器1602可执行的指令集,包括:
操作系统1616,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用1618,包括用于数据处理的各种应用程序,这种应用程序能够实现上述各实例中的处理流程,比如可以包括图15所示的数据处理装置1500中的各模块1501-1503。各模块1501-1503可以存储有机器可执行指令。处理器1602通过执行存储器1606中各模块1501-1503的机器可执行指令,进而能够实现上述各模块1501-1503的功能。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实例中的硬件模块可以以硬件方式或硬件平台加软件的方式实现。上述软件包括机器可读指令,存储在非易失性存储介质中。因此,各实例也可以体现为软件产品。例如,对应上述数据处理方法和装置,本申请的实例还提供了一种计算机可读存储介质,其上存储有计算机指令,其中,所述计算机指令被处理器执行时实现上述数据处理方法的步骤。
各实例中,硬件可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。
另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和/或内存)中执行。因此,这样的存储介质也构成了本申请,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,这种数据处理程序可用于执行本申请上述方法实例中的任何一种实例。
图15中的模块对应的机器可读指令可以使计算机上操作的操作系统等来完成这里描述的部分或者全部操作。非易失性计算机可读存储介质可以是插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器。安装在扩展板或者扩展单元上的CPU等可以根据指令执行部分和全部实际操作。
另外,在本申请各个实例中的装置及各模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上装置或模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本申请的较佳实例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种数据处理方法,其特征在于,所述方法包括:
获取待鉴定的可执行文件;
获取与所述可执行文件的运行状态有关的第一图像集合;
将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;及
当有至少一个所述特征相似度达到第一阈值时,确定所述可执行文件为病毒文件。
2.根据权利要求1所述的方法,其中,所述获取与所述可执行文件的运行状态有关的第一图像集合,包括:
创建虚拟运行环境;
在所述虚拟运行环境中,运行所述可执行文件并获得所述可执行文件运行状态下展示的图像,所获得的所述图像形成所述第一图像集合。
3.根据权利要求1所述的方法,其中,所述将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度,包括:
确定所述第一图像集合中各图像的特征向量;
分别确定所述第一图像集合中各图像的特征向量与所述第二图像集合中各图像的特征向量之间的余弦距离;
对于所述第一图像集合中的一个图像,将所述余弦距离作为该图像与所述第二图像集合中各图像的特征相似度。
4.根据权利要求3所述的方法,其中,所述确定所述第一图像集合中各图像的特征向量,包括:
将所述第一图像集合中各图像转换为灰度图像;
对所述灰度图像进行二值化处理得到黑白图像;
根据所述黑白图像确定作为所述特征向量的第一矩阵;
其中,所述第二图像集合中各图像的特征向量为第二矩阵。
5.根据权利要求4所述的方法,其中,在确定所述第一图像集合中各图像的第一矩阵与所述第二图像集合中各图像的第二矩阵之间的余弦距离之前,所述方法进一步包括:
分别获取所述第一图像集合中各图像的所述第一矩阵的行数和列数和所述第二图像集合中各图像的所述第二矩阵的行数和列数;
确定各个所述第一矩阵的行数与各个所述第二矩阵的行数之间的差值,确定各个所述第一矩阵的列数与各个所述第二矩阵的列数之间的差值;
当所述行数之间的差值或者所述列数之间的差值大于第二阈值时,确定所述第一图像集合中各图像的第一矩阵和所述第二图像集合中各图像的第二矩阵之间的特征相似度为低于所述第一阈值的一个取值,或者直接确定所述可执行文件不是病毒文件;
当所述行数之间的差值或者所述列数之间的差值小于或等于第二阈值时,执行所述确定所述第一图像集合中各图像的第一矩阵与所述第二图像集合中各图像的第二矩阵之间的余弦距离的步骤。
6.根据权利要求5所述的方法,其中,所述当所述行数之间的差值或者所述列数之间的差值小于或等于第二阈值时,执行所述确定所述第一图像集合中各图像的第一矩阵与所述第二图像集合中各图像的第二矩阵之间的余弦距离的步骤包括:
针对任一所述第一矩阵和任一所述第二矩阵,根据该第一矩阵和该第二矩阵的行数和列数,获得所述行数和所述列数的最小值;
根据所述行数的最小值和所述列数的最小值对所述第一矩阵和所述第二矩阵进行裁剪,得到行数和列数相同的所述第一矩阵和所述第二矩阵;
确定经过裁剪的所述第一矩阵和所述第二矩阵之间的余弦距离。
7.根据权利要求1所述的方法,其中,所述获取待鉴定的可执行文件,包括:接收客户端发送的所述可执行文件;
所述方法进一步包括:
将指示所述可执行文件是否为病毒文件的鉴定结果发送至所述客户端。
8.根据权利要求1所述的方法,其中,所述方法应用于客户端,所述获取待鉴定的可执行文件,包括:从本地获取所述可执行文件;
所述病毒库为从服务器下载的。
9.一种数据处理方法,其特征在于,所述方法包括:
获取客户端发送的待鉴定的可执行文件;
获取与所述可执行文件的运行状态有关的第一图像集合;
将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;及
将所述特征相似度发送至所述客户端,以使所述客户端根据所述特征相似度,确定所述可执行文件是否为病毒文件。
10.一种数据处理方法,其特征在于,所述方法包括:
从本地获取待鉴定的可执行文件;
获取与所述可执行文件的运行状态有关的第一图像集合;
将所述第一图像集合发送至服务器,以使所述服务器将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度,并根据所述特征相似度确定所述可执行文件是否为病毒文件;及
从所述服务器接收指示所述可执行文件是否为病毒文件的鉴定结果。
11.一种数据处理方法,其特征在于,所述方法包括:
接收客户端发送的待鉴定的可执行文件的第一图像集合,其中,所述第一图像集合与所述可执行文件的运行状态有关;
将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;及
将所述特征相似度发送至所述客户端,以使所述客户端根据所述特征相似度,确定所述可执行文件是否为病毒文件。
12.一种数据处理方法,其特征在于,所述方法包括:
从本地获取待鉴定的可执行文件;
获取与所述可执行文件的运行状态有关的第一图像集合;
将所述第一图像集合发送至服务器,以使所述服务器将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;
从所述服务器接收所述特征相似度;及
当有至少一个所述特征相似度达到第一阈值时,确定所述可执行文件为病毒文件。
13.一种数据处理装置,其特征在于,所述装置包括:
获取模块,获取待鉴定的可执行文件;获取与所述可执行文件的运行状态有关的第一图像集合;
匹配模块,将所述第一图像集合中的各个图像与病毒库中的第二图像集合中的各个图像分别进行特征匹配并得到特征相似度;及
确定模块,当有至少一个所述特征相似度达到第一阈值时,确定所述可执行文件为病毒文件。
14.一种存储介质,存储有计算机可读指令,可以使至少一个处理器执行如权利要求1至12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810161049.3A CN108268778B (zh) | 2018-02-26 | 2018-02-26 | 数据处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810161049.3A CN108268778B (zh) | 2018-02-26 | 2018-02-26 | 数据处理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108268778A true CN108268778A (zh) | 2018-07-10 |
CN108268778B CN108268778B (zh) | 2023-06-23 |
Family
ID=62774389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810161049.3A Active CN108268778B (zh) | 2018-02-26 | 2018-02-26 | 数据处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108268778B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117635A (zh) * | 2018-09-06 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 应用程序的病毒检测方法、装置、计算机设备及存储介质 |
CN111368298A (zh) * | 2020-02-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 一种病毒文件识别方法、装置、设备及存储介质 |
CN111435370A (zh) * | 2019-01-11 | 2020-07-21 | 富士通株式会社 | 信息处理装置、方法以及机器可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572821A (zh) * | 2014-12-03 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 一种文件处理方法及装置 |
CN106682505A (zh) * | 2016-05-04 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 一种病毒检测方法、终端、服务器及系统 |
CN107341400A (zh) * | 2016-05-03 | 2017-11-10 | 阿里巴巴集团控股有限公司 | 软件检测方法、装置及电子设备 |
-
2018
- 2018-02-26 CN CN201810161049.3A patent/CN108268778B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572821A (zh) * | 2014-12-03 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 一种文件处理方法及装置 |
CN107341400A (zh) * | 2016-05-03 | 2017-11-10 | 阿里巴巴集团控股有限公司 | 软件检测方法、装置及电子设备 |
CN106682505A (zh) * | 2016-05-04 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 一种病毒检测方法、终端、服务器及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117635A (zh) * | 2018-09-06 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 应用程序的病毒检测方法、装置、计算机设备及存储介质 |
CN111435370A (zh) * | 2019-01-11 | 2020-07-21 | 富士通株式会社 | 信息处理装置、方法以及机器可读存储介质 |
CN111368298A (zh) * | 2020-02-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 一种病毒文件识别方法、装置、设备及存储介质 |
CN111368298B (zh) * | 2020-02-27 | 2023-07-21 | 腾讯科技(深圳)有限公司 | 一种病毒文件识别方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108268778B (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10805346B2 (en) | Phishing attack detection | |
WO2018166524A1 (zh) | 人脸检测方法和系统、电子设备、程序和介质 | |
WO2022161286A1 (zh) | 图像检测方法、模型训练方法、设备、介质及程序产品 | |
CN111886842B (zh) | 使用基于阈值的匹配进行远程用户身份验证 | |
CN111460446B (zh) | 基于模型的恶意文件检测方法及装置 | |
CN110413908A (zh) | 基于网站内容对统一资源定位符进行分类的方法和装置 | |
CN110647896B (zh) | 一种基于logo图像的钓鱼页面识别方法及相关设备 | |
CN108647683B (zh) | 一种基于频域加噪的字符对抗验证码生成方法和系统 | |
CN108268778A (zh) | 数据处理方法、装置及存储介质 | |
CN112528998B (zh) | 证件图像处理方法、装置、电子设备及可读存储介质 | |
CN110647895B (zh) | 一种基于登录框图像的钓鱼页面识别方法及相关设备 | |
WO2019017178A1 (en) | METHOD AND APPARATUS FOR DYNAMICALLY IDENTIFYING A USER OF AN ACCOUNT FOR DISPLAYING IMAGES | |
US20230418943A1 (en) | Method and device for image-based malware detection, and artificial intelligence-based endpoint detection and response system using same | |
WO2023165616A1 (zh) | 图像模型隐蔽后门的检测方法及系统、存储介质、终端 | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
Andriamilanto et al. | A large-scale empirical analysis of browser fingerprints properties for web authentication | |
CN110650108A (zh) | 一种基于icon图标的钓鱼页面识别方法及相关设备 | |
CN108470126A (zh) | 数据处理方法、装置及存储介质 | |
JP2019148882A (ja) | トラヒック特徴情報抽出装置、トラヒック特徴情報抽出方法、及びトラヒック特徴情報抽出プログラム | |
CN108804652B (zh) | 封面图片的生成方法、装置、存储介质和电子装置 | |
CN114417397A (zh) | 行为画像的构建方法、装置、存储介质及计算机设备 | |
CN106055693A (zh) | 一种信息处理方法及终端 | |
CN106469267A (zh) | 一种验证码样本收集方法及系统 | |
FR2974923A1 (fr) | Transmission sure d'image sur terminal non sur | |
CN111460422B (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 |