一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向社交网络的安全社区发现方法

2022-12-03 01:27:30 来源:中国专利 TAG:


1.本发明属于网络安全领域,具体设计一种面向社交网络中安全社区的发现方法。


背景技术:

2.在当今的网络格局中,对高级攻击或漏洞利用的防范手段日益困难。攻击者拥有大量的资金、精湛的技术和丰富的经验,他们不仅仅提高自身的攻击技术,还善于找到包括管理、人员等企业防护的薄弱环节。面对如此复杂的网络攻防现状,一种应对网络攻击的方式是关注社交网络中活跃的安全社区,并对其进行监视和了解,挖掘其内部生态的同时并对网络安全事件进行启发式地识别。社交网络逐渐成为人们进行日常社交活动不可或缺的一部分,其也吸引了大量活跃的黑客。
3.社交网络的数据规模庞大,涉及各行各业的用户,网络安全领域相关的账号仅占社交网络的少部分,而对安全社区这一结构化的数据进行发现则更为困难。通过人工手动分析社交网络上的黑客社区需要大量的时间以及专业背景,因此需要提出一种方法或工具对社交网络账号数据进行自动化的分析,发现其中隐藏的黑客社区。
4.目前研究社区发现的方法大致分为三类:传统方法、深度学习方法和基于图神经网络的社区发现方法。传统方法大多数基于统计推断和机器学习发展而来。与机器学习的方法相比,深度学习能够处理高维数据情形下的社区发现问题。然而,社区检测任务需要处理包含节点元素之间丰富的非欧几里得图数据,传统的深度学习模型则不能很好地处理。图神经网络作为用于处理图数据的神经网络,可用于弥补这一缺陷。
5.本发明通过社交网络上的同质性分析以批量获取潜在的安全账号,运用机器学习算法加以判别,使用图神经网络挖掘其中的隐式组织关系,实现社交网络上安全社区的发现。


技术实现要素:

