技术领域
[0001] 本公开涉及信息安全技术领域,特别涉及一种攻击者分析方法和装置。
相关背景技术
[0002] 随着互联网技术的快速发展,网络安全事件也呈现出层出不穷的态势。面对这些威胁网络安全的“攻击者”,防御者采取的安全防御技术在不断加强。
[0003] 在相关技术中,防御技术主要采取被动防御的方式,即在攻击者发起网络攻击之后,采取“事后补救”的方法来面对网络攻击。
具体实施方式
[0030] 下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0031] 图1示出根据本公开的一些实施例的攻击分析方法的流程示意图。该方法例如可以由攻击分析装置执行。
[0032] 如图1所示,该实施例的方法包括步骤101-105。
[0033] 在步骤101,提取攻击者名称和被攻击者名称。
[0034] 攻击者与被攻击者是一种相互对应的关系。每个攻击者对应攻击的多个攻击对象即为多个被攻击者。每个被攻击者对应被多个攻击者所攻击,则对应有多个攻击者。
[0035] 例如,可以从多个数据源提取攻击者名称和被攻击者名称,其中,数据源可以是多个日志源(例如安全设备日志)。
[0036] 在步骤102,获取与攻击者名称相关联的攻击者信息,以及与被攻击者名称相关联的被攻击者信息。
[0037] 其中,攻击者信息例如包括攻击者网际互连协议(Internet Protocol,IP)地址和攻击类型中的至少一项;被攻击者信息例如包括被攻击者的域名和被攻击者的域名所属种类中的至少一项。
[0038] 其中,攻击类型例如可以为浏览器攻击、暴力破解、拒绝服务攻击、蠕虫病毒、恶意软件攻击、网络应用攻击、持续性攻击等。
[0039] 其中,被攻击者的域名所属种类可以有如下分类方法。
[0040] 如果按照语种对被攻击者的域名所属种类进行划分,例如包括英文域名、中文域名、日文域名等。如果按照域名所在的不同域对被攻击者的域名所属种类进行划分,例如包括顶级域名、二级域名等(例如表示工商企业的.com,表示网络提供商的.net)。如果按照管理机构的不同对被攻击者的域名所属种类进行划分,例如包括根域加上国家代码(如中国为.CN,日本为.JP,英国为.UK)后缀的域名等。
[0041] 在步骤103,根据攻击者信息和被攻击者信息构建攻击者特征画像。
[0042] 在一些实施例中,利用攻击者信息和被攻击者信息,通过异常值检测算法来构建攻击者特征画像。其中,异常值检测算法例如包括孤立森林(Isolation Forest,IF)算法,局部异常因子(Local Outlier Factor,LOF)算法,随机裁剪森林(Random Cut Forest,RCF)算法和箱型图方法中的任意一种或多种。
[0043] 其中,构建的攻击者特征画像的信息例如包括攻击频率、攻击类型分布、攻击域名种类、攻击域名重要度、扫描器概率、攻击类型偏好、攻击时间偏好、危害程度中的至少一项。
[0044] 下面对上述攻击者特征画像的信息进行详细描述。
[0045] 攻击频率为在预定时间范围内攻击者发起攻击的天数与预定时间范围的比值。例如,预定时间范围为一周(即7天),假设统计在这7天时间内的攻击者A的攻击天数为2,则攻击者A所对应的攻击频率为2/7。
[0046] 攻击类型分布例如为攻击者发动的每种攻击类型所对应的攻击次数的分布。例如,攻击者A发动的攻击类型有T1,T2两种,攻击者A发动的攻击类型为T1的攻击有2次,攻击类型为T2的攻击有3次,则攻击者A的攻击类型分布如表1所示:
[0047] 攻击类型 攻击次数T1 2
T2 3
[0048] 表1
[0049] 攻击域名种类表示攻击者所攻击的被攻击者的域名所属的种类。
[0050] 攻击域名重要度表示被攻击者的域名的级别重要性,攻击域名重要度根据被攻击者的域名被攻击的次数与最大攻击次数的比值确定。例如,攻击者A攻击的被攻击者的域名有d1,d2,d3三个,在预设时间范围内(例如为7天),被攻击者域名d1,d2,d3分别对应的攻击次数为2,1,8,由此可知最大攻击次数为8,则域名d1的攻击域名重要度可以确定为2/8=0.25。在一些实施例中,攻击域名重要度根据被攻击者的域名被攻击的次数与最大攻击次数乘以一个预设参数的比值确定,例如预设参数为1.05,则域名d1的攻击域名重要度可以确定为2/(8×1.05)≈0.24(本公开中的计算结果舍入方式均为四舍五入)。
[0051] 扫描器概率为判断攻击者是扫描器的概率。扫描器概率越大,即表示攻击者是扫描器的可能性越高。计算扫描器概率的方法例如可以是根据攻击类型所对应的攻击次数,并利用异常检测算法(例如孤立森林算法,局部异常因子算法、随机裁剪森林或箱型图方法的任一种)进行确定的。
[0052] 例如,攻击者A发动的攻击类型有T1,T2,T3三种,在一定的时间范围内,攻击者A发动的攻击类型为T1的攻击有100次,攻击类型为T2的攻击有10次,攻击类型为T3的攻击有2次。首先,将每种攻击类型所对应的攻击次数输入到异常值检测算法中,通过算法的输出结果得到属于异常数据的攻击次数和属于异常数据的攻击天数。例如根据算法的输出结果设定攻击者A是扫描器的初始概率为0.9,然后根据当前攻击者A的发动攻击的攻击类型数目占所有攻击者发动攻击的攻击类型数目的百分比计算攻击覆盖度,假设攻击者A的发动攻击的攻击类型数目为7种,所有攻击者发动攻击的攻击类型数目为10种,那么攻击者A的攻击覆盖度表示为7/10=0.7。最后,根据经验值为初始概率和攻击覆盖度分别设置权重,例如分别设置成0.8和0.2,那么得到攻击者A的扫描器概率为0.9*0.8+0.7*0.2=0.86。
[0053] 在一些实施例中,可以根据预设阈值确定攻击者是否为扫描器,例如预设阈值设置为0.8,如果攻击者对应的扫描器概率大于等于预设阈值0.8,可以确定该攻击者是扫描器,如果攻击者对应的扫描器概率小于预设阈值0.8,可以确定该攻击者不是扫描器。
[0054] 攻击类型偏好表示攻击者发动攻击的偏好攻击类型,根据每种攻击类型所对应的攻击次数,并利用异常值检测算法进行确定。例如,攻击者A发动的攻击类型有T1,T2,T3三种,攻击者A发动的攻击类型为T1的攻击有100次,攻击类型为T2的攻击有10次,攻击类型为T3的攻击有2次,将上述数据输入到异常值检测算法(例如孤立森林算法,局部异常因子算法、随机裁剪森林或箱型图方法的任一种)中,假设该算法输出T1所对应的攻击次数为异常数据,那么,例如将攻击类型T1确定为攻击者A对应的偏好的攻击类型。
[0055] 攻击时间偏好表示攻击者发动攻击的偏好时间,攻击时间偏好根据在预定时间范围内发起攻击的次数确定。确定的攻击时间偏好例如是偏好在一周内的某天(例如是周六)发起攻击,或者偏好在周末发起攻击,或者偏好在周内发起攻击,又或者是在某个时间点(例如凌晨23:0 0)或时间段(23:00至次日6:00)发起攻击。
[0056] 例如,计算攻击者A的攻击时间偏好,判断攻击者偏好在一周内的周几发起攻击。首先,利用箱型图方法计算每个周(7天)中的所有攻击者A的攻击次数的上限值,将拥有的攻击次数大于该上限值的那一天(例如周五)进行标记,即标记为异常值。然后,统计从周一到周日的每天的标记次数,例如,在预设的多个周中,假设所有周一到周日被标记为异常值的总次数是10000,其中,周二被标记为异常值的次数为1000。最后,判断某天(指周一至周日的任一天)的标记次数是否大于总标记次数乘以一定系数的值,如果标记次数大于总标记次数乘以一定系数的值,那么可以确定这一天为攻击者A的攻击偏好时间;否则,这一天不是攻击者A的攻击偏好时间。例如,可以计算周二的异常值标记次数为1000,被标记为异常值的总标记次数为10000,系数假设设置为0.5,那么,计算1000<10000*0.5=5000,所以可以得到结论,周二不是攻击者A的攻击时间偏好。
[0057] 危害程度为判断攻击者的危害性得分,危害程度根据攻击频率、攻击域名重要度、扫描器概率以及攻击类型分布确定。假设攻击者A在一周的时间范围内的攻击频率为2/7≈0.29,攻击域名重要度为0.24,扫描器概率为0.5,攻击类型分布为T1(2次),T2(3次),例如根据攻击类型分布得到攻击分数为2+3=5。计算攻击者A对应的危害程度的方法,例如可以为(0.29+0.24+0.5+5)/4≈1.51,即攻击者A对应的危害程度为1.51。
[0058] 上述实施例,从攻击频率、攻击类型分布、攻击域名种类、攻击域名重要度、扫描器概率、攻击类型偏好、攻击时间偏好、危害程度等多个维度构建攻击者的特征画像,在一定程度上解决了攻防双方信息不对称的现象,增加了防御者对攻击者的信息的了解程度,为防御攻击提供了有效的保障。
[0059] 在步骤104,根据攻击者画像提取每个攻击者的特征数据。
[0060] 提取攻击者的特征数据例如可以通过攻击者画像进行提取,也可以通过构建攻击者画像的原始数据(即攻击者信息和被攻击者信息)进行提取,也可以同时包括前述两种提取内容。
[0061] 在一些实施例中,攻击者的特征数据包括攻击者特征画像的信息中的至少一项,以及攻击次数增长率以及平均攻击周期中的至少一项。
[0062] 在另一些实施例中,攻击者的特征数据包括攻击者特征画像的信息中的至少一项,或者攻击次数增长率以及平均攻击周期中的至少一项。
[0063] 其中,攻击次数增长率表示相邻的两个时间周期中的后一时间周期内的攻击次数相比前一时间周期的增长率。如果后一时间周期内的攻击次数比前一时间周期的攻击次数多,则对应的攻击次数增长率大于0;如果后一时间周期内的攻击次数比前一时间周期的攻击次数少,则对应的攻击次数增长率小于0。例如,设置时间周期为一周(即7天),第一周的攻击次数为3,第二周的攻击次数为8,则对应的攻击次数增长率为(8-3)/3≈1.67。
[0064] 平均攻击周期为在预设时间周期的攻击周期的平均值。例如,预设时间周期为一周,第一周攻击的天数为3天,第二周的攻击天数为4天,则第一周对应的攻击周期为3/7,第二周对应的攻击周期为4/7,则平均攻击周期为(3/7+4/7)/2≈0.5天。
[0065] 在一些实施例中,构建攻击者的特征画像的方法例如可以通过遍历每个攻击者的IP地址,或者,遍历每个被攻击者的域名,来完成攻击者特征画像的构建。
[0066] 在步骤105,利用攻击者的特征数据对攻击者进行聚类分析,以便获取攻击者的关联属性。
[0067] 其中,聚类算法例如可以是漂移聚类算法、K均值聚类算法和层次聚类算法等中的任意一种。
[0068] 利用攻击者的特征数据对攻击者进行聚类分析,确定具有关联属性(也可以称为具有相似性或具有集群特征)的攻击者,例如根据攻击的危害程度、攻击次数以及域名重要度等可以确定某些攻击者可能构成僵尸网络。其中,僵尸网络是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。
[0069] 上述实施例中,通过从多个维度构建攻击者的画像特征,在一定程度上解决了攻防双方信息不对称的现象,增加了防御者对攻击者的信息的了解程度,为防御攻击提供了有效的保障。另外,对攻击者进行聚类分析,从而获取攻击者的关联属性,实现对攻击者的主动感知,为识别和预测新的攻击者提供了途径,提高了防御者及时避免攻击者的威胁的可能性。
[0070] 图2示出根据本公开的一些实施例的攻击分析装置的示意图。
[0071] 如图2所示,该实施例的攻击分析装置200包括名称提取模块201,信息获取模块202,画像构建模块203,特征提取模块204,以及聚类分析模块205。
[0072] 名称提取模块201,被配置为提取攻击者名称和被攻击者名称。
[0073] 例如,可以从多个数据源提取攻击者名称和被攻击者名称,其中,数据源可以是多个日志源(例如安全设备日志)。
[0074] 信息获取模块202,被配置为获取与攻击者名称相关联的攻击者信息,以及与被攻击者名称相关联的被攻击者信息。
[0075] 其中,攻击者信息例如包括攻击者网际互连协议(Internet Protocol,IP)地址和攻击类型中的至少一项;被攻击者信息例如包括被攻击者的域名和被攻击者的域名所属种类中的至少一项。
[0076] 画像构建模块203,被配置为根据攻击者信息和被攻击者信息构建攻击者特征画像。
[0077] 在一些实施例中,利用攻击者信息和被攻击者信息,通过异常值检测算法来构建攻击者的特征画像。其中,异常值检测算法例如包括孤立森林(Isolation Forest,IF)算法,局部异常因子(Local Outlier Factor,LOF)算法,随机裁剪森林(Random Cut Forest,RCF)算法和箱型图方法中的任意一种或多种。
[0078] 其中,构建的攻击者特征画像的信息例如包括攻击频率、攻击类型分布、攻击域名种类、攻击域名重要度、扫描器概率、攻击类型偏好、攻击时间偏好、危害程度中的至少一项。
[0079] 特征提取模块204,被配置为根据攻击者画像提取每个攻击者的特征数据。
[0080] 提取攻击者的特征数据例如可以通过攻击者画像进行提取,也可以通过构建攻击者画像的原始数据(即攻击者信息和被攻击者信息)进行提取,也可以同时包括前述两种提取内容。
[0081] 在一些实施例中,攻击者的特征数据包括攻击者的特征画像的信息中的至少一项,以及攻击次数增长率以及平均攻击周期中的至少一项。
[0082] 在另一些实施例中,攻击者的特征数据包括攻击者的特征画像的信息中的至少一项,或者攻击次数增长率以及平均攻击周期中的至少一项。
[0083] 其中,攻击次数增长率表示相邻的两个时间周期中的后一时间周期内的攻击次数相比前一时间周期的增长率。平均攻击周期为在预设时间周期的攻击周期的平均值。
[0084] 在一些实施例中,构建攻击者特征画像的方法例如可以通过遍历每个攻击者的IP地址,或者,遍历每个被攻击者的域名,来完成攻击者特征画像的构建。
[0085] 聚类分析模块205,被配置为利用攻击者的特征数据对攻击者进行聚类分析,以便获取攻击者的关联属性。
[0086] 其中,聚类算法例如可以是漂移聚类算法、K均值聚类算法和层次聚类算法等中的任意一种。
[0087] 上述实施例中,通过从多个维度构建攻击者的画像特征,在一定程度上解决了攻防双方信息不对称的现象,增加了防御者对攻击者的信息的了解程度,为防御攻击提供了有效的保障。另外,对攻击者进行聚类分析,从而获取攻击者的关联属性,实现对攻击者的主动感知,为识别和预测新的攻击者提供了途径,提高了防御者及时避免攻击者的威胁的可能性。
[0088] 图3示出根据本公开的另一些实施例的攻击分析装置的示意图。
[0089] 如图3所示,该实施例的攻击分析装置300包括:存储器301以及耦接至该存储器301的处理器302,处理器302被配置为基于存储在存储器301中的指令,执行本公开任意一些实施例中的攻击分析方法。
[0090] 其中,存储器301例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
[0091] 攻击分析装置300还可以包括输入输出接口303、网络接口304、存储接口305等。这些接口303,304,305以及存储器301和处理器302之间例如可以通过总线306连接。其中,输入输出接口303为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口304为各种联网设备提供连接接口。存储接口305为SD卡、U盘等外置存储设备提供连接接口。
[0092] 本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机程序代码的计算机非瞬时性可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0093] 本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0094] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0095] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0096] 以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。