一种服务器安全异常检测方法、系统、存储介质及设备转让专利

申请号 : CN202311024299.X

文献号 : CN116886423B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程广勇杨灵江王嘉飞胡伟明吴炎彬黄嘉辉黄锦辉谢浩佳彭庆庆何益兴丁小雅张耿滔刘展鹏吴桂芬梁忠杰

申请人 : 广东中山网传媒信息科技有限公司

摘要 :

本发明公开了一种服务器安全异常检测方法、系统、存储介质及设备,通过防火墙的端口地址模拟出黑客攻击的一串连续的攻击指令,以及假设攻击成功后服务器产生的一串连续的响应指令,利用外部服务器发起攻击指令并在目标服务器内部植入响应指令,通过判断目标服务器的实时状态表中各个端口的实际开闭状态,可主动地判断出当前防火墙的安全防护能力,克服目标服务器中重大价值数据信息防护存在风险较大的时间空窗期的技术问题;通过改变传统的被动式安全检测手段,利用主动式的安全检测手段在防火墙升级的空窗期给与防火墙安全检测,及时发现服务器安全异常,有效地为服务器数据安全提供可行的预警支撑,提高服务器数据安全。

权利要求 :

1.一种服务器安全异常检测方法,其特征在于,包括:

获取目标服务器当前更新防火墙版本的各个端口地址,其中,所述端口地址包括各层防火墙的源端口地址和目的端口地址;

根据各层防火墙的层级关系,从外到内依次将各层防火墙的源端口地址进行排列,将攻击命令分别嵌入第一数据包头部并依次封装排列后的源端口地址,形成一串连续的攻击指令;

根据所述攻击命令生成响应命令,从内到外依次将各层防火墙的目的端口地址进行排列,将响应命令分别嵌入第二数据包头部并依次封装排列后的目的端口地址,形成一串连续的响应指令;

控制外部服务器向所述目标服务器发送所述攻击指令,同时,将所述响应指令通过所述目标服务器内部植入防火墙;

获取所述目标服务器的实时状态表,根据所述实时状态表中各层防火墙的端口开闭数据,判断各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态;

根据所述各层防火墙中各个端口的实际开闭状态,确定所述目标服务器的安全异常检测结果;

其中,所述控制外部服务器向所述目标服务器发送所述攻击指令的步骤中,具体包括:

控制外部服务器生成多个诱导指令并将所述诱导指令发送到目标服务器,同时,接收由所述目标服务器响应于所述诱导指令所生成的测试反馈指令;根据所述测试反馈指令确定与之对应的目标诱导指令,并将所述目标诱导指令的头部数据进行切割后封装到所述攻击指令上;将封装完成的攻击指令发送到目标服务器并实时监测由所述目标服务器响应于所述封装完成的攻击指令所生成的攻击反馈指令;

其中,所述将所述响应指令通过所述目标服务器内部植入防火墙的步骤中,具体包括:

根据所述攻击反馈指令确定目标服务器接收所述攻击指令的第一响应时间;根据所示攻击指令中各个攻击命令的封装位置判断各层防火墙接收所述攻击指令的第二响应时间;根据所述第一响应时间和第二响应时间确定所述响应指令的植入时间,根据所述植入时间控制所述响应指令在所述目标服务器内部植入到防火墙;其中,所述植入时间的计算公式为:其中,Th为植入时间,T1为第一响应时间,T2i为第i层防火墙接收所述

攻击指令的第二响应时间,n为防火墙的层数;Hi为第i层防火墙中第一个目的端口地址与最后一个目的端口地址之间的空间距离值;其中,Hi=|Hix‑Hiy|;Hix为第i层防火墙中第一个目的端口地址,Hiy为第i层防火墙中最后一个目的端口地址。

2.如权利要求1所述的服务器安全异常检测方法,其特征在于,所述获取目标服务器当前更新防火墙版本的各个端口地址的步骤中,具体包括:调用所述目标服务器的当前状态表,对所述当前状态表上的各个位置进行0‑1逻辑监控;

控制外部服务器向所述目标服务器发送测试命令,同时,记录所述当前状态表上各个位置的逻辑变化;

根据各个位置的逻辑变化,确定各个位置的变化时间,根据所述变化时间的先后顺序确定各个位置对应各层防火墙的层级关系;

对每一层防火墙上各个位置发生逻辑变化的频次和时长进行统计,确定各个位置的端口类型;其中,所述端口地址包括各层防火墙的源端口地址和目的端口地址。

3.如权利要求2所述的服务器安全异常检测方法,其特征在于,所述根据各层防火墙的层级关系,从外到内依次将各层防火墙的源端口地址进行排列,将攻击命令分别嵌入第一数据包头部并依次封装排列后的源端口地址,形成一串连续的攻击指令的步骤中,具体包括:调用攻击命令,根据从外到内的各层防火墙中各个源端口的位置确定每一层防火墙对应攻击命令的封装位置;

根据每一层防火墙中各个源端口之间的位置关系,确定攻击命令在每一段封装位置上的源端口地址;

根据所述源端口地址,将所述攻击命令嵌入预先提取的第一数据包头部,得到攻击数据字节;

根据所述每一层防火墙对应攻击命令的封装位置,对所述攻击数据字节进行依次封装,得到一串连续的攻击指令。

