CN105205397A - 恶意程序样本分类方法及装置 - Google Patents

恶意程序样本分类方法及装置 Download PDF

Info

Publication number
CN105205397A
CN105205397A CN201510669982.8A CN201510669982A CN105205397A CN 105205397 A CN105205397 A CN 105205397A CN 201510669982 A CN201510669982 A CN 201510669982A CN 105205397 A CN105205397 A CN 105205397A
Authority
CN
China
Prior art keywords
rogue program
program sample
sample
dynamic clustering
static
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
CN201510669982.8A
Other languages
English (en)
Other versions
CN105205397B (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.)
Qax Technology Group Inc
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510669982.8A priority Critical patent/CN105205397B/zh
Publication of CN105205397A publication Critical patent/CN105205397A/zh
Application granted granted Critical
Publication of CN105205397B publication Critical patent/CN105205397B/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
    • G06F21/563Static detection by source code analysis

Landscapes

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

Abstract

本发明公开了一种恶意程序样本分类方法及装置,其中方法包括:对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果;对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果;根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库。本发明可以提高恶意程序样本分类的准确性。

Description

恶意程序样本分类方法及装置
技术领域
本发明涉及计算机软件技术领域,尤其涉及恶意程序样本分类方法及装置。
背景技术
随着信息化的发展,人们的工作和生活越来越离不开互联网。互联网在带来极大便利的同时,也出现了很多安全问题。近年来,计算机恶意程序数量迅猛发展,包括病毒、蠕虫、木马等恶意程序大规模爆发,给计算机用户造成了巨大的威胁和财产损失。由于恶意程序样本存在着大量的变种,以及同一作者所生产的样本的源代码具有很大的相似性等原因,发现样本之间的关联关系、对海量样本进行同源性分析是非常有必要,这就涉及到海量样本的聚类。安全厂商每天收到成千上万份恶意程序样本,如果安全厂商能够准确地从这些样本中提取共性并家族化,从而以恶意程序样本家族为单位提供解决方案,就可以尽快处理这些安全威胁。目前国内外学者对海量样本的聚类算法做了大量的研究,然而所提出的海量样本聚类方法的准确性都不高。
发明内容
本发明实施例提供一种恶意程序样本分类方法,用以提高恶意程序样本分类的准确性,该方法包括:
对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果;
对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果;
根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库。
一个实施例中,对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果,包括:
在沙箱中运行恶意程序样本,形成恶意程序样本的行为日志;
对恶意程序样本的行为日志进行聚类,获得恶意程序样本的动态聚类结果。
一个实施例中,对恶意程序样本的行为日志进行聚类之前,还包括对恶意程序样本的行为日志进行去随机化处理。
一个实施例中,对恶意程序样本的行为日志进行聚类,包括:采用连接聚类算法对恶意程序样本的行为日志进行聚类。
一个实施例中,对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果,包括:
对恶意程序样本进行静态反汇编,提取恶意程序样本的静态特征;
根据恶意程序样本的静态特征,判断恶意程序样本之间的关联性;
根据恶意程序样本之间的关联性,获得恶意程序样本的静态聚类结果。
一个实施例中,提取恶意程序样本的静态特征,包括:提取恶意程序样本的哈希函数、伪代码、函数名其中之一或任意组合。
一个实施例中,根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库,包括:
对于动态聚类结果中分至同一类别的恶意程序样本,若静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,则修正动态聚类结果,将这些恶意程序样本设置为不同类别。
一个实施例中,静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,包括:静态聚类结果表明这些恶意程序样本之间如下一项或多项的差别超过预设的范围:文件的大小、导入函数的数量、文件的属性。
本发明实施例还提供一种恶意程序样本分类装置,用以提高恶意程序样本分类的准确性,该装置包括:
动态聚类模块,用于对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果;
静态聚类模块,用于对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果;
分类确定模块,用于根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库。
一个实施例中,动态聚类模块具体用于:
在沙箱中运行恶意程序样本,形成恶意程序样本的行为日志;
对恶意程序样本的行为日志进行聚类,获得恶意程序样本的动态聚类结果。
一个实施例中,动态聚类模块还用于:
在对恶意程序样本的行为日志进行聚类之前,对恶意程序样本的行为日志进行去随机化处理。
一个实施例中,动态聚类模块具体用于:
采用连接聚类算法对恶意程序样本的行为日志进行聚类。
一个实施例中,静态聚类模块具体用于:
对恶意程序样本进行静态反汇编,提取恶意程序样本的静态特征;
根据恶意程序样本的静态特征,判断恶意程序样本之间的关联性;
根据恶意程序样本之间的关联性,获得恶意程序样本的静态聚类结果。
一个实施例中,静态聚类模块具体用于:
在提取恶意程序样本的静态特征时,提取恶意程序样本的哈希函数、伪代码、函数名其中之一或任意组合。
一个实施例中,分类确定模块具体用于:
对于动态聚类结果中分至同一类别的恶意程序样本,若静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,则修正动态聚类结果,将这些恶意程序样本设置为不同类别。
一个实施例中,分类确定模块具体用于:
对于动态聚类结果中分至同一类别的恶意程序样本,若静态聚类结果表明这些恶意程序样本之间如下一项或多项的差别超过预设的范围:文件的大小、导入函数的数量、文件的属性,则修正动态聚类结果,将这些恶意程序样本设置为不同类别。
发明人考虑到,现有的恶意程序样本聚类方法有动态聚类和静态聚类两种,然而无论是进行动态聚类还是进行静态聚类,所得的聚类结果均不准确,例如动态聚类时有可能样本的某些行为并未触发,导致样本行为收集不全,此时聚类结果不太准确,基于此,在本发明实施例中将动态聚类与静态聚类相结合,利用静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库,这样获得的恶意程序样本聚类结果的准确性将会大大提高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中恶意程序样本分类方法的示意图;
图2为本发明实施例中恶意程序样本A、B的动态日志聚类结果对比示例图;
图3为本发明实施例中恶意程序样本A、B的文件大小对比示例图;
图4为本发明实施例中恶意程序样本A具有的函数示例图;
图5为本发明实施例中恶意程序样本B具有的函数示例图;
图6为本发明实施例中恶意程序样本分类装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
发明人发现,现有的恶意程序样本聚类方法有动态聚类和静态聚类两种,然而对恶意程序样本无论是进行动态聚类还是进行静态聚类,所得的聚类结果均不准确,例如动态聚类时有可能样本的某些行为并未触发,导致样本行为收集不全,此时聚类结果不太准确,而如果能够将动态聚类与静态聚类相结合,则能最大程度地提高恶意程序样本聚类结果的准确性。基于此,在本发明实施例中提供一种恶意程序样本分类方法。图1为本发明实施例中恶意程序样本分类方法的示意图,如图1所示,该方法包括:
步骤101、对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果;
步骤102、对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果;
步骤103、根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库。
由图1所示流程可以得知,本发明实施例中提出了一种结合动态聚类和静态聚类的恶意程序样本精确聚类方法,在该方法中对恶意程序样本的动态聚类结果,结合静态聚类结果进行验证,即利用静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库,从而提高恶意程序样本聚类结果的准确性。
具体实施时,先对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果。实施例中对恶意程序样本进行动态聚类可以有多种实现方式,例如可以利用HIPS(Host-basedIntrusionPreventionSystem,入侵防御系统)等行为监控软件对恶意程序样本进行动态聚类,或者可以通过动态调试工具对恶意程序样本进行动态聚类,当然本领域技术人员还可以采用其它实现方式对恶意程序样本进行动态聚类,此处不一一列举。下面仅详细举出一例来说明对恶意程序样本进行动态聚类以获得动态聚类结果的过程。
本例中,对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果可以包括:在沙箱中运行恶意程序样本,形成恶意程序样本的行为日志;对恶意程序样本的行为日志进行聚类,获得恶意程序样本的动态聚类结果。下面给出恶意程序样本的行为日志的一个实例:
file,DeleteFile,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\ns9.tmp,F132FDBBC0A040F07E10EA944FF57FEF
api,LoadLibraryExW,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\nsExec.dll=0x01530000,NULL,8
file,CreateFileW,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\nsA.tmp,1
file,CopyFileEx,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\nsExec.dll,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\nsA.tmp,0
process,CreateProcessInternalW,1416,<NULL>,"C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\nsA.tmp"netstartserviceupdater
tree,"C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\nsA.tmp"netstartserviceupdater,1416
api,SleepEx,100,8300,100
process,CreateProcessInternalW,980,<NULL>,netstartserviceupdater
tree,netstartserviceupdater,980
api,SleepEx,100,8800,100
process,CreateProcessInternalW,1620,<NULL>,net1startserviceupdater
tree,net1startserviceupdater,1620
api,SleepEx,100,9300,100
api,LoadLibraryExW,rpcrt4.dll=0x77e50000,NULL,0
api,SleepEx,100,9700,100
api,LoadLibraryExW,NETMSG=0x71ab0000,NULL,0
process,ZwTerminateProcess,1620,00000000
api,SleepEx,100,9800,100
process,ZwTerminateProcess,980,00000000
api,SleepEx,100,9900,100
file,DeleteFile,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\nsA.tmp,F132FDBBC0A040F07E10EA944FF57FEF
api,SetFileAttributes,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\nsExec.dll,0x00000020
file,DeleteFile,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\nsExec.dll,ACC2B699EDFEA5BF5AAE45ABA3A41E96
api,SetFileAttributes,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\System.dll,0x00000020
file,DeleteFile,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\System.dll,C17103AE9072A06DA581DEC998343FC1
api,SetFileAttributes,C:\DOCUME~1\test\LOCALS~1\Temp\nsi6.tmp\,0x00000010
process,ZwTerminateProcess,388,00000000
本例中,为了进一步提高聚类结果的准确性,可以在对恶意程序样本的行为日志进行聚类之前,对恶意程序样本的行为日志进行去随机化处理,从而尽可能的去掉一些干扰因素。后续在对恶意程序样本的行为日志进行聚类时,对去随机化处理后的行为日志进行聚类,这样可以得到更为准确的动态聚类结果。
本例中,对恶意程序样本的行为日志进行聚类可以有多种实现方式,例如可以采用连接聚类算法(SimplelinkageclusteringalgorithmbyMutargh)对恶意程序样本的行为日志进行聚类,又如可以采用K均值、凝聚层次聚类、或者局部敏感哈希等聚类算法对恶意程序样本的行为日志进行聚类。当然本领域技术人员还可以采用其它实现方式对恶意程序样本的行为日志进行聚类,此处不一一列举。
上面的实施例说明了对恶意程序样本进行动态聚类的具体实现方式,下面再来具体说明如何对恶意程序样本进行静态聚类以获得恶意程序样本的静态聚类结果。实施例中对恶意程序样本进行静态聚类也可以有多种实现方式,例如可以通过特征字符串查找的方式对恶意程序样本进行静态聚类,或者可以通过静态反汇编分析的方式对恶意程序样本进行静态聚类,当然本领域技术人员还可以采用其它实现方式对恶意程序样本进行静态聚类,此处不一一列举。下面仅详细举出一例来说明对恶意程序样本进行静态聚类以获得静态聚类结果的过程。
本例中,对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果,可以包括:对恶意程序样本进行静态反汇编,提取恶意程序样本的静态特征;根据恶意程序样本的静态特征,判断恶意程序样本之间的关联性;根据恶意程序样本之间的关联性,获得恶意程序样本的静态聚类结果。具体实施时可以通过反编译工具,对恶意程序样本进行静态反汇编,提取恶意程序样本的静态特征,以恶意程序样本的静态特征为依据来判断恶意程序样本之间的关联性。实施例中在提取恶意程序样本的静态特征时,可以提取恶意程序样本的哈希函数、伪代码、函数名等静态特征其中之一或任意组合,这样后续可以从哈希函数、伪代码、函数名等多个纬度来判断恶意程序样本之间的关联性,得到更加准确的聚类结果。
具体实施时,在获得了恶意程序样本的动态聚类结果和静态聚类结果之后,根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库。恶意程序样本数据库中包括至少一个样本家族,每个样本家族包括至少一个样本。具体在根据静态聚类结果对动态聚类结果进行筛选时,可以有多种筛选方式。例如,对于动态聚类结果中分至同一类别的恶意程序样本,若静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,则修正动态聚类结果,将这些恶意程序样本设置为不同类别。其中,静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,例如可以包括:静态聚类结果表明这些恶意程序样本之间如下一项或多项的差别超过预设的范围:文件的大小、导入函数的数量、文件的属性等。
下面举例说明结合动态聚类和静态聚类对恶意程序样本进行精确聚类。动态聚类时有可能样本的某些行为并未触发,导致样本行为收集不全,此时聚类结果不太准确,结合静态聚类来相互验证,静态聚类会考虑样本的文件大小、导入的函数、文件属性等特征,如果静态聚类分析发现两个样本差别非常大,而动态聚类结果又表明这两个样本比较接近,则说明动态聚类结果可能不准确,此时应将动态聚类结果丢弃,即根据样本的静态特征对动态聚类结果进行一定的筛选,基于筛选后的结果最终形成样本数据库。
本例中有一类动态聚类结果中,一共有21个样本,选取其中的两个样本A、B,其动态日志聚类结果对比如图2所示,可见动态聚类结果具有一致性。但再看看样本A、B的静态聚类结果。图3中给出样本A、B的基本文件大小,可见样本A的文件大小几乎是样本B文件大小的3倍。图4中给出通过静态反编译得出的样本A具有的函数列表,图5中给出通过静态反编译得出的样本B具有的函数列表。可见样本A具有的函数数量几乎是样本B具有的函数数量的10倍,且样本A具有的函数完全不同于样本B具有的函数。如果样本之间的文件大小差别不超过1.1倍,函数数量差别不超过1.1倍,且需要具有相同的函数,那么样本A和样本B显然存在的差异性非常大,不具有同源性。故而应修正动态聚类结果,将样本A和样本B设置为不同的类别,即不属于同一样本家族。
基于同一发明构思,本发明实施例中还提供了一种恶意程序样本分类装置,如下面的实施例所述。由于该装置解决问题的原理与恶意程序样本分类方法相似,因此该装置的实施可以参见恶意程序样本分类方法的实施,重复之处不再赘述。
图6为本发明实施例中恶意程序样本分类装置的示意图。如图6所示,本发明实施例中恶意程序样本分类装置可以包括:
动态聚类模块601,用于对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果;
静态聚类模块602,用于对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果;
分类确定模块603,用于根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库。
在一个实施例中,动态聚类模块601具体可以用于:
在沙箱中运行恶意程序样本,形成恶意程序样本的行为日志;
对恶意程序样本的行为日志进行聚类,获得恶意程序样本的动态聚类结果。
在一个实施例中,动态聚类模块601还可以用于:
在对恶意程序样本的行为日志进行聚类之前,对恶意程序样本的行为日志进行去随机化处理。
在一个实施例中,动态聚类模块601具体可以用于:
采用连接聚类算法对恶意程序样本的行为日志进行聚类。
在一个实施例中,静态聚类模块602具体可以用于:
对恶意程序样本进行静态反汇编,提取恶意程序样本的静态特征;
根据恶意程序样本的静态特征,判断恶意程序样本之间的关联性;
根据恶意程序样本之间的关联性,获得恶意程序样本的静态聚类结果。
在一个实施例中,静态聚类模块602具体可以用于:
在提取恶意程序样本的静态特征时,提取恶意程序样本的哈希函数、伪代码、函数名其中之一或任意组合。
在一个实施例中,分类确定模块603具体可以用于:
对于动态聚类结果中分至同一类别的恶意程序样本,若静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,则修正动态聚类结果,将这些恶意程序样本设置为不同类别。
在一个实施例中,分类确定模块603具体可以用于:
对于动态聚类结果中分至同一类别的恶意程序样本,若静态聚类结果表明这些恶意程序样本之间如下一项或多项的差别超过预设的范围:文件的大小、导入函数的数量、文件的属性,则修正动态聚类结果,将这些恶意程序样本设置为不同类别。
综上所述,现有的恶意程序样本聚类方法有动态聚类和静态聚类两种,然而无论是进行动态聚类还是进行静态聚类,所得的聚类结果均不准确,例如动态聚类时有可能样本的某些行为并未触发,导致样本行为收集不全,此时聚类结果不太准确,基于此,在本发明实施例中将动态聚类与静态聚类相结合,利用静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库,这样获得的恶意程序样本聚类结果的准确性将会大大提高。
本发明的实施例公开了:
A1、一种恶意程序样本分类方法,其特征在于,包括:
对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果;
对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果;
根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库。
A2、如A1所述的方法,其特征在于,对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果,包括:
在沙箱中运行恶意程序样本,形成恶意程序样本的行为日志;
对恶意程序样本的行为日志进行聚类,获得恶意程序样本的动态聚类结果。
A3、如A2所述的方法,其特征在于,对恶意程序样本的行为日志进行聚类之前,还包括对恶意程序样本的行为日志进行去随机化处理。
A4、如A2所述的方法,其特征在于,对恶意程序样本的行为日志进行聚类,包括:采用连接聚类算法对恶意程序样本的行为日志进行聚类。
A5、如A1所述的方法,其特征在于,对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果,包括:
对恶意程序样本进行静态反汇编,提取恶意程序样本的静态特征;
根据恶意程序样本的静态特征,判断恶意程序样本之间的关联性;
根据恶意程序样本之间的关联性,获得恶意程序样本的静态聚类结果。
A6、如A5所述的方法,其特征在于,提取恶意程序样本的静态特征,包括:提取恶意程序样本的哈希函数、伪代码、函数名其中之一或任意组合。
A7、如A1至6任一项所述的方法,其特征在于,根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库,包括:
对于动态聚类结果中分至同一类别的恶意程序样本,若静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,则修正动态聚类结果,将这些恶意程序样本设置为不同类别。
A8、如A7所述的方法,其特征在于,静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,包括:静态聚类结果表明这些恶意程序样本之间如下一项或多项的差别超过预设的范围:文件的大小、导入函数的数量、文件的属性。
B9、一种恶意程序样本分类装置,其特征在于,包括:
动态聚类模块,用于对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果;
静态聚类模块,用于对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果;
分类确定模块,用于根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库。
B10、如B9所述的装置,其特征在于,所述动态聚类模块具体用于:
在沙箱中运行恶意程序样本,形成恶意程序样本的行为日志;
对恶意程序样本的行为日志进行聚类,获得恶意程序样本的动态聚类结果。
B11、如B10所述的装置,其特征在于,所述动态聚类模块还用于:
在对恶意程序样本的行为日志进行聚类之前,对恶意程序样本的行为日志进行去随机化处理。
B12、如B10所述的装置,其特征在于,所述动态聚类模块具体用于:
采用连接聚类算法对恶意程序样本的行为日志进行聚类。
B13、如B9所述的装置,其特征在于,所述静态聚类模块具体用于:
对恶意程序样本进行静态反汇编,提取恶意程序样本的静态特征;
根据恶意程序样本的静态特征,判断恶意程序样本之间的关联性;
根据恶意程序样本之间的关联性,获得恶意程序样本的静态聚类结果。
B14、如B13所述的装置,其特征在于,所述静态聚类模块具体用于:
在提取恶意程序样本的静态特征时,提取恶意程序样本的哈希函数、伪代码、函数名其中之一或任意组合。
B15、如B9至14任一项所述的装置,其特征在于,所述分类确定模块具体用于:
对于动态聚类结果中分至同一类别的恶意程序样本,若静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,则修正动态聚类结果,将这些恶意程序样本设置为不同类别。
B16、如B15所述的装置,其特征在于,所述分类确定模块具体用于:
对于动态聚类结果中分至同一类别的恶意程序样本,若静态聚类结果表明这些恶意程序样本之间如下一项或多项的差别超过预设的范围:文件的大小、导入函数的数量、文件的属性,则修正动态聚类结果,将这些恶意程序样本设置为不同类别。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种恶意程序样本分类方法,其特征在于,包括:
对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果;
对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果;
根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库。
2.如权利要求1所述的方法,其特征在于,对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果,包括:
在沙箱中运行恶意程序样本,形成恶意程序样本的行为日志;
对恶意程序样本的行为日志进行聚类,获得恶意程序样本的动态聚类结果。
3.如权利要求2所述的方法,其特征在于,对恶意程序样本的行为日志进行聚类之前,还包括对恶意程序样本的行为日志进行去随机化处理。
4.如权利要求2所述的方法,其特征在于,对恶意程序样本的行为日志进行聚类,包括:采用连接聚类算法对恶意程序样本的行为日志进行聚类。
5.如权利要求1所述的方法,其特征在于,对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果,包括:
对恶意程序样本进行静态反汇编,提取恶意程序样本的静态特征;
根据恶意程序样本的静态特征,判断恶意程序样本之间的关联性;
根据恶意程序样本之间的关联性,获得恶意程序样本的静态聚类结果。
6.如权利要求5所述的方法,其特征在于,提取恶意程序样本的静态特征,包括:提取恶意程序样本的哈希函数、伪代码、函数名其中之一或任意组合。
7.如权利要求1至6任一项所述的方法,其特征在于,根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库,包括:
对于动态聚类结果中分至同一类别的恶意程序样本,若静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,则修正动态聚类结果,将这些恶意程序样本设置为不同类别。
8.如权利要求7所述的方法,其特征在于,静态聚类结果表明这些恶意程序样本之间的差别超过预设的范围,包括:静态聚类结果表明这些恶意程序样本之间如下一项或多项的差别超过预设的范围:文件的大小、导入函数的数量、文件的属性。
9.一种恶意程序样本分类装置,其特征在于,包括:
动态聚类模块,用于对恶意程序样本进行动态聚类,获得恶意程序样本的动态聚类结果;
静态聚类模块,用于对恶意程序样本进行静态聚类,获得恶意程序样本的静态聚类结果;
分类确定模块,用于根据静态聚类结果对动态聚类结果进行筛选,基于筛选后的动态聚类结果形成恶意程序样本数据库。
10.如权利要求9所述的装置,其特征在于,所述动态聚类模块具体用于:
在沙箱中运行恶意程序样本,形成恶意程序样本的行为日志;
对恶意程序样本的行为日志进行聚类,获得恶意程序样本的动态聚类结果。
CN201510669982.8A 2015-10-13 2015-10-13 恶意程序样本分类方法及装置 Active CN105205397B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510669982.8A CN105205397B (zh) 2015-10-13 2015-10-13 恶意程序样本分类方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510669982.8A CN105205397B (zh) 2015-10-13 2015-10-13 恶意程序样本分类方法及装置

