首页 / 实时攻击回放方法和实时攻击回放系统

实时攻击回放方法和实时攻击回放系统无效专利 发明

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种实时攻击回放方法和实时攻击回放系统。

相关背景技术

[0002] 实时攻击展示是以世界地图为背景,把实时攻击事件的访问关系在世界地图上面展示出来。通常的做法是:在世界地图上面,使用动画的方式以导弹图的形式描述源IP地理位置攻击被访问IP地理位置。
[0003] 但是,实时攻击事件之间的实时攻击间隔时间是一个未知数值,也就是说,当一个实时攻击事件在世界地图上展示完成后不知道下一个实时攻击事件什么时候到来。那么在实时攻击间隔时间内,由于没有实时攻击事件到来,在世界地图上面展示不出任何攻击效果,从而导致攻击事件展示效果较差。

具体实施方式

[0054] 为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明提供的实时攻击回放方法和实时攻击回放系统进行详细描述。
[0055] 图1为本发明实施例一提供的一种实时攻击回放方法的流程图,如图1所示,该方法包括:
[0056] 步骤101、判断是否接收到实时攻击事件,若否则执行步骤102,若是则执行步骤103。
[0057] 本实施例中,在展示每一条历史攻击事件之前,均需要判断是否接收到实时攻击事件。若判断出未接收到实时攻击事件,则执行步骤102;若判断出接收到实时攻击事件,则执行步骤103。
[0058] 步骤102、展示历史攻击事件文件中存储的历史攻击事件。
[0059] 具体地,可展示历史攻击事件文件中存储的一条历史攻击事件。在每展示历史攻击事件文件中的一条历史攻击事件之前,均需要执行步骤101,在确保没有接收到实时攻击事件之后,才能展示历史攻击事件。
[0060] 优选地,在步骤102之后可继续执行步骤101,以实现轮询展示历史攻击事件文件中存储的每条历史攻击事件。从而实现了实时攻击回放过程。
[0061] 步骤103、展示接收到的实时攻击事件。
[0062] 在接收到实时攻击事件之后,需要立即停止展示历史攻击事件,转而执行展示实时攻击事件。
[0063] 优选地,在步骤103之后可继续执行步骤101。
[0064] 本实施例中,无论是展示历史攻击事件还是实时攻击事件时,均可展示以下内容:时间、攻击源ip地址、攻击源位置(城市名称、国家)、受攻击ip地址、被攻击位置(城市名称、国家)、攻击方式、攻击类型(实时攻击、攻击回放)。
[0065] 本实施例提供的实时攻击回放方法中,若判断出未接收到实时攻击事件时展示历史攻击事件文件中的历史攻击事件,若判断出接收到实时攻击事件时展示接收到的实时攻击事件,通过展示历史攻击事件避免了在实时攻击间隔时间内没有实时攻击事件进行展示的问题,从而提高了攻击事件的展示效果。
[0066] 图2为本发明实施例二提供的一种实时攻击回放方法的流程图,如图2所示,该方法包括:
[0067] 步骤201、接收实时攻击事件。
[0068] 本步骤中,当有实时攻击事件到来时,即可实时接收实时攻击事件。
[0069] 攻击事件是源ip对目的ip的资产所造成的一些非法和恶意的行为。实时攻击事件是利用网络存在的漏洞和安全缺陷对网络系统的硬件、软件及其系统中的数据进行的攻击。实时攻击事件是通过寻找系统的弱点,以非授权方式达到破坏、欺骗和窃取数据信息等目的。
[0070] 表1中示出了实时攻击事件的类型,如下表1所示:
[0071] 表1
[0072]
[0073]
[0074] 在接收到实时攻击事件之后,会对实时攻击事件进行格式转换,而后对格式转换后的实时攻击事件进行后续流程。转换后的实时攻击事件可为归一化事件条目。
[0075] 具体可按如下格式进行转换,如下表2所示:
[0076] 表2
[0077]
[0078] 如上表2所示:
[0079] A部分:1个消息条目的长度,长度不包含这4个字节。
[0080] B部分:C部分+D部分+E部分+F部分消息长度,其中不包含B部分的长度。
[0081] C部分:D部分消息类型名称的长度,占用4个字节。
[0082] D部分:消息类型名称。
[0083] E部分:protobuf消息序列化后的消息体。知道消息类型名称,就可以动态反序列化消息成为具体的对象。消息体,采用结构化的protobuf进行保存,这样保存CPU占用不是太大的情况下,序列化后的结果最小。
[0084] F部分:检验码或者检验和。
[0085] 步骤202、展示接收到的实时攻击事件。
[0086] 具体地,可将实时攻击事件推送至页面,由页面展示接收到的实时攻击事件。页面上以世界地图为背景,在世界地图上通过经度和纬度作为坐标点,通过攻击源头到攻击目标画一条带有方向的线条,并使用动画的方式对实时攻击事件进行展示。
[0087] 步骤203、将接收到的实时攻击事件存储入缓存队列中。
[0088] 图3为实施例二中存储实时攻击事件的流程图,如图3所示,本步骤具体包括:
[0089] 步骤2031、判断缓存队列中的事件存储数量小于或等于队列最大值,若等于则执行步骤2032,若小于则执行步骤2034。
[0090] 通常缓存队列中存储有多个实时攻击事件,缓存队列中存储的实时攻击事件的数量为事件存储数量。若判断出事件存储数量等于队列最大值,表明缓存队列中存储的实时攻击事件已满,若不进行删除操作则无法再继续存储新的实时攻击事件;若判断出事件存储数量小于队列最大值,表明缓存队列中存储的实时攻击事件未满,可以直接向缓存队列中存储实时攻击事件。
[0091] 步骤2032、删除缓存队列中队首的实时攻击事件。
[0092] 当判断出事件存储数量等于队列最大值时,为了能将新接收到的实时攻击事件存储缓存队列,可将位于队首的实时攻击事件删除,以保证新接收到的实时攻击事件能够存入缓存队列中。由于队首的实时攻击事件是最早存入缓存队列中的,因此将最早存入缓存队列的实时攻击事件删除,能够保证缓存队列中存储的实时攻击事件均是距离当前时间较近的实时攻击事件。
[0093] 步骤2033、将接收到的实时攻击事件存储至缓存队列的队尾,流程结束。
[0094] 步骤2034、从缓存队列的队首开始依次查询缓存队列中是否存在时间戳比接收到的实时攻击事件的时间戳提前第二设定时间以上的实时攻击事件,若否则执行步骤2033,若是则执行步骤2035。
[0095] 本实施例中,第二设定时间可根据需要进行设置,例如,第二设定时间可以为1小时。本实施例中,每个实时攻击事件具备一个时间戳,该时间戳为接收到该实时攻击事件的事件。本步骤中,从缓存队列的队首开始,依次查询缓存队列中的实时攻击事件,查询出的实时攻击事件的时间戳比新接收到的实时攻击事件的时间戳提前第二设定时间以上。
[0096] 若查询出存在时间戳提前第二设定时间以上的实时攻击事件,表明缓存队列中存在保存时间较长的实时攻击事件,此时可以考虑将保存时间较长的实时攻击事件删除;若未查询出时间戳提前第二设定时间以上的实时攻击事件,表明缓存队列中不存在保存时间较长的实时攻击事件。
[0097] 步骤2035、判断缓存队列中的事件存储数量是否小于或等于队列最小值,若是则执行步骤2033,若否则执行步骤2036。
[0098] 若判断出缓存队列中事件存储数量小于或等于队列最小值,表明缓存队列中缓存的实时攻击事件的数量已经很少,此时为保证能够正常执行实时攻击回放,不考虑再删除缓存队列中的实时攻击事件;若判断出缓存队列中事件存储数量大于队列最小值,表明缓存队列中缓存的实时攻击事件的数量还较多。
[0099] 步骤2036、删除时间戳提前第二设定时间以上的实时攻击事件,并继续执行步骤2033。
[0100] 本步骤中删除一部分实时攻击事件,以实现对缓存队列的更新。
[0101] 本实施例中,每接收到一个实时攻击事件即可执行一次步骤203,以将接收到的实时攻击事件存储入缓存队列中。
[0102] 步骤204、按照设定时间间隔将缓存队列中的实时攻击事件存储入历史攻击事件文件中,存储入历史攻击事件文件中的实时攻击事件为历史攻击事件。
[0103] 本实施例中,当将实时攻击事件缓存至缓存队列之后,还需要定期将缓存队列中的实时攻击事件存入历史攻击事件文件中。具体地,可按设定时间间隔将实时攻击事件存储入历史攻击事件文件中,设定时间间隔可根据需要进行设置。当将实时攻击事件存储入历史攻击事件文件中时,存入历史攻击事件文件中的实时攻击事件可称为历史攻击事件。优选地,本步骤中可删除历史攻击事件文件中的所有历史攻击事件,而后将缓存队列中所有实时攻击事件存储入历史攻击事件文件中。
[0104] 需要说明的是:在系统启动后,可将缓存队列中的实时攻击事件存储入历史攻击事件文件中。
[0105] 本步骤具体可包括:
[0106] 步骤2041、按照设定时间间隔查询缓存队列中队尾的实时攻击事件的时间戳和历史攻击事件文件中保存的最后一条历史攻击事件的时间戳是否相同。
[0107] 本实施例中,实时攻击事件的时间戳为接收到该实时攻击事件的时间;历史攻击事件的事件戳为接收到该历史攻击事件(接收时称为实时攻击事件)的时间。
[0108] 步骤2042、若查询出缓存队列中队尾的实时攻击事件的时间戳和历史攻击事件文件中保存的最后一条历史攻击事件的时间戳不相同,将缓存队列中的实时攻击事件存储入历史攻击事件文件中。
[0109] 若查询出不相同,表明缓存队列中存在未保存入历史攻击事件文件中的实时攻击事件,则此时需要执行将缓存队列中的实时攻击事件存储入历史攻击事件文件中。
[0110] 步骤205、查询距离上一次接收到的实时攻击事件的时间戳是否超过第一设定时间,若是则执行步骤206,若否则继续执行步骤205。
[0111] 本实施例中,第一设定时间可根据需要进行设置,例如,第一设定时间为30s。若查询出距离上一次接收到的实时攻击事件的时间戳超过第一设定事件,表明已有较长时间未接收到实时攻击事件,则此时可以开始展示历史攻击事件;若查询出距离上一次接收到的实时攻击事件的时间未超过第一设定事件,需要继续执行步骤205以等待时间超过第一设定时间。
[0112] 步骤206、判断当前是否接收到实时攻击事件,若否则执行步骤207,若是则执行步骤208。
[0113] 在执行本步骤之前,任何时刻若接收到实时攻击事件,可将标志位设置为真。则本步骤具体可以为:通过判断标志位是否为真以判断当前是否接收到实时攻击事件。若判断出标志位为真,则判断出当前接收到实时攻击事件;若判断出标志位不为真,则判断出当前未接收到实时攻击事件。
[0114] 步骤207、展示历史攻击事件文件中存储的历史攻击事件。
[0115] 若判断出未接收到实时攻击事件时,表明一段时间内未接收到任何实时攻击事件,则没有任何攻击事件可供展示。此种情况下,可展示历史攻击事件。
[0116] 本步骤中,可展示历史攻击事件文件中存储的一条历史攻击事件,而后继续执行步骤206。
[0117] 本实施例中,可依次展示历史攻击事件文件中的每一条历史攻击事件,每展示一条历史攻击事件之前均需要执行步骤206。换言之,可重复执行步骤206和步骤207,以实现展示历史攻击事件文件中存储的每一条历史攻击事件。当一直未接收到实时攻击事件时,一旦开始展示历史攻击事件,则从头至尾展示完历史攻击事件文件中的所有历史攻击事件。当展示完历史攻击事件文件中的所有历史攻击事件之后可立即从头至尾再次展示该历史攻击事件文件中的历史攻击事件,从而使得每一轮展示之间不存在较大的时间停顿感。
[0118] 作为第一种可选方案,本步骤具体可包括:根据设定的压缩比因数计算出历史攻击事件之间的延迟时间,并根据历史攻击事件之间的延迟时间展示历史攻击事件文件中对应的历史攻击事件。
[0119] 通过如下压缩公式根据设定的压缩比因数计算出历史攻击事件之间的延迟时间:X=Lk×(Δt/Ln)---公式(1),其中,X为延迟时间,Lk为压缩比因数,Δt为历史攻击事件之间的时间差(历史攻击事件的时间戳之间的差值),Ln为展示的多个历史攻击事件的持续时间长度。例如,Ln为1小时,Lk设定为5分钟,表示可将需要1小时展示的实时攻击事件压缩至5分钟展示。
[0120] 如下表3所示:
[0121] 表3
[0122]
[0123] 表3中列举了5个历史攻击事件的时间戳,分别为t1、t2、t3、t4和t5,时间戳t5为Ln。具体地,计算出表3中相邻两个历史攻击事件的时间戳之间的差值,即计算出相邻两个历史攻击事件之间的时间差,则Δt分别为t2与t1的差值、t3与t2的差值、t4与t3的差值以及t5与t4的差值。在上述公式(1)中,Ln和Lk为已知量,将上述每个Δt代入公式(1)可计算出每个Δt对应的延迟时间X,从而得出历史攻击事件之间的延迟时间。而后,根据延迟时间展示对应的历史攻击事件。例如,若t2与t1的差值Δt对应的延迟时间为2.5s,则在t1对应的历史攻击事件展示之后的2.5s展示t2对应的历史攻击事件,依此类推。在展示历史攻击事件的过程中,在每轮回放历史攻击事件之前可动态调整压缩比因数,并根据调整的压缩比因数通过公式(1)计算出对应的延迟时间,从而使得采用上述延迟时间展示历史攻击事件在人可以忍受的范围之内。
[0124] 作为第二种可选方案,本步骤具体可包括:根据设定的延迟时间计算出历史攻击事件的压缩比因数,并根据历史攻击事件的压缩比因数展示历史攻击事件文件中的历史攻击事件。
[0125] 通过如下压缩公式根据设定的延迟时间计算出历史攻击事件的压缩比因数:Lk=X×(Ln/Δt)---公式(2),其中,X为延迟时间,Lk为压缩比因数,Δt为历史攻击事件之间的时间差(历史攻击事件的时间戳之间的差值),Ln为展示的多个历史攻击事件的持续时间长度。例如,Ln为1小时,可将需要1小时展示的实时攻击事件压缩至Lk展示。
[0126] 假定X从10毫秒至5分钟内范围内取值,从上述取值范围得出延迟时间X的折半取值,例如X取2秒,则X设定为2秒。如上表3所示,计算出表3中相邻两个历史攻击事件的时间戳之间的差值,即计算出相邻两个历史攻击事件之间的时间差,则Δt分别为t2与t1的差值、t3与t2的差值、t4与t3的差值以及t5与t4的差值。从上述四个Δt中取时间差最小值Δtmin,在上述公式(2)中Ln、X和Δt为已知量,Δt取Δtmin,将Ln、X和Δt代入公式(2)可计算出Lk,从而得出历史攻击事件的压缩比因数。而后,根据历史攻击事件的压缩比因数展示历史攻击事件。例如,可根据计算出的Lk展示上表3中的t1至t5对应的历史攻击事件,在展示过程中可将展示t1至t5对应的历史攻击事件的时间压缩至Lk。本方案中,预先设定的延迟时间X在人可以忍受范围之内,则根据时间差最小值Δtmin计算出的压缩比因数较大,从而使得该压缩比因数也在人可忍受的范围之内。当有新的实时攻击事件到来时,仅需将新的实时攻击事件与相邻实时攻击事件之前的事件差与Δtmin对比得出新的Δtmin即可,并根据新的Δtmin计算出压缩比因数,从而简化了计算过程。
[0127] 上述两种方案采用等比时间压缩公式计算出延迟事件或者压缩比因数,适用于展示高密度攻击消息和低密度攻击消息时进行灵活的调整。
[0128] 步骤208、展示接收到的实时攻击事件。
[0129] 本实施例中,若判断出当前接收到实时攻击事件,则立即中断展示历史攻击事件,直接执行展示接收到的实时攻击事件的步骤。
[0130] 本实施例中,可通过设置如下配置项来控制攻击回放的过程。通过将开启配置项“enable”设置为开启“on”,以开启实时攻击回放功能。可通过设置队列最小值配置项“attackCountMin”,以实现设置队列最小值。可通过设置队列最大值配置项“attackCountMax”,以实现设置队列最大值。可通过设置延迟时间配置项“delayTime”,以实现设置两条历史攻击事件之间的延迟时间阈值,若不启用延迟时间时可将“delayTime”设置为1,例如该“delayTime”的单位是秒,若展示下一条历史攻击事件的延迟时间超过该“delayTime”,则可自动使用延迟一定时间展示下一条历史攻击时间,例如自动使用延迟2秒展示下一条历史攻击时间。通过设置时间间隔配置项“replayInterval”,以实现设置每一轮回放时间间隔。通过设置快速播放时间配置项“fastPlayTime”,以实现设置攻击回放快速播放完成时间,该“fastPlayTime”即为压缩比因数Lk。通过设置历史时间配置项“historyTime”,以实现保存历史攻击时间跨越的时间长度,该“historyTime”即为展示的多个历史攻击事件的持续时间长度Ln。
[0131] 本实施例提供的实时攻击回放方法中,若判断出未接收到实时攻击事件时展示历史攻击事件文件中的历史攻击事件,若判断出接收到实时攻击事件时展示接收到的实时攻击事件,通过展示历史攻击事件避免了在实时攻击间隔时间内没有实时攻击事件进行展示的问题,从而提高了攻击事件的展示效果。本实施例构建了一种展示效果友好且层次分明的回放框架。本实施例在没有实时攻击事件需要展示的时候才进行历史攻击事件的展示,从而不会造成实时攻击事件展示的延迟。
[0132] 图4为本发明实施例三提供的实时攻击回放系统的结构示意图,如图4所示,该系统包括:判断模块11和展示模块12。
[0133] 判断模块11用于判断当前是否接收到实时攻击事件。展示模块12用于若判断出未接收到实时攻击事件,展示历史攻击事件文件中存储的历史攻击事件;若判断出接收到实时攻击事件,展示接收到的实时攻击事件。
[0134] 本实施例中,展示模块12具体用于展示历史攻击事件文件中存储的一条历史攻击事件。
[0135] 进一步地,该系统还包括查询模块13。查询模块13用于查询距离上一次接收到的实时攻击事件的时间戳是否超过第一设定时间;若查询出距离上一次接收到的实时攻击事件的时间戳超过第一设定时间,触发判断模块11执行所述判断是否接收到实时攻击事件的步骤。
[0136] 进一步地,该系统还包括接收模块14、第一存储模块15和第二存储模块16。接收模块14用于接收实时攻击事件。展示模块12还用于展示接收到的实时攻击事件。第一存储模块15用于将接收到的实时攻击事件存储入缓存队列中。第二存储模块16用于按照设定时间间隔将缓存队列中的实时攻击事件存储入所述历史攻击事件文件中,存储入所述历史攻击事件文件中的实时攻击事件为历史攻击事件。
[0137] 具体地,第一存储模块15具体用于判断缓存队列中的事件存储数量小于或等于队列最大值;若判断出缓存队列中的事件存储数量等于队列最大值,删除缓存队列中队首的实时攻击事件,并将接收到的实时攻击事件存储至缓存队列的队尾;若判断出缓存队列中的事件存储数量小于队列最大值,从缓存队列的队首开始依次查询缓存队列中是否存在时间戳比接收到的实时攻击事件的时间戳提前第二设定时间以上的实时攻击事件;若查询出不存在时间戳提前第二设定时间以上的实时攻击事件,将接收到的实时攻击事件存储至缓存队列的队尾;若判断出存在时间戳提前第二设定时间以上的实时攻击事件,判断缓存队列中的事件存储数量是否小于或等于队列最小值;若判断出缓存队列中的事件存储数量小于或者等于队列最小值,将接收到的实时攻击事件存储至缓存队列的队尾;若判断出缓存队列中的事件存储数量大于队列最小值,删除时间戳提前第二设定时间以上的实时攻击事件,将接收到的实时攻击事件存储至缓存队列的队尾。
[0138] 具体地,第二存储模块16具体用于按照设定时间间隔查询缓存队列中队尾的实时攻击事件的时间戳和历史攻击事件文件中保存的最后一条历史攻击事件的时间戳是否相同;若查询出缓存队列中队尾的实时攻击事件的时间戳和历史攻击事件文件中保存的最后一条历史攻击事件的时间戳不相同,将缓存队列中的实时攻击事件存储入所述历史攻击事件文件中。
[0139] 进一步地,展示模块12具体用于根据设定的压缩比因数计算出历史攻击事件之间的延迟时间,并根据历史攻击事件之间的延迟时间展示历史攻击事件文件中对应的历史攻击事件;或者具体用于根据设定的延迟时间计算出历史攻击事件的压缩比因数,并根据历史攻击事件的压缩比因数展示历史攻击事件文件中的历史攻击事件。
[0140] 本实施例提供的实时攻击回放系统中,若判断出未接收到实时攻击事件时展示历史攻击事件文件中的历史攻击事件,若判断出接收到实时攻击事件时展示接收到的实时攻击事件,通过展示历史攻击事件避免了在实时攻击间隔时间内没有实时攻击事件进行展示的问题,从而提高了攻击事件的展示效果。
[0141] 可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

当前第1页 第1页 第2页 第3页