4.如权利要求2所述的服务器安全异常检测方法,其特征在于,所述根据所述攻击命令生成响应命令,从内到外依次将各层防火墙的目的端口地址进行排列,将响应命令分别嵌入第二数据包头部并依次封装排列后的目的端口地址,形成一串连续的响应指令的步骤中,具体包括:响应于所述攻击命令生成对应的响应命令,根据从内到外的各层防火墙中各个目的端口的位置确定每一层防火墙对应响应命令的封装位置;

根据每一层防火墙中各个目的端口之间的位置关系,确定响应命令在每一段封装位置上的目的端口地址;

根据所述目的端口地址,将所述响应命令嵌入预先提取的第二数据包头部,得到响应数据字节;

根据所述每一层防火墙对应响应命令的封装位置,对所述响应数据字节进行依次封装,得到一串连续的响应指令。

5.一种服务器安全异常检测系统,其特征在于,包括:地址获取模块、攻击指令模块、响应指令模块、指令发送模块、端口状态模块和安全检测模块;

所述地址获取模块,用于获取目标服务器当前更新防火墙版本的各个端口地址,其中,所述端口地址包括各层防火墙的源端口地址和目的端口地址;

所述攻击指令模块,用于根据各层防火墙的层级关系,从外到内依次将各层防火墙的源端口地址进行排列,将攻击命令分别嵌入第一数据包头部并依次封装排列后的源端口地址,形成一串连续的攻击指令;

所述响应指令模块,用于根据所述攻击命令生成响应命令,从内到外依次将各层防火墙的目的端口地址进行排列,将响应命令分别嵌入第二数据包头部并依次封装排列后的目的端口地址,形成一串连续的响应指令;

所述指令发送模块,用于控制外部服务器向所述目标服务器发送所述攻击指令,同时,将所述响应指令通过所述目标服务器内部植入防火墙;

所述端口状态模块,用于获取所述目标服务器的实时状态表,根据所述实时状态表中各层防火墙的端口开闭数据,判断各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态;

所述安全检测模块,用于根据所述各层防火墙中各个端口的实际开闭状态,确定所述目标服务器的安全异常检测结果;

其中,所述指令发送模块用于控制外部服务器向所述目标服务器发送所述攻击指令的步骤中,具体包括:控制外部服务器生成多个诱导指令并将所述诱导指令发送到目标服务器,同时,接收由所述目标服务器响应于所述诱导指令所生成的测试反馈指令;根据所述测试反馈指令确定与之对应的目标诱导指令,并将所述目标诱导指令的头部数据进行切割后封装到所述攻击指令上;将封装完成的攻击指令发送到目标服务器并实时监测由所述目标服务器响应于所述封装完成的攻击指令所生成的攻击反馈指令;

其中,所述指令发送模块用于将所述响应指令通过所述目标服务器内部植入防火墙的步骤中,具体包括:根据所述攻击反馈指令确定目标服务器接收所述攻击指令的第一响应时间;根据所示攻击指令中各个攻击命令的封装位置判断各层防火墙接收所述攻击指令的第二响应时间;根据所述第一响应时间和第二响应时间确定所述响应指令的植入时间,根据所述植入时间控制所述响应指令在所述目标服务器内部植入到防火墙;其中,所述植入时间的计算公式为: 其中,Th为植入时间,T1为第一响应时间,T2i为第i层防火墙接收所述攻击指令的第二响应时间,n为防火墙的层数;Hi为第i层防火墙中第一个目的端口地址与最后一个目的端口地址之间的空间距离值;其中,Hi=|Hix‑Hiy|;Hix为第i层防火墙中第一个目的端口地址,Hiy为第i层防火墙中最后一个目的端口地址。

6.如权利要求5所述的服务器安全异常检测系统,其特征在于,所述地址获取模块具体用于:调用所述目标服务器的当前状态表,对所述当前状态表上的各个位置进行0‑1逻辑监控;控制外部服务器向所述目标服务器发送测试命令,同时,记录所述当前状态表上各个位置的逻辑变化;根据各个位置的逻辑变化,确定各个位置的变化时间,根据所述变化时间的先后顺序确定各个位置对应各层防火墙的层级关系;对每一层防火墙上各个位置发生逻辑变化的频次和时长进行统计,确定各个位置的端口类型;其中,所述端口地址包括各层防火墙的源端口地址和目的端口地址。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如权利要求1‑4中任一项所述的服务器安全异常检测方法。

8.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如权利要求

1‑4中任一项所述的服务器安全异常检测方法。

说明书 :

一种服务器安全异常检测方法、系统、存储介质及设备

技术领域

[0001] 本发明涉及安全检测技术领域,尤其涉及一种服务器安全异常检测方法、系统、存储介质及设备。

背景技术