6.有鉴于此,本发明提供了一种针对社交网络中安全社区的发现方法,旨在挖掘社交网络上的安全社区,解决社交网络中安全社区发现难的问题。
7.一种针对社交网络中安全社区的发现方法,所述方法包括:步骤 1:手动筛选社交网络上所关注网络安全领域的特定安全人员账号作为种子账号;步骤2:利用单个种子账号的关联信息缩小采样范围,依据种子账号的关联账号构成自我网络,同时对自我网络中的账号数据进行采集作为第一层数据集;步骤3:对第一层数据集中所有账号的文本数据进行预处理后,提取所有账号特征,得到包含所有账号的特征矩阵作为第二层数据集;步骤4:使用基于改进后的gbdt模型对第二层数据集中的账号进行判别,剔除非安全人员账号,更新得到仅包含安全人员账号数据的第三层数据集;步骤5:依据步骤4得到的第三层数据集中的安全人员账号作为节点,节点间的双
向关注关系构建初始社交拓扑图,从不同的角度对网络结构间的关联进行建模,以此作为策略依据对边关系进行剪枝,得到包含初始社交拓扑图的第四层数据集;步骤6:选取步骤5生成的第四层数据集进行局部网络的扩展,以度中心性作为基准选取候选迭代节点,得到包含完整局部网络结构的第五层数据集;步骤7:根据第五层数据集中的节点特征矩阵和邻接矩阵,基于图神经网络构建下游的重叠社区发现任务,完成对安全社区的划分。
8.优选的,所述种子账号的筛选流程包括:步骤1a:手动筛选社交网络上所关注网络安全领域的特定安全人员账号,方法包括:(1) 基于粉丝量并观察账号内容是否包含网络安全热点事件或主题,收集满足要求的社交网络账号;(2) 基于网络安全领域机构查找相应的社交网络账号,并收集账号;(3) 基于关键词查找该领域的影响力较高的文本内容,并收集所属账号。
9.优选的,所述第一层数据集的采集流程包括:步骤2a:利用单个种子账号的关联信息缩小采样范围,通过网络爬虫和开发者接口采集该种子账号的个人资料和文本数据;步骤2b:统计个人资料中与种子账号具备关注关系以及在文本数据中产生交互行为的关联账号集合,构成自我网络,并对其中的账号进行去重;步骤2c:再次利用网络爬虫与开发者接口进行关联账号的个人资料与文本数据采集,完成第一层数据集的获取。
10.优选的,所述第二层数据集中账号文本数据预处理及账号特征提取流程包括:步骤3a:将所有的文本数据翻译为英文,便于后续的统一预处理;步骤3b:从收集到的账号文本数据中去除非ascii字符、标点符号和停用词;步骤3c:将文本中所有单词中的大写字母全部由小写字母替换,并使用nltk进行词形还原;步骤3d:使用特征工程方法对第一层数据集中的账号从如下四个角度生成特征:资料特征:账号名特征、账号社交特征、账号设置特征;行为特征:账号发文特征、发文来源特征;文本特征:文本可读性、关键词特征;时序特征:发文时序特征;步骤3e:得到包含账号预处理数据及节点特征矩阵的第二层数据集。
11.优选的,所述第三层数据集中采集账号判别流程包括:步骤4a:根据步骤3中预处理后的第二层数据集,得到节点特征矩阵作为训练集,依据账号内容是否包含网络安全领域知识,人工将训练用账号分为安全账号与无关两类;步骤4b:使用改进后的gbdt模型对训练集进行训练,其中训练数据集为,,为输入空间,,为输出空间,训练的步骤如下:(1) 初始化弱学习器,,损失函数为平方损失;
(2) 建立棵分类回归树,通过公式,计算第棵树对应的响应值;(3) 利用cart回归树拟合数据,得到第棵回归树,其对应的叶子节点区域为,其中,为第棵回归树叶子节点的个数;(4) 通过公式计算出个叶子节点区域的最佳拟合值;(5) 为避免gbdt陷入过拟合,依据公式更新强学习器,并增加了gbdt的迭代次数,为改进后的减小残差收敛次数的参数;步骤4c:使用训练好的分类模型预测其余未经人工标注账号是否为安全人员账号,移除第二层数据集中分类模型预测为非安全人员帐号,更新后得到第三层数据集。
12.优选的,所述第四层数据集中社交拓扑图构建及边剪枝过程包括:步骤5a:使用步骤4中得到的第三层数据集初始化网络结构,安全人员账号作为网络节点,并采用账号间的双向关注关系作为网络结构中的边关系;步骤5b:利用账号间的交互关系、内容相似程度、好友粉丝相关性对网络中的关联进行建模:(1) 统计账号间产生过的互动次数用于表征账号间的交互关系;(2) 计算账号间的内容相似程度,通过互信息对文本数据中的关键词进行筛选,并选取前个关键词用于表征账号内容,最后采用余弦相似度算法计算两个账号间的相似程度;(3) 计算账号间的社交结构的相似性,即两账号好友与粉丝列表的交集与并集之比;步骤5c:构建剪枝策略对边关系进行裁剪,剪枝策略如下:(1) 账号间存在交互关系,表明账号间存在的社交关联;(2) 账号间社交结构与内容存在相似性,表明账号间存在同质性;步骤5d:移除不满足上述策略的边关系,同时更新构建的网络结构,得到第四层数据集。
13.优选的,所述第五层数据集中局部网络扩展流程包括:步骤6a:依据步骤5中得到的第四层数据集中的初始社交拓扑图构建度局部网络,为自然数,当时,所述局部网络即为以种子账号为中心的自我网络;当时,局部网络还包括与迭代节点的度候选邻居节点直接连接的邻居节点;步骤6b:手动设置度中心性阈值,选取初始社交拓扑图中度中心性达到阈值的节点作为种子账号重复步骤2-4,并在初始社交拓扑图基础上采用步骤5的策略进行节点的扩充,候选迭代节点为度中心性同样达到阈值的新扩充节点,完成局部网络的扩展后得到最终的第五层数据集。
14.优选的,所述安全社区划分流程包括:步骤7a:依据步骤6中得到的第五层数据集,将节点特征矩阵与节点邻接矩阵作
为共同输入,使用图神经网络结合伯努利-泊松图生成模型进行重叠社区发现,并手动尝试设定不同的社区数目使结果最优,其中社区发现模型的具体步骤如下:(1) 采用伯努利-泊松模型进行图生成,给定从属关系,依据公式对邻接矩阵进行采样,其中是节点的社区从属行向量;(2) 采用如下算式定义伯努利-泊松模型的负对数似然损失函数:其中和分别表示边和非边上的均匀分布;(3) 利用神经网络参数来最小化负对数似然函数,如;(4) 图神经网络定义为;(5) 基于步骤(4)定义的模型,将节点特征矩阵与节点邻接矩阵作为共同输入,得到最终的社区划分结果。
15.本技术提供了一种针对社交网络中安全社区的发现方法,填补了现有技术的空缺,本发明的有益效果是:以社交网络为落脚点,从单个种子用户出发,根据关联分析扩展生成局部网络,通过特征工程实现了一种简单可行的安全人员识别方案,结合剪枝策略优化拓扑图中的边关系,结合图结构与节点特征完成了对潜在社区的识别,为相关从业人员提供从海量社交网络数据中挖掘安全社区的策略,可应用于企业防御与安全研究。
附图说明
16.为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为本技术实施例提供的针对社交网络中安全社区的发现方法。
18.图2为本技术实施例提供的社交拓扑图构建的流程示意图。
具体实施方式
19.下面结合附图和具体实施方式对本发明的具体实施方式做进一步详细描述。以下实施例或者附图用于说明本发明,但不用来限制本发明的范围。
20.参见图1,图1为本技术实施例提供的针对社交网络中安全社区的发现方法流程图,包括:步骤1:手动筛选社交网络上所关注网络安全领域的特定安全人员账号作为种子账号;步骤2:利用单个种子账号的关联信息缩小采样范围,依据种子账号的关联账号构成自我网络,同时对自我网络中的账号数据进行采集作为第一层数据集;步骤3:对第一层数据集中所有账号的文本数据进行预处理后,提取所有账号特征,得到包含所有账号的特征矩阵作为第二层数据集;
步骤4:使用基于改进后的gbdt模型对第二层数据集中的账号进行判别,剔除非安全人员账号,更新得到仅包含安全人员账号数据的第三层数据集;步骤5:依据步骤4得到的第三层数据集中的安全人员账号作为节点,节点间的双向关注关系构建初始社交拓扑图,从不同的角度对网络结构间的关联进行建模,以此作为策略依据对边关系进行剪枝,得到包含初始社交拓扑图的第四层数据集;步骤6:选取步骤5生成的第四层数据集进行局部网络的扩展,以度中心性作为基准选取候选迭代节点,得到包含完整局部网络结构的第五层数据集;步骤7:根据第五层数据集中的节点特征矩阵和邻接矩阵,基于图神经网络构建下游的重叠社区发现任务,完成对安全社区的划分。
21.对于筛选社交网络上所关注网络安全领域的特定安全人员账号,其具体步骤包括:步骤1a:手动筛选社交网络上所关注网络安全领域的特定安全人员账号,方法包括:(1) 基于粉丝量并观察账号内容是否包含网络安全热点事件或主题,收集满足要求的社交网络账号;(2) 基于网络安全领域机构查找相应的社交网络账号,并收集账号;(3) 基于关键词查找该领域的影响力较高的文本内容,并收集所属账号;步骤1b:利用网络爬虫和开发者接口采集选定种子账号的个人资料和文本数据;可选地,如果本实施例在运行一段时间后,社区内人员已发生较大变动,则可以重新进行步骤1b,并重新进行模型训练以获取社区划分结果。
22.对于第一层数据集的采集,其具体步骤包括:步骤2a:选择一个已采集的种子账号,统计与之具备关注及粉丝关系的所有账号id;步骤2b:统计文本数据中与种子账号存在交互关系的所有账号id,交互行为包括评论、转发、点赞、引用、提及、回复;步骤2c:将上述的所有账号id去重后,以种子账号为中心构成自我网络,利用网络爬虫和开发者接口采集所有账号的个人资料和文本资料,完成第一层数据集的采集。
23.对于第二层数据集中账号文本数据预处理及账号特征提取流程,其具体步骤包括:步骤3a:将所有的文本数据翻译为英文,便于后续的统一预处理;步骤3b:从收集到的账号文本数据中去除非ascii字符、标点符号和停用词;步骤3c:将文本中所有单词中的大写字母全部由小写字母替换,并使用nltk进行词形还原;步骤3d:考虑到个人资料可用于区别不同的账号,提取的资料特征包括:提取账号名中的字母数、数字数和大写字母数;提取账号的好友数、粉丝数和二者的比率;提取账号是否设置位置信息和个人介绍链接;步骤3e:考虑到发布文本的各种行为可对账号的习惯进行表征,提取的行为特征包括:
提取账号已发布的文本总条数;提取账号发布文本中出现的链接、标签和各种行为的平均数目;提取账号发布文本使用的设备的多样性,通过玛格列夫丰富度指数进行计算;步骤3f:考虑到账号发布文本的时间序列可以对账号的活跃程度进行表征,提取的时序特征包括:提取时间序列间隔的平均值、标准分布、最大值与最小值;提取最近一周的文本条数占所有文本总条数的比例;步骤3g:考虑到账号的文本内容可以反应账号在领域内的关注话题,通过提取安全领域的关键词作为特征,提取步骤包括:收集安全领域的文本语料以及安全无关的一般文本语料,并进行步骤3b、3c的数据预处理;prototypical keywords用于提取特定类别人员的常用词法表达,其可用公式1来计算:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)为单词在类别的语料中被提及的次数;weirdness score假定特定类别的语料中的词汇分布相较于一般语料中的单词分布明显不同,其可用公式2来计算:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中和分别为特定语料与一般语料中单词的出现频次,而和则为语料中的总词汇量;tf-idf用于评估单词对于一个语料库中其中一份语料的重要程度,tf为某个词在文章中出现的词频,idf即逆文档频率,其可用公式3来计算:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中为语料库的文档总数,为包含该词的文档总数,由于只包含两类语料,此处值为2;选取上述三种提取方法提取的前个关键词,去重后作为特征关键词,每个账号的特征采用公式4的方式进行计算:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)其中是关键词在账号文本数据中出现的次数,是账号文本数据的字词集合;依次对第一层数据集中的每个账号节点进行特征提取,得到包含节点特征矩阵的第二层数据集;可选地,如果本实施例在运行一段时间后,当前安全人员识别模型已无法高精度地完成任务,则可以重新进行步骤3g,或者增加提取的关键词特征数量,并重新进行模型训练以适应网络安全领域词法的变化。
24.对于判别采集的账号是否属于安全账号,剔除以得到第三层数据集的具体步骤包
括:步骤4a:根据步骤3中预处理后的第二层数据集,得到节点特征矩阵作为训练集,依据账号是否从事网络安全领域,人工将训练用账号分为安全账号与无关两类;步骤4b:将标记完成的节点特征矩阵作为训练集,其中训练数据集为,,为输入空间,,为输出空间;步骤4c:初始化弱学习器,如公式5所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其中损失函数为平方损失;步骤4d:建立棵分类回归树,通过公式6,计算第棵树对应的响应值:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)步骤4e:利用cart回归树拟合数据,得到第棵回归树,其对应的叶子节点区域为,其中,为第棵回归树叶子节点的个数;步骤4f:对于个叶子节点区域,通过公式7计算出最佳拟合值:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)步骤4g:为避免gbdt陷入过拟合,依据公式,更新强学习器,并增加了gbdt的迭代次数,为改进后的减小残差收敛次数的参数;步骤4h:将其余未经人工标注的账号数据输入到训练好的分类模型,模型会输出一个0到1之间的数字。当输出数字大于等于0.5时,则表示分类模型认为该账号为安全账号。优选地,只保留被分类模型预测为安全账号的账号数据进行后续的社区划分,即剔除第二层数据集中的非安全人员账号,更新得到第三层数据集。
25.参见图2,图2为本技术实施例社交拓扑图的建立构建及边关系剪枝,其具体步骤包括:步骤5a:使用步骤4中得到的第三层初始化网络结构,账号作为社交拓扑图中的节点,并采用双向关注构建边关系;步骤5b:利用账号间的交互关系、内容相似程度、好友粉丝相关性对网络中的关联进行建模:(1) 统计账号间产生过的互动次数用于表征账号间的交互关系;(2) 计算账号间的内容相似程度,通过互信息对文本数据中的关键词进行筛选,并选取前个关键词用于表征账号内容,最后采用余弦相似度算法计算两个账号间的相似程度;(3) 计算账号间的社交结构的相似性,即两账号好友与粉丝列表的交集与并集之比;步骤5c:使用如下的剪枝策略对账号间的边关系进行缩减:考虑到交互关系的关联程度较强,若账号间存在交互关系,则保留边关系;考虑到社交网络上的同质性,若账号间内容存在相似,且好友粉丝任一存在相关,
则保留边关系;若满足以上策略之一则保留边关系,反之则删除,更新社交拓扑图中的网络结构,得到第四层数据集。
26.对于局部网络的扩展,得到包含完整局部网络结构的第五层数据集,其具体步骤包括:步骤6a:依据步骤5中得到的第四层数据集中的初始社交拓扑图构建度局部网络,为自然数,当时,所述局部网络即为以种子账号为中心的自我网络;当时,局部网络还包括与迭代节点的度候选邻居节点直接连接的邻居节点;步骤6b:手动设置度中心性阈值,选取初始社交拓扑图中度中心性达到阈值的节点作为种子账号重复步骤2-4,并在初始社交拓扑图基础上采用步骤5的策略进行节点的扩充,候选迭代节点为度中心性同样达到阈值的新扩充节点,完成局部网络的扩展后得到最终的第五层数据集。
27.对于重叠社区发现模型的构建,其具体步骤如下:步骤7a:依据步骤6中得到的第五层数据集,将节点特征矩阵与节点邻接矩阵作为共同输入,并手动设置划分的社区数目;步骤7b:考虑到真实世界的社区分布通常是重叠的,采用伯努利-泊松模型进行图生成,给定从属关系,邻接矩阵采样如公式8:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)其中是节点的社区从属行向量。伯努利-泊松模型的负对数似然损失函数定义如公式9:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)其中和分别表示边和非边上的均匀分布。并利用神经网络参数来最小化负对数似然函数,如公式10所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)步骤7c:通过图卷积网络生成,使用的网络定义如公式11所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)使用两层图卷积层,保证了的非负性,其中 为归一化邻接矩阵,是具有自环的邻接矩阵,是的度矩阵。在第一个图卷积层后进行批量归一化,在第二个图卷积层后对权矩阵应用正则化。图卷积层拥有统一的隐藏表示维度,最终的输出维度为设定的社区划分数目;可选地,当社区划分效果不佳时,可多次尝试不同的社区划分数目。
28.需要说明的是,对于上述方法实施例而言,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和流程并不一定是本技术所必须的。
29.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序
产品。因此,本技术可采用完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
30.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。
31.凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献