CN104036187A - 计算机病毒类型确定方法及其系统 - Google Patents

计算机病毒类型确定方法及其系统 Download PDF

Info

Publication number
CN104036187A
CN104036187A CN201310068155.4A CN201310068155A CN104036187A CN 104036187 A CN104036187 A CN 104036187A CN 201310068155 A CN201310068155 A CN 201310068155A CN 104036187 A CN104036187 A CN 104036187A
Authority
CN
China
Prior art keywords
virus
computer virus
type
character string
sample
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
Application number
CN201310068155.4A
Other languages
English (en)
Other versions
CN104036187B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201310068155.4A priority Critical patent/CN104036187B/zh
Publication of CN104036187A publication Critical patent/CN104036187A/zh
Application granted granted Critical
Publication of CN104036187B publication Critical patent/CN104036187B/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/561Virus type analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种计算机病毒类型确定方法及其系统,其中该方法包括:对于已确定类型的计算机病毒文件样本,分别生成反映每一类型计算机病毒特征的病毒特征字符串;将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒的病毒特征字符串进行比对,若完全匹配或匹配率大于第一预设阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。通过本申请实现了自动对计算机病毒样本进行类型确定及命名,所命名的病毒名称反映该病毒的特征属性,并且命名规则统一,提高了命名的准确性。

Description