[0002] 随着网络技术的发展,服务器连接着互联网承担着海量数据的信息往来,使得越来越多重要的数据被储存在服务器中。在信息安全里,“黑客”指研究智取计算机安全系统的人员,利用公共通讯网路,如互联网和电话系统,在未经许可的情况下,载入对方系统的被称为黑帽黑客。为了防止服务器被黑客攻击,盗取有价值的数据信息,技术人员在服务器中设置多层防火墙,并使用特殊密码对防火墙通信接口进行加密。
[0003] 防火墙的原理是指设置在不同网络或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的唯一出入口,通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,有选择地接受外部访问,对内部强化设备监管、控制对服务器与外部网络的访问,在被保护网络和外部网络之间架起一道屏障,以防止发生不可预测的、潜在的破坏性侵入。
[0004] 防火墙通常使用的安全控制手段主要有包过滤和状态检测。而对应黑客攻击防火墙的手段包括:攻击包过滤防火墙和攻击状态检测的包过滤。由于包过滤只能进行较为初步的安全控制,对于恶意的拥塞攻击、内存覆盖攻击或病毒等高层次的攻击手段,则无能为力。所以目前市面上使用较多的,大部分的防护手段是状态检测。状态检测对新建的应用连接,检查预先设置的安全规则,允许符合规则的连接通过,并在内存中记录下该连接的相关信息,生成状态表。对该连接的后续数据包,只要符合状态表,就可以通过。
[0005] 由于在现有技术中,对于防火墙的安全防护往往是通过定期升级的方式进行提高服务器安全防护,而在其余时间则通过监控防火墙的触发报警。当黑客通过外部服务器诱导我方服务器,发送正常命令来试探防火墙时,防火墙内部分端口会开启,虽然黑客诱导的正常命令会很快被防火墙拦截,但只需要多次连续发送诱导命令,记录每次端口开启的规则,则可判断目前防火墙的漏洞条件,从而做出真正的攻击命令。当黑客攻击服务器穿越防火墙并触发了防火墙的报警程序之后,技术人员再通过人工介入的方式启动安全防护程序。因此,对于现有技术中不处于升级节点的空窗期,往往存在着被黑客攻击的风险,而目前传统的防护策略是利用防火墙监控来触发报警并不是及时预警,对于一些重大的秘密数据存在较大的泄密风险。目前这种被动式的安全检测策略,对于重大价值的数据信息防护存在风险较大的时间空窗期。
[0006] 因此,目前市面上亟需一种服务器安全异常检测策略,改变传统的被动式安全检测手段,通过主动式的安全检测手段在防火墙升级的空窗期给与防火墙安全检测,及时发现服务器安全异常,有效地为服务器数据安全提供可行的预警支撑,提高服务器数据安全。

发明内容

