CN112291277A - 一种恶意软件检测方法、装置、设备及存储介质 - Google Patents

一种恶意软件检测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112291277A
CN112291277A CN202011589933.0A CN202011589933A CN112291277A CN 112291277 A CN112291277 A CN 112291277A CN 202011589933 A CN202011589933 A CN 202011589933A CN 112291277 A CN112291277 A CN 112291277A
Authority
CN
China
Prior art keywords
flow
traffic
sample
fingerprint
malicious
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
CN202011589933.0A
Other languages
English (en)
Other versions
CN112291277B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011589933.0A priority Critical patent/CN112291277B/zh
Publication of CN112291277A publication Critical patent/CN112291277A/zh
Application granted granted Critical
Publication of CN112291277B publication Critical patent/CN112291277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种恶意软件检测方法、装置、设备及存储介质,该方法包括:获取流量样本集,该流量样本集包括恶意流量样本集和正常流量样本集;对于流量样本集中的每个流量样本,将流量样本中各个流量对应的目标特征进行聚合,得到流量样本对应的至少一个流量集,每个流量集中的流量流向相同的目的地;基于该至少一个流量集,生成流量样本对应的至少一个流量指纹;然后将生成的恶意流量指纹和正常流量指纹进行对比,以确定正常流量样本集对应的软件是否为恶意软件。本申请与人工智能领域中机器学习方法相同,通过学习恶意软件的指纹,对待检测软件进行检测,能够不受流量加密的影响,避免选取特征的人为因素干扰,提高恶意软件检测准确性。

Description

