一种社工邮件防御方法、系统、电子设备及存储介质

文档序号:26835342发布日期:2021-09-29 06:16阅读:266来源:国知局
一种社工邮件防御方法、系统、电子设备及存储介质

1.本发明涉及网络空间安全领域,尤其涉及一种社工邮件防御方法、系统、电子设备及存储介质。


背景技术:

2.在网络空间安全领域,“社工”也称为“社会工程学(social engineering)”、“社交工程”、“社会工程”等,为了意涵的一致性和描述的便利性,在本技术中统一用“社工”这一术语。
3.社工邮件攻击是一种以电子邮件作为载体的社工攻击方式,也是许多高级持续性威胁(advanced persistent threat,apt)攻击得以开展、奏效的惯用手段和关键因素。不同于常见的钓鱼邮件,社工邮件采用的手段更多样,攻击范围更广泛并且攻击目的也更多元,其形式与真实邮件更接近,对接收人的认知和行为的影响程度的差异性也更大。通常,攻击者会精心构建社工邮件。社工邮件攻击可以是与钓鱼邮件攻击类似,是为了骗取用户信任、传播恶意代码或触发钓鱼链接。但是,社工邮件的攻击目的更加多样化,只要能通过邮件内容影响到用户的认知、心理或者行为,进而促进社工攻击过程的,都在社工邮件的范畴之内。在邮件的内容和形式上,社工邮件的内容与正常(非攻击性的、真实的)邮件的内容表面上可能差异不大,社工邮件可以包含或不包含攻击目标相关的真实信息,包含或不包含恶意链接或恶意代码/附件,而只是传递一种误导性的、影响性的信息。与此同时,一些攻击者以已知的、取得受害者信任的社工邮件或正常邮件为基础,构造新的社工邮件,即变种社工邮件,这种邮件通常隐蔽性更高,与正常的邮件也更难区分,因此社工邮件及其变种社工邮件也更难防御。
4.现有技术主要关注钓鱼邮件,通常基于黑名单、白名单等规则对钓鱼邮件进行识别与防御,也有采用机器学习方法、基于文本特征的识别方法。这些方法对特定的钓鱼邮件检测是有效的,但对社工邮件的适用有限。另外,通过机器学习等对钓鱼邮件有效的识别方法往往依赖于较大的样本数据集,而现实中社工邮件的原始样本较少,而且这些样本之间可能具有离散性、差异性的特点。因此,现有技术方法不能满足对社工邮件及变种社工邮件的识别和防御。


技术实现要素:

