尚思佳 陈晓淇 林靖淞 林睫菲 李 臻 刘延华
1(中国科学院信息工程研究所物联网信息安全技术北京市重点实验室 北京 100093) 2(中国科学院大学网络空间安全学院 北京 100049) 3(福州大学计算机与大数据学院 福州 350108) 4(国网信通亿力科技有限责任公司 福州 350003)
当前,电信网络诈骗犯罪的手段愈加多样化,呈现出跨平台实施、黑灰产业化的特点[1].黑灰产以公开网站作为传播违法违规内容的平台,具有链条化、团伙化、资产化和跨域化等特点.
分析黑灰产团伙掌握的网络资产是打击黑灰产的重要切入点,本文通过研究图挖掘技术,从海量黑灰产网络节点中挖掘同一团伙网络黑灰产子图,找出黑灰产团伙中的关键节点,发现关联多资产或多业务的关键链路.
目前,国内外有多种基于图挖掘的异常识别方法.Zhao等人[2]提出了BotGraph方法,通过对用户之间的邮件发送情况进行剪枝发现异常的用户群体;Beutel等人[3]提出的CopyCatch算法、Jiang等人[4]提出的CatchSync算法,均是捕获大规模有向图中的同步行为,以挖掘网络中的异常;Cao等人[5]提出了SynchroTrap算法,通过计算节点之间在一定时间内发生相似行为的数量,建立相似性网络图,并根据阈值进行图切割,再根据图的连通性进行聚类,以寻找异常子图;Prakash等人[6]提出了EigenSpokes算法,该方法使用奇异矩阵分解,根据特征值较大的特征向量识别欺诈账户.
核心网络资产的识别类似于暴恐团伙核心成员的辨识.社会网络分析被广泛视为研究恐怖团伙内社区结构和发掘核心成员的重要方法之一[7].由Jaccard系数得出结论,公共邻居越少,边越重要[8]等.在电力光网络中,通过统计分析链路状态变化与最短路径的敏感度,基于跳数最少、时延最短和可靠性最高3种不同目标,可以获得关键链路的指标[9].
上述研究工作表明,分析黑灰产团伙掌握的网络资产及其关联关系是一项现实而可行的工作.本文使用的黑灰产网络资产图谱只有8类节点和11类边,因此在实际应用中需要引入业务规则及相关领域知识.
针对上述问题,本文提出一种黑灰产网络资产可视分析方法.主要研究工作包含以下几个方面:
1) 提出一种探索团伙线索的方法,为每个节点构建特征向量,并对特征向量运用t-分布随机近邻嵌入(t-distributed stochastic neighbor embedding, t-SNE)进行降维、聚类、过滤节点聚类、根据节点的重要性指标计算节点排名,从而发现潜在团伙线索.
2) 通过黑灰产相关业务知识引入业务规则,继而编制算法挖掘黑灰产团伙、识别核心资产和关键链路.其中,利用Fast Unfolding算法[10]对黑灰产子图进行图聚类以解决可视化过程中大量节点覆盖问题.
3) 设计多种可视分析视图,用可视分析的方法辅助黑灰产治理从业人员直观清晰地了解黑灰产的网络运维模式.
在核心资产识别中,根据节点的度中心性、介数中心性、接近中心性等重要性指标进一步筛选核心资产节点.
度中心性(degree centrality)是在网络分析中刻画节点重要性的度量指标[11].某个节点度中心性计算公式如下:
(1)
其中ki表示现有的与节点i相连的边的数量;N-1表示节点i与其他节点都相连的边的数量.
节点介数中心性(betweenness centrality)[12]是指一个网络里通过节点的最短路径条数.某个节点的介数中心性的计算公式如下:
(2)
接近中心性(closeness centrality)用于衡量节点重要性,主要是利用网络中所有节点对间的相对距离大小[13].某个节点的接近中心性[14]CCi为
(3)
其中di表示节点i到其余各点的平均距离,平均距离的倒数就是接近中心度.
首先,为每个节点构建特征向量,特征向量的构建规则如下:
1) 对于每个节点,计算每类邻居的数量,乘以对应节点重要程度,作为特征向量这一维度上节点的贡献,公式如下:
n=[num1×n_weight1,num2×
n_weight2,…,numi×n_weighti],
(4)
其中i∈N,N表示所有节点的类型.
2) 当中心节点确定时,节点的类型与边的类型之间具有一定的对应关系,根据节点类型计算边的数量,乘以对应边的关联强度,作为特征向量对应维度上边的贡献,公式如下:
l=[num1×l_weight1,num2×
l_weight2,…,numj×l_weightj],
(5)
其中j∈L,L表示所有边的类型.
3)n和l分别乘以对应的权重,求和作为最后结果.公式如下:
a=α×n+(1-α)×l.
(6)
得到节点特征向量后,使用t-SNE进行降维聚类.重要程度越高节点越可能成为异常点,因此仅考虑Domain(网站域名)、 IP(网站的IP地址)和 Cert(网站用的SSL安全证书)节点类型.尝试以高密度节点群为线索进行子图挖掘,未发现成规模的黑灰产团伙,表明这些点不适合作为潜在线索.因此,将注意力转向分散的点.过滤高密度的聚类,并且根据子图中节点的重要性指标,在过滤后的节点中选择排名靠前的节点作为潜在线索.
结合各类型节点间的可能关联关系、应用场景和领域知识进行挖掘网络资产子图.首先,根据边的关联强度在起始节点3跳关联内(对于重要节点,允许4跳关联)挖掘网络资产子图;其次,若某次挖掘到IP_C(IP的C段)和ASN(IP的自治域)类型节点,将节点加入团伙,但不继续向外挖掘;最后,当某个节点有大量同类型邻居节点(关联关系类型也一样)时,适当过滤其邻居节点以减少子图规模.
算法1.子图挖掘.
输入:点数据集Nodes、边数据集Links、线索start_node、节点重要程度node_type_value、边关联强度relation_type_value;
输出:子图点数据集sub_Nodes、子图边数据集sub_Links.
①nodes_stack,mynode←[],[start_node];
② 根据start_node的重要程度更新start_node.W;
③ whilenodes_stackdo
④now_node←nodes_stack.pop();
⑤ end while
⑥ for eachnodeinnow_node的邻点do
⑦ 根据邻边的关联强度更新now_node.W;
⑧ 根据now_node.W将node加入nodes_stack及mynode列表;
⑨ end for
为了应对由于子图规模较大可能造成的点覆盖和视觉负担等问题,本文采用了Fast Unfolding算法进行图聚类.
算法2.Fast Unfolding图聚类.
输入:子图边数据集sub_Links;
输出:聚类结果partition.
① 根据子图边数据集sub_Links创建有向图G;
②partition←使用Fast Unfolding算法对G进行图聚类得到的结果.
根据一些相关基础业务规则进行核心资产识别.首先,50%以上的邻边关联强度较弱或度小于阈值(具体视子图大小而定)的网络资产不被认为是核心网络资产,Domain类型的关联2个以上IP地址的网络资产也不被认为是核心网络资产.根据规则过滤不符合要求的网络资产,最后根据节点重要性指标确定核心资产节点.
算法3.核心网络资产识别.
输入:子图的边列表Links、子图的节点列表Nodes;
输出:子图的核心资产列表Core_node.
① 为每个核心资产初始化标记数组flag←0;
②Rule1(Nodes,Links,flag);
③Rule2(Nodes,Links,flag);
④Rule3(Nodes,Links,flag);
⑤ ifflag[node]==0
⑥Core_node←node;
⑦ end if
⑧ 过滤Core_node中重要性指标低的节点;
⑨ returnCore_node.
其中函数Rule1将邻边中弱关联的比例超过50%的节点的flag标记为1.函数Rule2将具有超过2个IP类型邻边的节点的flag标记为1.函数Rule3统计子图的边数q与图中某节点的邻边数c,若c>1000,将c≤0.015q情况下节点的flag标记为1;否则,将c≤0.02q情况下节点的flag标记为1.
首先,2个核心网络资产间长度大于4跳的路径不被认为是关键链路;其次,2个核心网络资产间存在多条路径时,路径越短越重要;最后,2个核心网络资产间路径的关联强度越强则越重要.
算法4.关键链路识别.
输入:子图的边列表Link、子图的节点列表Node、子图的核心资产列表Core_node;
输出:子图的关键链路列表Critical.
① 初始化邻接字典adj←{};
② fornodeinNodedo
③neighbor←[node,node的邻接点];
④adj←{n:neighbor};
⑤ end for
⑥ foriinrange(len(Core_node)-1) do
⑦ forjinrange(i,len(Core_node)) do
⑧Path_list←Check(adj,Core_node[i],
Core_node[j]);
⑨ end for
⑩ end for
其中函数Check用于寻找子图中从核心资产节点出发的所有长度小于等于4跳的路径.
基于系统分析任务,本文提出基于图挖掘的黑灰产运作模式可视分析系统的架构,如图1所示:
图1 黑灰产运作模式可视分析系统架构
本文使用的黑灰产网络资产图谱数据集是一个经过脱敏处理的数据集.该数据集采用点边双异质有向图的数据结构,其中节点代表网络资产,边表示网络资产之间的关联关系.数据集包含8类网络资产和11类资产关联关系,总计包含237万个节点和328万条边.每个节点包含以下字段信息:节点ID、脱敏处理后的节点名称(如域名字符串或IP地址)以及节点类型.对于域名类型节点,还提供黑灰产业务属性,如涉黄、涉赌等.每条边包含以下字段信息:边类型、源节点ID和目标节点ID,边的方向由源节点指向目标节点.
为了证实本文提出的基于图挖掘的黑灰产运作模式可视分析方法对于黑灰产团伙识别的有效性,本文从任意节点出发,锁定线索并找到由该线索同一黑灰产团伙掌握的网络资产子图,识别子图中的核心资产与关键链路,分析团伙网络运营机制.
以节点IP_36591为中心挖掘一定规模的节点群,再对每个节点构建特征向量、t-SNE降维,得到每类节点的降维视图.例如,IP类型节点的降维视图如图2所示:
图2 IP类型节点降维视图
以图2中的几个分布密集的聚类中的节点为线索,不能找出成规模的黑灰产团伙,需对每类节点进一步过滤.
计算过滤几个分布密集的聚类后所有节点的度中心性、PageRank指标.经比较,节点Cert_2128的各指标均排在首位,将节点Cert_2128锁定为挖掘团伙的潜在线索.
锁定潜在线索后,根据算法1挖掘子图,得到对应的黑灰产团伙的网络资产概览如图3所示:
图3 黑灰产团伙的网络资产概览图
根据算法3和算法4,对黑灰产团伙进行核心网络资产和关键链路识别,从而得到核心网络资产(如图4所示)和关键链路(如图5所示).
图4 核心网络资产概览图
图5 关键链路概览图
计算所有网络资产的度,选取度数排名前6的网络资产,得到可疑节点排行榜(如图6所示).对比发现可疑节点均为上述识别得到的核心网络资产,进一步判定这些可疑节点为黑灰产团伙的核心网络资产.
图6 可疑节点排行
选择网络资产子图中的某一核心网络资产(如节点Cert_21024),分析其邻接节点重要程度和邻边关联强度.核心资产的邻接节点的重要程度均为非常重要或重要,其邻边中也没有关联强度较弱的邻边.说明该网络资产为核心网络资产的可信度高.
通过分析子图资产的黑灰产产业分布,可以看出该团伙的业务分布情况:该黑灰产团伙子图中域名对应的网站包含涉黄、涉赌、诈骗、非法交易平台和其他黑灰产业务,因此,该网络资产子图是一个运作多种非法业务的复合型团伙.该黑灰产团伙通过搭建色情网站并通过社交平台推广,在网站诱导网名付费观看的同时引导网民进行网络赌博,从而将网民引流到赌博网站中.
本文提出了基于图挖掘的黑灰产运作模式可视分析方法,以解决黑灰产团伙网络资产及其关联关系的识别与分析问题.由于网络资产图谱已经经过脱敏处理,本文系统旨在为监管部门提供一种信息整合手段.它能够从举报的非法网站域名作为起点,挖掘网络资产信息并整合它们之间的关联关系.与传统的子图挖掘相比,其深度结合应用场景和领域知识,并引入专业的黑灰产业务规则,使得子图识别结果更具合理性.此外,本文还利用可视化工具对识别结果进行可视化分析,以增强用户的感知能力.在未来的研究中,将引入更多的业务规则,进一步改进和完善本文系统.