[0007] 本发明提供了一种服务器安全异常检测方法、系统、存储介质及设备,通过主动式的安全检测手段在防火墙升级的空窗期给与防火墙安全检测,及时发现服务器安全异常,有效地为服务器数据安全提供可行的预警支撑,提高服务器数据安全。
[0008] 为了解决上述技术问题,本发明提供了一种服务器安全异常检测方法,包括:
[0009] 获取目标服务器当前更新防火墙版本的各个端口地址,其中,所述端口地址包括各层防火墙的源端口和目的端口;
[0010] 根据各层防火墙的层级关系,从外到内依次将各层防火墙的源端口地址进行排列,将攻击命令分别嵌入第一数据包头部并依次封装排列后的源端口地址,形成一串连续的攻击指令;
[0011] 根据所述攻击命令生成响应命令,从内到外依次将各层防火墙的目的端口地址进行排列,将响应命令分别嵌入第二数据包头部并依次封装排列后的目的端口地址,形成一串连续的响应指令;
[0012] 控制外部服务器向所述目标服务器发送所述攻击指令,同时,将所述响应指令通过所述目标服务器内部植入防火墙;
[0013] 获取所述目标服务器的实时状态表,根据所述实时状态表中各层防火墙的端口开闭数据,判断各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态;
[0014] 根据所述各层防火墙中各个端口的实际开闭状态,确定所述目标服务器的安全异常检测结果。
[0015] 作为优选方案,所述获取目标服务器当前更新防火墙版本的各个端口地址的步骤中,具体包括:
[0016] 调用所述目标服务器的当前状态表,对所述当前状态表上的各个位置进行0‑1逻辑监控;
[0017] 控制外部服务器向所述目标服务器发送测试命令,同时,记录所述当前状态表上各个位置的逻辑变化;
[0018] 根据各个位置的逻辑变化,确定各个位置的变化时间,根据所述变化时间的先后顺序确定各个位置对应各层防火墙的层级关系;
[0019] 对每一层防火墙上各个位置发生逻辑变化的频次和时长进行统计,确定各个位置的端口类型;其中,所述端口地址包括各层防火墙的源端口和目的端口。
[0020] 作为优选方案,所述根据各层防火墙的层级关系,从外到内依次将各层防火墙的源端口地址进行排列,将攻击命令分别嵌入第一数据包头部并依次封装排列后的源端口地址,形成一串连续的攻击指令的步骤中,具体包括:
[0021] 调用攻击命令,根据从外到内的各层防火墙中各个源端口的位置确定每一层防火墙对应攻击命令的封装位置;
[0022] 根据每一层防火墙中各个源端口之间的位置关系,确定攻击命令在每一段封装位置上的源端口地址;
[0023] 根据所述源端口地址,将所述攻击命令嵌入预先提取的第一数据包头部,得到攻击数据字节;
[0024] 根据所述每一层防火墙对应攻击命令的封装位置,对所述攻击数据字节进行依次封装,得到一串连续的攻击指令。
[0025] 作为优选方案,所述根据所述攻击命令生成响应命令,从内到外依次将各层防火墙的目的端口地址进行排列,将响应命令分别嵌入第二数据包头部并依次封装排列后的目的端口地址,形成一串连续的响应指令的步骤中,具体包括:
[0026] 响应于所述攻击命令生成对应的响应命令,根据从内到外的各层防火墙中各个目的端口的位置确定每一层防火墙对应响应命令的封装位置;
[0027] 根据每一层防火墙中各个目的端口之间的位置关系,确定响应命令在每一段封装位置上的目的端口地址;
[0028] 根据所述目的端口地址,将所述响应命令嵌入预先提取的第二数据包头部,得到响应数据字节;
[0029] 根据所述每一层防火墙对应响应命令的封装位置,对所述响应数据字节进行依次封装,得到一串连续的响应指令。
[0030] 作为优选方案,所述控制外部服务器向所述目标服务器发送所述攻击指令的步骤中,具体包括:
[0031] 控制外部服务器生成多个诱导指令并将所述诱导指令发送到目标服务器,同时,接收由所述目标服务器响应于所述诱导指令所生成的测试反馈指令;
[0032] 根据所述测试反馈指令确定与之对应的目标诱导指令,并将所述目标诱导指令的头部数据进行切割后封装到所述攻击指令上;
[0033] 将封装完成的攻击指令发送到目标服务器并实时监测由所述目标服务器响应于所述封装完成的攻击指令所生成的攻击反馈指令。
[0034] 作为优选方案,所述将所述响应指令通过所述目标服务器内部植入防火墙的步骤中,具体包括:
[0035] 根据所述攻击反馈指令确定目标服务器接收所述攻击指令的第一响应时间;
[0036] 根据所示攻击指令中各个攻击命令的封装位置判断各层防火墙接收所述攻击指令的第二响应时间;
[0037] 根据所述第一响应时间和第二响应时间确定所述响应指令的植入时间,根据所述植入时间控制所述响应指令在所述目标服务器内部植入到防火墙;
[0038] 其中,所述植入时间的计算公式为:
[0039]
[0040] 其中,Th为植入时间,T1为第一响应时间,T2i为第i层防火墙接收所述攻击指令的第二响应时间,n为防火墙的层数;Hi为第i层防火墙中第一个目的端口地址与最后一个目的端口地址之间的空间距离值;
[0041] 其中,Hi=|Hix‑Hiy|;Hix为第i层防火墙中第一个目的端口地址,Hiy为第i层防火墙中最后一个目的端口地址。
[0042] 作为优选方案,所述获取所述目标服务器的实时状态表,根据所述实时状态表中各层防火墙的端口开闭数据,判断各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态的步骤中,具体包括:
[0043] 获取所述目标服务器的实时状态表,确定所述实时状态表中各个端口的初始状态;
[0044] 根据所述攻击指令进入各层防火墙的响应时间确定对应时刻所述实时状态表中各个端口的第一响应状态;
[0045] 根据所述第一响应状态确定各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态。
[0046] 作为优选方案,所述根据所述各层防火墙中各个端口的实际开闭状态,确定所述目标服务器的安全异常检测结果的步骤中,具体包括:
[0047] 根据所述响应指令植入防火墙的植入时间确定对应时刻所述实时状态表中各个端口的第二响应状态;
[0048] 判断每一个端口所对应的所述第一响应状态和所述第二响应状态是否一致,如果一致,则确定该端口存在安全异常,根据所有端口的安全异常状态确定所述目标服务器的安全异常检测结果。
[0049] 相应地,本发明还提供了一种服务器安全异常检测系统,包括:地址获取模块、攻击指令模块、响应指令模块、指令发送模块、端口状态模块和安全检测模块;
[0050] 所述地址获取模块,用于获取目标服务器当前更新防火墙版本的各个端口地址,其中,所述端口地址包括各层防火墙的源端口和目的端口;
[0051] 所述攻击指令模块,用于根据各层防火墙的层级关系,从外到内依次将各层防火墙的源端口地址进行排列,将攻击命令分别嵌入第一数据包头部并依次封装排列后的源端口地址,形成一串连续的攻击指令;
[0052] 所述响应指令模块,用于根据所述攻击命令生成响应命令,从内到外依次将各层防火墙的目的端口地址进行排列,将响应命令分别嵌入第二数据包头部并依次封装排列后的目的端口地址,形成一串连续的响应指令;
[0053] 所述指令发送模块,用于控制外部服务器向所述目标服务器发送所述攻击指令,同时,将所述响应指令通过所述目标服务器内部植入防火墙;
[0054] 所述端口状态模块,用于获取所述目标服务器的实时状态表,根据所述实时状态表中各层防火墙的端口开闭数据,判断各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态;
[0055] 所述安全检测模块,用于根据所述各层防火墙中各个端口的实际开闭状态,确定所述目标服务器的安全异常检测结果。
[0056] 作为优选方案,所述地址获取模块具体用于:调用所述目标服务器的当前状态表,对所述当前状态表上的各个位置进行0‑1逻辑监控;控制外部服务器向所述目标服务器发送测试命令,同时,记录所述当前状态表上各个位置的逻辑变化;根据各个位置的逻辑变化,确定各个位置的变化时间,根据所述变化时间的先后顺序确定各个位置对应各层防火墙的层级关系;对每一层防火墙上各个位置发生逻辑变化的频次和时长进行统计,确定各个位置的端口类型;其中,所述端口地址包括各层防火墙的源端口和目的端口。
[0057] 作为优选方案,所述攻击指令模块具体用于:调用攻击命令,根据从外到内的各层防火墙中各个源端口的位置确定每一层防火墙对应攻击命令的封装位置;根据每一层防火墙中各个源端口之间的位置关系,确定攻击命令在每一段封装位置上的源端口地址;根据所述源端口地址,将所述攻击命令嵌入预先提取的第一数据包头部,得到攻击数据字节;根据所述每一层防火墙对应攻击命令的封装位置,对所述攻击数据字节进行依次封装,得到一串连续的攻击指令。
[0058] 作为优选方案,所述响应指令模块具体用于:响应于所述攻击命令生成对应的响应命令,根据从内到外的各层防火墙中各个目的端口的位置确定每一层防火墙对应响应命令的封装位置;根据每一层防火墙中各个目的端口之间的位置关系,确定响应命令在每一段封装位置上的目的端口地址;根据所述目的端口地址,将所述响应命令嵌入预先提取的第二数据包头部,得到响应数据字节;根据所述每一层防火墙对应响应命令的封装位置,对所述响应数据字节进行依次封装,得到一串连续的响应指令。
[0059] 作为优选方案,所述指令发送模块用于控制外部服务器向所述目标服务器发送所述攻击指令的步骤中,具体包括:控制外部服务器生成多个诱导指令并将所述诱导指令发送到目标服务器,同时,接收由所述目标服务器响应于所述诱导指令所生成的测试反馈指令;根据所述测试反馈指令确定与之对应的目标诱导指令,并将所述目标诱导指令的头部数据进行切割后封装到所述攻击指令上;将封装完成的攻击指令发送到目标服务器并实时监测由所述目标服务器响应于所述封装完成的攻击指令所生成的攻击反馈指令。
[0060] 作为优选方案,所述指令发送模块用于将所述响应指令通过所述目标服务器内部植入防火墙的步骤中,具体包括:根据所述攻击反馈指令确定目标服务器接收所述攻击指令的第一响应时间;根据所示攻击指令中各个攻击命令的封装位置判断各层防火墙接收所述攻击指令的第二响应时间;根据所述第一响应时间和第二响应时间确定所述响应指令的植入时间,根据所述植入时间控制所述响应指令在所述目标服务器内部植入到防火墙;其中,所述植入时间的计算公式为: 其中,Th为植入时间,T1为第一响应时间,T2i为第i层防火墙接收所述攻击指令的第二响应时间,n为防火墙的层数;Hi为第i层防火墙中第一个目的端口地址与最后一个目的端口地址之间的空间距离值;其中,Hi=|Hix‑Hiy|;Hix为第i层防火墙中第一个目的端口地址,Hiy为第i层防火墙中最后一个目的端口地址。
[0061] 作为优选方案,所述端口状态模块具体用于:获取所述目标服务器的实时状态表,确定所述实时状态表中各个端口的初始状态;根据所述攻击指令进入各层防火墙的响应时间确定对应时刻所述实时状态表中各个端口的第一响应状态;根据所述第一响应状态确定各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态。
[0062] 作为优选方案,所述安全检测模块具体用于:根据所述响应指令植入防火墙的植入时间确定对应时刻所述实时状态表中各个端口的第二响应状态;判断每一个端口所对应的所述第一响应状态和所述第二响应状态是否一致,如果一致,则确定该端口存在安全异常,根据所有端口的安全异常状态确定所述目标服务器的安全异常检测结果。
[0063] 本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如上述任一项所述的服务器安全异常检测方法。
[0064] 本发明还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如上述任一项所述的服务器安全异常检测方法。
[0065] 相比于现有技术,本发明具有如下有益效果:
[0066] 本发明技术方案通过防火墙的端口地址模拟出黑客攻击的一串连续的攻击指令,以及假设攻击成功后服务器产生的一串连续的响应指令,利用外部服务器发起攻击指令并在目标服务器内部植入响应指令,通过判断目标服务器的实时状态表中各个端口的实际开闭状态,即可主动地、有效地判断出当前防火墙的安全防护能力,代替了目前传统被动式的安全检测策略,克服了目标服务器中重大价值的数据信息防护存在风险较大的时间空窗期的技术问题;通过改变传统的被动式安全检测手段,利用主动式的安全检测手段在防火墙升级的空窗期给与防火墙安全检测,及时发现服务器安全异常,有效地为服务器数据安全提供可行的预警支撑,提高服务器数据安全。