5.针对现有技术存在的问题,本发明的实施例提供了一种社工邮件防御方法、系统、电子设备及存储介质。
6.具体地,本发明实施例提供了以下技术方案:
7.第一方面,本发明实施例提供了一种社工邮件防御方法,包括:
8.构建社工邮件特征知识库;
9.基于所述社工邮件特征知识库,构建社工邮件自适应集成识别模型;
10.使用所述社工邮件自适应集成识别模型对待识别邮件进行识别,得到邮件识别结
果;
11.根据所述邮件识别结果,对识别出来的社工邮件进行防御。
12.进一步地,所述构建社工邮件特征知识库包括:
13.构造基本词元素特征知识库;
14.构造句子结构特征知识库;
15.构造主干内容特征知识库;
16.和/或,构造附件特征知识库。
17.进一步地,所述基于所述社工邮件特征知识库,构建社工邮件自适应集成识别模型包括:
18.构建基于基本词元素的社工邮件识别子模型;
19.构建基于句子结构的社工邮件识别子模型;
20.构建基于主干内容的社工邮件识别子模型;
21.和/或,构建基于附件的社工邮件识别子模型。
22.进一步地,所述基于所述社工邮件特征知识库,构建社工邮件自适应集成识别模型还包括:
23.为各个子模型设计子模型自适应识别算法,以得到子模型识别结果;
24.设计集成决策算法,以根据所述子模型识别结果通过集成决策得到邮件识别结果。
25.进一步地,所述为各个子模型设计子模型自适应识别算法,以得到子模型识别结果包括:
26.计算所述子模型得出的待识别邮件与社工邮件的匹配度分布;
27.计算所述匹配度分布中的最密集区;
28.根据所述最密集区计算最佳分类阈值,从而得到所述子模型的识别结果。
29.进一步地,使用所述社工邮件自适应集成识别模型对待识别邮件进行识别,得到邮件识别结果包括:
30.提取所述待识别邮件的基本词元素特征;
31.提取所述待识别邮件的句子结构特征;
32.提取所述待识别邮件的主干内容特征;
33.和/或,提取所述待识别邮件的附件特征;
34.将所述待识别邮件的基本词元素特征、句子结构特征、主干内容特征和/或附件特征输入所述社工邮件自适应集成识别模型,得到所述邮件识别结果。
35.进一步地,所述根据所述邮件识别结果,对识别出来的社工邮件进行防御包括:
36.对所述识别出来的社工邮件进行标定、拦截,然后对用户进行预警通知。
37.第二方面,本发明实施例提供了一种社工邮件防御系统,包括:
38.知识库构建模块,用于构建社工邮件特征知识库;
39.识别模型构建模块,用于基于所述社工邮件特征知识库,构建社工邮件自适应集成识别模型;
40.社工邮件识别模块,用于使用所述社工邮件自适应集成识别模型对待识别邮件进行识别,得到邮件识别结果;
41.防御模块,用于根据所述邮件识别结果,对识别出来的社工邮件进行防御。
42.第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述社工邮件防御方法的步骤。
43.第四方面,本发明实施例提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述社工邮件防御方法的步骤。
44.根据本发明实施例提供的社工邮件防御方法,通过构建社工邮件自适应集成识别模型,具体包括基于基本词元素的社工邮件识别子模型、基于句子结构的社工邮件识别子模型、基于主干内容的社工邮件识别子模型、和/或基于附件的社工邮件识别子模型,并对每个子模型设计子模型自适应识别算法,并通过集成决策算法,能够有效识别社工邮件及其变种社工邮件,实现对社工邮件及其变种社工邮件的识别和防御。
附图说明
45.图1为本发明实施例提供的一种社工邮件防御方法的主体流程示意图。
46.图2为本发明实施例提供的一种社工邮件防御方法的详细流程示意图。
47.图3为本发明实施例提供的社工邮件防御系统的结构示意图。
48.图4是根据本发明实施例的电子设备的示意图。
具体实施方式
49.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.参考图1和图2,图1为本发明实施例提供的一种社工邮件防御方法的主体流程示意图,图2为本发明实施例提供的一种社工邮件防御方法的详细流程示意图,所述方法详述如下。
51.步骤s1,构建社工邮件特征知识库。
52.参考图2,具体地,首先需要获取已知社工邮件m
i
,其中i表示邮件编号,可以通过从包括已知社工邮件的数据集来得到原始样本。并对已知社工邮件进行预处理,将已知社工邮件的内容解析为邮件主题、邮件主体和附件三个主要部分。
53.接着从邮件主题和邮件主体提取已知社工邮件的基本词元素特征,句子结构特征,主干内容特征,以及从附件提取附件特征。并分别构建包括基本词元素特征知识库、句子结构特征知识库、主干内容特征知识库以及附件特征知识库的社工邮件特征知识库。
54.构造基本词元素(单词)特征知识库。对于每一封已知社工邮件m
i
,提取邮件中的所有基本词元素,去停用词,然后查找并加入每个词元素的同义词进行扩展,再对扩展后的所有词元素进行词干提取和词形还原,形成社工邮件m
i
的基本词元素特征集。对每封社工邮件分别创建词元素特征集,用所有社工邮件的词元素特征集来构成基本词元素特征知识库。
55.构造句子结构特征知识库。对于每一封已知社工邮件m
i
,以句子为单位对邮件内
容进行分割,再对每个句子的结构进行编码。句子结构的编码算法不限,可选地,本实施例中采用的句子结构编码算法如下:首先对句子分词,然后逐词进行词性标注,用词性英文字母的首字母代替词元素构成句子的结构编码,形成句子结构特征知识库。
56.构造主干内容特征知识库。对于每一封已知社工邮件m
i
,提取邮件主干内容并计算主干内容的特征值。计算主干内容特征值的算法不限,可选地,本实施例中采用simhash算法作为计算主干内容特征值的算法。具体计算特征值的步骤如下:一、提取文本主干:首先,基于词频统计的方法,构建<词

