网络攻击源组织检测方法
【技术领域】
[0001] 本发明涉及计算机领域中网络与信息安全的检测方法,尤其指对网络攻击源组织 的检测方法。
【背景技术】
[0002] 网络安全的威胁对象主要分黑客个体与黑客团伙两种,个体黑客受掌握资源和共 享信息的限制其威胁能力要明显低于团伙作案的黑客组织。如图1所示,网络攻击源组织 (即黑客团伙)是网络攻击者(即黑客个体)之间由于合作、共享、交流等形成的相对稳定 的组织团体。黑客的团体化正是当今黑客发展的一个趋势。过去经常爆发的全球性个体黑 客事件已渐渐发展为由黑客团体精心策划的锁定目标的大型资料外泄事件。例如高级持续 性攻击(AdvancedPersistentThreat,APT),S卩黑客团伙以窃取核心资料为目的一种"恶 意商业间谍威胁",APT已经成为各种大型企业必须要面临的挑战。另一方面,对黑客团伙 的识别,分析其攻击特点和攻击能力,可方便网络管理者采取针对性的措施来应对。这就使 得我们在对网络攻击行为进行威胁分析时,必须对黑客个体和黑客团伙加以区别,并重点 识别高威胁的黑客团伙。
[0003] 组织检测又称为节点聚类、组织识别,当前大多数研宄是将关系结构数据看成由 个体和个体间的关系组成的图,其中个体看做节点,个体间的链接关系看作边,以社区图 (socigram)或者矩阵来形式化表达关系网络。常用的组织检测方法主要分为社会学中的 分级聚类(HierarchicalClustering)和计算机科学中的图形分割(GraphPartition)两 类。这些检测方法都需要以一些基于图论的概念(如度、迹、距离等)作为关系网络量化分 析的基础指标;通过派系(Clique)等概念对关系网络进行凝聚子群分析。
[0004] 当前对网络攻击的威胁检测,并没有充分的利用黑客的团伙化特性,宄其原因,一 方面由于网络规模的扩大和黑客技术的发展,入侵和攻击的案例日益增多,现有的入侵检 测技术的自身缺陷(存在较高的误报率),以致海量的报警信息难以处理利用。另一方面, 与传统的网络社交群体组织检测不同的是,对网络攻击源组织的分析仅能从报警信息出 发,其中报警信息直接包含的报文信息包括:报警时间、源地址、目标地址、源端口、目标端 口、源MAC、目标MAC、报文长度、报警网卡名称、原始报文、插件特征编号;间接包含的告警 规则信息包括:协议类型、危害等级、操作系统类型、目标端口对象、目标地址对象、源端口 对象、源地址对象、规则版本号、规则特征、漏洞信息、大类型、小类型、目标地址对象、规则 名称、服务类型等信息。显然从这些报警信息中无法捕获网络攻击者的兴趣爱好、人际脉 络、个人信息等内容,且无法获得其正常的网络活动信息。这就使得在网络攻击源组织检测 中无法直接获得关系网络量化分析的基础指标,从而导致无法直接构建网络攻击者的关系 网络,进而无法通过常用的组织检测方法对关系网络进行凝聚子群分析。
[0005] 总之,海量的报警信息难以处理,并且无法直接从已获得的报警信息中构建网络 攻击者的关系网络,使得网络攻击源的组织检测成为网络与信息安全中的一大难题,至今 还没有公开文献涉及网络攻击源的组织检测。如何正确对监测环境中的网络攻击源组织进 行检测是本领域技术人员极为关注的技术问题。
【发明内容】
[0006] 本发明要解决的问题就在于:针对网络攻击组织规模日趋壮大、协作日趋紧密的 问题,提供一种网络攻击源组织检测方法,利用骨干网安全监测视窗内的海量报警数据挖 掘出网络攻击源组织。基于攻击源组织检测结果,有利于改进网络威胁评估和安全防御。
[0007] 为解决上述技术问题,本发明提供的解决方案为:从海量的报警信息中挖掘攻击 者的威胁活动信息,继而构建攻击者威胁活动信息矩阵,通过对威胁活动信息矩阵采用威 胁活动关联图生成方法得到威胁活动关联图(即网络攻击者关系网络),并对威胁活动关 联图进行优化处理,最后对优化后的威胁活动关联图进行马尔科夫快速图形聚类以获得网 络攻击源组织信息。
[0008]本发明的技术方案为:
[0009] 第一步,以入侵检测系统产生的全部报警信息为数据源,统计报警信息,为每个攻 击者构造威胁活动信息矩阵。对单个攻击者(以报警信息中不同的源地址作为不同攻击者 的身份标识)的报警信息进行遍历计算,将遍历结果填入一个矩阵结构为A的威胁活动信 息矩阵中。依次遍历所有攻击者的报警信息,为每个攻击者构建一个矩阵结构为A的威胁 活动信息矩阵,共建立K个攻击者构造威胁活动信息矩阵即A1-Ap?AK,K为攻击者个数, Kp<K0
[0010] 具体步骤为:
[0011] 步骤1. 1,对所有攻击分类并按照类型设定标识符。对所有攻击按照攻击类型(即 拒绝服务、扫描探测、获取权限、控制会话、留下后门,其它类型)分类,定义攻击类型与其 对应标识符为:拒绝服务类攻击对应标识符为1,扫描探测类攻击对应标识符为2,获取权 限类攻击对应标识符为3,控制会话类攻击对应标识符为4,留下后门(隐藏踪迹)类对应 标识符为5,其它类型攻击对应标识符为6。构造攻击信息记录字符串Attack_Struct,字 符串形式为:"1,x1;2,x2;3,x3;4,x4;5,x5;6,x6; "。该字符串固定为12元组,其中x# 拒绝服务攻击次数;X2为扫描探测攻击次数;x3为获取权限攻击次数;x4为控制会话攻击次 数;^为留下后门攻击次数;16为其它类型攻击次数。
[0012] 步骤1. 2,统计报警信息,构造威胁活动信息矩阵结构A。矩阵结构A是后续处理 步骤中攻击者威胁活动信息矩阵创建所采用的矩阵结构。矩阵结构A的横坐标和纵坐标根 据报警数据库包含的报警信息来构造,如图2所示,横坐标为攻击目标地址,纵坐标为监测 时间范围即报警时间中最早时间点与最晚时间点之间的时间段,最早时间点与最晚时间点 由用户根据实际情况确定。具体方法为:
[0013] 1. 2. 1以入侵检测系统产生的海量报警信息为数据源,提取所有攻击者在整个监 测视窗中的全部报警信息。将报警信息中包含的报警时间信息、目标地址信息作为威胁活 动信息。
[0014] 1. 2. 2对监测视窗中的所有攻击者的目标地址信息做处理,构造威胁活动信息矩 阵结构A的横坐标:不重复地选出所有的目标地址,将目标地址个数记为M,并按目标地址 被攻击的次数(即目标地址在报警信息中出现的次数)由高到低排列,在横坐标正向方向 上从目标地址被攻击次数的最大值开始依次对应到横坐标正向的每个位置,横坐标正向第 j个位置的目标地址用diPj表示(j<M),横坐标正向最远位置处的目标地址(即所有目 标地址中被攻击次数最少的目标地址)用dipM表示。
[0015] 1. 2. 3对监测视窗中所有攻击者的威胁活动时间信息(报警时间信息)做处理,做 为威胁活动信息矩阵结构A的纵坐标:选取所有报警时间中的最早时间点和最晚时间点, 将最早时间点的整小时时刻(即时间取整,如3 :15取整为3 :00)做为纵坐标的起始点,每 过一个小时分隔出一个小时段,直到到达最晚时间点的整小时时刻,共分隔出N个小时段, 即N为小时段的总数。距起始点之后的第i个时间段用Umei表示(i<N),纵坐标最远位 置处的时间段(即报警数据库记录最晚一次攻击所发生的小时段)用timeN表示。
[0016] 步骤1. 3,采用攻击源IP地址区分不同攻击者,假定攻击者总数为K,第p个 攻击者的IP地址记为attackerp,以下将IP地址为attackerp的攻击者简称为攻击者 attackerp,遍历所有攻击者,得到K个威胁活动信息矩阵,记为A1,A2, ......,Ap......,Ak+ Ak,Kp<K,具体方法为:
[0017] L3. 1 令变量p= 1 ;
[0018] 1. 3. 2对攻击者attackerp的报警信息进行遍历,将遍历获得的所有攻击信息记录 字符串Attack_Struct相对应地填入威胁活动信息矩阵Ap*,具体细节为:
[0019] 1. 3. 2. 1以入侵检测系统产生的所有报警信息为数据源,提取攻击者attaCkeriJ9 威胁活动信息,包括报警时间信息、目标地址信息、攻击类型信息。
[0020] 1. 3. 2. 2创建用于记录单个攻击者attackerp威胁活动信息的矩阵Ap。矩阵 矩阵结构为A,即在横坐标和纵坐标方向的坐标量为矩阵结构A中定义的坐标量。矩阵Ap 中每个元素值即Ap [i] [j]的计算方法如下:
[0021] L 3. 2. 2. 1 令循环变量 i= 1 ;
[0022] L 3. 2. 2. 2 令循环变量 j= 1 ;
[0023] L3. 2. 2. 3对攻击者间段内针对目标地址Clipj产生6种类型 攻击进行统计,统计结果采用Attack_StrUCt结构的字符串记录,并将该字符串做为Ap[i] [j]的赋值。
[0024] 1. 3. 2. 2. 4 若j〈M,令j