计算机病毒类型确定方法及其系统
技术领域
本申请涉及计算机病毒自动命名技术领域,尤其涉及一种计算机病毒类型确定方法及其系统。
背景技术
计算机病毒的分析过程一般来说分下面几步:首先,通过各种途径(如用户上报)收集到可疑的计算机病毒样本。接着,判断这些计算机病毒样本是否是真正的计算机病毒,可以是人工分析的方法,通过动态静态分析等方法来完成,也可以用自动的程序来完成,完成本步骤后就能够确定哪些样本是真实的计算机病毒。然后,确定这些病毒具体属于哪一种计算机病毒,并给计算机病毒命名。最后,将命名好的计算机病毒,添加到病库中。完成上述工作后,杀毒引擎就可以通过加载新的病毒库,进行新的病毒的查杀操作。
计算机病毒的命名,对于相关技术的研究,分享,计算机病毒的分类,及特定计算机病毒的发展局势的预测,都具有重要的作用。
计算机病毒的人工分析阶段,病毒的命名主要依靠病毒分析人员的经验,由于分析人员个人的命名标准差别,以及分析人员个人经验的差别,在病毒的命名过程中存在着大量不一致,甚至是错误的情况。
发展到计算机病毒自动处理阶段,计算机病毒的命名更多的采用分配一个随机数编码,作为唯一性的标志。但是通过一个随机的编码,无法反应计算机病毒的类型,更无法反映各计算机病毒间的变种关系。
综上所述,针对现有技术中的缺少对已经确定是计算机病毒的恶意程序进行准确命名的技术方案,有必要提出改进的技术手段解决上述问题。
发明内容
本申请的主要目的在于提供一种计算机病毒类型确定方法及其系统,以解决现有技术存在的缺少有效确定计算机病毒类型的技术方案的问题,其中:
根据本申请实施例的计算机病毒类型确定方法包括:
对于已确定类型的计算机病毒文件样本,分别生成反映每一类型计算机病毒特征的病毒特征字符串;
将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒的病毒特征字符串进行比对,若完全匹配或匹配率大于第一预设阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。
根据本申请实施例的计算机病毒类型确定系统包括:
样本学习模块,用于对于已确定类型的计算机病毒文件样本,分别生成反映每一类型计算机病毒特征的病毒特征字符串;
样本命名识别模块,用于将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒的病毒特征字符串进行比对,若完全匹配或匹配率大于第一预设阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。
根据本申请的技术方案,通过样本学习过程生成反映每一类型计算机病毒特征的病毒特征字符串,将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒对应的病毒特征字符串进行比对,若完全匹配或匹配率大于阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。本申请实现了自动对计算机病毒样本进行类型确定及命名,所命名的病毒名称反映该病毒的特征属性,并且命名规则统一,提高了命名的准确性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的计算机病毒类型确定方法的流程图;
图2是根据本申请实施例的步骤S102的流程图;
图3是根据本申请一个实施例的计算机病毒类型确定系统的结构框图;
图4是根据本申请另一实施例的计算机病毒类型确定系统的结构框图;
图5是根据本申请再一实施例的计算机病毒类型确定系统的结构框图。
具体实施方式
本申请的主要思想在于,通过样本学习过程生成反映每一类型计算机病毒特征的病毒特征字符串,将待确定类型计算机病毒样本中包含的字符串数据分别与每一类型计算机病毒对应的病毒特征字符串进行比对,若完全匹配或匹配率大于阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型,并对待确定类型计算机病毒进行命名。
为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明。
根据本申请的实施例,提供了一种计算机病毒类型确定方法。图1是根据本申请实施例的计算机病毒类型确定方法的流程图,如图1所示,该方法包括(步骤S102-S104):
步骤S102,对于已确定类型的计算机病毒文件样本,分别生成反映每一类型计算机病毒特征的病毒特征字符串。
下面参考图2并结合实例详细描述步骤S102的具体处理过程。参考图2,步骤S102具体包括(步骤S202-S208):
步骤S202,建立已确定类型的计算机病毒样本文件集合和正常可执行计算机程序文件样本集合。收集大量已知、且命名正确的计算机病毒文件样本,建立病毒文件样本集合A{a1、a2、....an};同时收集大量确认为非计算机病毒的正常可执行计算机程序文件样本,建立非病毒文件样本集合B{b1、b2....bm}。
例如:A集合包括以下病毒文件样本,A={virus_1,virus_2,virus_3},其中virus_1中包含了病毒文件的二进制信息和对应的病毒名称(Trojan.zhengtu.az)信息,A集合中的其他元素同样保存类似信息。
B集合包含以下正常文件样本,B={no_virus_1,no_virus_2,no_virus_3},其中no_virus_1中,保存的是这个正常文件的二进制文件内容。
步骤S204,根据预定规则从已确定类型的计算机病毒文件样本集合中提取字符串数据建立第一数据集合、并从正常可执行计算机程序文件样本集合中提取字符串数据建立第二数据集合。
分别从步骤S202中建立的两个文件样本集合A和B的二进制文件中提取字符串数据。在本申请中,对字符串定义为对于字母文字,超过两个字符的字母组合即认定为字符串;对于汉字等多字节文字,认为只要是多2个连续字节可以拼成一个以上字符的认为是字符串数据。将提取出来的字符串数据,以不同的二进制文件为单位分别保存。将由A病毒文件样本集合生成的字符串文件集合命名为第一数据集合C{c1、c2.....cn};将由B非病毒文件样本集合生成的字符串文件集合命名为第二数据集合D{d1、d2......dm}。
例如:从virus_1病毒文件样本中提取出[“CreateFile”,“password-file”,“zhengtu.exe”]等一系列字符串数据,并将这些字符串数据以及这个病毒样本的类型(名称),作为C集合(即第一数据集合)的一个元素被保存起来。
从正常程序样本no_virus_1中提取出[“CreateFile”,“ReadFile”,“program File”]等一些列字符串数据,并将这些字符串数据作为D集合(即第二数据集合)中的一个元素保存起来。
从正常程序样本no_virus_2中提取出[“CreateProsess”,“SendMessage”,“CloseProcess”,“CreateFile”]等一些列字符串数据,并将这些字符串数据作为D集合中的另一个元素保存起来。
另外,还需要将集合D中各文件中保存的字符串数据进行去重处理,并将去重后的字符串整合到一个单一的文件e中。这样,第二数据集合就成为一个单一的文件。
例如:对no_virus_1和no_virus_2两个正常文件所提取出的字符串去重后的结果是[“CreateFile”,“ReadFile”,“program File”,“CreateProsess”,“SendMessage”,“CloseProcess”]。
步骤S206,将第一数据集合与第二数据集合进行比较,将在第一数据集合中出现、且在第二数据集合中没有出现的字符串建立第三数据集合。
将第一数据集合C中的各文件分别与文件e进行比较,将在文件ci中出现、且在文件e中没有出现的字符串保存到文件fi中,并由n个fi文件构成为一个新的文件集合,即第三数据集合F{f1、f2....fn}。
例如:集合C中的virus_1病毒文件样本提取的字符串数据为[“CreateFile”,“password-file”,“zhengtu.exe”],与正常文件e中的字符串数据[“CreateFile”,“ReadFile”,“program File”,“CreateProsess”,“SendMessage”,“CloseProcess”]进行匹配,生成集合F中的一个元素,该元素的内容是下列字符串数据[“password-file”,“zhengtu.exe”]。然后,分别将集合C中的virus_2和virus_3病毒文件样本提取的字符串数据与e中的字符串数据进行匹配,生成集合F中的其他元素。
根据已知信息病毒样本文件集合A中的病毒样本文件,由S{s1、s2.....su}种不同种类(类型)的病毒组成,共u种计算机病毒,其中u<n。每一种病毒中有多个病毒样本,同一种病毒的多个病毒样本属于同一种病毒的不同变种。
步骤S208,根据第三数据集合分别计算每一类型计算机病毒的字符串在该类型计算机病毒样本总数中的出现概率,并将出现概率最高的多个字符串设置为该类型计算机病毒对应的病毒特征字符串。
每一种计算机病毒so,对应多个计算机病毒样本ai、以及多个字符串文件fi。将多个对应的fi文件划为一个集合H{h1、h2....hk}。对H集合中各文件中字符串数据出现的次数进行统计,并算出各字符串数据在该类型计算机病毒样本总数中出现的概率。由字符串数据和出现概率的数据对组成一个新的集合Mo(P、Q){(p1、q1)、(p2、q2).......(px、qx)},其中P表示出现的字符串,Q表示与之相对应的出现概率。
例如:从Trojan.zhengtu.az(virus_1)中提取出来的字符串是[“password-file”,“zhengtu.exe”],从属于Trojan.zhengtu这类病毒样本,其他文件中提取出来的字符串还有从virus_10病毒样本中提取的字符串[“password-file”,“zhengtu.exe”,“zhengtu.dll”,“username”],从virus_15病毒样本中提取出来的字符串[“zhengtu.exe”,“username”],上述字符串都是在集合F中保存的各样本的字符串数据。上文中virus_1、virus_10、virus_15这三个病毒文件样本对应的字符串数据,就是组成集合H的字符串数据{[“password-file”,“zhengtu.exe”],[“password-file”,“zhengtu.exe”,“zhengtu.dll”,“username”],[“zhengtu.exe”,“username”]}。并由此计算字符串数据的出现概率:
“password-file”在两个样本中都出现了,出现概率是67%
“zhengtu.exe”在三个样本中都出现了,出现概率是100%
“zhengtu.dll”在一个样本中出现了,出现概率是33%
“username”在两个样本中出现了,出现概率是67%
于是针对Trojan.zhengtu这类病毒,构成了集合Mo=MTrojan.zhengtu={(“password-file”,67%),(“zhengtu.exe”,100%),(“zhengtu.dll”,33%),(“username”,67%)}。
同理,针对集合S中的每一种计算机病毒都可以生成一个集合Mo,共有u个集合,将u个集合合成一个大的集合M,其中M={M1、M2........Mu}={(P、Q)1、(P、Q)2......(P、Q)u}={{(p1、q1)1(p2、q2)1.....(px、qx)1}、{(p1、q1)2(p2、q2)2.....(px、qx2}....{{(p1、q1)u(p2、q2)u.....(px、qxu}}。
针对特定的一种计算机病毒r,从集合Mr中,提取出现概率最高的t个字符串,并保证着t个字符串在其他计算机病毒的Mv(v∈u,且v≠r)集合中出现的概率小于w,如果某个字符串在Mv中的出现概率大于w,该字符串从之前选取的t个字符串中剔除,并用Mr中后续出现概率次高的字符串替换。
如果Mr中全部字符串数据中,满足在Mv中的出现概率小于w的字符串数据不足t个,则按照实际符合要求的字符串数据选取。如果实际符合要求的字符串数据数量小于或等于l个,则上报系统,该种病毒的识别交由人工辅助处理。
例如:选取t的值为2,即每一种计算机病毒选取两个病毒特征字符串,对MTrojan.zhengtu集合二次处理后的内容为:{(“zhengtu.exe”,100%),(“password-file”,67%)},并且还要检查一下“zhengtu.exe”、“password-file”在其他种类病毒的Mv集合中出现的概率是否超过了阈值w,可以设置阈值w为20%。如果Mtrojan.qq集合中有一个元素为(“password-file”,40%),那么“password-file”字符串就不适合作为Trojan.zhengtu病毒的病毒特征字符串,于是选取后续字符串“username”作为Trojan.zhengtu病毒的一个有效病毒特征字符串,更新后的MTrojan.zhengtu集合为{(“zhengtu.exe”,100%),(“username”,67%)}
上述过程中涉及三个常量的设置,分别是t、w、l。这三个值的设置需要根据具体实现的情况来决定,此处不再赘述。
通过上述处理为每一种计算机病毒,生成了一组与之相匹配的病毒特征字符串,构成集合N。病毒特征字符串是能够反映计算机病毒特征的字符串序列。
N={(i,J)1、(i,J)2.....(i,J)u}=
{(i,{j1、j2.....jt})1、(i,{j1、j2.....jt})2.....(i,{j1、j2.....jt})u}。
其中,i表示各计算机病毒的名称,J表示与之对应的一组字符串,由t个字符串组成。在本申请中,主要通过计算机病毒的名称反映计算机病毒的类型。
为了实时跟进计算机病毒的发展,步骤S202-S208的处理需要不断重复执行,不断引入新的正常可执行文件作为学习样本,以适应新软件的不断出现。以及不断引入新的已确定类型的计算机病毒文件作为学习样本,新病毒的来源可以是通过步骤S104中确定病毒类型的新病毒文件样本,以及通过借鉴其他查毒引擎获得的计算机病毒文件样本与病毒名称对应关系的信息。
继续参考图1,步骤S104,将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒的病毒特征字符串进行比对,若完全匹配或匹配率大于第一预设阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。
将已经确定是计算机病毒,还没有确定其类型的病毒样本中包含的字符串数据提取出来,定义为R,用R中的字符串数据与N集合中的各个字符串组J进行匹配,如果R中的字符串可以与(i,J)l中全部字符串匹配,即(i,J)l中的字符串都可以在R中找到,则根据i确定该病毒样本的类型,在本申请中主要是通过文件命名确定病毒文件类型,将该计算机的病毒名称定义为i,并且根据当前i病毒中变种的数量,对其变种版本号进行分配。
在实际应用中,可以设置一匹配阈值,当匹配率超过该匹配阈值时也可认为是完全匹配,并执行与完全匹配相同的处理。
对于无法完全匹配的情况,需要输出R中的所有字符串数据,以及这些字符串数据与e集合相匹配的情况,以便为人工判断当前病毒是哪一种已知的计算机病毒、或是一种全新的计算机病毒提供依据。
通过本申请的上述实施例,能够对计算机病毒文件样本进行自动命名(即确定病毒文件样本的类型),同一种病毒使用相同的病毒名称,不同变种用变种编号进行区分。所命名的病毒名称反映该病毒的特征属性,并且命名规则统一,提高了命名的准确性。
根据本申请的一个实施例,在自动命名过程中有可能造成错误的情况发生。造成系统的命名错误可能有两个原因,一是学习样本中,部分样本人工对病毒的命名有误,这个现象很普遍;另一个原因是,系统中选取的特征字符串无法反映该类病毒的特征。可采用下面方法进行半自动的修复。
(1)将通过系统中确定类型的计算机病毒,用第三方杀毒引擎进行查杀,可以获得部分计算机病毒对应的名称。找到命名不同的计算机病毒,从中选取部分病毒样本借助之前系统获得的字符串以及其他相关信息,通过人工来确定那种命名方式更正确。更正相关错误后再将相关信息加入病毒库中。
(2)将更正后的病毒样本、病毒名称信息重新放到本系统的学习样本中,重复学习过程,以便更新之前学习过程中存在的识别误差。经过几轮样本学习后,计算机病毒名称的识别准确率会大幅提高。同时针对不断出现的新种类的计算机病毒,也可以通过类似方法,将计算机病毒的命名知识,添加到计算机病毒类型确定系统中。
根据本申请的实施例,还提供了一种计算机病毒类型确定系统。参考图3,是根据本申请实施例的计算机病毒类型确定系统的结构框图,如图3所示,该系统至少包括:样本学习模块10和样本命名识别模块20,下面详细描述上述各模块的结构和连接关系。
样本学习模块10用于对于已确定类型的计算机病毒文件样本,分别生成反映每一类型计算机病毒特征的病毒特征字符串;
样本命名识别模块20用于将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒的病毒特征字符串进行比对,若完全匹配或匹配率大于第一预设阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。
参考图4,样本学习模块10进一步包括:样本建立模块110、第一字符串提取模块120和病毒特征字符串设置模块130,其中:
样本建立模块110用于建立已确定类型的计算机病毒文件样本集合和正常可执行计算机程序文件样本集合。第一字符串提取模块120与样本建立模块110相耦接,用于根据预定规则从已确定类型的计算机病毒文件样本集合中提取字符串数据建立第一数据集合、并从正常可执行计算机程序文件样本集合中提取字符串数据建立第二数据集合。病毒特征字符串设置模块130与第一字符串提取模块120相耦接,用于将第一数据集合与第二数据集合进行比较,将在第一数据集合中出现、且在第二数据集合中没有出现的字符串建立第三数据集合;根据第三数据集合分别计算每一类型计算机病毒的字符串数据在该类型计算机病毒样本总数中的出现概率,并将出现概率最高的多个字符串设置为该类型计算机病毒对应的病毒特征字符串。
进一步地,病毒特征字符串设置模块130设置的每一类型计算机病毒对应的病毒特征字符串中的字符串数据在其他类型计算机病毒对应的病毒特征字符串中的出现概率小于第二预设阈值,否则,该字符串数据从之前选取的多个字符串中删除,并用后续出现概率次高的字符串数据替换。
另外,若病毒特征字符串设置模块130设置的某一类型计算机病毒对应的病毒特征字符串中的字符串数据小于或等于1个,则上报系统交由人工处理。
继续参考图4,样本命名识别模块20包括:第二字符串提取模块210、比对模块220、样本命名模块230和版本号分配模块240,其中:
第二字符串提取模块210用于根据预定规则提取待确定类型计算机病毒中包含的字符串数据。比对模块220与第二字符串提取模块210相耦接,用于将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒对应的病毒特征字符串进行比对;样本命名模块230与比对模块220相耦接,用于若完全匹配或匹配率大于第一预设阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。版本号分配模块240与样本命名模块230相耦接,用于根据当前计算机病毒中变种的数量对其变种版本号进行分配。
参考图5,根据本申请实施例的计算机病毒类型确定系统还包括:
识别结果修正模块30,用于使用杀毒引擎对确定类型的计算机病毒进行查杀毒处理,得到该计算机病毒的新名称,根据新名称对计算机病毒的命名进行修正,并将修正后的计算机病毒、病毒名称信息重新加入到已确定名称的计算机病毒样本中。
本申请的方法的操作步骤与系统的结构特征对应,可以相互参照,不再一一赘述。
综上所述,根据本申请的上述技术方案,通过样本学习过程生成反映每一类型计算机病毒特征的病毒特征字符串,将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒对应的病毒特征字符串进行比对,若完全匹配或匹配率大于阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。本申请实现了自动对计算机病毒样本进行类型确定及命名,所命名的病毒名称反映该病毒的特征属性,并且命名规则统一,提高了命名的准确性。由此为实现计算机病毒处理自动化提供了重要技术支持。
以上所述仅为本申请的实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (16)

1.一种计算机病毒类型确定方法,其特征在于,包括:
对于已确定类型的计算机病毒文件样本,分别生成反映每一类型计算机病毒特征的病毒特征字符串;
将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒的病毒特征字符串进行比对,若完全匹配或匹配率大于第一预设阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。
2.根据权利要求1所述的方法,其特征在于,所述分别生成反映每一类型计算机病毒的病毒特征字符串的步骤,包括:
建立已确定类型的计算机病毒文件样本集合和正常可执行计算机程序文件样本集合;
根据预定规则从所述已确定类型的计算机病毒文件样本集合中提取字符串数据建立第一数据集合、并从所述正常可执行计算机程序文件样本集合中提取字符串数据建立第二数据集合;
将所述第一数据集合与所述第二数据集合进行比较,将在所述第一数据集合中出现、且在所述第二数据集合中没有出现的字符串建立第三数据集合;
根据所述第三数据集合分别计算每一类型计算机病毒的字符串数据在该类型计算机病毒样本总数中的出现概率,并将出现概率最高的多个字符串设置为该类型计算机病毒对应的病毒特征字符串。
3.根据权利要求2所述的方法,其特征在于,还包括:
每一类型计算机病毒对应的病毒特征字符串中的字符串数据在其他类型计算机病毒对应的病毒特征字符串中的出现概率小于第二预设阈值。
4.根据权利要求2所述的方法,其特征在于,还包括:
若某一类型计算机病毒对应的病毒特征字符串中的字符串数据小于或等于1个,则上报系统交由人工处理。
5.根据权利要求1所述的方法,其特征在于,在所述将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒的病毒特征字符串进行比对的步骤之前,所述方法还包括:
根据预定规则提取所述待确定类型计算机病毒中包含的字符串数据。
6.根据权利要求1所述的方法,其特征在于,所述根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型的步骤,还包括:
根据当前计算机病毒中变种的数量对其变种版本号进行分配。
7.根据权利要求1所述的方法,其特征在于,若匹配结果为匹配率小于或等于第一预设阈值,则所述方法还包括:
提供所述待确定类型计算机病毒中包含的字符串数据、以及匹配结果。
8.根据权利要求1所述的方法,其特征在于,还包括:
将确定类型的计算机病毒加入到已确定类型的计算机病毒样本中。
9.根据权利要求1所述的方法,其特征在于,还包括:
使用杀毒引擎对确定类型的计算机病毒进行查杀毒处理,得到该计算机病毒的新名称;
根据所述新名称对所述计算机病毒的命名进行修正;
将修正后的计算机病毒样本、病毒名称信息重新加入到已确定名称的计算机病毒样本中。
10.一种计算机病毒类型确定系统,其特征在于,包括:
样本学习模块(10),用于对于已确定类型的计算机病毒文件样本,分别生成反映每一类型计算机病毒特征的病毒特征字符串;
样本命名识别模块(20),用于将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒的病毒特征字符串进行比对,若完全匹配或匹配率大于第一预设阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。
11.根据权利要求10所述的系统,其特征在于,所述样本学习模块(10)包括:
样本建立模块(110),用于建立已确定类型的计算机病毒文件样本集合和正常可执行计算机程序文件样本集合;
第一字符串提取模块(120),用于根据预定规则从所述已确定类型的计算机病毒文件样本集合中提取字符串数据建立第一数据集合、并从所述正常可执行计算机程序文件样本集合中提取字符串数据建立第二数据集合;
病毒特征字符串设置模块(130),用于将所述第一数据集合与所述第二数据集合进行比较,将在所述第一数据集合中出现、且在所述第二数据集合中没有出现的字符串建立第三数据集合;根据所述第三数据集合分别计算每一类型计算机病毒的字符串数据在该类型计算机病毒样本总数中的出现概率,并将出现概率最高的多个字符串设置为该类型计算机病毒对应的病毒特征字符串。
12.根据权利要求11所述的系统,其特征在于,所述病毒特征字符串设置模块(130)设置的每一类型计算机病毒对应的病毒特征字符串中的字符串数据在其他类型计算机病毒对应的病毒特征字符串中的出现概率小于第二预设阈值。
13.根据权利要求11所述的系统,其特征在于,若所述病毒特征字符串设置模块(130)设置的某一类型计算机病毒对应的病毒特征字符串中的字符串数据小于或等于1个,则上报系统交由人工处理。
14.根据权利要求10所述的系统,其特征在于,所述样本命名识别模块(20)包括:
第二字符串提取模块(210),用于根据预定规则提取所述待确定类型计算机病毒中包含的字符串数据;
比对模块(220),用于将待确定类型计算机病毒中包含的字符串数据分别与每一类型计算机病毒对应的病毒特征字符串进行比对;
样本命名模块(230),用于若完全匹配或匹配率大于第一预设阈值,则根据相匹配的病毒特征字符串对应的计算机病毒类型确定待确定类型计算机病毒的类型。
15.根据权利要求14所述的系统,其特征在于,所述样本命名识别模块(20)还包括:
版本号分配模块(240),用于根据当前计算机病毒中变种的数量对其变种版本号进行分配。
16.根据权利要求10所述的系统,其特征在于,还包括:
识别结果修正模块(30),用于使用杀毒引擎对确定类型的计算机病毒进行查杀毒处理,得到该计算机病毒的新名称,根据所述新名称对所述计算机病毒的命名进行修正,并将修正后的计算机病毒、病毒名称信息重新加入到已确定名称的计算机病毒样本中。
CN201310068155.4A 2013-03-04 2013-03-04 计算机病毒类型确定方法及其系统 Active CN104036187B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310068155.4A CN104036187B (zh) 2013-03-04 2013-03-04 计算机病毒类型确定方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310068155.4A CN104036187B (zh) 2013-03-04 2013-03-04 计算机病毒类型确定方法及其系统

Publications (2)

Publication Number Publication Date
CN104036187A true CN104036187A (zh) 2014-09-10
CN104036187B CN104036187B (zh) 2017-04-12

Family

ID=51466955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310068155.4A Active CN104036187B (zh) 2013-03-04 2013-03-04 计算机病毒类型确定方法及其系统

Country Status (1)

Country Link
CN (1) CN104036187B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243486A (zh) * 2014-09-28 2014-12-24 中国联合网络通信集团有限公司 一种病毒检测方法及系统
CN104778406A (zh) * 2015-04-08 2015-07-15 公安部第一研究所 一种基于文件指纹对恶意代码统一命名的方法及其系统
CN105279434A (zh) * 2015-10-13 2016-01-27 北京奇虎科技有限公司 恶意程序样本家族命名方法及装置
CN105512555A (zh) * 2014-12-12 2016-04-20 哈尔滨安天科技股份有限公司 基于文件字符串聚类的划分同源家族和变种的方法及系统
CN106557696A (zh) * 2015-09-30 2017-04-05 卡巴斯基实验室股份制公司 用于检测恶意数据加密程序的系统和方法
CN106909843A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 一种计算机病毒的检测方法及装置
CN109829304A (zh) * 2018-12-29 2019-05-31 北京奇安信科技有限公司 一种病毒检测方法及装置
CN111310179A (zh) * 2020-01-22 2020-06-19 腾讯科技(深圳)有限公司 计算机病毒变种的分析方法、装置和计算机设备
CN111368294A (zh) * 2018-12-25 2020-07-03 腾讯科技(深圳)有限公司 病毒文件的识别方法和装置、存储介质、电子装置
CN113434860A (zh) * 2021-07-22 2021-09-24 安天科技集团股份有限公司 病毒检测方法、装置、计算设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907834A (en) * 1994-05-13 1999-05-25 International Business Machines Corporation Method and apparatus for detecting a presence of a computer virus
CN1752888A (zh) * 2005-11-08 2006-03-29 朱林 用于移动/智能终端的病毒特征提取和检测系统及方法
US20070240217A1 (en) * 2006-04-06 2007-10-11 George Tuvell Malware Modeling Detection System And Method for Mobile Platforms
CN101226570A (zh) * 2007-09-05 2008-07-23 江启煜 一种监控与清除广义未知病毒的方法
CN101685483A (zh) * 2008-09-22 2010-03-31 成都市华为赛门铁克科技有限公司 一种病毒特征码提取的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907834A (en) * 1994-05-13 1999-05-25 International Business Machines Corporation Method and apparatus for detecting a presence of a computer virus
CN1752888A (zh) * 2005-11-08 2006-03-29 朱林 用于移动/智能终端的病毒特征提取和检测系统及方法
US20070240217A1 (en) * 2006-04-06 2007-10-11 George Tuvell Malware Modeling Detection System And Method for Mobile Platforms
CN101226570A (zh) * 2007-09-05 2008-07-23 江启煜 一种监控与清除广义未知病毒的方法
CN101685483A (zh) * 2008-09-22 2010-03-31 成都市华为赛门铁克科技有限公司 一种病毒特征码提取的方法和装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243486A (zh) * 2014-09-28 2014-12-24 中国联合网络通信集团有限公司 一种病毒检测方法及系统
CN104243486B (zh) * 2014-09-28 2018-03-23 中国联合网络通信集团有限公司 一种病毒检测方法及系统
CN105512555B (zh) * 2014-12-12 2018-05-25 哈尔滨安天科技股份有限公司 基于文件字符串聚类的划分同源家族和变种的方法及系统
CN105512555A (zh) * 2014-12-12 2016-04-20 哈尔滨安天科技股份有限公司 基于文件字符串聚类的划分同源家族和变种的方法及系统
CN104778406B (zh) * 2015-04-08 2018-03-02 公安部第一研究所 一种基于文件指纹对恶意代码统一命名的方法及其系统
CN104778406A (zh) * 2015-04-08 2015-07-15 公安部第一研究所 一种基于文件指纹对恶意代码统一命名的方法及其系统
CN106557696A (zh) * 2015-09-30 2017-04-05 卡巴斯基实验室股份制公司 用于检测恶意数据加密程序的系统和方法
US10375086B2 (en) 2015-09-30 2019-08-06 AO Kaspersky Lab System and method for detection of malicious data encryption programs
CN106557696B (zh) * 2015-09-30 2020-10-27 卡巴斯基实验室股份制公司 用于检测恶意数据加密程序的系统和方法
CN105279434A (zh) * 2015-10-13 2016-01-27 北京奇虎科技有限公司 恶意程序样本家族命名方法及装置
CN106909843A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 一种计算机病毒的检测方法及装置
CN111368294A (zh) * 2018-12-25 2020-07-03 腾讯科技(深圳)有限公司 病毒文件的识别方法和装置、存储介质、电子装置
CN109829304A (zh) * 2018-12-29 2019-05-31 北京奇安信科技有限公司 一种病毒检测方法及装置
CN111310179A (zh) * 2020-01-22 2020-06-19 腾讯科技(深圳)有限公司 计算机病毒变种的分析方法、装置和计算机设备
CN113434860A (zh) * 2021-07-22 2021-09-24 安天科技集团股份有限公司 病毒检测方法、装置、计算设备及存储介质

Also Published As

Publication number Publication date
CN104036187B (zh) 2017-04-12

Similar Documents

Publication Publication Date Title
CN104036187B (zh) 计算机病毒类型确定方法及其系统
CN105224600B (zh) 一种样本相似度的检测方法及装置
CN105205397B (zh) 恶意程序样本分类方法及装置
US11475133B2 (en) Method for machine learning of malicious code detecting model and method for detecting malicious code using the same
CN106951780A (zh) 重打包恶意应用的静态检测方法和装置
CN105046289B (zh) 一种文字域类型识别方法和文字域类型识别系统
NL2011817C2 (en) A method of generating a reference index data structure and method for finding a position of a data pattern in a reference data structure.
CN103473346A (zh) 一种基于应用程序编程接口的安卓重打包应用检测方法
CN109800575B (zh) 一种Android应用程序的安全检测方法
CN113656807A (zh) 一种漏洞管理方法、装置、设备及存储介质
CN113688240B (zh) 威胁要素提取方法、装置、设备及存储介质
CN112328499A (zh) 一种测试数据生成方法、装置、设备及介质
KR102550596B1 (ko) 스마트 컨트랙트 코드 취약점 분석 장치 및 방법
US20160019266A1 (en) Query generating method and query generating device
JP6419667B2 (ja) テストdbデータ生成方法及び装置
CN117940894A (zh) 用于检测代码克隆的系统和方法
CN103761298B (zh) 一种基于分布式架构的实体匹配方法
CN114511330A (zh) 一种基于改进的cnn-rf的以太坊庞氏骗局检测方法及系统
CN114881131A (zh) 一种生物序列处理和模型训练方法
CN111159482A (zh) 数据校验方法及系统
Feichtner et al. Obfuscation-resilient code recognition in Android apps
Rossini et al. Smart contracts vulnerability classification through deep learning
CN110727576A (zh) 一种web页面测试方法、装置、设备及存储介质
CN113704624B (zh) 基于用户分流的策略推荐方法、装置、设备及介质
CN105279434B (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