CN115189922B - 风险识别方法及装置和电子设备 - Google Patents

风险识别方法及装置和电子设备 Download PDF

Info

Publication number
CN115189922B
CN115189922B CN202210693322.3A CN202210693322A CN115189922B CN 115189922 B CN115189922 B CN 115189922B CN 202210693322 A CN202210693322 A CN 202210693322A CN 115189922 B CN115189922 B CN 115189922B
Authority
CN
China
Prior art keywords
character
character strings
risk
rule
sample set
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
Application number
CN202210693322.3A
Other languages
English (en)
Other versions
CN115189922A (zh
Inventor
孟雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202210693322.3A priority Critical patent/CN115189922B/zh
Publication of CN115189922A publication Critical patent/CN115189922A/zh
Application granted granted Critical
Publication of CN115189922B publication Critical patent/CN115189922B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • 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
    • 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/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本说明书实施例提供一种风险识别方法及装置和电子设备。所述方法包括:获取白样本集和黑样本集;对所述黑样本集和白样本集中的字符串进行聚类,得到多个黑样本字符簇和多个白样本字符簇;计算所述多个黑样本字符簇中的字符串在所述白样本字符簇中的假正例值,并将假正例值符合要求的黑样本字符簇中的字符串进行组合,得到字符串组合;基于所述字符串组合生成对应的风险规则,识别网络中存在的恶意软件。

Description

风险识别方法及装置和电子设备
技术领域
本说明书实施例涉及计算机技术领域,尤其涉及一种风险识别方法及装置和电子设备。
背景技术
在众多的网络攻击中,恶意软件是一种常见的攻击手段。而且,随着不法利益的增加,恶意软件的种类和数量呈现连年增长的趋势。
鉴于恶意软件对网络安全的威胁越来越大,业内推出了许多针对恶意软件的识别方案;其中使用最多的包括基于规则的识别方式。
这种基于规则的识别方式通常需要构建风险特征库,即通过人工从恶意软件中提取风险特征,并基于风险特征库中的风险特征来构建识别规则;这样,各种自动化的风险识别工具就可以基于所述识别规则,自动对网络中的软件进行检测识别;当某个软件符合所述识别规则,就可以确定该软件为恶意软件。
然而,如前所述恶意软件的种类和数量呈现连年增长的趋势,在网络上每时每刻都可能会出现新增的恶意软件;有某些安全机构做过统计每年可能有1.2亿新的恶意软件出现,如此换算每分钟大约有200个新的恶意软件。这种数量规模下,传统人工提取风险特征的方式完全无法应对,导致识别规则的构建速度往往落后于恶意软件的出现速度,最终使得基于人工规则的识别方式下无法及时识别新出行的恶意软件。
发明内容
本说明书实施例提供的一种风险识别方法及装置和电子设备。
根据本说明书实施例的第一方面,提供一种风险识别方法,所述方法包括:
获取白样本集和黑样本集;
对所述黑样本集和白样本集中的字符串进行聚类,得到多个黑样本字符簇和多个白样本字符簇;
计算所述多个黑样本字符簇中的字符串在所述白样本字符簇中的假正例值,并将假正例值符合要求的黑样本字符簇中的字符串进行组合,得到字符串组合;
基于所述字符串组合生成对应的风险规则,识别网络中存在的恶意软件。
可选的,还包括:
将所述黑样本集和白样本集输入到预先构建的集成模型中进行计算,以得到所述集成模型从所述黑样本集中识别的属于自然语言类型的字符串,和从所述白样本集中识别的属于自然语言类型的字符串;其中,所述集成模型包括多个自然语言模型进行集成学习得到的模型;
将从所述黑样本集中识别的属于自然语言类型的字符串构建新的黑样本集;以及将从所述白样本集中识别的属于自然语言类型的字符串构建新的白样本集;
所述对所述黑样本集和白样本集中的字符串进行聚类,包括:
对所述新的黑样本集和新的白样本集中的字符串进行聚类。
可选的,还包括:
过滤所述多个白样本字符簇中未包含黑样本集中的字符串的白样本字符簇;
所述计算所述多个黑样本字符簇中的字符串在所述白样本字符簇中的假正例值,包括:
计算所述多个黑样本字符簇中的字符串在过滤后的白样本字符簇中的假正例值。
可选的,在所述对所述黑样本集和白样本集中的字符串进行聚类之前,还包括:
对所述黑样本集中的相似字符串进行去重。
可选的,所述对所述黑样本集中的相似字符串进行去重,包括:
获取所述黑样本集中的各个字符串对应的重要度;其中,所述重要度表征的是字符串的重要程度;
基于重要度对黑样本集中的字符串进行聚类,将相同重要度的字符串加入到一个聚类簇中;
计算各个聚类簇中的字符串在白样本集中的假正例值;
基于所述假正例值从各个聚类簇中确定出目标字符串,并将各个聚类簇中除所述目标字符串之外的字符串从所述黑样本集中删除。
可选的,在所述对所述黑样本集和白样本集中的字符串进行聚类,得到多个黑样本字符簇和多个白样本字符簇之后,还包括:
在所述黑样本字符簇中的字符串的个数少于阈值时,为所述黑样本字符簇补足剩余个数的字符串;其中,所述剩余个数为所述黑样本字符簇中的字符串的个数与阈值之间的差值。
可选的,所述为所述黑样本字符簇补足剩余个数的字符串,包括:
查询所述黑样本字符簇中的字符串是否位于白样本字符簇;
如果是,将所述白样本字符簇中的字符串补充到所述黑样本中,直至所述黑样本中的字符串的个数达到阈值。
可选的,在基于所述字符串组合生成对应的风险规则之后,还包括:
对生成的风险规则进行压缩,以减少相同或相似的风险规则的数据量。
可选的,所述对生成的风险规则进行压缩,包括:
当任一风险规则包含另一个风险规则时,保留最小长度的风险规则;
当任一风险规则命中的文件集覆盖另一个风险规则命中的文件集时,保留命中文件集数量最多的风险规则;
当多个风险规则存在交集时,提取相同部分的规则内容,不同部分的规则内容用逻辑或组合,合并为新的风险规则。
可选的,所述对生成的风险规则进行压缩,包括:
在属于相同样本簇的多个风险规则中存在相同部分的规则内容时,将所述相同部分的规则内容替换为同一标识,并为该标识唯一关联被替换的规则内容。
可选的,所述将所述风险规则加入已有的风险规则集合中,包括:
获取已有的风险规则集合对应的风控平台支持的规则格式;
将所生成的风险规则转换为所述风控平台支持的规则格式的风险规则,并将转换后的风险规则加入所述风控平台中已有的风险规则集合中。
根据本说明书实施例的第二方面,提供一种风险识别装置,所述装置包括:
获取单元,获取白样本集和黑样本集;
聚类单元,对所述黑样本集和白样本集中的字符串进行聚类,得到多个黑样本字符簇和多个白样本字符簇;
计算单元,计算所述多个黑样本字符簇中的字符串在所述白样本字符簇中的假正例值,将假正例值符合要求的黑样本字符簇中的字符串进行组合,得到字符串组合;
识别单元,基于所述字符串组合生成对应的风险规则,识别网络中存在的恶意软件。
根据本说明书实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为上述任一项风险识别方法。
根据本说明书实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述任一项风险识别方法。
本说明书实施例,提供了一种风险识别方案,利用黑样本字符簇中的字符串在白样本字符簇中的假正例值来判断黑样本字符簇中的字符串是否容易被错误预测,通过保留最不容易被错误预测的黑样本簇,避免容易被错误预测的字符串对结果的影响;进一步对最不容易被错误预测的黑样本簇中的字符串进行组合,这样组合后的字符串可以全面覆盖潜在存在风险的字符串组合,因此基于组合后的字符串组合生成对应的风险规则可以识别出更多更全面的恶意软件,从而提高风险识别的覆盖率。
附图说明
图1是本说明书一实施例提供的适用于风险识别***的架构示意图;
图2是本说明书一实施例提供的风险识别方法的流程图;
图3是本说明书一实施例提供的风险识别装置的硬件结构图;
图4是本说明书一实施例提供的风险识别装置的模块。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在基于规则的识别方式中,除了前述由于人工提取风险特征存在效率低下的问题之外,还存在风险覆盖率低的问题。这里的风险覆盖率低是指因为相关技术中难以提取出全面的风险特征,从而导致生成的风险规则无法全面的识别更多的恶意软件,存在大量漏报的问题。例如,在实际应用中,单个特征可能相对没有风险,通常会归为白样本风险特征;但是这样的特征如果组合在一起,却可以成为风险特征。这样情况,是人工手段或现有的一些自动化特征提取手段无法识别的。
为此,本说明书旨在提供一种更为高效的风险识别方案,通过挖掘黑样本集中的字符串之间进行组合后存在风险的字符串组合,从而提高用于生成风险规则的风险特征的质量,能够识别出更多更全面的恶意软件(提高风险覆盖率)。
请下请参考图1所示的适用于风险识别***的架构示意图。如图1中所示,所述风险识别***可以包括前置处理模块、特征挖掘模块、规则压缩模块和规则入库模块。
其中,所述前置处理模块,可以用于收集已打标的样本集,所述样本集可以包括黑样本集和白样本集;所述白样本集包括无风险的字符串;所述黑样本集包括无风险的字符串和有风险的字符串。其中,黑样本集和白样本集中的字符串可能存在相同的字符串。
所述特征挖掘模块,可以用于从上述收集到的黑白样本集中挖掘出黑样本集中存在风险的字符串组合,该字符串组合包括黑样本集中的字符串的组合,并进一步基于所述字符串组合生成对应的风险规则。所述字符串的组合方式可以包括有风险的字符串之间的组合、无风险的字符串之间的组合,或者有风险的字符串与无风险的字符串之间的组合。如前所述,由于无风险的字符串的组合可能是风险字符串,因此该特征挖掘模块最为重要的目标是从黑样本集中挖掘出不在白样本集中的无风险的字符串的组合。
在一实施例中,所述特征挖掘模块可以包括特征筛选子模块、特征评估子模块、特征挖掘子模块和特征扩展子模块;
其中,所述特征筛选子模块,可以用于从黑白样本集的字符串特征中筛选出属于自然语言类型的字符串特征,将其他不属于自然语言类型的字符串特征(即无意义的字符串)从黑白样本集中过滤掉。
所述特征评估子模块,可以用于对黑白样本集中的字符串进行评估计算,以确定各个字符串的重要度;并基于重要度对黑样本集和白样本集中的字符串进行聚类,以便对多个相同重要度的字符串进行优选,仅保留目标字符串,过滤掉其他的字符串。
所述特征挖掘子模块,可以用于从前述筛选和过滤后的黑样本集中挖掘出存在风险的字符串组合,并进一步基于所述字符串组合生成对应的风险规则。
所述特征扩展子模块,可以用于补足聚类后字符串数据不足的黑样本字符簇,从而避免由于字符串组合的数量过少导致生成的风险规则容易误报。
所述规则压缩模块,可以用于对生成的风险规则进行压缩,以减少冗余的风险规则(如减少重复性的风险规则)。
所述规则入库模块,可以用于将生成的风险规则转换为其它格式的风险规则。在实际应用中,不同风控平台可能支持不同格式的风险规则;因此需要根据风控平台支持的格式类型,将前述规则生成模块生成的风险规则,或者前述规则压缩模块压缩后的风险规则转换为风控平台支持的格式类型的风险规则。
以yara为例,yara是一种业内普遍使用的恶意软件识别的风控工具,yara支持的格式类型是yara格式,因此在将风险规则加入到yara中时,需要提前将风险规则转换为yara格式。
以下结合图2介绍本说明书提供的风险识别***的方法实施例,该实施例可以应用在图1所示的***或者该***中的某个一模块或多个模块的组合;所述方法可以包括:
步骤210:获取白样本集和黑样本集。
在一示例性的实施例中,在进行特征挖掘之前,可以先将所述黑样本集和白样本集输入到预先构建的集成模型中进行计算,以得到所述集成模型从所述黑样本集中识别的属于自然语言类型的字符串,和从所述白样本集中识别的属于自然语言类型的字符串;其中,所述集成模型包括多个自然语言模型进行集成学习得到的模型。
在本说明书中,所述自然语言类型的字符串可以包括人类自然语言和/或计算机语言中的IOC(Indicator of compromise,威胁指示器)信息。
其中,所述IOC信息通常是指在检测过程中具有高置信度的威胁对象或特征信息,而在计算机语言中,所述IOC信息可以包括注册表、应用程序编程接口、IP地址、域名等等字符串。
在本说明书中,所述多个自然语言模型包括马尔可夫语言模型、熵模型、信息散度模型、拼字模型、英文文本模型、关联噪音模型中的至少两个。
其中,所述马尔可夫(markov)语言模型,是一种用来检测文本字符串是否具有人类自然语言语义的自然语言模型。
所述熵模型,是一种基于字符串的统计模型,通过使用熵entropy来计算字符串的随机性,熵值较低的字符串更多是无意义字符串。如此可以通过设置合理的熵值阈值,以过滤到熵值较低的无意义字符串。
所述信息散度(Kullback-Leibler Divergence,KL散度)模型,是一种衡量概率分布相似性的模型,通过计算字符串中字符与英文单词分布字符的KL散度,可以判断字符串是否为自然语言的字符串。
所述拼字(scrabble)模型,源于拼字游戏,拼字游戏可以取一个字符串长度,并决定该字符串中的每个字符是什么,相应的将单个字符分数相加并除以字符串长度就得到标准化的scrabble分数。如此可以通过设置合理的scrabble分数阈值,以过滤到scrabble分数较低的字符串。
所述英文文本模型,可以用于识别字符串中是否包含有意义的单词,是否可以构成有意义的语句,从而确定字符串是否是属于自然语言的字符串。
所述关联噪音模型,可以用于识别字符串是否为无意义的乱码,并将属于乱码的字符串过滤掉,进而识别出有意义的自然语言的字符串。
在本说明书中,将上述多个自然语言模型作为弱学习器,通过集成学习技术可以训练出一个强学习器,这个强学习器相对于每个弱学习器的性能更高,能够更快更高效的识别属于自然语言类型的字符串。
通过上述实施例,利用多个自然语言模型进行集成学习得到的集成模型,将文本处理技术应用于恶意软件检测的安全领域,对收集到的黑白样本集中的字符串做类型识别,识别出属于自然语言类型的字符串,并过滤掉其它无意义的字符串,从而降低黑白样本集中的由无意义的字符串产生的噪声影响。一方面由于减少了噪声影响,因此可以提升字符串组合的准确性;另一方面由于过滤了无意义的字符串,减少了样本集的数据量,因此可以降低特征挖掘模型的计算量,以提高计算速度。
在识别出属于自然语言类型的字符串之后,进一步可以将从所述黑样本集中识别的属于自然语言类型的字符串构建新的黑样本集;以及,将从所述白样本集中识别的属于自然语言类型的字符串构建新的白样本集。
在一示例性的实施例中,还可以对黑样本集中的相似字符串进行去重。
在本说明书中,可以获取所述黑样本集中的各个字符串对应的重要度;其中,所述重要度表征的是字符串的重要程度;
基于重要度对黑样本集中的字符串进行聚类,将相同重要度的字符串加入到一个聚类簇中;
计算各个聚类簇中的字符串在白样本集中的假正例值;
基于所述假正例值从各个聚类簇中确定出目标字符串,并将各个聚类簇中除所述目标字符串之外的字符串从所述黑样本集中删除。
在本说明书中,假正例(False Positive,FP)是指将属于黑样本的字符串错误预测为白样本的情况。例如,某个字符串同时属于黑样本和白样本,那么这个字符串就属于假正例。相应的,假正例值就是指属于假正例的字符串的数量。
在该示例中,需要计算的是各个聚类簇中的字符串在白样本集中的假正例值。由于聚类簇中的字符串都属于黑样本,因此通过统计聚类簇中的字符串是否同时位于白样本集中,如果是,就可以针对该聚类簇对应的假正例值累加1。
该示例中,所述重要度可以通过预先构建的GBDT(Gradient Boosting DecisionTree)模型计算得到。具体地,将所述黑样本集中的各个字符串输入到GBDT模型中,得到GBDT模型输出的各个字符串对应的重要度。
其中,所述GBDT模型是一种迭代的决策树算法由多棵决策树组成,其计算过程是利用多颗决策树分别进行计算得到多个计算结果,然后综合多个计算结果计算出一个最终值,将该最终值作为模型的输出结果。
由于实际中,各个字符串的长度各不相同,为了便于GBDT模型的计算也为了提高计算结果的准确性,可以将黑样本集中的各个字符串转换为预设维数的特征向量。在本说明书中,可以按照自然语言统计特征、安全领域特征、词库特征三种特征维度,将各个字符串转换为特定维(例如76维)的特征向量。
在获取到各个字符串的重要度之后,进一步可以基于重要度对黑样本集中的字符串进行聚类,将相同重要度的字符串加入到一个聚类簇中。由于相同重要度的字符串是相似的字符串,因此可以合并为一个字符串,或者优选出一个字符串。
这里以优选出一个字符串为例加以说明,通过计算各个聚类簇中的字符串在白样本集中的假正例(False Positive,FP)值。
由于假正例是指将黑样本错误预测为白样本,通过FP值可以得到各个聚类簇中哪个字符串是最容易被错误预测的字符串,从而将聚类簇中FP值最低的字符串确定为目标字符串,并将出目标字符串之外的其它字符串作为相似字符串从聚类簇中删除。
通过上述实施例,一方面,通过对黑样本集中的相似字符串进行去重,进一步减少了样本集的数据量。另一方面,通过保留相似字符串中最不容易被错误预测的字符串,避免遗漏存在潜在风险的字符串。
步骤220:对所述黑样本集和白样本集中的字符串进行聚类,得到多个黑样本字符簇和多个白样本字符簇。
本说明书中,可以采用例如谱聚类(Spectral Coclustering,SC)算法对黑样本集和白样本集中的字符串进行聚类。这里为了便于区分,将黑样本集的聚类簇称为黑样本字符簇,白样本集的聚类簇称为白样本字符簇。
本说明书中还提供了分别对黑样本字符簇和白样本字符簇进行优化处理的方式。
针对白样本字符簇的处理:如果白样本字符簇中没有包含任何黑样本集中的字符串,说明黑样本字符簇中的字符串不存在被错误预测的情况,即黑样本字符簇的字符串全部都是风险的字符串;这样的白样本字符簇不会挖掘出字符串组合,因此将其过滤掉,以降低无用的计算。
针对黑样本字符簇的处理:如果黑样本字符簇中的字符串的个数过多(例如大于N),可以根据字符串的重要度取前预设个数的字符串,例如取Top20的字符串。
而如果黑样本字符簇中的字符串的个数过少(例如小于K),那么还需要为黑样本字符簇补足剩余的字符串。具体地,本说明书中在所述黑样本字符簇中的字符串的个数少于阈值K时,为所述黑样本字符簇补足剩余个数的字符串;其中,所述剩余个数为所述黑样本字符簇中的字符串的个数与阈值之间的差值;所述阈值K要远小于N。
在一示例性的实施例中,所述为所述黑样本字符簇补足剩余个数的字符串,可以包括:
查询所述黑样本字符簇中的字符串是否位于白样本字符簇;
如果是,将所述白样本字符簇中的字符串补充到所述黑样本中,直至所述黑样本中的字符串的个数达到阈值。
通过补足黑样本字符簇,可以减少由于黑样本字符簇中字符串个数过少导致恶意软件误报。
步骤230:计算所述多个黑样本字符簇中的字符串在所述白样本字符簇中的假正例值,并将假正例值符合要求的黑样本字符簇中的字符串进行组合,得到字符串组合。
在确定了黑白样本字符簇之后,进一步可以基于分治算法统计所述多个黑样本字符簇中的字符串在白样本字符簇中的假正例值。
本说明书中,分治算法的基本思想包括存在集合A中的元素不属于集合B中,则A集合不是B集合子集;A集合是B集合子集,则A集合中每个元素都属于B集合。利用分治算法的目的是减少需要检测是否命中白样本的字符串数量。
在本说明书中,在计算假正例值之前,还可以先过滤所述多个白样本字符簇中未包含黑样本集中的字符串的白样本字符簇;然后再计算所述多个黑样本字符簇中的字符串在过滤后的白样本字符簇中的假正例值。
由于假正例值表示的是将黑样本错误预测为白样本,因此白样本字符簇未包含黑样本集中字符串的话,假正例值为0;这样的白样本字符簇对假正例值的计算没有帮助(任何数值加0依然等于数值本身),因此提前将这样的白样本字符簇过滤掉,可以减少假正例值计算时无意义的比对,从而提高计算效率。
在计算出黑样本字符簇中的字符串在白样本字符簇中的假正例值之后,可以将假正例值符合要求的黑样本字符簇中的字符串进行组合,得到字符串组合。其中,所述假正例值符合要求可以是指假正例值为0的情况,即在将假正例值为0的黑样本字符簇中的字符串进行组合。由于假正例值为0表示的是黑样本字符簇中的字符串没有同时出现在白样本集中,因此就排除了字符串错误的影响。
通过上述实施例,通过特征挖掘能够找到黑样本字符簇中的字符串组合后成为潜在风险的字符串组合。
步骤240:基于所述字符串组合生成对应的风险规则,识别网络中存在的恶意软件。
在挖掘出黑样本集中存在风险的字符串组合之后,可以生成对应的风险规则。进而可以基于生成的风险规则来识别网络中存在的恶意软件。
针对前述为所述黑样本字符簇补足剩余个数的字符串的情况,在基于所述字符串组合生成对应的风险规则之后,还包括:
对生成的风险规则进行压缩,以减少相同或相似的风险规则的数据量。
由于补足字符串时会引入冗余的字符串,因此会导致风险规则之间存在相同或相似逻辑的规则内容,通过规则压缩可以减少冗余的风险规则。
本说明书中,可以分别从规则数量和规则空间两个方面对风险规则进行压缩。
在一示例性的实施例中,所述对生成的风险规则进行压缩,包括:
当任一风险规则包含另一个风险规则时,保留最小长度的风险规则;
当任一风险规则命中的文件集覆盖另一个风险规则命中的文件集时,保留命中文件集数量最多的风险规则;
当多个风险规则存在交集时,提取相同部分的规则内容,不同部分的规则内容用逻辑或组合,合并为新的风险规则。
在一示例性的实施例中,所述对生成的风险规则进行压缩,包括:
在属于相同样本簇的多个风险规则中存在相同部分的规则内容时,将所述相同部分的规则内容替换为同一标识,并为该标识唯一关联被替换的规则内容。
依然以yara为例,根据yara规则语法使用私有规则引用方式构建规则时需要制定私有风险标识private_rule_id;当相同样本簇的多个风险规则中存在相同部分的规则内容时,可以为该相同部分的规则内容分配一个private_rule_id,并将原始的风险规则中该规则内容替换为private_rule_id。这样原始的风险规则可以通过private_rule_id引用关联的规则内容,以实现原有的规则逻辑,但整体风险规则的体积将大大减少。
例如在N个风险规则存在部分相同规则内容时,通过将这部分相同规则内容替换为同一标识。
以规则A=‘aaaaaa’&‘bbbbbb’&‘cccccc’;规则B=‘aaaaaa’&‘dddddd’&‘cccccc’为例;
为部分相同规则内容分配private_rule_id:
private_rule_id p1=‘aaaaaa’,private_rule_id p2=‘cccccc’;
进一步将基于private_rule_id替换上述规则A和规则B中部分相同规则内容,从而上述规则A和规则B将变为:
规则A=p1&‘bbbbbb’&p2
规则B=p1&‘dddddd’&p2。
如上所示通过规则标识(如private_rule_id)方式压缩风险规则,虽然风险规则的数量并没有变化,但不同风险规则下存在相同部分的字符串的大小是减少了,所以处理后的风险规则的体积是减少的。
在一示例性的实施例中,在生成了风险规则之后,可以将生成的风险规则加入已有的风险规则集合中以识别网络中存在的恶意软件。由于所述风险规则是基于字符串组合生成的,因此可以作为已有风险规则的补充,来弥补已有风险规则的不足,从而提高风险识别的覆盖率。其中,所述将所述风险规则加入已有的风险规则集合中,包括:
获取已有的风险规则集合对应的风控平台支持的规则格式;
将所生成的风险规则转换为所述风控平台支持的规则格式的风险规则,并将转换后的风险规则加入所述风控平台中已有的风险规则集合中。
如前所述,不同风控平台可能支持不同格式的风险规则;因此需要根据风控平台支持的格式类型,将生成的风险规则转换为风控平台支持的规则格式的风险规则。
以yara为例,yara是一种业内普遍使用的恶意软件识别的风控工具,yara支持的格式类型是yara格式,因此在将风险规则加入到yara中时,需要提前将风险规则转换为yara格式。
综上所述,本说明书中提供了一种更为高效的风险识别方案,通过挖掘黑样本集中的字符串之间进行组合后存在风险的字符串组合,从而提高用于生成风险规则的风险特征的质量,能够识别出更多更全面的恶意软件(提高风险覆盖率)。
与前述风险识别方法实施例相对应,本说明书还提供了风险识别装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书风险识别装置所在设备的一种硬件结构图,除了图3所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据风险识别实际功能,还可以包括其他硬件,对此不再赘述。
请参见图4,为本说明书一实施例提供的风险识别装置的模块图,所述装置对应了图2所示实施例,所述装置包括:
获取单元410,获取白样本集和黑样本集;
聚类单元420,对所述黑样本集和白样本集中的字符串进行聚类,得到多个黑样本字符簇和多个白样本字符簇;
计算单元430,计算所述多个黑样本字符簇中的字符串在所述白样本字符簇中的假正例值,将假正例值符合要求的黑样本字符簇中的字符串进行组合,得到字符串组合;
识别单元440,基于所述字符串组合生成对应的风险规则,并将所述风险规则加入已有的风险规则集合中以识别网络中存在的恶意软件。
可选的,在所述聚类单元420之前,还包括:
筛选单元,将所述黑样本集和白样本集输入到预先构建的集成模型中进行计算,以得到所述集成模型从所述黑样本集中识别的属于自然语言类型的字符串,和从所述白样本集中识别的属于自然语言类型的字符串;其中,所述集成模型包括多个自然语言模型进行集成学习得到的模型;将从所述黑样本集中识别的属于自然语言类型的字符串构建新的黑样本集;以及将从所述白样本集中识别的属于自然语言类型的字符串构建新的白样本集;
所述聚类单元420,用于对所述新的黑样本集和新的白样本集中的字符串进行聚类。
可选的,所述多个自然语言模型包括马尔可夫语言模型、熵模型、信息散度模型、拼字模型、英文文本模型、关联噪音模型中的至少两个。
可选的,在所述计算单元430之前,还包括:
过滤子单元,过滤所述多个白样本字符簇中未包含黑样本集中的字符串的白样本字符簇;
所述计算单元430,用于计算所述多个黑样本字符簇中的字符串在过滤后的白样本字符簇中的假正例值。
可选的,在所述聚类单元420之前,还包括:
去重子单元,对所述黑样本集中的相似字符串进行去重。
可选的,所述去重子单元,包括:
获取所述黑样本集中的各个字符串对应的重要度;其中,所述重要度表征的是字符串的重要程度;基于重要度对黑样本集中的字符串进行聚类,将相同重要度的字符串加入到一个聚类簇中;计算各个聚类簇中的字符串在白样本集中的假正例值;基于所述假正例值从各个聚类簇中确定出目标字符串,并将各个聚类簇中除所述目标字符串之外的字符串从所述黑样本集中删除。
可选的,在所述聚类单元之后,还包括:
处理子单元,在所述黑样本字符簇中的字符串的个数少于阈值时,为所述黑样本字符簇补足剩余个数的字符串;其中,所述剩余个数为所述黑样本字符簇中的字符串的个数与阈值之间的差值。
可选的,所述处理子单元中,为所述黑样本字符簇补足剩余个数的字符串,包括:
查询所述黑样本字符簇中的字符串是否位于白样本字符簇;如果是,将所述白样本字符簇中的字符串补充到所述黑样本中,直至所述黑样本中的字符串的个数达到阈值。
可选的,所述识别单元440,还包括:
压缩子单元,对生成的风险规则进行压缩,以减少相同或相似的风险规则的数据量。
可选的,所述压缩子单元,包括:
当任一风险规则包含另一个风险规则时,保留最小长度的风险规则;
当任一风险规则命中的文件集覆盖另一个风险规则命中的文件集时,保留命中文件集数量最多的风险规则;
当多个风险规则存在交集时,提取相同部分的规则内容,不同部分的规则内容用逻辑或组合,合并为新的风险规则。
可选的,所述压缩子单元,包括:
在属于相同样本簇的多个风险规则中存在相同部分的规则内容时,将所述相同部分的规则内容替换为同一标识,并为该标识唯一关联被替换的规则内容。
可选的,所述将所述风险规则加入已有的风险规则集合中,包括:
获取已有的风险规则集合对应的风控平台支持的规则格式;
将所生成的风险规则转换为所述风控平台支持的规则格式的风险规则,并将转换后的风险规则加入所述风控平台中已有的风险规则集合中。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上图4描述了风险识别装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述任一风险识别方法的实施例。
在上述电子设备的实施例中,应理解,该处理器可以是CPU,还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

Claims (14)

1.一种风险识别方法,所述方法包括:
获取白样本集和黑样本集;
对所述黑样本集和白样本集中的字符串进行聚类,得到多个黑样本字符簇和多个白样本字符簇;
计算所述多个黑样本字符簇中的字符串在所述白样本字符簇中的假正例值,并将假正例值为0的黑样本字符簇中的字符串进行组合,得到字符串组合;其中,所述假正例是指将属于黑样本的字符串错误预测为白样本的情况;
基于所述字符串组合生成对应的风险规则,识别网络中存在的恶意软件。
2.根据权利要求1所述的方法,还包括:
将所述黑样本集和白样本集输入到预先构建的集成模型中进行计算,以得到所述集成模型从所述黑样本集中识别的属于自然语言类型的字符串,和从所述白样本集中识别的属于自然语言类型的字符串;其中,所述集成模型包括多个自然语言模型进行集成学习得到的模型;
将从所述黑样本集中识别的属于自然语言类型的字符串构建新的黑样本集;以及将从所述白样本集中识别的属于自然语言类型的字符串构建新的白样本集;
所述对所述黑样本集和白样本集中的字符串进行聚类,包括:
对所述新的黑样本集和新的白样本集中的字符串进行聚类。
3.根据权利要求1所述的方法,还包括:
过滤所述多个白样本字符簇中未包含黑样本集中的字符串的白样本字符簇;
所述计算所述多个黑样本字符簇中的字符串在所述白样本字符簇中的假正例值,包括:
计算所述多个黑样本字符簇中的字符串在过滤后的白样本字符簇中的假正例值。
4.根据权利要求1所述的方法,在所述对所述黑样本集和白样本集中的字符串进行聚类之前,还包括:
对所述黑样本集中的相似字符串进行去重。
5.根据权利要求4所述的方法,所述对所述黑样本集中的相似字符串进行去重,包括:
获取所述黑样本集中的各个字符串对应的重要度;其中,所述重要度表征的是字符串的重要程度;
基于重要度对黑样本集中的字符串进行聚类,将相同重要度的字符串加入到一个聚类簇中;
计算各个聚类簇中的字符串在白样本集中的假正例值;
基于所述假正例值从各个聚类簇中确定出目标字符串,并将各个聚类簇中除所述目标字符串之外的字符串从所述黑样本集中删除。
6.根据权利要求1所述的方法,在所述对所述黑样本集和白样本集中的字符串进行聚类,得到多个黑样本字符簇和多个白样本字符簇之后,还包括:
在所述黑样本字符簇中的字符串的个数少于阈值时,为所述黑样本字符簇补足剩余个数的字符串;其中,所述剩余个数为所述黑样本字符簇中的字符串的个数与阈值之间的差值。
7.根据权利要求6所述的方法,所述为所述黑样本字符簇补足剩余个数的字符串,包括:
查询所述黑样本字符簇中的字符串是否位于白样本字符簇;
如果是,将所述白样本字符簇中的字符串补充到所述黑样本中,直至所述黑样本中的字符串的个数达到阈值。
8.根据权利要求1所述的方法,在基于所述字符串组合生成对应的风险规则之后,还包括:
对生成的风险规则进行压缩,以减少相同或相似的风险规则的数据量。
9.根据权利要求8所述的方法,所述对生成的风险规则进行压缩,包括:
当任一风险规则包含另一个风险规则时,保留最小长度的风险规则;
当任一风险规则命中的文件集覆盖另一个风险规则命中的文件集时,保留命中文件集数量最多的风险规则;
当多个风险规则存在交集时,提取相同部分的规则内容,不同部分的规则内容用逻辑或组合,合并为新的风险规则。
10.根据权利要求8所述的方法,所述对生成的风险规则进行压缩,包括:
在属于相同样本簇的多个风险规则中存在相同部分的规则内容时,将所述相同部分的规则内容替换为同一标识,并为该标识唯一关联被替换的规则内容。
11.根据权利要求1所述的方法,将所述风险规则加入已有的风险规则集合中,包括:
获取已有的风险规则集合对应的风控平台支持的规则格式;
将所生成的风险规则转换为所述风控平台支持的规则格式的风险规则,并将转换后的风险规则加入所述风控平台中已有的风险规则集合中。
12.一种风险识别装置,所述装置包括:
获取单元,获取白样本集和黑样本集;
聚类单元,对所述黑样本集和白样本集中的字符串进行聚类,得到多个黑样本字符簇和多个白样本字符簇;
计算单元,计算所述多个黑样本字符簇中的字符串在所述白样本字符簇中的假正例值,将假正例值为0的黑样本字符簇中的字符串进行组合,得到字符串组合;其中,所述假正例是指将属于黑样本的字符串错误预测为白样本的情况;
识别单元,基于所述字符串组合生成对应的风险规则,识别网络中存在的恶意软件。
13.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求1-11中任一项所述的方法。
14.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-11中任一项所述的方法。
CN202210693322.3A 2022-06-17 2022-06-17 风险识别方法及装置和电子设备 Active CN115189922B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210693322.3A CN115189922B (zh) 2022-06-17 2022-06-17 风险识别方法及装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210693322.3A CN115189922B (zh) 2022-06-17 2022-06-17 风险识别方法及装置和电子设备

Publications (2)

Publication Number Publication Date
CN115189922A CN115189922A (zh) 2022-10-14
CN115189922B true CN115189922B (zh) 2024-04-09

Family

ID=83512852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210693322.3A Active CN115189922B (zh) 2022-06-17 2022-06-17 风险识别方法及装置和电子设备

Country Status (1)

Country Link
CN (1) CN115189922B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8561193B1 (en) * 2010-05-17 2013-10-15 Symantec Corporation Systems and methods for analyzing malware
CN106469276A (zh) * 2015-08-19 2017-03-01 阿里巴巴集团控股有限公司 数据样本的类型识别方法及装置
CN108563713A (zh) * 2018-03-29 2018-09-21 阿里巴巴集团控股有限公司 关键词规则生成方法及装置和电子设备
CN109714356A (zh) * 2019-01-08 2019-05-03 北京奇艺世纪科技有限公司 一种异常域名的识别方法、装置及电子设备
CN110147823A (zh) * 2019-04-16 2019-08-20 阿里巴巴集团控股有限公司 一种风控模型训练方法、装置及设备
WO2019242443A1 (zh) * 2018-06-20 2019-12-26 深信服科技股份有限公司 一种基于字符串的恶意软件识别方法、***及相关装置
CN113221115A (zh) * 2021-07-09 2021-08-06 四川大学 基于协同学习的可视化恶意软件检测方法
CN113792291A (zh) * 2021-09-10 2021-12-14 全球能源互联网研究院有限公司 一种受域生成算法恶意软件感染的主机识别方法及装置
CN114629718A (zh) * 2022-04-07 2022-06-14 浙江工业大学 一种基于多模型融合的隐匿恶意行为检测方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8561193B1 (en) * 2010-05-17 2013-10-15 Symantec Corporation Systems and methods for analyzing malware
CN106469276A (zh) * 2015-08-19 2017-03-01 阿里巴巴集团控股有限公司 数据样本的类型识别方法及装置
CN108563713A (zh) * 2018-03-29 2018-09-21 阿里巴巴集团控股有限公司 关键词规则生成方法及装置和电子设备
WO2019242443A1 (zh) * 2018-06-20 2019-12-26 深信服科技股份有限公司 一种基于字符串的恶意软件识别方法、***及相关装置
CN109714356A (zh) * 2019-01-08 2019-05-03 北京奇艺世纪科技有限公司 一种异常域名的识别方法、装置及电子设备
CN110147823A (zh) * 2019-04-16 2019-08-20 阿里巴巴集团控股有限公司 一种风控模型训练方法、装置及设备
CN113221115A (zh) * 2021-07-09 2021-08-06 四川大学 基于协同学习的可视化恶意软件检测方法
CN113792291A (zh) * 2021-09-10 2021-12-14 全球能源互联网研究院有限公司 一种受域生成算法恶意软件感染的主机识别方法及装置
CN114629718A (zh) * 2022-04-07 2022-06-14 浙江工业大学 一种基于多模型融合的隐匿恶意行为检测方法

Also Published As

Publication number Publication date
CN115189922A (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
WO2017045443A1 (zh) 一种图像检索方法及***
EP3819785A1 (en) Feature word determining method, apparatus, and server
CN107229627B (zh) 一种文本处理方法、装置及计算设备
US20040083224A1 (en) Document automatic classification system, unnecessary word determination method and document automatic classification method
US20180349468A1 (en) Log analysis system, log analysis method, and log analysis program
CN108027814B (zh) 停用词识别方法与装置
CN112036145A (zh) 财务报表的识别方法、装置、计算机设备与可读存储介质
CN111291824A (zh) 时间序列的处理方法、装置、电子设备和计算机可读介质
CN113486664A (zh) 文本数据可视化分析方法、装置、设备及存储介质
CN115563196A (zh) 一种基于多源数据增强对象信息价值的方法及***
CN110619212B (zh) 一种基于字符串的恶意软件识别方法、***及相关装置
CN114722199A (zh) 基于通话录音的风险识别方法、装置、计算机设备及介质
CN112101024B (zh) 基于app信息的目标对象识别***
CN115189922B (zh) 风险识别方法及装置和电子设备
CN111291535B (zh) 剧本处理方法、装置、电子设备及计算机可读存储介质
CN109460555B (zh) 公文判定方法、装置及电子设备
CN111813964B (zh) 基于生态环境的数据处理方法及相关设备
CN112307235B (zh) 前端页面元素的命名方法、装置及电子设备
CN113688240A (zh) 威胁要素提取方法、装置、设备及存储介质
CN114298236A (zh) 非结构化内容相似度确定方法、装置和电子设备
CN113836297A (zh) 文本情感分析模型的训练方法及装置
CN113011301A (zh) 一种活体识别方法、装置及电子设备
CN111708908A (zh) 视频标签的添加方法及装置、电子设备、计算机可读存储介质
CN117474000B (zh) 用于提取化合物专利文件中的主题药物的方法及装置
CN110765263B (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