附图说明

[0067] 图1:为本发明提供的一种服务器安全异常检测方法的步骤流程图;
[0068] 图2:为本发明提供的一种服务器安全异常检测系统的结构示意图;
[0069] 图3:为本发明提供的终端设备的一种实施例的结构示意图。

具体实施方式

[0070] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0071] 实施例一,请参照图1,为本发明实施例提供的一种服务器安全异常检测方法,包括:步骤101至步骤106,各步骤具体如下:
[0072] 步骤101,获取目标服务器当前更新防火墙版本的各个端口地址,其中,所述端口地址包括各层防火墙的源端口和目的端口。
[0073] 在本实施例中,所述步骤101具体包括:步骤1011至步骤1014。其中:步骤1011,调用所述目标服务器的当前状态表,对所述当前状态表上的各个位置进行0‑1逻辑监控;步骤1012,控制外部服务器向所述目标服务器发送测试命令,同时,记录所述当前状态表上各个位置的逻辑变化;步骤1013,根据各个位置的逻辑变化,确定各个位置的变化时间,根据所述变化时间的先后顺序确定各个位置对应各层防火墙的层级关系;步骤1014,对每一层防火墙上各个位置发生逻辑变化的频次和时长进行统计,确定各个位置的端口类型;其中,所述端口地址包括各层防火墙的源端口和目的端口。
[0074] 具体地,目标服务器在更新防火墙版本之后到达空窗期,这时候技术人员需要对目标服务器的防火墙功能进行主动式安全异常检测。首先在目标服务器中识别到各个端口地址,其中包括了TCP/UDP源端口地址和TCP/UDP目的端口。为了避免黑客采用i p欺骗攻击、DOS拒绝服务攻击和分片攻击,对数据包的各个端口地址进行过滤。我们利用外部服务器对目标服务器发送正常的数据信息,通过监控目标服务器的当前状态表,通过监控各个位置上0‑1之间的逻辑跳动,来确定各个位置受正常数据信息通过防火墙时的正常影响。可以理解的是,通过不同位置上逻辑变化的时间,可以判断出各层防火墙的先后顺序;再通过各个位置上逻辑变化的频次和时长可以判断出属于源端口还是目的端口。
[0075] 步骤102,根据各层防火墙的层级关系,从外到内依次将各层防火墙的源端口地址进行排列,将攻击命令分别嵌入第一数据包头部并依次封装排列后的源端口地址,形成一串连续的攻击指令。
[0076] 在本实施例中,所述步骤102具体包括:步骤1021至步骤1024。其中:步骤1021,调用攻击命令,根据从外到内的各层防火墙中各个源端口的位置确定每一层防火墙对应攻击命令的封装位置;步骤1022,根据每一层防火墙中各个源端口之间的位置关系,确定攻击命令在每一段封装位置上的源端口地址;步骤1023,根据所述源端口地址,将所述攻击命令嵌入预先提取的第一数据包头部,得到攻击数据字节;步骤1024,根据所述每一层防火墙对应攻击命令的封装位置,对所述攻击数据字节进行依次封装,得到一串连续的攻击指令。
[0077] 具体地,通过上一步骤判断出防火墙的层级关系之后,我们开始制作模拟黑客攻击服务器的攻击指令。通过从外到内的各层防火墙每个源端口的位置,确定该层攻击命令的封装位置,以确保攻击命令对该层服务器实现有效攻击,防止防火墙上端口的开闭使得攻击命令被过滤。目标服务器在接收到外部服务器发送的一串连续的攻击指令后,目标服务器识别该攻击指令的数据头部,认为与之前诱导而发生的正常数据信息为一致,所以会默认该端口通过该攻击指令,直到该层的所有端口通过成功,进入下一层防火墙,同理,完成了防火墙的数据欺骗。可以理解的是,如果黑客通过发送正常的诱导信息,目标服务器在通过防火墙之后,黑客利用数据监测或其他途径获取到目标服务器的当前状态表,再制作出与正常的诱导信息类似的攻击指令,即可欺骗目标服务器通过该攻击指令。此时,我们只需要配合正常的响应指令,观察目标服务器中实时状态表上各个端口位置的开闭情况,即可判断出该攻击指令是否完全通过了防火墙。
[0078] 步骤103,根据所述攻击命令生成响应命令,从内到外依次将各层防火墙的目的端口地址进行排列,将响应命令分别嵌入第二数据包头部并依次封装排列后的目的端口地址,形成一串连续的响应指令。
[0079] 在本实施例中,所述步骤103具体包括:步骤1031至步骤1034。其中:步骤1031,响应于所述攻击命令生成对应的响应命令,根据从内到外的各层防火墙中各个目的端口的位置确定每一层防火墙对应响应命令的封装位置;步骤1032,根据每一层防火墙中各个目的端口之间的位置关系,确定响应命令在每一段封装位置上的目的端口地址;步骤1033,根据所述目的端口地址,将所述响应命令嵌入预先提取的第二数据包头部,得到响应数据字节;步骤1034,根据所述每一层防火墙对应响应命令的封装位置,对所述响应数据字节进行依次封装,得到一串连续的响应指令。
[0080] 具体地,在制作响应指令的步骤中,我们需要从内到外配合各层防火墙中不同的目的端口位置来确定对应响应指令的封装位置。同样是嵌入到预设的数据包头部。需要说明的是,这里的第一数据包头部和第二数据包头部仅用于区分数据,并非限定数据的保护范围。通过各个封装位置依次进行封装后得到响应指令,利用该一串连续的响应指令在目标服务器内部运行通过目的端口的时候,同时监控目标服务器的实时状态表,通过判断实时状态表中各个位置的端口开闭情况,配合上一步骤得到的攻击指令从外部攻击形成的端口开闭情况相比较,即可判断出攻击指令是否成功攻击防火墙。
[0081] 步骤104,控制外部服务器向所述目标服务器发送所述攻击指令,同时,将所述响应指令通过所述目标服务器内部植入防火墙。
[0082] 具体地,在本步骤中主要负责两个部分,一部分是控制外部服务器对目标服务器发起攻击,同时,控制响应指令向目标服务器内部进行植入,同时判断源端口和目的端口的开闭状态。
[0083] 在本实施例的第一方面中,所述步骤104用于控制外部服务器向所述目标服务器发送所述攻击指令的步骤中,具体包括:控制外部服务器生成多个诱导指令并将所述诱导指令发送到目标服务器,同时,接收由所述目标服务器响应于所述诱导指令所生成的测试反馈指令;根据所述测试反馈指令确定与之对应的目标诱导指令,并将所述目标诱导指令的头部数据进行切割后封装到所述攻击指令上;将封装完成的攻击指令发送到目标服务器并实时监测由所述目标服务器响应于所述封装完成的攻击指令所生成的攻击反馈指令。
[0084] 具体地,在发起攻击的具体步骤中,可以通过诱导指令的发送,目的是让目标服务器以后在后续发送的攻击指令也是跟诱导指令是同一数据信息。在欺骗目标服务器的过程中,我们将由诱导指令生成对应的测试反馈指令,确定目标诱导指令,然后将其头部数据切割后封装到攻击指令上,以使目标服务器接收该攻击指令,同时反馈了攻击反馈指令。
[0085] 在本实施例的第二方面中,所述步骤104用于将所述响应指令通过所述目标服务器内部植入防火墙的步骤中,具体包括:根据所述攻击反馈指令确定目标服务器接收所述攻击指令的第一响应时间;根据所示攻击指令中各个攻击命令的封装位置判断各层防火墙接收所述攻击指令的第二响应时间;根据所述第一响应时间和第二响应时间确定所述响应指令的植入时间,根据所述植入时间控制所述响应指令在所述目标服务器内部植入到防火墙;其中,所述植入时间的计算公式为: 其中,Th为植入时间,T1为第一响应时间,T2i为第i层防火墙接收所述攻击指令的第二响应时间,n为防火墙的层数;Hi为第i层防火墙中第一个目的端口地址与最后一个目的端口地址之间的空间距离值;其中,Hi=|Hix‑Hiy|;Hix为第i层防火墙中第一个目的端口地址,Hiy为第i层防火墙中最后一个目的端口地址。
[0086] 具体地,为了令响应指令配合攻击指令的效果更好,我们需要对响应指令的植入时间控制得更精准。利用上一步骤得到的攻击反馈指令率先确定目标服务器用于接收该攻击指令作出的反应时间,即为第一响应时间。接着,需要根据各个攻击指令中的封装位置的远近来确定后续每一个攻击指令通过防火墙后产生的第二响应时间。可以理解的是,这里的第一响应时间和第二响应时间仅用于区分数据,并非限定数据的保护范围。通过大量研究表明,第一响应时间和第二响应时间之间存在着一定的数据关系。我们通过算法公式对第一响应时间和第二响应时间进行了公式换算,可以准确地计算出响应指令的精准植入时间。
[0087] 步骤105,获取所述目标服务器的实时状态表,根据所述实时状态表中各层防火墙的端口开闭数据,判断各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态。
[0088] 在本实施例中,所述步骤105具体包括:步骤1051至步骤1053。其中:步骤1051,获取所述目标服务器的实时状态表,确定所述实时状态表中各个端口的初始状态;步骤1052,根据所述攻击指令进入各层防火墙的响应时间确定对应时刻所述实时状态表中各个端口的第一响应状态;步骤1053,根据所述第一响应状态确定各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态。
[0089] 具体地,在进行攻击完毕之后,我们通过目标服务器的实时状态表进行监测,根据各个端口的初始状态,配合攻击指令进入各层防火墙之后对应每个端口发生的响应状态,即第一响应状态。然后根据第一响应状态即可确定各层防火墙在受到攻击动作后各层防火墙各个端口的实际开闭状态。
[0090] 步骤106,根据所述各层防火墙中各个端口的实际开闭状态,确定所述目标服务器的安全异常检测结果。
[0091] 在本实施例中,所述步骤106具体包括:步骤1061和步骤1062。其中:步骤1061,根据所述响应指令植入防火墙的植入时间确定对应时刻所述实时状态表中各个端口的第二响应状态;步骤1062,判断每一个端口所对应的所述第一响应状态和所述第二响应状态是否一致,如果一致,则确定该端口存在安全异常,根据所有端口的安全异常状态确定所述目标服务器的安全异常检测结果。
[0092] 具体地,为了判断上一步骤中目标服务器受到攻击后产生的端口实际开闭状态是否正确,我们需要同时监控响应指令植入防火墙后各个端口的响应状态,即第二响应状态。可以理解的是,这里的第一响应状态和第二响应状态仅用于区分数据,并非限定数据的保护范围。如果第一响应状态和第二响应状态保持一致时,则证明防火墙根据没有检测到攻击指令,只是将攻击指令作为了正常的数据信息过滤了,令攻击指令成功欺骗了服务器,通过了防火墙,即目标服务器存在黑客侵入的风险。
[0093] 本发明技术方案通过防火墙的端口地址模拟出黑客攻击的一串连续的攻击指令,以及假设攻击成功后服务器产生的一串连续的响应指令,利用外部服务器发起攻击指令并在目标服务器内部植入响应指令,通过判断目标服务器的实时状态表中各个端口的实际开闭状态,即可主动地、有效地判断出当前防火墙的安全防护能力,代替了目前传统被动式的安全检测策略,克服了目标服务器中重大价值的数据信息防护存在风险较大的时间空窗期的技术问题;通过改变传统的被动式安全检测手段,利用主动式的安全检测手段在防火墙升级的空窗期给与防火墙安全检测,及时发现服务器安全异常,有效地为服务器数据安全提供可行的预警支撑,提高服务器数据安全。
[0094] 实施例二,本发明提供了一种服务器安全异常检测系统,包括:地址获取模块、攻击指令模块、响应指令模块、指令发送模块、端口状态模块和安全检测模块。
[0095] 所述地址获取模块,用于获取目标服务器当前更新防火墙版本的各个端口地址,其中,所述端口地址包括各层防火墙的源端口和目的端口。
[0096] 在本实施例中,所述地址获取模块具体用于:调用所述目标服务器的当前状态表,对所述当前状态表上的各个位置进行0‑1逻辑监控;控制外部服务器向所述目标服务器发送测试命令,同时,记录所述当前状态表上各个位置的逻辑变化;根据各个位置的逻辑变化,确定各个位置的变化时间,根据所述变化时间的先后顺序确定各个位置对应各层防火墙的层级关系;对每一层防火墙上各个位置发生逻辑变化的频次和时长进行统计,确定各个位置的端口类型;其中,所述端口地址包括各层防火墙的源端口和目的端口。
[0097] 所述攻击指令模块,用于根据各层防火墙的层级关系,从外到内依次将各层防火墙的源端口地址进行排列,将攻击命令分别嵌入第一数据包头部并依次封装排列后的源端口地址,形成一串连续的攻击指令。
[0098] 在本实施例中,所述攻击指令模块具体用于:调用攻击命令,根据从外到内的各层防火墙中各个源端口的位置确定每一层防火墙对应攻击命令的封装位置;根据每一层防火墙中各个源端口之间的位置关系,确定攻击命令在每一段封装位置上的源端口地址;根据所述源端口地址,将所述攻击命令嵌入预先提取的第一数据包头部,得到攻击数据字节;根据所述每一层防火墙对应攻击命令的封装位置,对所述攻击数据字节进行依次封装,得到一串连续的攻击指令。
[0099] 所述响应指令模块,用于根据所述攻击命令生成响应命令,从内到外依次将各层防火墙的目的端口地址进行排列,将响应命令分别嵌入第二数据包头部并依次封装排列后的目的端口地址,形成一串连续的响应指令。
[0100] 在本实施例中,所述响应指令模块具体用于:响应于所述攻击命令生成对应的响应命令,根据从内到外的各层防火墙中各个目的端口的位置确定每一层防火墙对应响应命令的封装位置;根据每一层防火墙中各个目的端口之间的位置关系,确定响应命令在每一段封装位置上的目的端口地址;根据所述目的端口地址,将所述响应命令嵌入预先提取的第二数据包头部,得到响应数据字节;根据所述每一层防火墙对应响应命令的封装位置,对所述响应数据字节进行依次封装,得到一串连续的响应指令。
[0101] 所述指令发送模块,用于控制外部服务器向所述目标服务器发送所述攻击指令,同时,将所述响应指令通过所述目标服务器内部植入防火墙。
[0102] 在本实施例的第一方面中,所述指令发送模块用于控制外部服务器向所述目标服务器发送所述攻击指令的步骤中,具体包括:控制外部服务器生成多个诱导指令并将所述诱导指令发送到目标服务器,同时,接收由所述目标服务器响应于所述诱导指令所生成的测试反馈指令;根据所述测试反馈指令确定与之对应的目标诱导指令,并将所述目标诱导指令的头部数据进行切割后封装到所述攻击指令上;将封装完成的攻击指令发送到目标服务器并实时监测由所述目标服务器响应于所述封装完成的攻击指令所生成的攻击反馈指令。
[0103] 在本实施例的第二方面中,所述指令发送模块用于将所述响应指令通过所述目标服务器内部植入防火墙的步骤中,具体包括:根据所述攻击反馈指令确定目标服务器接收所述攻击指令的第一响应时间;根据所示攻击指令中各个攻击命令的封装位置判断各层防火墙接收所述攻击指令的第二响应时间;根据所述第一响应时间和第二响应时间确定所述响应指令的植入时间,根据所述植入时间控制所述响应指令在所述目标服务器内部植入到防火墙;其中,所述植入时间的计算公式为: 其中,Th为植入时间,T1为第一响应时间,T2i为第i层防火墙接收所述攻击指令的第二响应时间,n为防火墙的层数;Hi为第i层防火墙中第一个目的端口地址与最后一个目的端口地址之间的空间距离值;其中,Hi=|Hix‑Hiy|;Hix为第i层防火墙中第一个目的端口地址,Hiy为第i层防火墙中最后一个目的端口地址。
[0104] 所述端口状态模块,用于获取所述目标服务器的实时状态表,根据所述实时状态表中各层防火墙的端口开闭数据,判断各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态。
[0105] 在本实施例中,所述端口状态模块具体用于:获取所述目标服务器的实时状态表,确定所述实时状态表中各个端口的初始状态;根据所述攻击指令进入各层防火墙的响应时间确定对应时刻所述实时状态表中各个端口的第一响应状态;根据所述第一响应状态确定各层防火墙在受到所述攻击命令的攻击动作后各层防火墙中各个端口的实际开闭状态。
[0106] 所述安全检测模块,用于根据所述各层防火墙中各个端口的实际开闭状态,确定所述目标服务器的安全异常检测结果。
[0107] 在本实施例中,所述安全检测模块具体用于:根据所述响应指令植入防火墙的植入时间确定对应时刻所述实时状态表中各个端口的第二响应状态;判断每一个端口所对应的所述第一响应状态和所述第二响应状态是否一致,如果一致,则确定该端口存在安全异常,根据所有端口的安全异常状态确定所述目标服务器的安全异常检测结果。
[0108] 实施例三,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行上述任一实施例所述的服务器安全异常检测方法。
[0109] 实施例四,请参照图3,是本发明实施例提供的终端设备的一种实施例的结构示意图,所述终端设备包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现上述任一实施例所述的服务器安全异常检测方法。
[0110] 优选地,所述计算机程序可以被分割成一个或多个模块/单元(如计算机程序、计算机程序),所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。
[0111] 所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以是微处理器,或者所述处理器也可以是任何常规的处理器,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接所述终端设备的各个部分。
[0112] 所述存储器主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序等,数据存储区可存储相关数据等。此外,所述存储器可以是高速随机存取存储器,还可以是非易失性存储器,例如插接式硬盘,智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡和闪存卡(Flash Card)等,或所述存储器也可以是其他易失性固态存储器件。
[0113] 需要说明的是,上述终端设备可包括,但不仅限于,处理器、存储器,本领域技术人员可以理解,上述终端设备仅仅是示例,并不构成对终端设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件。
[0114] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。