CN106713335B - 恶意软件的识别方法及装置 - Google Patents
恶意软件的识别方法及装置 Download PDFInfo
- Publication number
- CN106713335B CN106713335B CN201611265807.3A CN201611265807A CN106713335B CN 106713335 B CN106713335 B CN 106713335B CN 201611265807 A CN201611265807 A CN 201611265807A CN 106713335 B CN106713335 B CN 106713335B
- Authority
- CN
- China
- Prior art keywords
- malware
- url
- family
- software
- specified
- 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
Links
Images
Classifications
-
- 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
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/144—Detection or countermeasures against botnets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种恶意软件的识别方法及装置,采用本申请文件中的技术方案,预先采集大量恶意软件的网络行为,从网络行为中提取URL特征,在建立好预先规则之后,采集待检测安全的指定软件的网络行为的URL特征,将二者的URL特征进行比较,以确定待检测的指定软件是否为恶意软件。采用上述技术方案,实现了迅速准确的识别恶意软件,进而解决了相关技术中缺乏便捷有效的识别恶意软件的技术问题。
Description
技术领域
本发明涉及单片机领域,具体而言,涉及一种恶意软件的识别方法及装置。
背景技术
在相关技术中,恶意软件是指在计算机系统上执行恶意任务的病毒、蠕虫和特洛伊木马的程序,通过破坏软件进程来实施控制被感染主机。恶意软件由多种威胁组成,受感染的主机往往会受控于黑客的命令控制服务器,形成僵尸网络(英文名称叫BotNet),僵尸网络是互联网上受到黑客集中控制的一群计算机,往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息也都可被黑客获取。因此,不论是对网络安全运行还是用户数据安全的保护来说,僵尸网络都是极具威胁的隐患。
被黑客攻破,种植了木马病毒的电脑,黑客可以随意操纵它并利用它做任何事情,就像傀儡一样。僵尸网络的核心是命令与控制(Command&Control)机制。受控主机和黑客之间存在着不为主机用户所知的通讯渠道。黑客通过这个渠道向受控主机发送命令,上传文件,发起攻击等等。C&C的通讯机制有多种,HTTP是主要的通讯协议。
基于大量恶意软件的网络行为的分析,技术人员可以建立有效的模型来识别受控主机与僵尸网络的通讯,从而发现被恶意软件感染的主机。通过网络行为发现感染主机,可以及时进行隔离,清理,减少威胁带来的损失。这是一个富有挑战性的领域,有多种技术用于解决这个难题。
在相关技术中,大约有以下两种方式来解决上述难题:
第一种是建立C&C连接网址的黑名单数据库。采用统一资源定位符(UniformResource Locator,简称为URL)过滤的方法控制和报告主机的网路使用,从而检测出被感染的主机。该技术建立已知C&C连接的特征字段库。通过与实际连接网址参数的匹配来确定是否是C&C连接。该技术的优点是简单,精准,误报率低。但是,第一种方式存在以下缺点:特征字段库是静态的特征,对于连接的网址参数的些微变化就束手无策。如果全部的特征字段都搜罗进来,库会变得很大而效率会比较低。特征库需要及时的更新以保证其时效性。特征字段虽然来源于恶意软件样本的网络行为,但并不是所有的连接都是恶意连接。有些连接特征和正常无害的连接很接近。这样需要对特征进行甄别和挑选,以减少误报。因此维护和更新特征库的工作量比较大。
第二种是通过恶意软件样本的网络行为和正常无害的网络行为,采用监督机器学习的方法建立模型。在收集大量的正负样本的基础上,对样本进行标记。然后采用监督机器学习的方法,如回归,随机森林等方法建立模型。模型可以对连接的网址参数做判断。该技术采用机器学习,具有一定的动态适应性。对没有遇见过,但具有相似性的恶意软件有一定的识别能力。但是该种技术方式存在以下问题:1),有效的监督机器学习的模型需要大量的具有代表性的正常样本进行学习。由于正常样本数量过于巨大,形态多样而复杂,很难有全面且有代表性的采样。而恶意样本数目偏小,这样建立的模型会有较大误报。2),监督机器学习对样本标签的准确性要求很高。如果正性样本有不准确标签,会很严重影响机器学习模型的准确性。
针对相关技术中,缺乏便捷有效的识别恶意软件的技术问题,目前还没有有效的解决方案。
发明内容
本发明实施例提供了一种恶意软件的识别方法及装置,以至少解决相关技术中缺乏便捷有效的识别恶意软件的技术问题。
根据本发明的一个实施例,提供了一种恶意软件的识别方法,包括:获取与指定软件在运行时产生的网络行为对应的统一资源定位符URL;依据预设规则和所述URL的特征维度确定所述指定软件是否为恶意软件,其中,所述预设规则是依据与多个恶意软件所产生的网络行为对应的URL的特征维度确定的。
可选地,所述预设规则为:在所述指定软件与恶意软件二者之间的URL的特征维度的相似度大于预设阈值的情况下,确定所述指定软件为恶意软件,其中,所述URL为软件产生的网络行为对应的URL,所述恶意软件的URL的特征维度为指定恶意软件家族中所有恶意软件共同具有的URL的特征维度。
可选地,所述指定恶意家族中的成员之间的URL的特征维度的相似度高于预设值,所述指定恶意家族为预设的恶意软件的集合,其中,通过以下方式获取软件的网络行为的URL的特征维度:获取所述多个软件各自的网络行为,并解析获取每个所述网络行为中的URL;依据键值对来拆分所述URL的参数,得到多个参数分段,再将所述键值对的参数分段赋值映射到n维空间之后,得到所述URL的整数向量,其中,所述URL的整数向量为所述URL的特征维度,其中,所述参数分段为键值对的编码,所述n代表特征空间的维度数,所述n为整数。
可选地,在所述指定软件与族群cluster中的恶意软件中的URL的特征维度的相似度大于预设阈值的情况下,确定所述指定软件为所述族群cluster中的恶意软件,其中,所述族群cluster为所述指定恶意软件家族中的族群cluster,所述族群cluster通过以下方式获取:将所述指定恶意软件家族中的恶意软件通过聚合URL的特征维度的方式分成多个族群cluster,其中,在所述多个恶意软件中存在多个恶意软件家族的情况下,将不同恶意软件家族中的相似度高的族群cluster合并为指定族群cluster。
可选地,将所述指定恶意软件家族中的恶意软件通过聚合URL的特征维度的方式分成多个族群cluster之后,确定所述族群cluster中恶意软件的网络行为的类别,依据所述类别确定所述族群cluster的类别,其中,所述类别包括以下之一:C&C连接,文件下载,广告点击。
可选地,定期更新所述指定恶意软件家族中的恶意软件。
根据本发明的另一个实施例,还提供了一种恶意软件的识别装置,该装置包括:
获取模块,用于获取与指定软件在运行时产生的网络行为对应的统一资源定位符URL;
确定模块,用于依据预设规则和所述URL的特征维度确定所述指定软件是否为恶意软件,其中,所述预设规则是依据与多个恶意软件所产生的网络行为对应的URL的特征维度确定的。
可选地,所述确定模块还用于在所述指定软件与恶意软件二者之间的URL的特征维度的相似度大于预设阈值的情况下,确定所述指定软件为恶意软件,其中,所述URL为软件产生的网络行为对应的URL,所述恶意软件的URL的特征维度为指定恶意软件家族中所有恶意软件共同具有的URL的特征维度。
可选地,所述指定恶意家族中的成员之间的URL的特征维度的相似度高于预设值,所述指定恶意家族为预设的恶意软件的集合,所述获取模块还用于通过以下方式获取软件的网络行为的URL的特征维度:获取多个软件各自的网络行为,并解析获取每个所述网络行为中的URL;依据键值对来拆分所述URL的参数,得到多个参数分段,再将所述键值对的参数分段赋值映射到n维空间之后,得到所述URL的整数向量,其中,所述URL的整数向量为所述URL的特征维度,其中,所述参数分段为键值对的编码,所述n代表特征空间的维度数,所述n为整数。
可选地,所述确定模块还用于在所述指定软件与族群cluster中的恶意软件中的URL的特征维度的相似度大于预设阈值的情况下,确定所述指定软件为所述族群cluster中的恶意软件,其中,所述族群cluster为所述指定恶意软件家族中的族群cluster,所述族群cluster通过以下方式获取:将所述指定恶意软件家族中的恶意软件通过聚合URL的特征维度的方式分成多个族群cluster,其中,在所述多个恶意软件中存在多个恶意软件家族的情况下,将不同恶意软件家族中的相似度高的族群cluster合并为指定族群cluster。
在本发明实施例中,预先采集大量恶意软件的网络行为,从网络行为中提取URL特征,在建立好预先规则之后,采集待检测安全的指定软件的网络行为的URL特征,将二者的URL特征进行比较,以确定待检测的指定软件是否为恶意软件。采用上述技术方案,实现了迅速准确的识别恶意软件,进而解决了相关技术中缺乏便捷有效的识别恶意软件的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种恶意软件的识别方法的流程图;
图2是根据本发明优选实施例的建立检测恶意模型的流程图;
图3是根据本发明优选实施例中的一种恶意软件的识别装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种恶意软件的识别方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种恶意软件的识别方法的流程图,如图1所示,该方法包括:
步骤S102,获取与指定软件在运行时产生的网络行为对应的统一资源定位符URL;
步骤S104,依据预设规则和该URL的特征维度确定该指定软件是否为恶意软件,其中,该预设规则是依据与多个恶意软件所产生的网络行为对应的URL的特征维度确定的。
通过上述步骤,预先采集大量恶意软件的网络行为,从网络行为中提取URL特征,在建立好预先规则之后,采集待检测安全的指定软件的网络行为的URL特征,将二者的URL特征进行比较,以确定待检测的指定软件是否为恶意软件。采用上述技术方案,实现了迅速准确的识别恶意软件,进而解决了相关技术中缺乏便捷有效的识别恶意软件的技术问题。
可选地,该预设规则为:在该指定软件与恶意软件二者之间的URL的特征维度的相似度大于预设阈值的情况下,确定该指定软件为恶意软件,其中,该URL为软件产生的网络行为对应的URL,该恶意软件的URL的特征维度为指定恶意软件家族中所有恶意软件共同具有的URL的特征维度。需要补充的是,URL的特征维度为一个整数向量(在后续的说明书也有相关的解释),计算两个URL的特征维度的相似度的方式,可以是相关技术中计算向量之间的相似度的技术方式。判断向量是否相近的方法为距离公式。距离公式可以由应用的具体特性来选择。选定的距离公式在所有计算步骤中要保持一致。
可选地,该指定恶意家族中的成员之间的URL的特征维度的相似度高于预设值,该指定恶意家族为预设的恶意软件的集合,其中,通过以下方式获取软件的网络行为的URL的特征维度:获取该多个软件各自的网络行为,并解析获取每个该网络行为中的URL;依据键值对来拆分该URL的参数,得到多个参数分段,再将该键值对的参数分段赋值映射到n维空间之后,得到该URL的整数向量,其中,该URL的整数向量为该URL的特征维度,其中,该参数分段为键值对的编码,该n代表特征空间的维度数,该n为整数。
可选地,在该指定软件与族群cluster中的恶意软件中的URL的特征维度的相似度大于预设阈值的情况下,确定该指定软件为该族群cluster中的恶意软件,其中,该族群cluster为该指定恶意软件家族中的族群cluster,该族群cluster通过以下方式获取:将该指定恶意软件家族中的恶意软件通过聚合URL的特征维度的方式分成多个族群cluster,其中,在该多个恶意软件中存在多个恶意软件家族的情况下,将不同恶意软件家族中的相似度高的族群cluster合并为指定族群cluster。
可选地,将该指定恶意软件家族中的恶意软件通过聚合URL的特征维度的方式分成多个族群cluster之后,确定该族群cluster中恶意软件的网络行为的类别,依据该类别确定该族群cluster的类别,其中,该类别包括以下之一:C&C连接,文件下载,广告点击。需要补充的是,上述族群的类别不局限于上述举例。
可选地,定期更新该指定恶意软件家族中的恶意软件。更新的来源可以包括新的恶意软件样本,设备检测结果的反馈,以及对设备部署环境的自适应。
以下结合本发明的优选实施例进行详细说明。
本发明优选实施例基于恶意软件家族的网络行为特点,采用新型方法对网络连接URL的参数进行特征维度提取。提取的维度使用非监督机器学习的聚合(clustering)方法提取准确特征,有效的去除不正确样本和噪音,生成的模型具有非常高的准确率和较低的误报率。
本方法的原理是充分利用恶意软件发展进化的一些本质特性。在相关技术中,恶意软件的本质之一就是代码模块的重复使用。很多恶意软件是在已有的恶意软件基础上进行修改而产生的恶意变种。一些恶意软件的源代码在地下黑市有买卖流通。这些因素造成恶意连接的网址特征在恶意软件的同一家族变种中有很大程度保留下来。在共性保留的同时也会有一定程度的漂移突变。一个可靠高效的检测方法需要能提取出共同的相似性,去除非共性的噪音。
不同恶意软件的家族之间,由于模块的复用,其某些网络连接行为和其他家族之间也会存在很大的相似性。识别跨家族恶意软件的相似特征,将其合并为一个特征有助于减小特征识别模型,提高检测效率。
采用本发明的优选实施例中的技术方案,主要解决了以下三点技术问题:
1、区分恶意软件样本中的恶意连接和非恶意连接:收集的大量恶意软件的网络行为是我们分析建模的基础。样本的网络行为并非完全是恶意连接,其中有很多是正常软件中也存在的。判断一个连接是恶意连接是一个技术难题。
2、有效的特征工程:恶意软件的进化过程产生大量的变种,这让识别特征的提取具有一定难度。要解决这个问题,特征维度和匹配方法需要有一定的模糊性。不光要识别现有已知的样本,对未知的变种也有可能识别。
3、不依赖于良性样本的机器学习建模技术。本方法对良性样本需求比较少,良性样本仅用来做模型清洗减少误报率。
图2是根据本发明优选实施例的建立检测恶意模型的流程图,如图2所示,包括以下步骤:
步骤一,恶意软件搜集分类后在沙盒技术内运行,并搜集其网络行为。
步骤二,对多种协议的网络行为进行解析,提取HTTP协议的URL特征。
步骤三,URL的参数按键值对拆分,每一个键值对是编码为n的(n为一固定值)整数值。一个URL可以用这个方法转换成一个整数向量。这个向量即为URL的特征维度。这种数学化的特征维度数量是固定的。这一步骤是维度提取和降维的过程。
步骤四,一个恶意软件家族的所有URL的特征维度在一起用聚合的方法分成多个相似的族群。不满足聚合条件的样本URL会被当作噪音去除。每个族群就是这个恶意软件家族的一个特征签名。一个恶意家族可以有一个至多个族群特征。不同于传统的字串匹配方法,聚合相似性的计算采用的是本发明优选实施例特有的计算公式,能有效地反映URL参数的物理含义。
控制聚合的条件,可以把真正有共性的恶意URL与没有统计上重要意义的假性恶意URL区分开。在以后的更新的过程中,随着样本的增加,这些假性恶意URL也会由于新的样本的加入而成为有意义的真恶意URL。
步骤五,多个恶意软件家族的族群(clusters)在一起进行跨家族聚合。不同家族相似的clusters会被合并为一个cluster。跨家族的共性cluster正是反映了恶意软件模块化和代码复用的特点。
步骤六,为了减少误报,对模型用大量的正常流量连接进行清洗。在这一步,我们采用同样的相似性计算方法。与良性连接相似的cluster会被从模型中清除。这一步也对cluster进行分类标记。对一些恶意连接,经过我们的分析研究,可以确定连接的类型,如C&C连接,文件下载,广告点击,等等。这些确定分类的URL可以用同样的相似性匹配的方法将分类标签运用到cluster中去。这样对cluster匹配到恶意连接,我们可以提供其恶意连接的具体类型,让用户有更精准的认知。
步骤七,步骤六生成的cluster的数学特征模型会下发到部署的智能防火墙设备上。防火墙设备对用户流量的HTTP URL采用模型进行检查。检测到的恶意连接会生成威胁事件在防火墙设备上对用户展示。同时检查结果的meta数据会上传到云端做进一步分析。
步骤八,模型更新。本方法会不断更新恶意软件的样本,定期重复步骤一到六,建立新的模型。同时云端也会对所有设备上传的检测数据做大数据分析,根据反馈的结果对模型进行修正。更新的模型再下发到设备上升级。
本发明优选实施例生成的模型具有体积小,计算迅速,准确度高,恶意软件覆盖率高等特点。初步数据显示,申请人从一百多万个恶意软件样本中,提取建立约九千个cluster的模型。该模型可以检测85%的已知恶意样本,恶意家族的覆盖率达到90%以上。同时对良性样本的误报率低到可以忽略。更重要的是,本发明优选实施例的方法对未知的恶意软件变种的检测率也很高,从而可以防患于未然。
以下是本发明优选实施例的具体实施例。
本发明优选实施例是一种新型方法对恶意软件连接的URL进行大数据分析,提取恶意连接的共性从而建立数学模型。本方法建立的模型具有体积小,计算复杂度小,检测高效快捷等特点。
使用本发明优选实施例的方法,用户需要首先收集大量的恶意软件样本的网络行为。通常的作法是在沙箱环境下运行恶意软件,同时抓取网络报文。恶意软件通常会按恶意家族来分类,同一恶意家族下存在不同的变种。我们把恶意连接按家族来分组,包括同家族下的变种。这样可以提取同一家族不同变种的共性。下面是一个例子,在一个家族Trojan[Rootkit]/Win32.Small下面,有两个恶意连接。(当然实际的数据,一个家族下面可能会有数万个连接)
家族:Trojan[Rootkit]/Win32.Small
第一个恶意连接:http://domain.com/conn?user=joe&ver=2.0&key=123abc
第二个恶意连接:http://cc.domain/connpath?key=123456&user=jane&ver=3.5
对第一连接,提取三对参数:user=joe,ver=2.0,key=123abc
对第二个连接,提取三对参数:key=12345,user=jane,ver=3.5
(参数是key=value的格式)
对实际的数据来说,可能提取上百万的参数键值对。从这些参数对中,需要进行特征维度的提取。特征的提取要反映恶意连接变化的特性。对ver=2.0这个参数,把它转化为ver=2.0,ver=numerical(2.0的类型),string(ver的类型)=2.0。然后每一个转化值映射到一个固定维度n的有限空间上去。假设n为100,四个值映射为(5,32,91,99)。具体的映射公式可以由实际应用来决定。
连接网址→n维空间的向量,此处是对特征维度提取和降低维度数量的方法,是本发明优选实施例的技术关键点之一。其功能是对上百千万的参数进行转化以便于大数据的机器学习。
假设一个恶意家族有M个连接网址,我们可以得到一个M x N的维度矩阵。对维度矩阵进行clustering聚合,将相近的向量进行合并生成一个cluster。这样可以将MxN的矩阵简化为p个clusters。一个Cluster由其中心点的n维向量代表。调整聚合参数,p可以控制在一个较小而有效的范围。
判断向量是否相近的方法为距离公式。距离公式可以由应用的具体特性来选择。选定的距离公式在所有计算步骤中要保持一致。
P个n维clusters即是威胁检测的数学模型。对一个未知的连接,http://somewhere/connection?user=mike&version=2.3,我们可以用同样方法对其连接参数提取维度并数字向量化。待检测向量与模型clusters进行距离计算,符合距离阈值要求即可判断为恶意连接。
本发明优选实施例提供的检测模型可以部署在公司网络的出口防火墙,对企业内网主机的对外连接进行检测。本发明优选实施例可以检测到内网主机从恶意网站下载恶意软件,插件等等;也可以检测到被感染主机向僵尸网络控制中心发出的请求。检测的结果可以提醒公司IT部门对可疑主机做进一步分析,如防病毒扫描等。如确诊,可进一步采取保护措施,进行隔离。防火墙也可以配置一些自动的策略对可疑主机进行危害减缓,如限制网络连接,阻止文件外传,等等,以避免木马,病毒带来的危害。
本发明优选实施例的独特新型的cluster技术使得模型的反馈与更新变得简单易行。用户可以标识模型的误报,从而使相类似的URL都不再被报告。云端的模型更新也可以很快地把用户的反馈下发到更多的设备上。
在相关技术中,高级威胁以其多样,持续以及难以侦测的特性给企业的信息完全带来重大挑战。本发明优选实施例中的技术方案,可以为企业、政府提供保护,在现有的防火墙的基础之上有效地在尽可能短的时间内检测到被恶意软件感染的受控主机。让企业在危害发生之前,采取有效措施,以此降低各方面损失。
采用本发明优选实施例中的技术方案,实现了以下效果:
1、从所有恶意软件样本的网络行为提取正确有效的恶意网址连接,去除良性噪音,建立快速高效的检测模型。检测模型采用相似度的匹配方法,可以有效的适应恶意软件网络连接的变种,帮助检测到未知的变种。
2、检测方法快速高效。本发明优选实施例采用了新型的转化公式,将理论上有无限可能的参数字串转换成固定数目的数学维度,从而有效的解决维度魔咒的问题,使得快速高效检测成为可能。
实施例2
图3是根据本发明优选实施例中的一种恶意软件的识别装置的结构框图,如图3所示,该装置包括:
获取模块32,用于获取与指定软件在运行时产生的网络行为对应的统一资源定位符URL;
确定模块34,与该获取模块32连接,用于依据预设规则和该URL的特征维度确定该指定软件是否为恶意软件,其中,该预设规则是依据与多个恶意软件所产生的网络行为对应的URL的特征维度确定的。
可选地,该确定模块34还用于在该指定软件与恶意软件二者之间的URL的特征维度的相似度大于预设阈值的情况下,确定该指定软件为恶意软件,其中,该URL为软件产生的网络行为对应的URL,该恶意软件的URL的特征维度为指定恶意软件家族中所有恶意软件共同具有的URL的特征维度。
可选地,该指定恶意家族中的成员之间的URL的特征维度的相似度高于预设值,该指定恶意家族为预设的恶意软件的集合,该获取模块32还用于通过以下方式获取软件的网络行为的URL的特征维度:获取该多个恶意软件各自的网络行为,并解析获取每个该网络行为中的URL;依据键值对来拆分该URL的参数,得到多个参数分段,再将该键值对的参数分段赋值映射到n维空间之后,得到该URL的整数向量,其中,该URL的整数向量为该URL的特征维度,其中,该参数分段为键值对的编码,该n代表特征空间的维度数,该n为整数。
可选地,该确定模块34还用于在该指定软件与族群cluster中的恶意软件中的URL的特征维度的相似度大于预设阈值的情况下,确定该指定软件为该族群cluster中的恶意软件,其中,该族群cluster为该指定恶意软件家族中的族群cluster,该族群cluster通过以下方式获取:将该指定恶意软件家族中的恶意软件通过聚合URL的特征维度的方式分成多个族群cluster,其中,在该多个恶意软件中存在多个恶意软件家族的情况下,将不同恶意软件家族中的相似度高的族群cluster合并为指定族群cluster。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种恶意软件的识别方法,其特征在于,包括:
获取与指定软件在运行时产生的网络行为对应的统一资源定位符URL;
依据预设规则和所述URL的特征维度确定所述指定软件是否为恶意软件,其中,所述预设规则是依据与多个恶意软件所产生的网络行为对应的URL的特征维度确定的;
其中,所述预设规则为:在所述指定软件与恶意软件二者之间的URL的特征维度的相似度大于预设阈值的情况下,确定所述指定软件为恶意软件,其中,所述URL为软件产生的网络行为对应的URL,所述恶意软件的URL的特征维度为指定恶意软件家族中所有恶意软件共同具有的URL的特征维度;
其中,所述指定恶意软件家族中的成员之间的URL的特征维度的相似度高于预设值,所述指定恶意软件家族为预设的恶意软件的集合,其中,通过以下方式获取软件的网络行为的URL的特征维度:
获取多个软件各自的网络行为,并解析获取每个所述网络行为中的URL;
依据键值对来拆分所述URL的参数,得到多个参数分段,再将所述键值对的参数分段赋值映射到n维空间之后,得到所述URL的整数向量,其中,所述URL的整数向量为所述URL的特征维度,其中,所述参数分段为键值对的编码,所述n代表特征空间的维度数,所述n为整数。
2.根据权利要求1所述的方法,其特征在于,在所述指定软件与族群cluster中的恶意软件中的URL的特征维度的相似度大于预设阈值的情况下,确定所述指定软件为所述族群cluster中的恶意软件,其中,所述族群cluster为所述指定恶意软件家族中的族群cluster,所述族群cluster通过以下方式获取:
将所述指定恶意软件家族中的恶意软件通过聚合URL的特征维度的方式分成多个族群cluster,其中,在所述多个恶意软件中存在多个恶意软件家族的情况下,将不同恶意软件家族中的相似度高的族群cluster合并为指定族群cluster。
3.根据权利要求2所述的方法,其特征在于,将所述指定恶意软件家族中的恶意软件通过聚合URL的特征维度的方式分成多个族群cluster之后,确定所述族群cluster中恶意软件的网络行为的类别,依据所述类别确定所述族群cluster的类别,其中,所述类别包括以下之一:C&C连接,文件下载,广告点击。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:定期更新所述指定恶意软件家族中的恶意软件。
5.一种恶意软件的识别装置,其特征在于,该装置包括:
获取模块,用于获取与指定软件在运行时产生的网络行为对应的统一资源定位符URL;
确定模块,用于依据预设规则和所述URL的特征维度确定所述指定软件是否为恶意软件,其中,所述预设规则是依据与多个恶意软件所产生的网络行为对应的URL的特征维度确定的;
其中,所述确定模块还用于在所述指定软件与恶意软件二者之间的URL的特征维度的相似度大于预设阈值的情况下,确定所述指定软件为恶意软件,其中,所述URL为软件产生的网络行为对应的URL,所述恶意软件的URL的特征维度为指定恶意软件家族中所有恶意软件共同具有的URL的特征维度;
其中,所述指定恶意软件家族中的成员之间的URL的特征维度的相似度高于预设值,所述指定恶意软件家族为预设的恶意软件的集合,所述获取模块还用于通过以下方式获取软件的网络行为的URL的特征维度:
获取多个软件各自的网络行为,并解析获取每个所述网络行为中的URL;依据键值对来拆分所述URL的参数,得到多个参数分段,再将所述键值对的参数分段赋值映射到n维空间之后,得到所述URL的整数向量,其中,所述URL的整数向量为所述URL的特征维度,其中,所述参数分段为键值对的编码,所述n代表特征空间的维度数,所述n为整数。
6.根据权利要求5所述的装置,其特征在于,所述确定模块还用于在所述指定软件与族群cluster中的恶意软件中的URL的特征维度的相似度大于预设阈值的情况下,确定所述指定软件为所述族群cluster中的恶意软件,其中,所述族群cluster为所述指定恶意软件家族中的族群cluster,所述族群cluster通过以下方式获取:
将所述指定恶意软件家族中的恶意软件通过聚合URL的特征维度的方式分成多个族群cluster,其中,在所述多个恶意软件中存在多个恶意软件家族的情况下,将不同恶意软件家族中的相似度高的族群cluster合并为指定族群cluster。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611265807.3A CN106713335B (zh) | 2016-12-30 | 2016-12-30 | 恶意软件的识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611265807.3A CN106713335B (zh) | 2016-12-30 | 2016-12-30 | 恶意软件的识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106713335A CN106713335A (zh) | 2017-05-24 |
CN106713335B true CN106713335B (zh) | 2020-10-30 |
Family
ID=58905647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611265807.3A Active CN106713335B (zh) | 2016-12-30 | 2016-12-30 | 恶意软件的识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106713335B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222511B (zh) * | 2017-07-25 | 2021-08-13 | 深信服科技股份有限公司 | 恶意软件的检测方法及装置、计算机装置及可读存储介质 |
CN107609400A (zh) * | 2017-09-28 | 2018-01-19 | 深信服科技股份有限公司 | 计算机病毒分类方法、系统、设备及计算机可读存储介质 |
CN110399722B (zh) * | 2019-02-20 | 2024-03-26 | 腾讯科技(深圳)有限公司 | 一种病毒家族生成方法、装置、服务器及存储介质 |
CN109951484B (zh) * | 2019-03-20 | 2021-01-26 | 四川长虹电器股份有限公司 | 针对机器学习产品进行攻击的测试方法及系统 |
CN110765393A (zh) * | 2019-09-17 | 2020-02-07 | 微梦创科网络科技(中国)有限公司 | 基于向量化和逻辑回归识别有害url的方法及装置 |
CN112580027A (zh) * | 2020-12-15 | 2021-03-30 | 北京天融信网络安全技术有限公司 | 恶意样本的确定方法、装置、存储介质及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708186A (zh) * | 2012-05-11 | 2012-10-03 | 上海交通大学 | 一种钓鱼网站的识别方法 |
CN104239582A (zh) * | 2014-10-14 | 2014-12-24 | 北京奇虎科技有限公司 | 基于特征向量模型识别钓鱼网页的方法及装置 |
CN104537303A (zh) * | 2014-12-30 | 2015-04-22 | 中国科学院深圳先进技术研究院 | 一种钓鱼网站鉴别系统及鉴别方法 |
CN104579773A (zh) * | 2014-12-31 | 2015-04-29 | 北京奇虎科技有限公司 | 域名系统分析方法及装置 |
CN104794051A (zh) * | 2014-01-21 | 2015-07-22 | 中国科学院声学研究所 | 一种Android平台恶意软件自动化检测方法 |
CN105825129A (zh) * | 2015-01-04 | 2016-08-03 | 中国移动通信集团设计院有限公司 | 一种融合通信中恶意软件鉴别方法和系统 |
CN106131071A (zh) * | 2016-08-26 | 2016-11-16 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
US9531736B1 (en) * | 2012-12-24 | 2016-12-27 | Narus, Inc. | Detecting malicious HTTP redirections using user browsing activity trees |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100583738C (zh) * | 2007-08-17 | 2010-01-20 | 东南大学 | 基于图像处理的钓鱼网页检测方法 |
US8019700B2 (en) * | 2007-10-05 | 2011-09-13 | Google Inc. | Detecting an intrusive landing page |
CN102340424B (zh) * | 2010-07-21 | 2013-12-04 | 中国移动通信集团山东有限公司 | 不良报文的检测方法及不良报文的检测装置 |
US9288220B2 (en) * | 2013-11-07 | 2016-03-15 | Cyberpoint International Llc | Methods and systems for malware detection |
JP6216458B2 (ja) * | 2014-01-24 | 2017-10-18 | マカフィー, エルエルシー | 自動プレースホルダファインダ及びフィラー |
CN104331436B (zh) * | 2014-10-23 | 2017-06-06 | 西安交通大学 | 基于家族基因码的恶意代码快速归类方法 |
US9398047B2 (en) * | 2014-11-17 | 2016-07-19 | Vade Retro Technology, Inc. | Methods and systems for phishing detection |
CN105893848A (zh) * | 2016-04-27 | 2016-08-24 | 南京邮电大学 | 一种基于代码行为相似度匹配的Android恶意应用程序防范方法 |
CN106131016B (zh) * | 2016-07-13 | 2019-05-03 | 北京知道创宇信息技术有限公司 | 恶意url检测干预方法、系统及装置 |
-
2016
- 2016-12-30 CN CN201611265807.3A patent/CN106713335B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708186A (zh) * | 2012-05-11 | 2012-10-03 | 上海交通大学 | 一种钓鱼网站的识别方法 |
US9531736B1 (en) * | 2012-12-24 | 2016-12-27 | Narus, Inc. | Detecting malicious HTTP redirections using user browsing activity trees |
CN104794051A (zh) * | 2014-01-21 | 2015-07-22 | 中国科学院声学研究所 | 一种Android平台恶意软件自动化检测方法 |
CN104239582A (zh) * | 2014-10-14 | 2014-12-24 | 北京奇虎科技有限公司 | 基于特征向量模型识别钓鱼网页的方法及装置 |
CN104537303A (zh) * | 2014-12-30 | 2015-04-22 | 中国科学院深圳先进技术研究院 | 一种钓鱼网站鉴别系统及鉴别方法 |
CN104579773A (zh) * | 2014-12-31 | 2015-04-29 | 北京奇虎科技有限公司 | 域名系统分析方法及装置 |
CN105825129A (zh) * | 2015-01-04 | 2016-08-03 | 中国移动通信集团设计院有限公司 | 一种融合通信中恶意软件鉴别方法和系统 |
CN106131071A (zh) * | 2016-08-26 | 2016-11-16 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106713335A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106713335B (zh) | 恶意软件的识别方法及装置 | |
Shibahara et al. | Efficient dynamic malware analysis based on network behavior using deep learning | |
CN107645503B (zh) | 一种基于规则的恶意域名所属dga家族的检测方法 | |
Alissa et al. | Botnet attack detection in iot using machine learning | |
US8108931B1 (en) | Method and apparatus for identifying invariants to detect software tampering | |
CN110210213B (zh) | 过滤恶意样本的方法及装置、存储介质、电子装置 | |
Hu et al. | BAYWATCH: robust beaconing detection to identify infected hosts in large-scale enterprise networks | |
CN110188538B (zh) | 采用沙箱集群检测数据的方法及装置 | |
CN110198303A (zh) | 威胁情报的生成方法及装置、存储介质、电子装置 | |
CN110149319B (zh) | Apt组织的追踪方法及装置、存储介质、电子装置 | |
Xiaofang et al. | Malware variant detection using similarity search over content fingerprint | |
Shabtai et al. | F-sign: Automatic, function-based signature generation for malware | |
US20230252136A1 (en) | Apparatus for processing cyber threat information, method for processing cyber threat information, and medium for storing a program processing cyber threat information | |
CN110149318B (zh) | 邮件元数据的处理方法及装置、存储介质、电子装置 | |
US20240054210A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
US12067120B2 (en) | Classifier generator | |
CN110188537B (zh) | 数据的分离存储方法及装置、存储介质、电子装置 | |
Alosefer et al. | Predicting client-side attacks via behaviour analysis using honeypot data | |
Mangayarkarasi et al. | A robust malware traffic classifier to combat security breaches in industry 4.0 applications | |
Wahanggara et al. | Malware detection through call system on android smartphone using vector machine method | |
EP3146460B1 (en) | Identifying suspected malware files and sites based on presence in known malicious environment | |
US20240054215A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
Matsuda et al. | Detection of malicious tools by monitoring dll using deep learning | |
CN117640240A (zh) | 基于机器学习的动态白名单准入放行方法及系统 | |
US20230048076A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 215163 No. 181 Jingrun Road, Suzhou High-tech Zone, Jiangsu Province Applicant after: SHANSHI NETWORK COMMUNICATION TECHNOLOGY CO., LTD. Address before: 215163 No. 181 Jingrun Road, Suzhou High-tech Zone, Jiangsu Province Applicant before: HILLSTONE NETWORKS |
|
GR01 | Patent grant | ||
GR01 | Patent grant |