Publications (2)

Publication Number Publication Date
CN105205397A true CN105205397A (zh) 2015-12-30
CN105205397B CN105205397B (zh) 2018-10-16

Family

ID=54953071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510669982.8A Active CN105205397B (zh) 2015-10-13 2015-10-13 恶意程序样本分类方法及装置

Country Status (1)

Country Link
CN (1) CN105205397B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372508A (zh) * 2016-08-30 2017-02-01 北京奇虎科技有限公司 恶意文档的处理方法及装置
CN106570394A (zh) * 2016-11-10 2017-04-19 厦门安胜网络科技有限公司 一种检测恶意程序的方法
CN106599688A (zh) * 2016-12-08 2017-04-26 西安电子科技大学 一种基于应用类别的安卓恶意软件检测方法
CN106599686A (zh) * 2016-10-12 2017-04-26 四川大学 一种基于tlsh特征表示的恶意软件聚类方法
CN106709326A (zh) * 2016-11-24 2017-05-24 北京奇虎科技有限公司 一种可疑样本的处理方法和装置
CN106815521A (zh) * 2015-12-31 2017-06-09 武汉安天信息技术有限责任公司 一种样本关联性检测方法、系统及电子设备
CN107247902A (zh) * 2017-05-10 2017-10-13 深信服科技股份有限公司 恶意软件分类系统及方法
CN108985086A (zh) * 2018-07-18 2018-12-11 中软信息系统工程有限公司 应用程序权限控制方法、装置及电子设备
CN111160021A (zh) * 2019-10-12 2020-05-15 华为技术有限公司 日志模板提取方法及装置
CN113076537A (zh) * 2021-03-04 2021-07-06 珠海城市职业技术学院 一种恶意文件识别方法、装置、电子设备及可读存储介质
CN113761912A (zh) * 2021-08-09 2021-12-07 国家计算机网络与信息安全管理中心 一种对恶意软件归属攻击组织的可解释判定方法及装置
CN113987502A (zh) * 2021-12-29 2022-01-28 阿里云计算有限公司 目标程序检测方法、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604365A (zh) * 2009-07-10 2009-12-16 珠海金山软件股份有限公司 确定计算机恶意程序样本家族数的系统和方法
CN102542190A (zh) * 2010-12-31 2012-07-04 北京奇虎科技有限公司 基于机器学习的程序识别方法及装置
US20140150105A1 (en) * 2011-08-09 2014-05-29 Tencent Technology (Shenzhen) Company Limited Clustering processing method and device for virus files
CN104331436A (zh) * 2014-10-23 2015-02-04 西安交通大学 基于家族基因码的恶意代码快速归类方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604365A (zh) * 2009-07-10 2009-12-16 珠海金山软件股份有限公司 确定计算机恶意程序样本家族数的系统和方法
CN102542190A (zh) * 2010-12-31 2012-07-04 北京奇虎科技有限公司 基于机器学习的程序识别方法及装置
US20140150105A1 (en) * 2011-08-09 2014-05-29 Tencent Technology (Shenzhen) Company Limited Clustering processing method and device for virus files
CN104331436A (zh) * 2014-10-23 2015-02-04 西安交通大学 基于家族基因码的恶意代码快速归类方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林聚伟: "基于行为分析的病毒家族聚类系统设计与实现", 《万方数据知识服务平台》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815521A (zh) * 2015-12-31 2017-06-09 武汉安天信息技术有限责任公司 一种样本关联性检测方法、系统及电子设备
CN106815521B (zh) * 2015-12-31 2019-07-23 武汉安天信息技术有限责任公司 一种样本关联性检测方法、系统及电子设备
CN106372508B (zh) * 2016-08-30 2020-05-12 北京奇虎科技有限公司 恶意文档的处理方法及装置
CN106372508A (zh) * 2016-08-30 2017-02-01 北京奇虎科技有限公司 恶意文档的处理方法及装置
CN106599686B (zh) * 2016-10-12 2019-06-21 四川大学 一种基于tlsh特征表示的恶意软件聚类方法
CN106599686A (zh) * 2016-10-12 2017-04-26 四川大学 一种基于tlsh特征表示的恶意软件聚类方法
CN106570394A (zh) * 2016-11-10 2017-04-19 厦门安胜网络科技有限公司 一种检测恶意程序的方法
CN106709326A (zh) * 2016-11-24 2017-05-24 北京奇虎科技有限公司 一种可疑样本的处理方法和装置
WO2018095099A1 (zh) * 2016-11-24 2018-05-31 北京奇虎科技有限公司 一种可疑样本的处理方法和装置
CN106599688B (zh) * 2016-12-08 2019-07-12 西安电子科技大学 一种基于应用类别的安卓恶意软件检测方法
CN106599688A (zh) * 2016-12-08 2017-04-26 西安电子科技大学 一种基于应用类别的安卓恶意软件检测方法
CN107247902A (zh) * 2017-05-10 2017-10-13 深信服科技股份有限公司 恶意软件分类系统及方法
CN107247902B (zh) * 2017-05-10 2021-07-06 深信服科技股份有限公司 恶意软件分类系统及方法
CN108985086A (zh) * 2018-07-18 2018-12-11 中软信息系统工程有限公司 应用程序权限控制方法、装置及电子设备
CN108985086B (zh) * 2018-07-18 2022-04-19 中软信息系统工程有限公司 应用程序权限控制方法、装置及电子设备
CN111160021A (zh) * 2019-10-12 2020-05-15 华为技术有限公司 日志模板提取方法及装置
CN113076537A (zh) * 2021-03-04 2021-07-06 珠海城市职业技术学院 一种恶意文件识别方法、装置、电子设备及可读存储介质
CN113761912A (zh) * 2021-08-09 2021-12-07 国家计算机网络与信息安全管理中心 一种对恶意软件归属攻击组织的可解释判定方法及装置
CN113761912B (zh) * 2021-08-09 2024-04-16 国家计算机网络与信息安全管理中心 一种对恶意软件归属攻击组织的可解释判定方法及装置
CN113987502A (zh) * 2021-12-29 2022-01-28 阿里云计算有限公司 目标程序检测方法、设备及存储介质