权重>对,按照权重大小依次排序。然后对邮件内容以句为单位进行分割,将每个句子中出现的所有词的权重总和作为句子的重要性度量,依次由大到小按句子的重要性进行排序,截取文本中最重要的前n个句子,n为正整数,再按原来句子的相对顺序恢复语句顺序,构成文本主干。二、对文本主干中的词元素进行同义词替换,将具有同义词的词元素全部替换为代表词,消除不同形式的同义词造成的主干文本距离偏差。三、主干特征值计算:得到同义词替换后的主干,计算该主干的simhash值,并将计算后的结果加入到主干内容特征知识库中。
57.构造附件特征知识库。对于每一封已知社工邮件m
i
,计算其附件文件的特征值。附件特征值的计算算法不限,本实施例选用sha256作为附件的特征值。步骤如下:对每一份附件计算其sha256值作为该附件的指纹,保存所有指纹,构成附件特征知识库。
58.步骤s2,构建社工邮件及其变种的自适应集成识别模型。
59.参考图2,具体地,假设有待识别邮件g
j
,其中j表示待识别邮件编号,待识别邮件可能为社工邮件及其变种。构建将待识别邮件g
j
作为输入的社工邮件及其变种的集成识别子模型,其中待识别邮件g
j
为基本词元素特征、句子结构特征、主干内容特征以及附件特征的形式。集成识别子模型包括基于基本词元素的社工邮件识别子模型、基于句子结构的社工邮件识别子模型、基于主干内容的社工邮件识别子模型以及基于附件的社工邮件识别子模型。
60.构建基于基本词元素的社工邮件识别子模型。从基本词元素特征知识库中获取每封已知社工邮件m
i
的词元素特征集,从输入中获得待识别邮件g
j
的词元素特征,计算并记录每封已知社工邮件m
i
与待识别社工邮件g
j
所有词元素特征的匹配度t
ij
,记录在集合中:
61.item={t
ij
|m
i
∈已知社工邮件集,g
j
∈待识别邮件集}。
62.构建基于句子结构的社工邮件识别子模型。从句子结构特征知识库中获取每封已知社工邮件m
i
的句子结构特征,从输入中获得待识别邮件g
j
的句子结构特征,计算并记录每封已知社工邮件m
i
与所有待识别邮件g
j
句子结构特征的近似度s
ij
,记录在集合structure中:
63.structure={s
ij
|m
i
∈已知社工邮件集,g
j
∈待识别邮件集}。
64.构建基于主干内容的社工邮件识别子模型。从主干内容特征知识库中获取每封已知社工邮件m
i
的主干内容特征,从输入中获得待识别邮件的主干内容特征,计算并记录每封已知社工邮件m
i
与所有待识别邮件g
j
主干内容特征的距离d
ij
,记录在集合distance中:
65.distance={d
ij
|m
i
∈已知社工邮件集,g
j
∈待识别邮件集}。
66.构建基于附件的社工邮件识别子模型。从附件特征知识库中获取每封已知社工邮件m
i
的附件特征。从输入中获得待识别邮件g
j
的附件特征,计算所有待识别邮件g
j
的附件特征a
j
,记录在集合attachment中:
67.attachment={a
j
|g
j
∈待识别邮件集}。
68.在构建的社工邮件及其变种的集成识别子模型的基础上,设计子模型自适应识别算法。子模型自适应识别算法的基本原理是对于每个识别子模型,记录所有待识别社工邮件的计算结果,根据输出结果的分布情况,使用自适应算法找到最佳分类阈值,根据最佳分类阈值进行识别。以基本词元素的邮件识别子模型自适应为例,本实施例中的自适应识别算法设计如下:
69.一,对已知社工邮件m
i
,首先统计m
i
与所有待识别邮件的词元素匹配度的分布情况。已知基于基本词元素的社工邮件识别子模型计算出的匹配度集合为item,设item的取值范围为b
lower

b
upper
。将b
lower

b
upper
均分为10等份,形成10个间隔,使用b表示第b个间隔。然后统计每个间隔中落入的t
ij
的个数,记为n
j,b
,1≤b≤10,即已知社工邮件m
i
与所有待识别邮件的词元素匹配度分布。
70.二,获得每两个间隔之间的梯度,记为:
71.gradient
j,c
=n
j,b+1

n
j,b
,1≤c≤9。
72.三,计算分布中的最密集区。将梯度gradient
j,c
分组,每个组内的模式为f*n*模式的最长匹配,其中f表示大于等于0的梯度,n表示小于0的梯度。
73.四,对每个组中所有梯度的绝对值求和。定位到绝对值求和最大的两个组,分别以第一个负向梯度的位置作为最密集区的位置,可以得到两个最密集区位置p1和p2。以作为最佳分类阈值的位置,映射到b
lower

