CN112347479B - 恶意软件检测的误报纠正方法、装置、设备和存储介质 - Google Patents
恶意软件检测的误报纠正方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112347479B CN112347479B CN202011134567.XA CN202011134567A CN112347479B CN 112347479 B CN112347479 B CN 112347479B CN 202011134567 A CN202011134567 A CN 202011134567A CN 112347479 B CN112347479 B CN 112347479B
- Authority
- CN
- China
- Prior art keywords
- malware
- software
- suspected
- detection
- suspected malware
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
Abstract
本公开提供一种恶意软件检测的误报纠正方法、装置、设备和存储介质。该方法包括:通过对检测模型检测出的第一疑似恶意软件进行静态特征检测,得到静态特征检测结果,根据静态特征检测结果和静态特征计分规则,得到第一疑似恶意软件的得分,若第一疑似恶意软件的得分大于或者等于第一阈值,确定第一疑似恶意软件为第二疑似恶意软件,根据第二疑似恶意软件,确定第二疑似恶意软件为真实恶意软件。本公开的方法,进一步对第一疑似恶意软件进行处理,从而实现对第一疑似恶意软件进行进一步的检测,使得检测结果中的误报的疑似恶意软件被筛除,并确定出真实恶意软件,使得误报恶意软件数量减少,从而降低误报率,保证恶意软件检测模型的正常使用。
Description
技术领域
本公开涉及信息安全领域,尤其涉及一种恶意软件检测的误报纠正方法、装置、设备和存储介质。
背景技术
随着互联网的迅速发展,通过变种等技术大量生成的恶意软件催生了利用机器学习技术作为检测模型进行恶意软件检测。
基于机器学习的恶意软件检测模型不需要大量安全研究人员做病毒逆向工作,仅需要搜集一定量级的恶意软件样本进行训练,通过提取固定的特征,预测样本为恶意软件的概率,设定判定阈值,通过与判定阈值进行比较,从而自动化且迅速的完成恶意软件检测工作。
其中,基于机器学习的恶意软件检测模型是以样本整体或局部的相似性为判定依据的检测模型,且设定的判断阈值是为了取得全局检测上的低误报率,基于训练数据和测试数据整体优化的结果,因此,对数据集中极小一部分样本可能会产生错误的判别结果,造成了基于机器学习的恶意软件检测模型误报率高。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种恶意软件检测的误报纠正方法、装置、设备和存储介质。
第一方面,本公开提供了一种恶意软件检测的误报纠正方法,包括:
对第一疑似恶意软件进行静态特征检测,得到静态特征检测结果;
根据所述静态特征检测结果和静态特征计分规则,得到所述第一疑似恶意软件的得分;
若所述第一疑似恶意软件的得分大于或者等于第一阈值,确定所述第一疑似恶意软件为第二疑似恶意软件;
根据所述第二疑似恶意软件,确定所述第二疑似恶意软件为真实恶意软件。
可选的,所述根据第二疑似恶意软件,确定所述第二疑似恶意软件为真实恶意软件,包括:
使用多个检测模型分别对第二疑似恶意软件进行检测,得到所述多个检测模型分别对应的第一预测概率值;
对所述多个检测模型分别对应的第一预测概率值进行加权求和,得到所述第二疑似恶意软件对应的第二预测概率值,其中,每个检测模型对应一个第一权重值;
若所述第二预测概率值大于或者等于第二阈值,确定所述第二疑似恶意软件为真实恶意软件。
可选的,所述静态特征包括以下特征中的一种或多种:
加壳特征;
有效证书或者数字签名;
反调试或者侦测虚拟机特征;
操作注册表函数;
可疑字符串;
可疑统一资源定位器URL。
可选的,所述静态特征计分规则包括以下规则中的一种或多种:
若所述疑似恶意软件包含加壳特征,所述疑似恶意软件的得分增加第一分值;
若所述疑似恶意软件包含有效证书或者数字签名,所述疑似恶意软件的得分增加第二分值;
若所述疑似恶意软件包含反调试或者侦测虚拟机特征,所述疑似恶意软件的得分增加第三分值;
若所述疑似恶意软件包含操作注册表函数,所述疑似恶意软件的得分增加第四分值;
若所述疑似恶意软件包含可疑字符串,根据所述可疑字符串的数量,所述疑似恶意软件的得分增加第五分值;
若所述疑似恶意软件包含可疑URL,根据所述可疑URL的数量,所述疑似恶意软件的得分增加第六分值。
可选的,所述对第一疑似恶意软件进行静态特征检测,得到静态特征检测结果之前,还包括:
判断第三疑似恶意软件是否与白名单中的软件相同,其中,所述白名单包含多个真实正常软件;
若所述白名单中没有与所述疑似恶意软件相同的软件,确定所述第三疑似恶意软件为所述第一疑似恶意软件。
可选的,所述对所述多个检测模型分别对应的第一预测概率值进行加权求和,得到所述第二疑似恶意软件对应的第二预测概率值之前,还包括:
获取软件样本集,所述软件样本集包括多个软件样本,所述软件样本包括所述软件样本的标签,所述标签用于指示所述软件样本为真实恶意软件或真实正常软件;
针对每个所述软件样本,使用所述多个检测模型分别对所述软件样本进行检测,得到所述多个检测模型分别对应的所述软件样本的第三预测概率值;
获取多组所述多个检测模型分别对应的第二权重值;
针对每组所述多个检测模型分别对应的第二权重值,针对每个软件样本,对所述多个检测模型分别对应的所述软件样本的第三预测概率值加权求和,得到所述软件样本对应的第四预测概率值;根据所述第四预测概率值和第三阈值,确定所述软件样本的第一预测结果;根据所有所述软件样本的第一预测结果、所述软件样本的标签,确定所述第二权重值对应的第一误报率;
确定所述第一权重值为最小的第一误报率对应的第二权重值。
可选的,所述确定所述第一权重值为最小的第一误报率对应的第二权重值之后,还包括:
针对每个软件样本,使用所述多个检测模型分别对所述软件样本进行检测,得到所述多个检测模型分别对应的第五预测概率值;
使用所述第一权重值,对所述多个检测模型分别对应的第五预测概率值进行加权求和,得到所述软件样本对应的第六预测概率值;
获取多个第四阈值;
针对每个所述第四阈值,根据所述第六预测概率值、所述第四阈值和所述软件样本的标签,确定所述第四阈值对应的第二误报率;
确定所述第二阈值为最小的第二误报率对应的第四阈值。
第二方面,本公开提供一种恶意软件检测的误报纠正装置,包括:
检测模块,用于对第一疑似恶意软件进行静态特征检测,得到静态特征检测结果;
第一得到模块,用于根据所述静态特征检测结果和静态特征计分规则,得到所述第一疑似恶意软件的得分;
第一确定模块,用于判断若所述疑似恶意软件的得分大于或者等于第一阈值,确定所述第一疑似恶意软件为第二疑似恶意软件;
第二确定模块,用于根据所述第二疑似恶意软件,确定所述第二疑似恶意软件为真实恶意软件。
可选的,所述根据第二疑似恶意软件,确定所述第二疑似恶意软件为真实恶意软件,包括:
使用多个检测模型分别对第二疑似恶意软件进行检测,得到所述多个检测模型分别对应的第一预测概率值;
对所述多个检测模型分别对应的第一预测概率值进行加权求和,得到所述第二疑似恶意软件对应的第二预测概率值,其中,每个检测模型对应一个第一权重值;
若所述第二预测概率值大于或者等于第二阈值,确定所述第二疑似恶意软件为真实恶意软件。
可选的,所述静态特征包括以下特征中的一种或多种:
加壳特征;
有效证书或者数字签名;
反调试或者侦测虚拟机特征;
操作注册表函数;
可疑字符串;
可疑统一资源定位器URL。
可选的,所述静态特征计分规则包括以下规则中的一种或多种:
若所述疑似恶意软件包含加壳特征,所述疑似恶意软件的得分增加第一分值;
若所述疑似恶意软件包含有效证书或者数字签名,所述疑似恶意软件的得分增加第二分值;
若所述疑似恶意软件包含反调试或者侦测虚拟机特征,所述疑似恶意软件的得分增加第三分值;
若所述疑似恶意软件包含操作注册表函数,所述疑似恶意软件的得分增加第四分值;
若所述疑似恶意软件包含可疑字符串,根据所述可疑字符串的数量,所述疑似恶意软件的得分增加第五分值;
若所述疑似恶意软件包含可疑URL,根据所述可疑URL的数量,所述疑似恶意软件的得分增加第六分值。
可选的,所述对第一疑似恶意软件进行静态特征检测,得到静态特征检测结果之前,还包括:
判断第三疑似恶意软件是否与白名单中的软件相同,其中,所述白名单包含多个真实正常软件;
若所述白名单中没有与所述疑似恶意软件相同的软件,确定所述第三疑似恶意软件为所述第一疑似恶意软件。
可选的,所述装置还包括:
第一获取模块,用于获取软件样本集,所述软件样本集包括多个软件样本,所述软件样本包括所述软件样本的标签,所述标签用于指示所述软件样本为真实恶意软件或真实正常软件;
第二得到模块,用于针对每个所述软件样本,使用所述多个检测模型分别对所述软件样本进行检测,得到所述多个检测模型分别对应的所述软件样本的第三预测概率值;
第二获取模块,用于获取多组所述多个检测模型分别对应的第二权重值;
第三确定模块,用于针对每组所述多个检测模型分别对应的第二权重值,针对每个软件样本,对所述多个检测模型分别对应的所述软件样本的第三预测概率值加权求和,得到所述软件样本对应的第四预测概率值;根据所述第四预测概率值和第三阈值,确定所述软件样本的第一预测结果;根据所有所述软件样本的第一预测结果、所述软件样本的标签,确定所述第二权重值对应的第一误报率;
第四确定模块,用于确定所述第一权重值为最小的第一误报率对应的第二权重值。
可选的,所述装置还包括:
第三得到模块,用于针对每个软件样本,使用所述多个检测模型分别对所述软件样本进行检测,得到所述多个检测模型分别对应的第五预测概率值;
第四得到模块,用于使用所述第一权重值,对所述多个检测模型分别对应的第五预测概率值进行加权求和,得到所述软件样本对应的第六预测概率值;
第三获取模块,用于获取多个第四阈值;
第五确定模块,用于针对每个所述第四阈值,根据所述第六预测概率值、所述第四阈值和所述软件样本的标签,确定所述第四阈值对应的第二误报率;
第六确定模块,用于确定所述第二阈值为最小的第二误报率对应的第四阈值。
第三方面,本公开提供一种恶意软件检测的误报纠正设备,包括:
存储器,用于存储处理器可执行指令的存储器;
处理器,用于在计算机程序被执行时,实现如上述第一方面所述的方法。
第四方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面所述的恶意软件检测的误报纠正方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
通过对检测模型检测出的第一疑似恶意软件进行静态特征检测,得到静态特征检测结果,根据静态特征检测结果和静态特征计分规则,得到第一疑似恶意软件的得分,若第一疑似恶意软件的得分大于或者等于第一阈值,确定第一疑似恶意软件为第二疑似恶意软件,根据第二疑似恶意软件,确定第二疑似恶意软件为真实恶意软件。进一步对第一疑似恶意软件进行处理,从而实现对第一疑似恶意软件进行进一步的检测,使得检测结果中的误报的疑似恶意软件被筛除,并确定出真实恶意软件,使得误报恶意软件数量减少,从而降低误报率,保证恶意软件检测模型的正常使用。且静态特征计分规则易于调整,可以根据不同情况灵活设置,降低误报率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种误报率计算的示意图;
图2为本公开实施例提供的一种恶意软件检测的误报纠正方法的流程示意图;
图3为本公开实施例提供的另一种恶意软件检测的误报纠正方法的流程示意图;
图4为本公开实施例提供的再一种恶意软件检测的误报纠正方法的流程示意图;
图5为本公开实施例提供的又一种恶意软件检测的误报纠正方法的流程示意图;
图6为本公开实施例提供的又一种恶意软件检测的误报纠正方法的流程示意图;
图7为本公开实施例提供的一种恶意软件检测的误报纠正装置的结构示意图;
图8为本公开实施例提供的一种恶意软件检测的误报纠正设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
首先对本发明所涉及的名词进行解释:
恶意软件,是指任何旨在损害终端设备,服务器或计算机网络的软件。恶意软件在植入或以某种方式引入目标终端设备后会造成损害,并可采取可执行代码,脚本,活动内容和其他软件的形式。恶意软件包括计算机病毒,蠕虫,木马,勒索软件,间谍软件,广告软件,恐慌软件以及其他形式的恶意代码。
可移植的可执行(Portable Executable,简称PE)文件,是指微软Windows操作系统上的程序文件(可能是间接被执行),PE文件包括可执行程序(executable program,简称EXE)、动态链接库(Dynamic Link Library,简称DLL)、对象类别扩充组件(Object Linkingand Embedding(OLE)Control Extension,简称OCX)、组件对象模型(Component ObjectModel,简称COM)等。
下面介绍本发明具体的应用场景。随着计算机技术的发展,对于恶意软件的检测需求也更加迫切。传统的恶意软件静态检测技术多采用特征码匹配或启发式检测等方式,而当前随着互联网的迅速发展,通过变种等技术大量生成的恶意软件催生了基于机器学习的检测模型(也叫做检测引擎)进行恶意软件检测。
基于机器学习的恶意软件检测模型不需要大量安全研究人员做病毒逆向工作,仅需要搜集一定量级的恶意软件样本进行训练,通过提取固定的特征预测样本为恶意软件的概率,从而自动化且迅速的完成恶意软件检测工作。基于机器学习的恶意软件检测模型与传统的基于特征码匹配和启发式规则的恶意软件检测模型相比,具有检测模型使用方便,消耗人力与工时较少,病毒检出率高等多个优点。在virustotal.com网站上,现有的74个检测恶意软件的检测模型中有cylance,sentinelOne(static ML)等明确表明使用机器学习技术作为检测模型的核心技术,而根据业界相关数据,其他检测模型厂商也或多或少使用机器学习技术作为辅助检测技术。
可以使用误报率(False Positive Rate,简称FPR)对恶意软件检测模型(以下简称检测模型)的检测效果进行评价,误报率又称虚警率或者误检率,图1为一种误报率计算的示意图,如图1所示,针对需要检测恶意性的待检测软件,使用检测模型对待检测软件进行检测,得到的检测结果可能为待检测软件为正常软件101或者疑似恶意软件102,若结果为待检测软件为正常软件,可能存在待检测软件为真实正常软件103或者漏报恶意软件104,其中,漏报恶意软件104为待检测软件实质上为恶意软件,但是检测模型对其进行检测得到的检测结果为正常软件。若检测结果为待检测软件为疑似恶意软件102,可能存在待检测软件为真实恶意软件105或者误报恶意软件106,其中,误报恶意软件106为待检测软件实质上为正常软件,但是检测模型对其进行检测得到的检测结果为恶意软件。针对多个待检测软件使用如上步骤得到的检测结果,误报率FPR可以通过如下公式(1)得到:
FPR=误报的恶意软件的数量÷(误报的恶意软件的数量+真实正常软件的数量)公式(1)
与传统依靠特征码匹配进行恶意软件检测不同,基于机器学习的检测模型通常以待检测软件整体或局部的相似性为判定依据,从而设置判定阈值,该判定阈值是基于训练数据和测试数据整体优化的结果进行设置的,对待检测软件集中一少部分可能会产生错误的检测结果,而取得全局检测上的优势,因此,基于机器学习的检测模型误报率较高。示例性的,根据通常检测模型的评估标准,通常误报率为0.1%以下为合格,而基于机器学习的检测模型在维持较高的检出率的同时,误报率会上升至0.5%及其以上,误报率高于传统的检测模型,从而给布置生产环境带来困难。
例如,当前在线恶意软件检测网站virustotal.com上共存在74个检测模型,其中采用机器学习技术作为主要检测技术的恶意软件检测模型均存在不同程度上的误报率较高的缺陷。例如对正常非恶意样本ProxyGo2011.exe(MD5:2d38dc13717b7c10c185524a869b12d6)进行检测后发现,存在8个检测模型将其误报为疑似恶意软件,包括BitDefenderTheta,Bkav,FireEye,Trapmine等,这些检测模型均是采用机器学习作为主要检测技术。
为解决如上技术问题,本公开提出了一种恶意软件检测的误报纠正方法、装置、设备和存储介质,该方法在基于机器学习的检测模型的检测结果为第一疑似恶意软件的基础上,进一步地,对第一疑似恶意软件进行静态特征检测,从而确定出第一疑似恶意软件中误报的软件,根据第一疑似恶意软件中除误报的软件外的第二疑似恶意软件,确定第二疑似恶意软件是否是真实恶意软件,使得基于机器学习的检测模型的检测结果中的误报的疑似恶意软件被筛除,从而确定出真实恶意软件,使得误报恶意软件数量减少,从而降低误报率,保证基于机器学习的恶意软件检测软件的正常使用。
下面以具体的实施例来详细说明本公开的技术方案如何解决上述技术问题。
图2为本公开实施例提供的一种恶意软件检测的误报纠正方法的流程示意图,如图2所示,本实施例的方法由终端设备执行,终端设备可以是计算机,智能手机,平板设备等,在此本公开不做限制,本实施例的方法包括:
S201、对第一疑似恶意软件进行静态特征检测,得到检测结果。
一个待检测软件如果为真实恶意软件,则其除了会被检测模型检测出为恶意软件以外,还可能具备一定的静态特征,这些静态特征虽然不足以直接作为判定待检测软件为真实恶意软件的证据,但可以在检测模型检测出待检测软件为第一疑似恶意软件后,作为误报筛除的手段,对第一疑似恶意软件进行静态特征检测,得到静态特征检测结果。其中,第一疑似恶意软件为已经经过检测模型进行检测,且检测结果为疑似恶意软件的软件,静态特征检测是指在不运行代码的情况下,通过词法分析、语法分析、控制流、数据流分析等技术对软件程序的代码进行扫描,从而检测代码是否恶意性的特征,进而判断出软件是否为恶意软件。
S202、根据静态特征检测结果和静态特征计分规则,得到第一疑似恶意软件的得分。
静态特征检测结果为检测出的第一疑似恶意软件中表征恶意性的静态特征的情况,静态特征计分规则为静态特征检测结果与第一疑似恶意软件的得分的对应关系,每一项表征恶意性的静态特征对应一定的分值,静态特征计分规则为预先设置的。根据检测出的第一疑似恶意软件中表征恶意性的静态特征,将第一疑似恶意软件的得分增加相应的分值,则得分越高说明第一疑似恶意软件的表征恶意性的静态特征越多,也就表明其为真实恶意软件的可能性越大。
S203、判断第一疑似恶意软件的得分是否大于或者等于第一阈值。
可以通过设置第一阈值,比较第一疑似恶意软件的得分与第一阈值的大小关系,从而判断出第一疑似恶意软件是否包含较多的具有恶意的静态特征,其中,第一阈值为预先设置的,第一阈值可以根据检测的静态特征以及静态特征计分规则进行确定。
若第一疑似恶意软件的得分大于或者等于第一阈值,则继续执行S204。若第一疑似恶意软件的得分小于第一阈值,则继续执行S206。其中第一疑似恶意软件的得分大于或者等于第一阈值可以包括以下情况:
第一疑似恶意软件的得分大于第一阈值;
第一疑似恶意软件的得分大于等于第一阈值。
S204、确定第一疑似恶意软件为第二疑似恶意软件。
S205、根据第二疑似恶意软件,确定第二疑似恶意软件为真实恶意软件。
若第一疑似恶意软件的得分大于或者等于第一阈值,说明第一疑似恶意软件为真实恶意软件的可能性较大,一种可能的实现方式中,根据静态特征判断出的第二疑似恶意软件,直接判定为真实恶意软件。另一种可能的实现方式中,对第二疑似恶意软件进行进一步的判断,确定其为真实恶意软件。
S206、确定第一疑似恶意软件为真实正常软件。
若第一疑似恶意软件的得分小于第一阈值,说明第一疑似恶意软件为真实恶意软件的可能性较小,则可以确定第一疑似恶意软件为真实正常软件。
本实施例,通过对检测模型检测出的第一疑似恶意软件进行静态特征检测,得到静态特征检测结果,根据静态特征检测结果和静态特征计分规则,得到第一疑似恶意软件的得分,若第一疑似恶意软件的得分大于或者等于第一阈值,确定第一疑似恶意软件为第二疑似恶意软件,根据第二疑似恶意软件,确定第二疑似恶意软件为真实恶意软件。进一步对第一疑似恶意软件进行处理,从而实现对第一疑似恶意软件进行进一步的检测,使得静态特征检测结果中的误报的疑似恶意软件被筛除,并确定出真实恶意软件,使得误报恶意软件数量减少,从而降低误报率,保证恶意软件检测模型的正常使用。且静态特征计分规则易于调整,可以根据不同情况灵活设置,降低误报率。
在上述实施例的基础上,进一步地,静态特征包括但不限于以下特征中的一种或多种:
加壳特征;
有效证书或者数字签名;
反调试或者侦测虚拟机特征;
操作注册表函数;
可疑字符串;
可疑统一资源定位器(uniform resource locator,简称URL)。
相应的,静态特征计分规则包括以下规则中的一种或多种:
若疑似恶意软件包含加壳特征,疑似恶意软件的得分增加第一分值;
若疑似恶意软件包含有效证书或者数字签名,疑似恶意软件的得分增加第二分值;
若疑似恶意软件包含反调试或者侦测虚拟机特征,疑似恶意软件的得分增加第三分值;
若疑似恶意软件包含操作注册表函数,疑似恶意软件的得分增加第四分值;
若疑似恶意软件包含可疑字符串,根据可疑字符串的数量,疑似恶意软件的得分增加第五分值;
若疑似恶意软件包含可疑URL,根据可疑URL的数量,疑似恶意软件的得分增加第六分值。
下面对上述静态特征以及其相应的静态特征计分规则进行说明。
加壳的全称是可执行程序资源压缩,压缩后的程序可以直接运行。加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行程序的时候植入的代码优先取得程序的控制权,之后再把控制权交还给原始代码,这样做的目的是隐藏程序真正的入口点OEP,加壳的程序需要阻止外部程序或软件对加壳程序本身的反汇编分析或者动态分析,以达到保护壳内原始程序以及软件不被外部程序破坏,从而防止程序被破解,保证原始程序正常运行。许多的恶意软件基于此原理进行设计。
对于第一疑似恶意软件可以检测其是否含有加壳特征。例如常用的加壳软件有可执行程序文件压缩器(the Ultimate Packer for eXecutables,简称UPX),Petite,PECompact,ASPack等,存在加壳特征的软件较易被检测模型误报为疑似恶意软件。若第一疑似恶意软件存在加壳特征,则第一疑似恶意软件的得分增加第一分值a。
有效证书或者数字签名一般在软件中用来验证二进制文件的来源和完整性,例如,PE文件可以利用证书或数字签名进行验证其来源和完整性。若第一疑似恶意软件存在证书或者数字签名,但是证书的有效性验证未通过,或者不存在证书或者数字签名,也就是说第一疑似恶意软件不存在有效证书或者数字签名,则第一疑似恶意软件的得分增加第二分值b。
一些恶意软件为了避免被调试工具例如OllyDbg(OD)等动态追踪调试从而破解其恶意代码或者分析其恶意行为,其代码具有反调试的二进制特征,另外,一些恶意软件为了避免被沙箱调试激发其恶意行为,具备侦测虚拟机的二进制特征。可以检测第一疑似恶意软件的反调试或侦测虚拟机的二进制特征,若第一疑似恶意软件具备反调试或者侦测虚拟机特征,确定第一疑似恶意软件具有反调试或侦测虚拟机的功能,其为恶意软件的可能性增加,则第一疑似恶意软件的得分增加第三分值c。
一些恶意软件中包含操作注册表的函数,因此,第一疑似恶意软件包含操作注册表函数的数量越多,其为恶意软件的可能性越大,则可以根据第一疑似恶意软件包含操作注册表函数的数量,第一疑似恶意软件的得分增加相应的第四分值d。例如,可以在第一疑似恶意软件中正则匹配注册表文件reg,得到匹配成功的次数对应的第四分值,从而将第一疑似恶意软件的得分增加第四分值。
一些恶意软件可能存在特别长的字符串,或者,一些恶意软件中特殊字符串出现的频率高于正常软件,例如,挖矿木马中”pool”,“cpu”,“gpu”,”coin”等字符串出现频率较高。因此,可以检测第一疑似恶意软件中的可疑字符串,根据第一疑似恶意软件中可疑字符串的数量,得到可以字符串的数量对应的第五分值,将第一疑似恶意软件的得分增加相应的第五分值e。
一些恶意软件包含可疑URL,例如,一些木马程序需要连接僵尸网络控制机下载恶意代码或者接收控制指令,因此会包含可疑URL。因此,检测第一疑似恶意软件中包含可疑URL的数量,根据第一疑似恶意软件中可疑URL的数量,得到可疑URL的数量对应的第六分值,将第一疑似恶意软件的得分增加相应的第六分值f。例如,可以设置正常URL的白名单,利用正则匹配二进制第一疑似恶意软件中URL,并筛除其中的正常URL,可以确定可疑URL的数量,从而将第一疑似恶意软件的得分增加第六分值。
进一步地,静态特征并不局限于上述所列出的静态特征,针对不同形态的终端设备(计算机、手机或者平板)以及不同用途的终端设备,可以根据需要进行设置静态特征进行检测并相应设置静态特征计分规则,从而更好的实现从第一疑似恶意软件中筛除其中误报恶意软件,以降低误报率。
本实施例,通过静态特征和静态特征计分规则的设置,使得从第一疑似恶意软件中筛除其中误报恶意软件,使得误报恶意软件数量减少,以降低误报率。
在上述实施例的基础上,针对第二疑似恶意软件可以执行进一步的筛除误报恶意软件的步骤,从而进一步降低误报率。下面详细说明一种进一步筛除误报的方法。
图3为本公开实施例提供的另一种恶意软件检测的误报纠正方法的流程示意图,图3是在图2所示实施例的基础上,进一步地,如图3所示,S205可以包括:
S2051、使用多个检测模型分别对第二疑似恶意软件进行检测,得到多个检测模型分别对应的第一预测概率值。
其中,使用的检测模型的数量大于1个,对于检测模型的数量本发明不做限定,检测模型设置的数量越多,最终得到的第二疑似恶意软件是否为真实恶意软件的结论更加准确,但是,其方法执行的复杂程度增加,执行效率将降低,因此,可以根据实际情况进行合理设置,例如,可以设置检测模型的数量为3个或者5个。
示例性的,多个检测模型包括检测模型1、检测模型2和检测模型3,使用检测模型1对第二疑似恶意软件进行检测,得到检测模型1对应的第一预测概率值R1;使用检测模型2对第二疑似恶意软件进行检测,得到检测模型2对应的第一预测概率值R2;使用检测模型3对第二疑似恶意软件进行检测,得到检测模型3对应的第一预测概率值R3。
S2052、对多个检测模型分别对应的第一预测概率值进行加权求和,得到第二疑似恶意软件对应的第二预测概率值。
其中,每个检测模型对应一个第一权重值,每个检测模型对应的第一权重值为预先设置的。
每个检测模型对应的第一预测概率值乘以该检测模型对应的第一权重值,得到多个检测模型分别对应的乘积,将多个检测模型分别对应的乘积相加,得到第二疑似恶意软件对应的第二预测概率值。
示例性的,检测模型1对应的第一预测概率值为R1,检测模型1对应的第一权重值为β1,检测模型2对应的第一预测概率值为R2,检测模型2对应的第一权重值为β2,检测模型3对应的第一预测概率值为R3,检测模型3对应的第一权重值为β3,则第二疑似恶意软件对应的第二预测概率值R*可以通过如下公式(2)得到:
R*=β1R1+β2R2+β3R3 公式(2)
S2053、判断第二预测概率值是否大于或者等于第二阈值。
第二阈值为预设的,可以根据经验设定,也可以通过计算得到,例如第二阈值可以设置为0.5。
第二预测概率值大于或者等于第二阈值,包括:第二预测概率值大于第二阈值,或者,第二预测概率值大于等于第二阈值。
若第二预测概率值大于或者等于第二阈值,继续执行S2054;若第二预测概率值小于第二阈值,继续执行S2055。
S2054、确定第二疑似恶意软件为真实恶意软件。
S2055、确定第二疑似恶意软件为真实正常软件。
本实施例,通过使用多个检测模型分别对第二疑似恶意软件进行检测,得到多个检测模型分别对应的第一预测概率值,对多个检测模型分别对应的第一预测概率值进行加权求和,得到第二疑似恶意软件对应的第二预测概率值,若第二预测概率值大于或者等于第二阈值,从而确定第二疑似恶意软件为真实恶意软件,对第二疑似恶意软件的实现了进一步地筛除误报,从而更加准确的确定第二疑似恶意软件为真实恶意软件,使得误报恶意软件数量减少,进一步降低误报率。
图4为本公开实施例提供的再一种恶意软件检测的误报纠正方法的流程示意图,图4是在图2或图3所示实施例的基础上,进一步地,如图4所示,S201之前还包括:
S2001、判断第三疑似恶意软件是否与白名单中的正常软件相同。
可以对检测模型检测出的第三疑似恶意软件与白名单进行比对。白名单中包含多个真实正常软件,白名单中可以包含但不限于现有的权威软件开发商发布的真实正常软件,例如,白名单中可以包含不同版本的正版纯净的windows系统软件,办公软件office等。真实正常软件中的.exe,.dll等格式的文件易被恶意软件劫持或修改,被劫持或者修改的文件会被基于机器学习的检测模型判定为疑似恶意文件,同时,由于其与原真实正常软件极为相似,检测模型还会学习该恶意软件的特征,作为判定软件为恶意软件的依据,进而,检测模型可能会将原真实正常软件判定为疑似恶意软件,产生误报。
若第三疑似恶意软件与白名单中的正常软件不同,则继续执行S2002,若第三疑似恶意软件与白名单中的正常软件相同,则继续执行S2003。
S2002、确定第三疑似恶意软件为第一疑似恶意软件。
S2003、确定第三疑似恶意软件为真实正常软件。
可选的,哈希值具有唯一性,且长度相同等性质,因此,第三疑似恶意软件是否与白名单中的正常软件相同可以通过比较哈希值进行更加快速以及准确的判断,进一步地,白名单中包含正常软件的哈希值,判断第三疑似恶意软件是否与白名单中的正常软件相同,包括:
获取第三疑似恶意软件的哈希值,判断第三疑似恶意软件的哈希值是否与白名单中的正常软件的哈希值相同。
相应的,第三疑似恶意软件与白名单中的正常软件不同,包括:
第三疑似恶意软件的哈希值与白名单中的正常软件的哈希值不同。
相应的,第三疑似恶意软件与白名单中的正常软件相同,包括:
第三疑似恶意软件的哈希值与白名单中的正常软件的哈希值相同。
可选的,获取哈希值的方法包括但不限于信息摘要算法(Message-DigestAlgorithm,简称MD5),SHA256等。
本实施例,通过白名单的设置,判断第三疑似恶意软件是否与白名单中的正常软件相同,若第三疑似恶意软件与白名单中的正常软件不同,确定第三疑似恶意软件为第一疑似恶意软件,若第三疑似恶意软件与白名单中的正常软件相同,确定第三疑似恶意软件为真实正常软件。从而在第三疑似恶意软件中筛除真实正常软件,使得误报恶意软件数量减少,降低了误报率。
在上述实施例的基础上,使用每个检测模型对应一个第一权重值进行上述恶意软件检测的误报纠正方法之前,可以先确定每个检测模型对应一个第一权重值。
图5为本公开实施例提供的又一种恶意软件检测的误报纠正方法的流程示意图,图5是在图4所示实施例的基础上,进一步地,如图5所示,S2052之前还包括:
S205a、获取软件样本集。
其中,软件样本集包括多个软件样本,软件样本集中需包含真实恶意软件和真实正常软件。每个软件样本包括软件样本的标签,标签用于指示软件样本为真实恶意软件或真实正常软件,可以在获取软件样本时直接获取到软件样本的标签,也可以获取到软件样本以后,通过多种方式验证其为真实恶意软件或者真实正常软件,从而获得软件样本的标签,可选的,获得软件样本的标签的方法包括但不限于使用在线检测,人工分析等方法对软件样本进行验证,得到软件样本的标签。
可选的,软件样本集中包含的真实恶意软件的数量和真实正常软件数量相等,可以得到更为准确的第一权重值。
S205b、针对每个软件样本,使用多个检测模型分别对软件样本进行检测,得到多个检测模型分别对应的软件样本的第三预测概率值。
使用检测模型的数量为N(N≥2),软件样本集中包含X个软件样本,针对第j个软件样本,使用N个检测模型分别对第j个软件样本进行检测时,每一个检测模型对于第j个软件样本,可以得到一个第三预测概率值Rji(1≤j≤X,1≤i≤N)。
S205c、获取多组多个检测模型分别对应的第二权重值。
获取M组N个检测模型分别对应的第二权重值,可以使用βmi(m>1,1≤i≤N)表示第m组第i个检测模型的第二权重值,每组N个检测模型分别对应的第二权重值之和为1,第二权重值大于0且小于1,即满足0<βmi<1。
对于获取多组第二权重值的方式本发明不做限定,一种可能的实现方式中,可以根据经验获取多组N个检测模型分别对应的第二权重值。
另一种可能的实现方式中,可以设置第一划分步长,根据第一划分步长,确定多组多个检测模型分别对应的第二权重值。
例如,假设N=3,第m组多个检测模型分别对应的第二权重值使用一个一维向量(βm1,βm2,βm3)进行表示,其中βm1表示第一个检测模型对应的第二权重值,βm2表示第二个检测模型对应的第二权重值,βm3表示第三个检测模型对应的第二权重值,第一划分步长设置为0.1,则可以得到多组3个检测模型分别对应的第二权重值,分别为:(0.1,0.1,0.8),(0.1,0.2,0.7),(0.1,0.3,0.6),……,(0.2,0.1,0.7),(0.2,0.2,0.6),……,(0.8,0.1,0.1)。
S205d、针对每组多个检测模型分别对应的第二权重值,针对每个软件样本,对多个检测模型分别对应的软件样本的第三预测概率值加权求和,得到软件样本对应的第四预测概率值;根据第四预测概率值和第三阈值,确定软件样本的第一预测结果;根据所有软件样本的第一预测结果、软件样本的标签,确定第二权重值对应的第一误报率。
其中,第三阈值为预先设置的,例如,第三阈值可以设置为0.5。
根据上述获取的M组第二权重值中的第m组,对第x个样本的第三预测概率值加权求和,得到每个软件样本对应的第四预测概率值,则对于第m(1≤m≤M)组第二权重值,第j个软件样本对应的第四预测概率值可以通过如下公式(3)得到:
其中,Rji(1≤j≤X,1≤i≤N)为第j个软件样本的第i个检测模型对应的第三预测概率值,βmi(1≤i≤N)为第m组第i个检测模型的第二权重值。
由此,针对第m组第二权重值,可以得到对应的X个软件样本的第四预测概率值。根据第三阈值,可以确定X个软件样本中每个软件样本的第一预测结果,第一预测结果用于指示该软件样本为正常软件或疑似恶意软件,每个软件样本的第一预测结果与软件样本的标签比对,得到每个软件样本的第一预测准确值,第一预测准确值用于指示该软件样本的第一预测结果是否正确,从而可以计算第m组第二权重值对应的第一误报率。
S205e、确定第一权重值为最小的第一误报率对应的第二权重值。
比较M组第二权重值对应的第一误报率,确定其中最小的第一误报率,获取最小的第一误报率对应的第二权重值,第一权重值为该第二权重值。
本实施例,通过预设第三阈值,获取软件样本集,针对每个软件样本,使用多个检测模型分别对软件样本进行检测,得到多个检测模型分别对应的软件样本的第三预测概率值,获取多组多个检测模型分别对应的第二权重值,针对每组多个检测模型分别对应的第二权重值,针对每个软件样本,对多个检测模型分别对应的软件样本的第三预测概率值加权求和,得到软件样本对应的第四预测概率值;根据第四预测概率值和第三阈值,确定软件样本的第一预测结果;根据所有软件样本的第一预测结果、软件样本的标签,确定第二权重值对应的第一误报率,确定第一权重值为最小的第一误报率对应的第二权重值。从而使得第一权重值更加准确,进而降低误报率。
在上述实施例的基础上,进一步地,可以在图5所示实施例中确定了第一权重值的基础上,根据第一权重值确定第二阈值,还可以在图4所示实施例的基础上,获取到第一权重值,根据获取到的第一权重值确定第二阈值。
图6为本公开实施例提供的又一种恶意软件检测的误报纠正方法的流程示意图,图6是在图4或图5所示实施例的基础上,进一步地,如图6所示,S205e之后还包括:
S205f、针对每个软件样本,使用多个检测模型分别对软件样本进行检测,得到多个检测模型分别对应的第五预测概率值。
S205g、使用第一权重值,对多个检测模型分别对应的第五预测概率值进行加权求和,得到软件样本对应的第六预测概率值。
对于每个软件样本,根据第一权重值,可以得到软件样本对应的第六预测概率值。上述计算第六预测概率值的实现方式与S2051以及S2052的原理类似,此处不再赘述。
S205h、获取多个第四阈值。
对于获取多个第四阈值的方式本发明不做限定,一种可能的实现方式中,可以根据经验获取多个N个第四阈值。
另一种可能的实现方式中,可以设置第二划分步长,根据第二划分步长,确定多个第四阈值。
例如,第二划分步长设置为0.05,则可以得到多个第四阈值,分别为:0.05,0.1,0.15,……,0.9,0.95。
S205i、针对每个第四阈值,根据第六预测概率值、第四阈值和软件样本的标签,确定第四阈值对应的第二误报率。
由此,针对每个第四阈值,可以得到对应的X个软件样本的第六预测概率值。根据第四阈值,可以确定X个软件样本中每个软件样本的第二预测结果,第二预测结果用于指示该软件样本为正常软件或疑似恶意软件,每个软件样本的第二预测结果与软件样本的标签比对,得到每个软件样本的第二预测准确值,第二预测准确值用于指示该软件样本的第二预测结果是否正确,从而可以计算每个第四阈值对应的第二误报率。
S205j、确定第二阈值为最小的第二误报率对应的第四阈值。
本实施例,通过获取多个第四阈值,对每个第四阈值,计算其在软件样本集中的第二误报率,从而确定第二阈值为最小的第二误报率对应的第四阈值,得到了更准确的第二阈值,进而降低误报率。
图7为本公开实施例提供的一种恶意软件检测的误报纠正装置的结构示意图,如图7所示,本实施例提供的装置包括:
检测模块701,用于对第一疑似恶意软件进行静态特征检测,得到检测结果;
第一得到模块702,用于根据静态特征检测结果和静态特征计分规则,得到第一疑似恶意软件的得分;
第一确定模块703,用于判断若疑似恶意软件的得分大于或者等于第一阈值,确定第一疑似恶意软件为第二疑似恶意软件;
第二确定模块704,用于根据第二疑似恶意软件,确定第二疑似恶意软件为真实恶意软件。
可选的,根据第二疑似恶意软件,确定第二疑似恶意软件为真实恶意软件,包括:
使用多个检测模型分别对第二疑似恶意软件进行检测,得到多个检测模型分别对应的第一预测概率值;
对多个检测模型分别对应的第一预测概率值进行加权求和,得到第二疑似恶意软件对应的第二预测概率值,其中,每个检测模型对应一个第一权重值;
若第二预测概率值大于或者等于第二阈值,确定第二疑似恶意软件为真实恶意软件。
可选的,静态特征包括以下特征中的一种或多种:
加壳特征;
有效证书或者数字签名;
反调试或者侦测虚拟机特征;
操作注册表函数;
可疑字符串;
可疑统一资源定位器URL。
可选的,静态特征计分规则包括以下规则中的一种或多种:
若疑似恶意软件包含加壳特征,疑似恶意软件的得分增加第一分值;
若疑似恶意软件包含有效证书或者数字签名,疑似恶意软件的得分增加第二分值;
若疑似恶意软件包含反调试或者侦测虚拟机特征,疑似恶意软件的得分增加第三分值;
若疑似恶意软件包含操作注册表函数,疑似恶意软件的得分增加第四分值;
若疑似恶意软件包含可疑字符串,根据可疑字符串的数量,疑似恶意软件的得分增加第五分值;
若疑似恶意软件包含可疑URL,根据可疑URL的数量,疑似恶意软件的得分增加第六分值。
可选的,对第一疑似恶意软件进行静态特征检测,得到静态特征检测结果之前,还包括:
判断第三疑似恶意软件是否与白名单中的软件相同,其中,白名单包含多个真实正常软件;
若白名单中没有与疑似恶意软件相同的软件,确定第三疑似恶意软件为第一疑似恶意软件。
可选的,装置还包括:
第一获取模块,用于获取软件样本集,软件样本集包括多个软件样本,软件样本包括软件样本的标签,标签用于指示软件样本为真实恶意软件或真实正常软件;
第二得到模块,用于针对每个软件样本,使用多个检测模型分别对软件样本进行检测,得到多个检测模型分别对应的软件样本的第三预测概率值;
第二获取模块,用于获取多组多个检测模型分别对应的第二权重值;
第三确定模块,用于针对每组多个检测模型分别对应的第二权重值,针对每个软件样本,对多个检测模型分别对应的软件样本的第三预测概率值加权求和,得到软件样本对应的第四预测概率值;根据第四预测概率值和第三阈值,确定软件样本的第一预测结果;根据所有软件样本的第一预测结果、软件样本的标签,确定第二权重值对应的第一误报率;
第四确定模块,用于确定第一权重值为最小的第一误报率对应的第二权重值。
可选的,装置还包括:
第三得到模块,用于针对每个软件样本,使用多个检测模型分别对软件样本进行检测,得到多个检测模型分别对应的第五预测概率值;
第四得到模块,用于使用第一权重值,对多个检测模型分别对应的第五预测概率值进行加权求和,得到软件样本对应的第六预测概率值;
第三获取模块,用于获取多个第四阈值;
第五确定模块,用于针对每个第四阈值,根据第六预测概率值、第四阈值和软件样本的标签,确定第四阈值对应的第二误报率;
第六确定模块,用于确定第二阈值为最小的第二误报率对应的第四阈值。
上述实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本公开实施例提供的一种恶意软件检测的误报纠正设备的结构示意图,如图8所示,本实施例提供的设备包括:
存储器,用于存储处理器可执行指令的存储器;
处理器,用于在计算机程序被执行时,实现如上述图2-图6所示的方法。
上述实施例的设备,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本公开提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述图2-图6所示的恶意软件检测的误报纠正方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种恶意软件检测的误报纠正方法,其特征在于,包括:
对第一疑似恶意软件进行静态特征检测,得到静态特征检测结果;
根据所述静态特征检测结果和静态特征计分规则,得到所述第一疑似恶意软件的得分;
若所述第一疑似恶意软件的得分大于或者等于第一阈值,确定所述第一疑似恶意软件为第二疑似恶意软件;
根据所述第二疑似恶意软件,确定所述第二疑似恶意软件为真实恶意软件;
所述根据第二疑似恶意软件,确定所述第二疑似恶意软件为真实恶意软件,包括:
使用多个检测模型分别对第二疑似恶意软件进行检测,得到所述多个检测模型分别对应的第一预测概率值;
对所述多个检测模型分别对应的第一预测概率值进行加权求和,得到所述第二疑似恶意软件对应的第二预测概率值,其中,每个检测模型对应一个第一权重值;
若所述第二预测概率值大于或者等于第二阈值,确定所述第二疑似恶意软件为真实恶意软件;
所述静态特征包括以下特征中的一种或多种:
加壳特征;
有效证书或者数字签名;
反调试或者侦测虚拟机特征;
操作注册表函数;
可疑字符串;
可疑统一资源定位器URL。
2.根据权利要求1所述的方法,其特征在于,所述静态特征计分规则包括以下规则中的一种或多种:
若所述疑似恶意软件包含加壳特征,所述疑似恶意软件的得分增加第一分值;
若所述疑似恶意软件包含有效证书或者数字签名,所述疑似恶意软件的得分增加第二分值;
若所述疑似恶意软件包含反调试或者侦测虚拟机特征,所述疑似恶意软件的得分增加第三分值;
若所述疑似恶意软件包含操作注册表函数,所述疑似恶意软件的得分增加第四分值;
若所述疑似恶意软件包含可疑字符串,根据所述可疑字符串的数量,所述疑似恶意软件的得分增加第五分值;
若所述疑似恶意软件包含可疑URL,根据所述可疑URL的数量,所述疑似恶意软件的得分增加第六分值。
3.根据权利要求1或2所述的方法,其特征在于,所述对第一疑似恶意软件进行静态特征检测,得到静态特征检测结果之前,还包括:
判断第三疑似恶意软件是否与白名单中的软件相同,其中,所述白名单包含多个真实正常软件;
若所述白名单中没有与所述疑似恶意软件相同的软件,确定所述第三疑似恶意软件为所述第一疑似恶意软件。
4.根据权利要求1所述的方法,其特征在于,所述对所述多个检测模型分别对应的第一预测概率值进行加权求和,得到所述第二疑似恶意软件对应的第二预测概率值之前,还包括:
获取软件样本集,所述软件样本集包括多个软件样本,所述软件样本包括所述软件样本的标签,所述标签用于指示所述软件样本为真实恶意软件或真实正常软件;
针对每个所述软件样本,使用所述多个检测模型分别对所述软件样本进行检测,得到所述多个检测模型分别对应的所述软件样本的第三预测概率值;
获取多组所述多个检测模型分别对应的第二权重值;
针对每组所述多个检测模型分别对应的第二权重值,针对每个软件样本,对所述多个检测模型分别对应的所述软件样本的第三预测概率值加权求和,得到所述软件样本对应的第四预测概率值;根据所述第四预测概率值和第三阈值,确定所述软件样本的第一预测结果;根据所有所述软件样本的第一预测结果、所述软件样本的标签,确定所述第二权重值对应的第一误报率;
确定所述第一权重值为最小的第一误报率对应的第二权重值。
5.根据权利要求4所述的方法,其特征在于,所述确定所述第一权重值为最小的第一误报率对应的第二权重值之后,还包括:
针对每个软件样本,使用所述多个检测模型分别对所述软件样本进行检测,得到所述多个检测模型分别对应的第五预测概率值;
使用所述第一权重值,对所述多个检测模型分别对应的第五预测概率值进行加权求和,得到所述软件样本对应的第六预测概率值;
获取多个第四阈值;
针对每个所述第四阈值,根据所述第六预测概率值、所述第四阈值和所述软件样本的标签,确定所述第四阈值对应的第二误报率;
确定所述第二阈值为最小的第二误报率对应的第四阈值。
6.一种恶意软件检测的误报纠正装置,其特征在于,包括:
检测模块,用于对第一疑似恶意软件进行静态特征检测,得到静态特征检测结果;
第一得到模块,用于根据所述静态特征检测结果和静态特征计分规则,得到所述第一疑似恶意软件的得分;
第一确定模块,用于判断若所述疑似恶意软件的得分大于或者等于第一阈值,确定所述第一疑似恶意软件为第二疑似恶意软件;
第二确定模块,用于根据所述第二疑似恶意软件,确定所述第二疑似恶意软件为真实恶意软件;
所述第二确定模块具体用于:
使用多个检测模型分别对第二疑似恶意软件进行检测,得到所述多个检测模型分别对应的第一预测概率值;
对所述多个检测模型分别对应的第一预测概率值进行加权求和,得到所述第二疑似恶意软件对应的第二预测概率值,其中,每个检测模型对应一个第一权重值;
若所述第二预测概率值大于或者等于第二阈值,确定所述第二疑似恶意软件为真实恶意软件;
所述静态特征包括以下特征中的一种或多种:
加壳特征;
有效证书或者数字签名;
反调试或者侦测虚拟机特征;
操作注册表函数;
可疑字符串;
可疑统一资源定位器URL。
7.一种恶意软件检测的误报纠正设备,其特征在于,包括:
存储器,用于存储处理器可执行指令的存储器;
处理器,用于在计算机程序被执行时,实现如上述权利要求1至5中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至5任一项所述的恶意软件检测的误报纠正方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011134567.XA CN112347479B (zh) | 2020-10-21 | 2020-10-21 | 恶意软件检测的误报纠正方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011134567.XA CN112347479B (zh) | 2020-10-21 | 2020-10-21 | 恶意软件检测的误报纠正方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112347479A CN112347479A (zh) | 2021-02-09 |
CN112347479B true CN112347479B (zh) | 2021-08-24 |
Family
ID=74359594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011134567.XA Active CN112347479B (zh) | 2020-10-21 | 2020-10-21 | 恶意软件检测的误报纠正方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112347479B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116414269B (zh) * | 2023-06-06 | 2023-10-20 | 荣耀终端有限公司 | 流氓应用的识别方法和电子设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984450A (zh) * | 2010-12-15 | 2011-03-09 | 北京安天电子设备有限公司 | 恶意代码检测方法和系统 |
CN102034043A (zh) * | 2010-12-13 | 2011-04-27 | 四川大学 | 基于文件静态结构属性的恶意软件检测新方法 |
CN103761481A (zh) * | 2014-01-23 | 2014-04-30 | 北京奇虎科技有限公司 | 一种恶意代码样本自动处理的方法及装置 |
CN104346570A (zh) * | 2014-12-01 | 2015-02-11 | 西安邮电大学 | 一种基于动态代码序列跟踪分析的木马判定系统 |
CN106529293A (zh) * | 2016-11-09 | 2017-03-22 | 东巽科技(北京)有限公司 | 一种用于恶意软件检测的样本类别判定方法 |
CN106874758A (zh) * | 2016-08-22 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种识别文档代码的方法和装置 |
CN108023876A (zh) * | 2017-11-20 | 2018-05-11 | 西安电子科技大学 | 基于可持续性集成学习的入侵检测方法及入侵检测系统 |
US10089467B1 (en) * | 2017-05-23 | 2018-10-02 | Malwarebytes Inc. | Static anomaly-based detection of malware files |
CN110765459A (zh) * | 2019-10-18 | 2020-02-07 | 北京天融信网络安全技术有限公司 | 一种恶意脚本检测方法、装置和存储介质 |
CN111027069A (zh) * | 2019-11-29 | 2020-04-17 | 暨南大学 | 恶意软件家族检测方法、存储介质和计算设备 |
CN111428236A (zh) * | 2020-03-06 | 2020-07-17 | 苏州浪潮智能科技有限公司 | 一种恶意软件的检测方法、装置、设备及可读介质 |
CN111639337A (zh) * | 2020-04-17 | 2020-09-08 | 中国科学院信息工程研究所 | 一种面向海量Windows软件的未知恶意代码检测方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924761B (zh) * | 2010-08-18 | 2013-11-06 | 北京奇虎科技有限公司 | 一种依据白名单进行恶意程序检测的方法 |
CN106485146B (zh) * | 2015-09-02 | 2019-08-13 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及服务器 |
-
2020
- 2020-10-21 CN CN202011134567.XA patent/CN112347479B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034043A (zh) * | 2010-12-13 | 2011-04-27 | 四川大学 | 基于文件静态结构属性的恶意软件检测新方法 |
CN101984450A (zh) * | 2010-12-15 | 2011-03-09 | 北京安天电子设备有限公司 | 恶意代码检测方法和系统 |
CN103761481A (zh) * | 2014-01-23 | 2014-04-30 | 北京奇虎科技有限公司 | 一种恶意代码样本自动处理的方法及装置 |
CN104346570A (zh) * | 2014-12-01 | 2015-02-11 | 西安邮电大学 | 一种基于动态代码序列跟踪分析的木马判定系统 |
CN106874758A (zh) * | 2016-08-22 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种识别文档代码的方法和装置 |
CN106529293A (zh) * | 2016-11-09 | 2017-03-22 | 东巽科技(北京)有限公司 | 一种用于恶意软件检测的样本类别判定方法 |
US10089467B1 (en) * | 2017-05-23 | 2018-10-02 | Malwarebytes Inc. | Static anomaly-based detection of malware files |
CN108023876A (zh) * | 2017-11-20 | 2018-05-11 | 西安电子科技大学 | 基于可持续性集成学习的入侵检测方法及入侵检测系统 |
CN110765459A (zh) * | 2019-10-18 | 2020-02-07 | 北京天融信网络安全技术有限公司 | 一种恶意脚本检测方法、装置和存储介质 |
CN111027069A (zh) * | 2019-11-29 | 2020-04-17 | 暨南大学 | 恶意软件家族检测方法、存储介质和计算设备 |
CN111428236A (zh) * | 2020-03-06 | 2020-07-17 | 苏州浪潮智能科技有限公司 | 一种恶意软件的检测方法、装置、设备及可读介质 |
CN111639337A (zh) * | 2020-04-17 | 2020-09-08 | 中国科学院信息工程研究所 | 一种面向海量Windows软件的未知恶意代码检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112347479A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891378B2 (en) | Automated malware signature generation | |
US9876812B1 (en) | Automatic malware signature extraction from runtime information | |
US8312546B2 (en) | Systems, apparatus, and methods for detecting malware | |
CN109145600B (zh) | 使用静态分析元素检测恶意文件的系统和方法 | |
US9680848B2 (en) | Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and API flow-based dynamic analysis | |
US9015814B1 (en) | System and methods for detecting harmful files of different formats | |
KR101265173B1 (ko) | 비실행 파일 검사 장치 및 방법 | |
US8763128B2 (en) | Apparatus and method for detecting malicious files | |
US20140053267A1 (en) | Method for identifying malicious executables | |
US20130152200A1 (en) | Predictive Heap Overflow Protection | |
JP5738283B2 (ja) | マルウェアスキャンに関する誤警報検出 | |
RU2706883C1 (ru) | Система и способ снижения количества ложных срабатываний классифицирующих алгоритмов | |
CN111460445A (zh) | 样本程序恶意程度自动识别方法及装置 | |
KR20230002436A (ko) | 거짓 양성 멀웨어 탐지율을 감소시키기 위한 머신 러닝 시스템 및 방법 | |
Feng et al. | Mace: High-coverage and robust memory analysis for commodity operating systems | |
US20180341770A1 (en) | Anomaly detection method and anomaly detection apparatus | |
US20140325659A1 (en) | Malware risk scanner | |
CN105791250B (zh) | 应用程序检测方法及装置 | |
CN112347479B (zh) | 恶意软件检测的误报纠正方法、装置、设备和存储介质 | |
CN112395603B (zh) | 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备 | |
US10880316B2 (en) | Method and system for determining initial execution of an attack | |
US20200334353A1 (en) | Method and system for detecting and classifying malware based on families | |
US11941118B2 (en) | System and method to build robust classifiers against evasion attacks | |
CN114510713A (zh) | 检测恶意软件的方法、装置、电子设备及存储介质 | |
CN115982673A (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 |