一种恶意软件检测方法、装置、设备及存储介质
技术领域
本申请涉及软件检测技术领域,尤其涉及一种恶意软件检测方法、装置、设备及存储介质。
背景技术
随着移动终端的迅速普及,各种各样的恶意软件应运而生。这些恶意软件在用户不知晓的情况下运行在用户的终端中,通过诱骗欺诈、隐私窃取、恶意扣费等方式攫取经济利益或传播垃圾信息,严重威胁到用户的人生财产安全。特别是随着人工智能技术和云技术的发展,软件的安全问题也越来越受到重视。
为了提高用户的人生财产的安全性,目前典型的恶意软件检测技术主要包括基于静态代码分析、基于动态行为分析以及基于流量行为分析三种方式。基于静态代码分析通过识别恶意代码段来检测恶意应用程序,需要基于大量的先验知识,且无法识别加密的代码段;基于动态行为分析对应用程序执行过程中的事件和行为进行监控,容易被恶意代码反制。而基于流量行为分析通过捕获用户的网络流量数据来分析恶意行为,其方案主要集中在对恶意软件的特征选择上;然而由于移动网络流量具有动态特性,这些特征的选取受人为影响过大,随着加密技术的普及,80%以上的移动通信流量已被加密,更多的特征被隐藏起来,想要获取更多的特征就需要对流量进行解密,会涉及用户的隐私;若不进行解密,所能选择的特征又有限,导致对恶意软件的检测准确性较低。
发明内容
本申请提供一种恶意软件检测方法、装置、设备及存储介质,能够不受流量加密的影响,避免选取特征的人为因素干扰,提高恶意软件检测准确性。
一方面,本申请提供了一种恶意软件检测方法,所述方法包括:
获取流量样本集,所述流量样本集包括恶意流量样本集和正常流量样本集;
对于所述流量样本集中的每个流量样本,将所述流量样本中各个流量对应的目标特征进行聚合,得到所述流量样本对应的至少一个流量集,每个所述流量集中的流量流向相同的目的地;
基于所述至少一个流量集,生成所述流量样本对应的至少一个流量指纹;
若所述流量样本属于恶意流量样本,则将所述流量指纹确定为恶意流量指纹;
若所述流量样本属于正常流量样本,则将所述流量指纹确定为正常流量指纹;
将每个所述正常流量指纹与每个所述恶意流量指纹进行对比,以确定所述正常流量样本集对应的待检测软件是否为恶意软件。
另一方面提供了一种恶意软件检测装置,所述装置包括:
样本获取模块,用于获取流量样本集,所述流量样本集包括恶意流量样本集和正常流量样本集;
流量聚合模块,用于对于所述流量样本集中的每个流量样本,将所述流量样本中各个流量对应的目标特征进行聚合,得到所述流量样本对应的至少一个流量集,每个所述流量集中的流量流向相同的目的地;
指纹生成模块,用于基于所述至少一个流量集,生成所述流量样本对应的至少一个流量指纹;
第一指纹确定模块,用于在所述流量样本属于恶意流量样本的情况下,将所述流量指纹确定为恶意流量指纹;
第二指纹确定模块,用于在所述流量样本属于正常流量样本,则将所述流量指纹确定为正常流量指纹;
软件检测模块,用于将每个所述正常流量指纹与每个所述恶意流量指纹进行对比,以确定所述正常流量样本集对应的待检测软件是否为恶意软件。
另一方面提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行以实现如上所述的恶意软件检测方法。
另一方面提供了一种计算机存储介质,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上所述的恶意软件检测方法。
本申请提供的恶意软件检测方法、装置、设备及存储介质,具有如下有益效果:根据流量的流向分析流量行为,可以不受加密流量的影响即可确定出恶意软件所具有的指纹即特征;不需要对加密流量解密,保证了用户的隐私,同时也不需要大量的先验知识,实现简单;而通过流量的流向分析流量行为可以避免网络流量的动态特性所导致的人为因素干扰,可以有更好的软件分类效果,提高恶意软件检测准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种实施环境的示意图。
图2是本申请实施例提供的一种恶意软件检测系统的架构示意图。
图3是本申请实施例提供的一种恶意软件检测方法的流程示意图。
图4是本申请实施例提供的流量聚合生成流量集的流程示意图。
图5是本申请实施例提供的一种生成流量指纹的流程示意图。
图6是本申请实施例提供的时间片示例图。
图7是本申请实施例提供的另一种生成流量指纹的流程示意图。
图8是本申请实施例提供的流量集在各个时间片的活动状态的一个示例图。
图9是本申请实施例提供的另一种生成流量指纹的流程示意图。
图10是本申请实施例提供的流量集在各个时间片的活动状态的另一个示例图。
图11是本申请实施例提供的强相关流量集群的示例图。
图12是本申请实施例提供的生成流量指纹的一个示例图。
图13是本申请实施例提供的另一种恶意软件检测方法的流程示意图。
图14是本申请实施例提供的生成流量指纹的另一个示例图。
图15是本申请实施例提供的一种恶意软件检测装置的结构框图示意图。
图16是本申请实施例提供的流量聚合模块的结构框图示意图。
图17是本申请实施例提供的指纹生成模块的结构框图示意图。
图18是本申请实施例提供的相关性确定单元的结构框图示意图。
图19是本申请实施例提供的指纹生成单元的结构框图示意图。
图20是本申请实施例提供的另一种恶意软件检测装置的结构框图示意图。
图21是本申请实施例提供的一种用于实现本申请实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。
本申请实施例提供的方案涉及人工智能的机器学习领域。机器学习(MachineLearning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。具体而言,本申请实施例采用类机器学习的方法为流量样本生成对应的流量指纹。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
本申请实施例提供的方案涉及云技术中的行业应用中的安全技术领域。云安全(Cloud Security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
在云安全的主要研究方向中,本申请实施例涉及各种基于云计算平台为用户提供的防恶意软件服务。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本说明书实施例中涉及的相关名词做以下解释:
恶意软件:指能够在智能手机或者平板电脑等移动终端上执行恶意操作的应用程序。这些应用程序可能会使手机向高收费号码发送短信,或是利用无用的垃圾信息骚扰联系人,以及其他任何没有经过用户许可的有害行为。
同质:移动网络流量具有同质性质。许多应用程序共享用户身份验证、广告或分析等的公共库,绝大多数的移动网络流量都使用相同的应用级别协议,比如HTTP。此外,部分内容通常通过内容交付网络(Content Delivery Network,CDN)提供服务或由云提供商托管,因此,不同的应用程序共享许多网络流量特征。
动态:移动网络流量通常是动态的,因为应用程序生成的数据可能取决于用户的行为,例如用户在应用程序中的导航。
归一化:归一化方法常见有两种形式,一种是把数变为(0,1)之间的小数,一种是把有量纲表达式变为无量纲表达式。主要是为了数据处理方便而提出来的,把数据映射到0~1范围之内处理,更加便捷快速。
沙箱:一个虚拟系统程序,它创造了一个类似沙盒的独立作业环境,在其内部运行的应用程序并不能对硬盘产生永久性的影响,可用以测试不受信任的应用程序或上网行为,因此可以在其中执行恶意软件和正常软件,获取其网络流量行为。
请参阅图1,其示出了本申请实施例提供的一种恶意软件检测方法的实施环境示意图,如图1所示,该实施环境可以至少包括移动终端01和服务器02。
具体的,所述移动终端01可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备、监控设备及语音交互设备等类型的设备,也可以包括运行于设备中的软体,例如一些服务商提供给用户的网页页面,也可以为该些服务商提供给用户的应用。
具体的,所述服务器02可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。所述服务器02可以包括有网络通信单元、处理器和存储器等等。
具体如图2所示,服务器02在对移动终端01上的待检测软件进行检测时,采集来自恶意软件的恶意流量以及来自移动终端上待检测软件的正常流量,分别将恶意流量和正常流量通过指纹生成模块,生成恶意流量指纹和正常流量指纹,然后将恶意流量指纹和正常流量指纹通过指纹对比模块,以确定正常流量对应的待检测软件是否是恶意软件。通过利用流量流向相同目的地这一特性生成恶意流量指纹,将恶意流量指纹存入恶意指纹黑库,再按照相同方式对企业中正常流量进行指纹生成,最后对两者结果进行对比,如果生成的正常流量指纹存在于黑库中,则认为检测到了恶意软件通信。
下面以服务器为执行主体具体介绍本申请实施例的恶意软件检测方法。图4是本申请实施例提供的一种恶意软件检测方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图3所示,所述方法可以包括:
S301,获取流量样本集,所述流量样本集包括恶意流量样本集和正常流量样本集。
服务器获取第一预设数量的待检测软件和第二预设数量的恶意软件,然后将待检测软件和恶意软件分别放置于两个独立的虚拟系统程序中运行,得到恶意流量样本集和正常流量样本集。其中,恶意软件可以利用公开的恶意软件库、服务器预先存储的恶意软件库等方式获取;待检测软件是指需要检测的软件,可以直接从移动终端上、从通过安全认证的软件官网或者从软件供应商处获取。
虚拟系统程序主要是指沙箱,将待检测软件运行于第一沙箱,并利用流量截取工具从第一沙箱中截取得到正常数据包,并记录正常数据包的采集周期;将恶意软件运行于第二沙箱,并利用流量截取工具从第二沙箱中截取得到恶意数据包,并记录恶意数据包的采集周期;然后利用数据解析工具分别对正常数据包和恶意数据包进行解析,得到恶意流量样本和正常流量样本;重复执行上述步骤,可以得到由各个采集周期对应的恶意流量样本构成的恶意流量样本集,以及由各个采集周期对应的正常流量样本构成的正常流量样本集。其中,沙箱和流量截取工具的选择多种多样,例如,沙箱可以是Sandboxie、Reurnil虚拟影子系统等等,常用的流量截取工具是Wireshark。可以理解的,不同流量截取工具所生成的文件的格式可能不同,需要使用相应的解析工具。
正常流量样本是需要检测的流量样本,具体实施时,正常流量样本中的正常流量通常是指企业的流量,因此也可以直接从企业的出口流量中复制一份镜像流量即可。需要说明的是,无论是正常流量还是恶意流量,均不需要解密。
S303,对于所述流量样本集中的每个流量样本,将所述流量样本中各个流量对应的目标特征进行聚合,得到所述流量样本对应的至少一个流量集,每个所述流量集中的流量流向相同的目的地。
在获取流量样本集后,服务器分别将恶意流量样本集和正常流量样本集通过指纹生成模块生成对应的流量指纹。指纹生成模块在处理流量样本时,先提取该流量样本中每个流量的特征,该特征可以包括设备特征、时间特征、安全协议证书以及目的特征等等。其中,设备特征可用于区分每个移动终端,例如移动终端的IP地址(Internet ProtocolAddress,网际协议地址),也是该流量的源IP地址,通过设备特征可以对来自于同一个移动终端的流量进行处理,进而为每个设备分别创建流量指纹;时间特征用于指示流量的到达时间目的特征用于指示流量的流向,可以包括目的网际协议地址(目的IP地址)和目的端口;安全协议证书是指TLS(Transport Layer Security)证书,可以包括TLS证书校验前后的信息或TLS的序列号(Serial Number)。
对于整个流量样本而言,还可以基于该流量样本中各个流量对应的特征生成流量样本的特征,例如大小特征和流间时序。其中,大小特征用于指示流量样本的大小,如所有流量组成的入方向大小和出方向大小;流间时序表征各个流量的到达时间组成的时间序列。如表1所示,其示出了服务器对每个流量样本所提取到的特征。
表1
特征名称 特征类别 特征名称 特征类别
源IP地址 设备特征 数据包大小(入方向) 大小特征
到达时间 时间特征 数据包大小(出方向) 大小特征
目的IP地址 目的特征 流间时序 时间特征
目的端口 目的特征 安全协议证书 安全协议证书
在实际应用中,服务器还可以基于上述特征生成统计特征,基于统计特征对流量样本进行分析,例如对于时间特征和大小特征而言,可以计算最小值、最大值、平均值、标准偏差、平均绝对偏差以及某区间段的值,例如最小值与最大值区间内,百分之十到百分之九十的值。
当前超80%的移动流量均已被加密,比如在企业网络中,一般会对员工的PC侧流量比较关注,但是对员工的移动侧安全也需要引起重视,然而考虑到员工隐私,不能直接从用户侧手机解密流量,因此会丧失很多恶意软件特征。而由于移动流量的同质特性,绝大多数流量都共享某些相同的特征,如何从加密流量中快速识别恶意流量是当前一个重要研究课题。但随着人工智能、云技术等技术的发展,应用程序也在不断的进行更新,不同版本的应用程序有不同的特征,因而对应用程序的特征提取无疑成为一个难题。
而移动应用基本由不同模块组成,而这些模块通常与一组特定的静态目的地交流,利用该特性进而可以解决流量的同质以及软件更新的难题。基于此,在对流量样本中各个流量进行聚合时,服务器任选择一个时间段T,对时间T内的流量,如果满足以下任一条件,则可以认为流量流向相同的目的地:包含相同的二元组或包含相同的TLS证书,然后将流向相同的目的地的各流量聚合为一个流量集。其中,二元组由目的网际协议地址和目的端口组成。因而,目标特征可以包括二元组和安全协议证书。在具体实施时,也可以由源IP地址、目的IP地址以及目的端口构成的三元组既可以确定流量流向相同的目的地,也可以区分出流量的来源。
相应的,如图4所示,所述将所述流量样本中各个流量对应的目标特征进行聚合,得到所述流量样本对应的至少一个流量集,可以包括:
S3031,在所述流量样本中选取第一时间段内的所有流量,得到待处理流量样本。
本申请实施例中,第一时间段内的所有流量是指所有流量对应的到达时间在第一时间段内,第一时间段可以与流量样本对应的采集周期相同也可以不同。若相同,则将流量样本中的所有流量作为待处理流量样本;若不同,则在流量样本中选取一段时间内的所有流量作为待处理流量样本。在具体实施时,可以选取多个不同的第一时间段进行流量样本的处理,以更精确的进行恶意软件的检测。
S3032,将所述待处理流量样本中具有相同二元组和/或安全协议证书的各个所述流量,确定为一个所述流量集。
按照目标特征聚合原则,每个流量样本将会得到至少一个流量集,每个流量集是以下三种情况之一:该流量集中各个流量具有相同目的IP地址和目的端口;该流量集中各流量具有相同的安全协议证书;该流量集中各流量具有相同的目的IP地址、目的端口和安全协议证书。
可以理解的,通过步骤S303所得到的各个流量集中,可能出现多个共享集,共享集是指对多个软件来说,他们共享崩溃分析、广告(ad)网络、社交网络以及CDN等第三方服务,这些软件的流量将聚合到同一个流量集,该流量集即为共享集。
S305,基于所述至少一个流量集,生成所述流量样本对应的至少一个流量指纹。
每个流量集都对应一个二元组和/或安全协议证书,服务器可以由每个流量集生成与之对应的流量指纹。而由于各个流量集中可能出现多个共享集,而应用程序可以与同一网络目的地连续通信,服务器也可以利用各流量集之间的时间相关性,生成流量指纹。
参照图5中所示,所述基于所述至少一个流量集,生成所述流量样本对应的至少一个流量指纹,可以包括:
S3051,将所述流量样本对应的采集周期切分为多个连续的时间片。
本申请实施例中,多个表征多于一个,每个时间片的长度可以相同也可以不同。假设流量样本对应的采集周期为T,服务器将T切分为多个连续的时间片t,如图6所示,其为对采集周期进行时间片切分的示例图。其中,
Figure 725758DEST_PATH_IMAGE001
表示第i个时间片。
S3052,基于每个所述流量集在每个所述时间片内的活动状态,确定每两个所述流量集之间的相关性指标。
活动状态包括运动状态和静止状态,针对每个流量集,若在某个时间片内该流量集对应的目的地有接收或发送信息,则认为该流量集在该时间片内处于运动状态,否则处于静止状态。相关性指标用于评价两个流量集之间的相关程度,两个流量集之间的相关性指标可以基于这两个流量集同时在每个时间片内处于运动状态或者静止状态来进行确定。
具体如图7所示,步骤S3052可以包括:
S30521,对于每个所述时间片,若在所述时间片内存在由所述流量集对应目的地发出或接收的信息,则确定所述流量集在所述时间片内处于运动状态。
流量集对应的目的地是基于流量集中各个流量对应的目的地确定的。由于每个流量集中各个流量具有相同的目的地,即具有相同的二元组和/或安全协议证书,相应的,流量集对应的目的地需要依据具有相同的二元组或相同的安全协议证书进行确定。
若流量集中各个流量具有相同二元组,或者具有相同二元组和安全协议证书,则该二元组即为该流量集对应的目的地,只要在该时间片内存在由该二元组发出或接收的信息,则判定该流量集在该时间片内处于运动状态。
若流量集中各流量具有相同安全协议证书,则该流量集中各个流量对应的二元组,构成该流量集对应的目的地,只要在该时间片内存在任意一个流量对应的二元组发出或接收的信息,则判定该流量集在该时间片内处于运动状态。换言之,如果流量集聚合是基于安全协议证书,在某个时间片内,只要该流量集中存在由任意一个流量对应的目的IP地址和端口发出或接收的信息,即认为该流量集在该时间片内处于运动状态。
S30522,根据每两个所述流量集同时在每个所述时间片内均处于所述运动状态的次数,得到每两个所述流量集之间的所述相关性指标。
假设总共有
Figure 138DEST_PATH_IMAGE002
个时间片,若用
Figure 589382DEST_PATH_IMAGE003
表示流量集
Figure 556070DEST_PATH_IMAGE004
在第
Figure 154541DEST_PATH_IMAGE005
个时间片处于运动状态,用
Figure 703334DEST_PATH_IMAGE006
表示流量集
Figure 650431DEST_PATH_IMAGE007
在第
Figure 917464DEST_PATH_IMAGE005
个时间片处于静止状态,那么可以定义流量集
Figure 568894DEST_PATH_IMAGE004
和流量集
Figure 972193DEST_PATH_IMAGE008
之间的相关性指标为:
Figure 903240DEST_PATH_IMAGE009
对于活动性很高的流量集,互相关性指标也就更高;而对于活动性很低的流量集,互相关性指标也越低。在进行数据处理时会存在两个极端的现象,不易于数据分析,为了解决这个问题,服务器可以将两个流量集之间的相关性指标通过如下公式进行了归一化处理:
Figure 124748DEST_PATH_IMAGE010
举例说明,如图8所示,其为
Figure 720814DEST_PATH_IMAGE004
Figure 447462DEST_PATH_IMAGE008
两个流量集在各个时间片的活动状态。在图8中,服务器将采集周期切分为6个时间片,
Figure 798678DEST_PATH_IMAGE004
在第1个时间片、第2个时间片、第4个时间片以及第5个时间片内处于运动状态,
Figure 774724DEST_PATH_IMAGE008
在第1个时间片、第3个时间片和第4个时间片处于运动状态,即
Figure 440061DEST_PATH_IMAGE004
Figure 83532DEST_PATH_IMAGE008
同时在第1个时间片和第4个时间片均处于运动状态。那么,
Figure 356381DEST_PATH_IMAGE004
Figure 212866DEST_PATH_IMAGE008
同时在每个时间片均处于运动状态的次数为2,根据归一化公式可得出
Figure 478631DEST_PATH_IMAGE004
Figure 101242DEST_PATH_IMAGE008
之间的相关性指标为
Figure 544993DEST_PATH_IMAGE011
可以理解的,在具体实施时,也可以基于两个流量集同时处于静止状态的次数,来确定这两个流量集之间的相关性指标,只是基于静止状态和基于运动状态时,所确定的相关性指标所表征的物理含义有所不同。
S3053,根据各个所述相关性指标,生成所述流量样本对应的至少一个流量指纹。
服务器在计算出各个相关性指标后,可以将具有相同相关性指标或相近相关性指标的各个流量集确定为一个强相关流量集群,然后由每个强相关流量集群生成对应的流量指纹。其中,相近相关性指标是指在一定范围内的相关性指标。
具体如图9所示,步骤S3053可以包括:
S30531,将所述相关性指标与预设相关性阈值进行对比,得到至少一个强相关流量集群,所述强相关流量集群中任意一个流量集至少与一个其他流量集之间的所述相关性指标高于所述预设相关性阈值。
为了得到强相关流量集群,服务器定义预设相关性阈值
Figure 948162DEST_PATH_IMAGE012
,将相关性指标低于或等于
Figure 768350DEST_PATH_IMAGE012
对应的两个流量集认为是弱相关流量集对,将相关性指标高于
Figure 310714DEST_PATH_IMAGE012
对应的两个流量集认为是强相关流量集对,然后对各个强相关流量集对进行组合,得到至少一个强相关流量集群。
例如,假设流量样本对应4个流量集
Figure 190946DEST_PATH_IMAGE013
Figure 628880DEST_PATH_IMAGE014
Figure 236448DEST_PATH_IMAGE015
Figure 646701DEST_PATH_IMAGE016
,服务器将该流量样本对应的采集周期划分为6个时间片,每个流量集在每个时间片内的活动状态如图10所示。那么,由相关性指标归一化公式,可以得出每两个流量集(即流量集对)之间的相关性指标如表2所示。
表2
Figure 681522DEST_PATH_IMAGE017
若预设相关性阈值为0.5,则高于预设相关性阈值的各个流量集对为
Figure 544436DEST_PATH_IMAGE013
Figure 768744DEST_PATH_IMAGE018
Figure 282770DEST_PATH_IMAGE013
Figure 567121DEST_PATH_IMAGE019
以及
Figure 917331DEST_PATH_IMAGE014
Figure 869631DEST_PATH_IMAGE018
,每个流量集对之间的关系可以称为强相关关系,相应的,每个流量集对也可称为强相关流量集对。若用连线表示强相关关系,则将各个强相关流量集对所对应的流量集进行组合,如图11所示,可以得到一个由
Figure 988897DEST_PATH_IMAGE013
Figure 631100DEST_PATH_IMAGE014
Figure 468606DEST_PATH_IMAGE018
Figure 34716DEST_PATH_IMAGE019
组成的强相关流量集群。
S30532,基于每个所述强相关流量集群,生成所述流量样本对应的一个所述流量指纹。
服务器基于每个流量集群生成一个流量指纹,该流量指纹由各个指纹特征构成,每个指纹特征对应于流量集群中每个流量集对应的目的地。具体而言,将强相关流量集群中每个流量集对应的二元组和/或安全协议证书,确定为该流量集对应的指纹特征,然后将各个流量集对应的指纹特征确定为该流量样本对应的一个流量指纹。
如图11所示的强相关流量集群,假设流量集
Figure 257756DEST_PATH_IMAGE013
中各个流量具有相同二元组1,流量集
Figure 821592DEST_PATH_IMAGE014
中各个流量具有相同二元组2,流量集[0070] 流量集对应的目的地是基于流量集中各个流量对应的目的地确定的。由于每个流量集中各个流量具有相同的目的地,即具有相同的二元组和/或安全协议证书,相应的,流量集对应的目的地需要依据具有相同的二元组或相同的安全协议证书进行确定。
若流量集中各个流量具有相同二元组,或者具有相同二元组和安全协议证书,则该二元组即为该流量集对应的目的地,只要在该时间片内存在由该二元组发出或接收的信息,则判定该流量集在该时间片内处于运动状态。
若流量集中各流量具有相同安全协议证书,则该流量集中各个流量对应的二元组,构成该流量集对应的目的地,只要在该时间片内存在任意一个流量对应的二元组发出或接收的信息,则判定该流量集在该时间片内处于运动状态。换言之,如果流量集聚合是基于安全协议证书,在某个时间片内,只要该流量集中存在由任意一个流量对应的目的IP地址和端口发出或接收的信息,即认为该流量集在该时间片内处于运动状态。
S30522,根据每两个所述流量集同时在每个所述时间片内均处于所述运动状态的次数,得到每两个所述流量集之间的所述相关性指标。
假设总共有
Figure 208711DEST_PATH_IMAGE002
个时间片,若用
Figure 499884DEST_PATH_IMAGE003
表示流量集
Figure 656059DEST_PATH_IMAGE004
在第
Figure 390797DEST_PATH_IMAGE005
个时间片处于运动状态,用
Figure 177795DEST_PATH_IMAGE006
表示流量集
Figure 351287DEST_PATH_IMAGE007
在第
Figure 299651DEST_PATH_IMAGE005
个时间片处于静止状态,那么可以定义流量集
Figure 454558DEST_PATH_IMAGE004
和流量集
Figure 550690DEST_PATH_IMAGE008
之间的相关性指标为:
Figure 934398DEST_PATH_IMAGE009
对于活动性很高的流量集,互相关性指标也就更高;而对于活动性很低的流量集,互相关性指标也越低。在进行数据处理时会存在两个极端的现象,不易于数据分析,为了解决这个问题,服务器可以将两个流量集之间的相关性指标通过如下公式进行了归一化处理:
Figure 65165DEST_PATH_IMAGE010
举例说明,如图8所示,其为
Figure 390973DEST_PATH_IMAGE004
Figure 974401DEST_PATH_IMAGE008
两个流量集在各个时间片的活动状态。在图8中,服务器将采集周期切分为6个时间片,
Figure 161800DEST_PATH_IMAGE004
在第1个时间片、第2个时间片、第4个时间片以及第5个时间片内处于运动状态,
Figure 147073DEST_PATH_IMAGE008
在第1个时间片、第3个时间片和第4个时间片处于运动状态,即
Figure 643783DEST_PATH_IMAGE004
Figure 652190DEST_PATH_IMAGE008
同时在第1个时间片和第4个时间片均处于运动状态。那么,
Figure 705597DEST_PATH_IMAGE004
Figure 735257DEST_PATH_IMAGE008
同时在每个时间片均处于运动状态的次数为2,根据归一化公式可得出
Figure 153600DEST_PATH_IMAGE004
Figure 446041DEST_PATH_IMAGE008
之间的相关性指标为
Figure 490089DEST_PATH_IMAGE011
可以理解的,在具体实施时,也可以基于两个流量集同时处于静止状态的次数,来确定这两个流量集之间的相关性指标,只是基于静止状态和基于运动状态时,所确定的相关性指标所表征的物理含义有所不同。
S3053,根据各个所述相关性指标,生成所述流量样本对应的至少一个流量指纹。
服务器在计算出各个相关性指标后,可以将具有相同相关性指标或相近相关性指标的各个流量集确定为一个强相关流量集群,然后由每个强相关流量集群生成对应的流量指纹。其中,相近相关性指标是指在一定范围内的相关性指标。
具体如图9所示,步骤S3053可以包括:
S30531,将所述相关性指标与预设相关性阈值进行对比,得到至少一个强相关流量集群,所述强相关流量集群中任意一个流量集至少与一个其他流量集之间的所述相关性指标高于所述预设相关性阈值。
为了得到强相关流量集群,服务器定义预设相关性阈值
Figure 184376DEST_PATH_IMAGE012
,将相关性指标低于或等于
Figure 773620DEST_PATH_IMAGE012
对应的两个流量集认为是弱相关流量集对,将相关性指标高于
Figure 818937DEST_PATH_IMAGE012
对应的两个流量集认为是强相关流量集对,然后对各个强相关流量集对进行组合,得到至少一个强相关流量集群。
例如,假设流量样本对应4个流量集
Figure 401097DEST_PATH_IMAGE013
Figure 949890DEST_PATH_IMAGE014
Figure 975614DEST_PATH_IMAGE015
Figure 429598DEST_PATH_IMAGE016
,服务器将该流量样本对应的采集周期划分为6个时间片,每个流量集在每个时间片内的活动状态如图10所示。那么,由相关性指标归一化公式,可以得出每两个流量集(即流量集对)之间的相关性指标如表2所示。
表2
Figure 362919DEST_PATH_IMAGE017
若预设相关性阈值为0.5,则高于预设相关性阈值的各个流量集对为
Figure 969481DEST_PATH_IMAGE013
Figure 228424DEST_PATH_IMAGE018
Figure 907055DEST_PATH_IMAGE013
Figure 909646DEST_PATH_IMAGE019
以及
Figure 370714DEST_PATH_IMAGE014
Figure 534979DEST_PATH_IMAGE018
,每个流量集对之间的关系可以称为强相关关系,相应的,每个流量集对也可称为强相关流量集对。若用连线表示强相关关系,则将各个强相关流量集对所对应的流量集进行组合,如图11所示,可以得到一个由
Figure 963555DEST_PATH_IMAGE013
Figure 441941DEST_PATH_IMAGE014
Figure 819833DEST_PATH_IMAGE018
Figure 607529DEST_PATH_IMAGE019
组成的强相关流量集群。
S30532,基于每个所述强相关流量集群,生成所述流量样本对应的一个所述流量指纹。
服务器基于每个流量集群生成一个流量指纹,该流量指纹由各个指纹特征构成,每个指纹特征对应于流量集群中每个流量集对应的目的地。具体而言,将强相关流量集群中每个流量集对应的二元组和/或安全协议证书,确定为该流量集对应的指纹特征,然后将各个流量集对应的指纹特征确定为该流量样本对应的一个流量指纹。
如图11所示的强相关流量集群,假设流量集
Figure 70872DEST_PATH_IMAGE013
中各个流量具有相同二元组1,流量集
Figure 352948DEST_PATH_IMAGE014
中各个流量具有相同二元组2,流量集[0105] 服务器在进行正常流量指纹组与恶意流量指纹组进行对比时,同样可以采用完全匹配或模糊匹配的方式。比如在完全匹配方式下,对于每个正常流量指纹组中每个正常流量指纹,若存在一个恶意流量指纹组中的恶意流量指纹,使得该正常流量指纹中每个正常指纹特征均在该恶意流量指纹中存在,且该恶意流量指纹中每个恶意指纹特征均在该正常流量指纹中存在,则判定待检测软件是所述恶意软件。同理,也仍然可以采用模糊匹配或相似度匹配的方式,在此将不再重复赘述。
通过将恶意流量指纹和正常流量指纹对比,基于两个指纹的交集即为企业互联网加密流量中的恶意软件流量,也就可以判断当前企业遭受了什么类型的恶意软件攻击。
在某些情况下,用户极有可能同时使用浏览器和某应用程序,而浏览器并不是专用的应用程序,在浏览器中用户可以随意导航到任何站点,这就意味着浏览器中的行为模式更难检测。
鉴于此,在一些实施例中,服务器在获取到流量样本后,可以先将流量样本中的浏览器流量滤除后,再进行流量指纹的生成,这样可以进一步提高软件即应用程序的检测准确度。
具体如图13所示,在步骤S303,对于所述流量样本集中的每个流量样本,将所述流量样本中各个流量对应的目标特征进行聚合,得到所述流量样本对应的至少一个流量集之前,本申请实施例的恶意软件检测方法还可以包括:
S302,对于所述流量样本集中的每个所述流量样本,若所述流量样本中包含有浏览器流量,则将所述流量样本从所述流量样本集中滤除。
服务器在检测流量样本中是否包含有浏览器流量时,可以基于流量样本中各个流量对应的特征提取该流量样本对应的第二目标特征,第二目标特征可以包括以下至少之一:流量集中的相对变化;上载字节的相对变化;相对下载字节数的变化;上载/下载比率的变化。
服务器然后利用第二目标特征,通过随机森林分类器来识别流量样本中是否含有浏览器流量。因为检测到浏览器流量时,可能在整个采集周期内引起了更多的网络活动,如果流量样本中包含有浏览器流量,那么整个采集周期内的流量样本都将不被考虑。
在加入浏览器流量过滤后,所生成的流量指纹中也可能将浏览器流量集部分滤除掉。如图14所示,指纹生成模块利用加密流量生成流量指纹的过程可以包括特征提取、浏览器流量过滤、流量聚合以及相关聚类几个步骤。服务器在对每个流量提取特征后,先基于个流量对应的特征将流量样本中的浏览器流量滤除,然后使用过滤后的流量集进行流量聚合以及相关聚类,从而确定出流量指纹。相比于如图12所示的示例,图14所示的示例中所生成的流量指纹中缺少由于浏览器流量而引入的fingerB,所剩余的流量指纹即可确定为应用程序对应的流量指纹,如fingerA和fingerC,使得可以更精确的对待检测软件进行检测,进而提高恶意软件检测的准确性。
由上述实施例提供的技术方案可见,本申请实施例的恶意软件检测方法:根据流量的流向分析流量行为,确定出恶意软件所具有的指纹即特征,可以不受加密流量的影响即可确定出恶意软件所具有的指纹即特征。在对流量隐私的要求日益提高的当下,加密流量在网络中的占比逐渐增大,不需要解密流量即可检测恶意软件,保证了用户的隐私。不需要大量的先验知识,实现简单。通过流量的流向分析流量行为可以避免网络流量的动态特性所导致的人为因素干扰,可以有更好的软件分类效果,从而提高恶意软件检测准确性。
本申请实施例还提供了一种恶意软件检测装置,如图15所示,所述装置可以包括:
样本获取模块1510,用于获取流量样本集,所述流量样本集包括恶意流量样本集和正常流量样本集;
流量聚合模块1520,用于对于所述流量样本集中的每个流量样本,将所述流量样本中各个流量对应的目标特征进行聚合,得到所述流量样本对应的至少一个流量集,每个所述流量集中的流量流向相同的目的地;
指纹生成模块1530,用于基于所述至少一个流量集,生成所述流量样本对应的至少一个流量指纹;
第一指纹确定模块1540,用于在所述流量样本属于恶意流量样本的情况下,将所述流量指纹确定为恶意流量指纹;
第二指纹确定模块1550,用于在所述流量样本属于正常流量样本,则将所述流量指纹确定为正常流量指纹;
软件检测模块1560,用于将每个所述正常流量指纹与每个所述恶意流量指纹进行对比,以确定所述正常流量样本集对应的待检测软件是否为恶意软件。
在一些实施例中,如图16所示,所述流量聚合模块1520可以包括:
预处理单元1521,用于在所述流量样本中选取第一时间段内的所有流量,得到待处理流量样本;
流量集确定单元1522,用于将所述待处理流量样本中具有相同二元组和/或安全协议证书的各个所述流量,确定为一个所述流量集,其中,所述二元组由目的网际协议地址和目的端口组成。
在一些实施例中,如图17所示,所述指纹生成模块1530可以包括:
时间片划分单元1531,用于将所述流量样本对应的采集周期切分为多个连续的时间片;
相关性确定单元1532,用于基于每个所述流量集在每个所述时间片内的活动状态,确定每两个所述流量集之间的相关性指标;
指纹生成单元1533,用于根据各个所述相关性指标,生成所述流量样本对应的至少一个流量指纹。
在一些实施例中,如图18所示,所述相关性确定单元1532可以包括:
状态确定单元15321,用于对于每个所述时间片,若在所述时间片内存在由所述流量集对应目的地发出或接收的信息,则确定所述流量集在所述时间片内处于运动状态;
指标计算单元15322,用于根据每两个所述流量集同时在每个所述时间片内均处于所述运动状态的次数,得到每两个所述流量集之间的所述相关性指标。
在一些实施例中,如图19所示,所述指纹生成单元1533可以包括:
指标对比单元15331,用于将所述相关性指标与预设相关性阈值进行对比,得到至少一个强相关流量集群,所述强相关流量集群中任意一个流量集至少与一个其他流量集之间的所述相关性指标高于所述预设相关性阈值;
指纹输出单元15332,用于基于每个所述强相关流量集群,生成所述流量样本对应的一个所述流量指纹。
在一些实施例中,所述软件检测模块1560还可以用于对于每个所述正常流量指纹,若存在一个所述恶意流量指纹,使得所述正常流量指纹中每个正常指纹特征均在所述恶意流量指纹中存在,且所述恶意流量指纹中每个恶意指纹特征均在所述正常流量指纹中存在,则判定所述待检测软件是所述恶意软件。
在一些实施例中,所述软件检测模块1560还可以用于对于每个所述正常流量指纹,计算所述正常流量指纹与每个所述恶意流量指纹之间的相似度,若所述相似度大于第一预设相似度阈值,则判定所述待检测软件是所述恶意软件。
在一些实施例中,如图20所示,所述装置还可以包括:
浏览器流量过滤模块1570,用于对于所述流量样本集中的每个所述流量样本,若所述流量样本中包含有浏览器流量,则将所述流量样本从所述流量样本集中滤除。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行上述方法实施例提供的恶意软件检测方法。
进一步地,图21示出了一种用于实现本申请实施例所提供的方法的设备的硬件结构示意图,所述设备可以参与构成或包含本申请实施例所提供的装置或系统。如图21所示,设备21可以包括一个或多个(图中采用2102a、2102b,……,2102n来示出)处理器2102(处理器2102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器2104、以及用于通信功能的传输装置2106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图21所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备21还可包括比图21中所示更多或者更少的组件,或者具有与图21所示不同的配置。
应当注意到的是上述一个或多个处理器2102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备21(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器2104可用于存储应用软件的软件程序以及模块,如本申请实施例中所述的方法对应的程序指令/数据存储装置,处理器2102通过运行存储在存储器2104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种恶意软件检测方法。存储器2104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器2104可进一步包括相对于处理器2102远程设置的存储器,这些远程存储器可以通过网络连接至设备21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置2106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备21的通信供应商提供的无线网络。在一个实例中,传输装置2106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置2106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备21(或移动设备)的用户界面进行交互。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有至少一条指令或至少一段程序,该至少一条指令或至少一段程序由处理器加载并执行以实现上述方法实施例提供的恶意软件检测方法。
可选地,在本实施例中,上述计算机存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述的方法实施例提供的恶意软件检测方法。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述说明已经充分揭露了本申请的具体实施方式。需要指出的是,熟悉该领域的技术人员对本申请的具体实施方式所做的任何改动均不脱离本申请的权利要求书的范围。相应地,本申请的权利要求的范围也并不仅仅局限于前述具体实施方式。

Claims (10)

1.一种恶意软件检测方法,其特征在于,所述方法包括:
获取流量样本集,所述流量样本集包括恶意流量样本集和正常流量样本集;
对于所述流量样本集中的每个流量样本,将所述流量样本中各个流量对应的目标特征进行聚合,得到所述流量样本对应的至少一个流量集,每个所述流量集中的流量流向相同的目的地;
基于所述至少一个流量集,生成所述流量样本对应的至少一个流量指纹;
若所述流量样本属于恶意流量样本,则将所述流量指纹确定为恶意流量指纹;
若所述流量样本属于正常流量样本,则将所述流量指纹确定为正常流量指纹;
将每个所述正常流量指纹与每个所述恶意流量指纹进行对比,以确定所述正常流量样本集对应的待检测软件是否为恶意软件。
2.根据权利要求1所述的方法,其特征在于,将所述流量样本中各个流量对应的目标特征进行聚合,得到所述流量样本对应的至少一个流量集,包括:
在所述流量样本中选取第一时间段内的所有流量,得到待处理流量样本;
将所述待处理流量样本中具有相同二元组和/或安全协议证书的各个所述流量,确定为一个所述流量集,其中,所述二元组由目的网际协议地址和目的端口组成。
3.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个流量集,生成所述流量样本对应的至少一个流量指纹,包括:
将所述流量样本对应的采集周期切分为多个连续的时间片;
基于每个所述流量集在每个所述时间片内的活动状态,确定每两个所述流量集之间的相关性指标;
根据各个所述相关性指标,生成所述流量样本对应的至少一个流量指纹。
4.根据权利要求3所述的方法,其特征在于,所述基于每个所述流量集在每个所述时间片内的活动状态,确定每两个所述流量集之间的相关性指标,包括:
对于每个所述时间片,若在所述时间片内存在由所述流量集对应目的地发出或接收的信息,则确定所述流量集在所述时间片内处于运动状态;
根据每两个所述流量集同时在每个所述时间片内均处于所述运动状态的次数,得到每两个所述流量集之间的所述相关性指标。
5.根据权利要求3所述的方法,其特征在于,所述根据各个所述相关性指标,生成所述流量样本对应的至少一个流量指纹,包括:
将所述相关性指标与预设相关性阈值进行对比,得到至少一个强相关流量集群,所述强相关流量集群中任意一个流量集至少与一个其他流量集之间的所述相关性指标高于所述预设相关性阈值;
基于每个所述强相关流量集群,生成所述流量样本对应的一个所述流量指纹。
6.根据权利要求1所述的方法,其特征在于,所述将每个所述正常流量指纹与每个所述恶意流量指纹进行对比,以确定所述正常流量样本集对应的待检测软件是否为恶意软件,包括:
对于每个所述正常流量指纹,若存在一个所述恶意流量指纹,使得所述正常流量指纹中每个正常指纹特征均在所述恶意流量指纹中存在,且所述恶意流量指纹中每个恶意指纹特征均在所述正常流量指纹中存在,则判定所述待检测软件是所述恶意软件;或,
对于每个所述正常流量指纹,计算所述正常流量指纹与每个所述恶意流量指纹之间的相似度,若所述相似度大于第一预设相似度阈值,则判定所述待检测软件是所述恶意软件。
7.根据权利要求1所述的方法,其特征在于,在所述对于所述流量样本集中的每个流量样本,将所述流量样本中各个流量对应的目标特征进行聚合,得到所述流量样本对应的至少一个流量集之前,所述方法还包括:
对于所述流量样本集中的每个所述流量样本,若所述流量样本中包含有浏览器流量,则将所述流量样本从所述流量样本集中滤除。
8.一种恶意软件检测装置,其特征在于,所述装置包括:
样本获取模块,用于获取流量样本集,所述流量样本集包括恶意流量样本集和正常流量样本集;
流量聚合模块,用于对于所述流量样本集中的每个流量样本,将所述流量样本中各个流量对应的目标特征进行聚合,得到所述流量样本对应的至少一个流量集,每个所述流量集中的流量流向相同的目的地;
指纹生成模块,用于基于所述至少一个流量集,生成所述流量样本对应的至少一个流量指纹;
第一指纹确定模块,用于在所述流量样本属于恶意流量样本的情况下,将所述流量指纹确定为恶意流量指纹;
第二指纹确定模块,用于在所述流量样本属于正常流量样本,则将所述流量指纹确定为正常流量指纹;
软件检测模块,用于将每个所述正常流量指纹与每个所述恶意流量指纹进行对比,以确定所述正常流量样本集对应的待检测软件是否为恶意软件。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行以实现如权利要求1-7任意一项所述的恶意软件检测方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-7任意一项所述的恶意软件检测方法。
CN202011589933.0A 2020-12-29 2020-12-29 一种恶意软件检测方法、装置、设备及存储介质 Active CN112291277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011589933.0A CN112291277B (zh) 2020-12-29 2020-12-29 一种恶意软件检测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011589933.0A CN112291277B (zh) 2020-12-29 2020-12-29 一种恶意软件检测方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112291277A true CN112291277A (zh) 2021-01-29
CN112291277B CN112291277B (zh) 2021-05-25

Family

ID=74426631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011589933.0A Active CN112291277B (zh) 2020-12-29 2020-12-29 一种恶意软件检测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112291277B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452717A (zh) * 2021-07-02 2021-09-28 安天科技集团股份有限公司 通信软件安全防护的方法、装置、电子设备及存储介质
CN113672927A (zh) * 2021-08-27 2021-11-19 杭州美创科技有限公司 一种恶意代理软件检测的方法及其系统
CN114640502A (zh) * 2022-02-17 2022-06-17 南京航空航天大学 一种基于流量指纹和图数据特征的安卓恶意软件检测方法及检测系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145780A (zh) * 2017-03-31 2017-09-08 腾讯科技(深圳)有限公司 恶意软件检测方法及装置
CN107592323A (zh) * 2017-11-02 2018-01-16 江苏物联网研究发展中心 一种DDoS检测方法及检测装置
US20180324193A1 (en) * 2017-05-05 2018-11-08 Microsoft Technology Licensing, Llc Non-protocol specific system and method for classifying suspect ip addresses as sources of non-targeted attacks on cloud based machines
CN109525508A (zh) * 2018-12-15 2019-03-26 深圳先进技术研究院 基于流量相似性比对的加密流识别方法、装置及存储介质
CN111224994A (zh) * 2020-01-15 2020-06-02 南京邮电大学 一种基于特征选择的僵尸网络检测方法
US20200195665A1 (en) * 2017-06-08 2020-06-18 British Telecommunications Public Limited Company Denial of service mitigation
CN111447232A (zh) * 2020-03-30 2020-07-24 杭州迪普科技股份有限公司 一种网络流量检测方法及装置
CN112115038A (zh) * 2019-06-21 2020-12-22 腾讯科技(深圳)有限公司 一种应用测试方法、装置和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145780A (zh) * 2017-03-31 2017-09-08 腾讯科技(深圳)有限公司 恶意软件检测方法及装置
US20180324193A1 (en) * 2017-05-05 2018-11-08 Microsoft Technology Licensing, Llc Non-protocol specific system and method for classifying suspect ip addresses as sources of non-targeted attacks on cloud based machines
US20200195665A1 (en) * 2017-06-08 2020-06-18 British Telecommunications Public Limited Company Denial of service mitigation
CN107592323A (zh) * 2017-11-02 2018-01-16 江苏物联网研究发展中心 一种DDoS检测方法及检测装置
CN109525508A (zh) * 2018-12-15 2019-03-26 深圳先进技术研究院 基于流量相似性比对的加密流识别方法、装置及存储介质
CN112115038A (zh) * 2019-06-21 2020-12-22 腾讯科技(深圳)有限公司 一种应用测试方法、装置和存储介质
CN111224994A (zh) * 2020-01-15 2020-06-02 南京邮电大学 一种基于特征选择的僵尸网络检测方法
CN111447232A (zh) * 2020-03-30 2020-07-24 杭州迪普科技股份有限公司 一种网络流量检测方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452717A (zh) * 2021-07-02 2021-09-28 安天科技集团股份有限公司 通信软件安全防护的方法、装置、电子设备及存储介质
CN113672927A (zh) * 2021-08-27 2021-11-19 杭州美创科技有限公司 一种恶意代理软件检测的方法及其系统
CN114640502A (zh) * 2022-02-17 2022-06-17 南京航空航天大学 一种基于流量指纹和图数据特征的安卓恶意软件检测方法及检测系统

Also Published As

Publication number Publication date
CN112291277B (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN112291277B (zh) 一种恶意软件检测方法、装置、设备及存储介质
Aljawarneh et al. Anomaly-based intrusion detection system through feature selection analysis and building hybrid efficient model
Ribeiro et al. An autonomous host-based intrusion detection system for android mobile devices
CN107579956B (zh) 一种用户行为的检测方法和装置
US20180219919A1 (en) Rating organization cybersecurity using active and passive external reconnaissance
CN111786950B (zh) 基于态势感知的网络安全监控方法、装置、设备及介质
US20190052652A1 (en) Malware host netflow analysis system and method
CN113705619A (zh) 一种恶意流量检测方法、系统、计算机及介质
CN110351280A (zh) 一种威胁情报提取的方法、系统、设备及可读存储介质
CN110210213B (zh) 过滤恶意样本的方法及装置、存储介质、电子装置
EP3494506A1 (en) Detection mitigation and remediation of cyberattacks employing an advanced cyber-decision platform
CN111262851A (zh) Ddos攻击检测方法、装置、电子设备及存储介质
US20200204576A1 (en) Automated determination of relative asset importance in an enterprise system
CN110188538B (zh) 采用沙箱集群检测数据的方法及装置
Chekina et al. Detection of deviations in mobile applications network behavior
US11153337B2 (en) Methods and systems for improving beaconing detection algorithms
US20230283641A1 (en) Dynamic cybersecurity scoring using traffic fingerprinting and risk score improvement
Borges et al. Towards a hybrid intrusion detection system for android-based PPDR terminals
WO2019018829A1 (en) MITIGATING IMPROVED CYBERSECURITY THREATS USING DEEP AND BEHAVIORAL ANALYTICS
Guo et al. Behavior Classification based Self-learning Mobile Malware Detection.
CN111064719A (zh) 文件异常下载行为的检测方法及装置
Lee et al. ATMSim: An anomaly teletraffic detection measurement analysis simulator
CN113098852A (zh) 一种日志处理方法及装置
CN116738369A (zh) 一种流量数据的分类方法、装置、设备及存储介质
WO2017036042A1 (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