Also Published As

Publication number Publication date
CN105205397B (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
CN105205397A (zh) 恶意程序样本分类方法及装置
US20210256127A1 (en) System and method for automated machine-learning, zero-day malware detection
Kumar et al. Malicious code detection based on image processing using deep learning
US11620471B2 (en) Clustering analysis for deduplication of training set samples for machine learning based computer threat analysis
US10621349B2 (en) Detection of malware using feature hashing
US9237161B2 (en) Malware detection and identification
Tian et al. Function length as a tool for malware classification
US9516055B1 (en) Automatic malware signature extraction from runtime information
Kirat et al. Sigmal: A static signal processing based malware triage
US11373065B2 (en) Dictionary based deduplication of training set samples for machine learning based computer threat analysis
US20200380125A1 (en) Method for Detecting Libraries in Program Binaries
EP3346664B1 (en) Binary search of byte sequences using inverted indices
Palahan et al. Extraction of statistically significant malware behaviors
KR20200039912A (ko) Ai 기반 안드로이드 악성코드 자동화 분석 시스템 및 방법
CN105512555A (zh) 基于文件字符串聚类的划分同源家族和变种的方法及系统
CN110674360B (zh) 一种用于数据的溯源方法和系统
CN107273746A (zh) 一种基于apk字符串特征的变种恶意软件检测方法
CN115827895A (zh) 一种漏洞知识图谱处理方法、装置、设备及介质
Nguyen et al. Detecting repackaged android applications using perceptual hashing
Chandramohan et al. Scalable malware clustering through coarse-grained behavior modeling
CN113407495A (zh) 一种基于simhash的文件相似度判定方法及系统
WO2016093839A1 (en) Structuring of semi-structured log messages
KR102031592B1 (ko) 악성코드를 탐지하기 위한 방법 및 장치
US10248789B2 (en) File clustering using filters working over file attributes
CN105279434A (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
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20161122

Address after: 100015 Chaoyang District Road, Jiuxianqiao, No. 10, building No. 3, floor 15, floor 17, 1701-26,

Applicant after: BEIJING QIANXIN TECHNOLOGY Co.,Ltd.

Address before: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Applicant before: Qizhi software (Beijing) Co.,Ltd.

CI01 Publication of corrected invention patent application
CI01 Publication of corrected invention patent application

Correction item: Applicant|Address|Co-applicant

Correct: BEIJING QIHOO TECHNOLOGY Co.,Ltd.|100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)|Qizhi software (Beijing) Co.,Ltd.

False: BEIJING QIANXIN TECHNOLOGY Co.,Ltd.|100015 Chaoyang District Road, Jiuxianqiao, No. 10, building No. 3, floor 15, floor 17, 1701-26,

Number: 50

Volume: 32

TA01 Transfer of patent application right

Effective date of registration: 20170523

Address after: 100015 Chaoyang District Road, Jiuxianqiao, No. 10, building No. 3, floor 15, floor 17, 1701-26,

Applicant after: BEIJING QIANXIN TECHNOLOGY Co.,Ltd.

Address before: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Applicant before: Qizhi software (Beijing) Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 100032 NO.332, 3rd floor, Building 102, 28 xinjiekouwai street, Xicheng District, Beijing

Patentee after: QAX Technology Group Inc.

Address before: 100015 15, 17 floor 1701-26, 3 building, 10 Jiuxianqiao Road, Chaoyang District, Beijing.

Patentee before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address