b
upper
在该位置对应的实际取值,作为最佳分类阈值。
74.其余几种识别子模型的自适应识别算法步骤同上。
75.设计集成决策算法。在得到四个子模型的自适应识别算法的识别结果后,通过集成决策得到最终社工邮件防御系统的识别结果。可选地,本实施例中采用多数投票法,即摩尔投票算法(boyer

moore majority vote algorithm),以单个识别算法的识别结果为基础,采用少数服从多数的原则确定系统识别的邮件类型。
76.步骤s3,待识别邮件的预处理与识别。
77.待识别邮件预处理。将待识别邮件的内容解析为邮件主题、邮件主体和附件三个主要部分。
78.提取待识别邮件的基本词元素特征。提取邮件中所有的基本词元素,去停用词,然后进行词干提取和词形还原,提取出待识别邮件的基本元素特征。
79.提取待识别邮件的句子结构特征。将待识别邮件的邮件内容以句子为单位进行分割,再对每个句子的结构进行编码。本实施例选用句子结构编码算法如下:首先对句子分词,然后逐词进行词性标注,用词性英文字母的首字母代替词元素构成句子的结构编码。
80.提取待识别邮件的主干内容特征。计算主干内容特征值的算法不限,本实施例选用simhash作为计算主干内容特征值的算法。具体计算特征值的步骤如下:一、提取文本主干:首先,基于词频统计的方法,构建<词

权重>对,按照权重大小依次排序。然后对邮件内容以句为单位进行分割,将每个句子中出现的所有词的权重总和作为句子的重要性度量,依次由大到小按句子的重要性进行排序,截取文本中最重要的前n个句子,n为正整数,再按原来句子的相对顺序恢复语句顺序,构成文本主干。二、对文本主干中的词元素进行同义词
替换,将具有同义词的词元素全部替换为代表词,消除不同形式的同义词造成的主干文本距离偏差。三、主干特征值计算:得到同义词替换后的主干,计算该主干的simhash值作为变种邮件主干内容的特征。
81.提取待识别邮件的附件特征。计算待识别邮件的附件文件的特征值。本实施例选用sha256作为附件的特征值。步骤如下:对每一份附件计算其sha256值作为该附件的指纹,保存所有指纹,构成附件特征。
82.对上述待识别邮件的基本词元素特征、句子结构特征、主干内容特征以及附件特征采用步骤s2中所述社工邮件自适应集成识别模型进行识别。
83.步骤s4,社工邮件及其变种的防御。本实施例处置方式如下:首先对识别出的待识别邮件进行标定、拦截,然后对用户进行预警通知。
84.下面对本发明提供的社工邮件防御系统进行描述,下文描述的社工邮件防御系统与上文描述的社工邮件防御方法可相互对应参照。参考图3,图3为本发明实施例提供的社工邮件防御系统的结构示意图。社工邮件防御系统,包括:
85.知识库构建模块310,用于构建社工邮件特征知识库;
86.识别模型构建模块320,用于基于所述社工邮件特征知识库,构建社工邮件自适应集成识别模型;
87.社工邮件识别模块330,用于使用所述社工邮件自适应集成识别模型对待识别邮件进行识别,得到邮件识别结果;
88.防御模块340,用于根据所述邮件识别结果,对识别出来的社工邮件进行防御。
89.图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行社工邮件防御方法,该方法包括:构建社工邮件特征知识库;基于所述社工邮件特征知识库,构建社工邮件自适应集成识别模型;使用所述社工邮件自适应集成识别模型对待识别邮件进行识别,得到邮件识别结果;根据所述邮件识别结果,对识别出来的社工邮件进行防御。
90.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的社工邮件防御方法,该方法包括:构建社工邮件特征知识库;基于所述社工邮件特征知识库,构建社工邮件自适应集成识别模型;使用所述社工邮件自适应集成识别模型对待识别邮件进行识别,得到邮件识别结果;根据所述邮件识别结果,对识别出来的社工邮件进行防御。
91.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的社工邮件防御方法,该方法包括:构建社工邮件特征知识库;基于所述社工邮件特征知识库,构建社工邮件自适应集成识别模型;使用所述社工邮件自适应集成识别模型对待识别邮件进行识别,得到邮件识别结果;根据所述邮件识别结果,对识别出来的社工邮件进行防御。
92.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
93.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
94.虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1