攻击检测方法、装置、终端设备及存储介质转让专利

申请号 : CN202311468191.X

文献号 : CN117240598B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙军王尊赵冉才镓赫胡彬刘阳万睿杨阳张哲宇

申请人 : 国家工业信息安全发展研究中心

摘要 :

本申请适用于网络安全技术领域,提供了一种攻击检测方法、装置、终端设备及存储介质,其中,所述方法包括:获取告警信息;将所述告警信息对应的流量导入预设的虚拟信息系统,并通过所述虚拟信息系统获取所述告警信息对应的威胁流量数据;基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果;所述攻击检测模型是基于样本和标签训练得到的机器学习模型。通过攻击检测模型对告警信息以及告警信息对应的威胁流量数据进行检测,在实现对于网络攻击的全面检测的同时,提高攻击检测的准确性。

权利要求 :

1.一种攻击检测方法,其特征在于,包括:

获取告警信息,所述告警信息是监控系统或监控软件对目标系统或目标系统日志检测得到的;

将所述告警信息对应的流量导入预设的虚拟信息系统,并通过所述虚拟信息系统获取所述告警信息对应的威胁流量数据,所述威胁流量数据是指与所述告警信息相对应的用户在系统中所作的其他行为操作与行为信息;

基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果,所述攻击检测结果包括所述目标系统是否遭受攻击以及遭受攻击的类型,所述攻击检测模型是基于样本和标签训练得到的机器学习模型;

所述基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果的步骤包括:对所述告警信息和所述告警信息对应的事件进行聚类,得到告警聚类信息;

预处理所述威胁流量数据,得到威胁特征数据;

将所述告警聚类信息和所述威胁特征数据输入所述攻击检测模型,得到所述攻击检测结果;

所述预处理所述威胁流量数据,得到威胁特征数据的步骤包括:根据预设规则对所述威胁流量数据进行编码,得到所述威胁特征数据,编码后得到的所述威胁特征数据是包含了攻击信息的字符串。

2.根据权利要求1所述的攻击检测方法,其特征在于,所述攻击检测模型是初始模型经过训练得到的,所述训练包括:获取告警信息样本和所述告警信息样本对应的威胁流量数据样本;

标注训练样本,得到所述训练样本的标签;所述训练样本包括对应的所述告警信息样本和所述威胁流量数据样本;

根据所述训练样本和所述训练样本的标签对所述初始模型进行训练,得到所述攻击检测模型。

3.根据权利要求2所述的攻击检测方法,其特征在于,所述获取告警信息样本和所述告警信息样本对应的威胁流量数据样本的步骤包括:对源数据进行镜像处理,得到所述源数据的镜像数据;

解析所述镜像数据,得到镜像告警数据;

聚类所述镜像告警数据得到所述告警信息样本;

根据所述镜像告警数据或所述告警信息样本在所述镜像数据中获取镜像威胁流量数据,所述镜像威胁流量数据是与所述镜像告警数据对应的威胁流量数据;

编码所述镜像威胁流量数据,得到与所述告警信息样本对应的威胁流量数据样本。

4.根据权利要求2所述的攻击检测方法,其特征在于,所述告警信息样本和所述威胁流量数据样本是原始告警数据和原始威胁流量数据经标准化映射至预设范围得到的。

5.根据权利要求1至4中任一项所述的攻击检测方法,其特征在于,所述告警信息或者所述告警信息样本是响应于触发数据的信息;所述触发数据是符合预设的安全告警规则的流量数据的至少一部分。

6.一种攻击检测装置,其特征在于,包括:

告警信息获取模块,用于获取告警信息,所述告警信息是监控系统或监控软件对目标系统或目标系统日志检测得到的;

威胁流量获取模块,用于将所述告警信息对应的流量导入预设的虚拟信息系统,并通过所述虚拟信息系统获取所述告警信息对应的威胁流量数据,所述威胁流量数据是指与所述告警信息相对应的用户在系统中所作的其他行为操作与行为信息;

结果检测模块,用于基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果,所述攻击检测结果包括所述目标系统是否遭受攻击以及遭受攻击的类型;

所述攻击检测模型是基于样本和标签训练得到的机器学习模型;

结果检测模块包括:

告警信息聚类子模块,用于对所述告警信息和所述告警信息对应的事件进行聚类,得到告警聚类信息;

威胁流量预处理子模块,用于预处理所述威胁流量数据,得到威胁特征数据;

攻击检测子模块,用于将所述告警聚类信息和所述威胁特征数据输入所述攻击检测模型,得到所述攻击检测结果;

所述威胁流量预处理子模块还包括:

数据编码单元,用于根据预设规则对所述威胁流量数据进行编码,得到所述威胁特征数据,编码后得到的所述威胁特征数据是包含了攻击信息的字符串。

7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的方法。

8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。

说明书 :

攻击检测方法、装置、终端设备及存储介质

技术领域

[0001] 本申请属于网络安全技术领域,尤其涉及一种攻击检测方法、装置、终端设备及存储介质。

背景技术

[0002] 网络攻击是一种利用网络存在的漏洞和安全缺陷对网络系统的硬件、软件及其系统中的数据进行的攻击行为,会对计算机信息系统造成破坏,使软件或服务器失去功能。随着计算机以及网络技术的广泛应用,网络安全意识的提高,网络攻击的检测也变得更加重要。
[0003] 目前,对于网络攻击的检测技术是针对于不同的攻击方式,采取对应的检测方法,但是由于网络系统可能会遭受多个种类的攻击,单个检测方法无法对所有攻击方法进行全面检测。
[0004] 因此,如何提高攻击检测的准确性并实现对于多种攻击方式的全面检测,成了业内亟需解决的问题。

发明内容

[0005] 本申请实施例提供了一种攻击检测方法、装置、终端设备及存储介质,可以解决单个检测方法无法对所有攻击方法进行全面检测问题。
[0006] 第一方面,本申请实施例提供了一种攻击检测方法,包括:
[0007] 获取告警信息;
[0008] 将所述告警信息对应的流量导入预设的虚拟信息系统,并通过所述虚拟信息系统获取所述告警信息对应的威胁流量数据;
[0009] 基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果;
[0010] 所述攻击检测模型是基于样本和标签训练得到的机器学习模型。
[0011] 上述方法在获取告警信息后,通过告警信息获取对应的威胁流量数据,对告警信息和威胁流量数据进行联合分析,告警信息可以用于判断系统中可能存在的攻击行为,所获取的威胁流量数据用于对告警信息进行补充,在对攻击行为进行检测的基础上进一步判断是否所得到攻击行为是否正确,进一步提高攻击检测结果的准确性,减少误判的情况发生。同时,通过将所述告警信息对应的流量导入预设的虚拟信息系统,在不影响原系统正常运行的同时获取完整的威胁流量数据,提高攻击检测的准确性。
[0012] 在第一方面的一种可能的实现方式中,所述基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果的步骤包括:
[0013] 对所述告警信息和所述告警信息对应的事件进行聚类,得到告警聚类信息;
[0014] 预处理所述威胁流量数据,得到威胁特征数据;
[0015] 将所述告警聚类信息和所述威胁特征数据输入所述攻击检测模型,得到所述攻击检测结果。
[0016] 上述方法通过对告警信息和告警信息所得到的事件进行聚类处理,排除异常数据,归类相似数据,使聚类后得到的聚类告警信息不同类别的数据彼此区分,减少告警信息中可能存在的无关信息的干扰,通过对所述威胁流量数据进行预处理,降低所述攻击检测模型在对告警信息和所述威胁流量特征数据进行分析时的数据处理难度。
[0017] 在第一方面的一种可能的实现方式中,所述预处理所述威胁流量数据,得到威胁特征数据的步骤包括:
[0018] 根据预设规则对所述威胁流量数据进行编码,得到所述威胁特征数据。
[0019] 上述方法通过根据预设规则对所述威胁流量数据进行编码,将所获取的威胁流量数据进行特征提取,获取威胁流量数据中与攻击行为相关的特征数据,使得所述攻击检测模型在对威胁特征数据进行分析时能够根据编码后的文件直接解析获取所需要的信息,减少信息的冗余,提高信息传输和攻击检测的效率。
[0020] 在第一方面的一种可能的实现方式中,所述攻击检测模型是初始模型经过训练得到的,所述训练包括:
[0021] 获取告警信息样本和所述告警信息样本对应的威胁流量数据样本;
[0022] 标注训练样本,得到所述训练样本的标签;所述训练样本包括对应的所述告警信息样本和所述威胁流量数据样本;
[0023] 根据所述训练样本和所述训练样本的标签对所述初始模型进行训练,得到所述攻击检测模型。
[0024] 上述方法通过告警信息样本和所述威胁流量数据样本以及对应的标签对初始模型进行训练,利用深度学习能够对数据的特征进行提取,建立相应的模型的这一特性,训练得到告警信息以及威胁流量数据与不同的攻击检测结果之间的映射关系,使得训练后得到的攻击检测模型能够对告警事件和威胁流量数据进行分析,提高攻击检测准确性。
[0025] 在第一方面的一种可能的实现方式中,所述获取告警信息样本和所述告警信息样本对应的威胁流量数据样本的步骤包括:
[0026] 对源数据进行镜像处理,得到所述源数据的镜像数据;
[0027] 解析所述镜像数据,得到镜像告警数据;
[0028] 聚类所述镜像告警数据得到所述告警信息样本;
[0029] 根据所述镜像告警数据或所述告警信息样本在所述镜像数据中获取镜像威胁流量数据,所述镜像威胁流量数据是与所述镜像告警数据对应的威胁流量数据;
[0030] 编码所述镜像威胁流量数据,得到与所述告警信息样本对应的威胁流量数据样本。
[0031] 上述方法本实施例通过对所述源数据进行镜像处理,将源数据镜像倒流至执行主体的网络端口上,获取源数据的镜像数据,对源数据实时生成的动态的特性予以保留。
[0032] 在第一方面的一种可能的实现方式中,所述告警数据样本和所述威胁流量数据样本是原始告警数据和原始威胁流量数据经标准化映射至预设范围得到的。
[0033] 上述方法通过对原始告警数据和原始威胁流量数据进行标准化处理,将两组数据缩放到一致的维度,使神经网络能够上述两组不同的数据进行处理,降低数据处理的难度。
[0034] 在第一方面的一种可能的实现方式中,所述告警信息或者所述告警信息样本是响应于触发数据的信息;所述触发数据是符合预设的安全告警规则的流量数据的至少一部分。
[0035] 上述方法通过响应于触发数据获取所述告警信息或者所述告警信息样本,实现对于可疑数据的检测,使得当有攻击行为产生时即可获取相应的数据或者样本,提高了攻击检测的全面性。
[0036] 第二方面,本申请实施例提供了一种攻击检测装置,包括:
[0037] 告警信息获取模块,用于获取告警信息;
[0038] 威胁流量获取模块,用于将所述告警信息对应的流量导入预设的虚拟信息系统,并通过所述虚拟信息系统获取所述告警信息对应的威胁流量数据;
[0039] 结果检测模块,用于基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果;
[0040] 所述攻击检测模型是基于样本和标签训练得到的机器学习模型。
[0041] 第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的攻击检测方法。
[0042] 第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的攻击检测方法。
[0043] 第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的攻击检测方法。
[0044] 可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

[0045] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0046] 图1是本申请实施例提供的攻击检测方法的流程示意图;
[0047] 图2是本申请一个实施例提供的PCAP文件的组成示意图;
[0048] 图3是本申请一个实施例提供的攻击检测模型训练准确性示意图;
[0049] 图4是本申请实施例提供的攻击检测装置的结构示意图;
[0050] 图5是本申请一个实施例提供的攻击检测装置的结构示意图;
[0051] 图6是本申请实施例提供的终端设备的结构示意图;
[0052] 图7是本申请实施例提供的攻击检测方法的一种应用场景示意图。
[0053] 附图标记:
[0054] 告警信息获取模块401,威胁流量获取模块402,结果检测模块403,模型训练模块404;
[0055] 终端设备60,处理器601,存储器602,计算机程序603。

具体实施方式

[0056] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0057] 应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0058] 还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0059] 如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0060] 另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0061] 在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0062] 长期以来无论是信息化系统还是工业控制系统,对于网络攻击的检测均存在误报率高、检测不完善的问题,给工业化系统或者信息系统的安全带来巨大的风险。
[0063] 攻击者在入侵一个系统时往往采用一定的行为程序,如猜测口令的程序,这种行为程序构成了某种具有一定行为特征的模型,根据这种模型所代表的攻击意图的行为特征,可以实时地检测出恶意的攻击企图。现有技术基于模型的推理方法为某些行为建立特定的模型,从而监视具有特定行为特征的某些活动。例如,根据假设的攻击脚本,就能检测出非法的用户行为。但一般为了准确判断,要为不同的入侵者和不同的系统建立特定的攻击脚本,导致无法实现网络攻击的全面检测。
[0064] 为解决上述问题,本申请实施例提供了一种攻击检测方法,本实施例中,所述攻击检测方法用于在对系统或者模块的攻击检测,其执行主体为终端设备。可以理解的是,终端设备的类型包括但不限于手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra‑mobile  personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等,本申请实施例对终端设备的具体类型不作任何限制。
[0065] 参见说明书附图1,上述方法包括:
[0066] 步骤S102:获取告警信息;
[0067] 告警信息可以通过监控系统或者软件对设备或者系统日志进行检测进行获取。可选的,根据用户的历史行为、先前的证据或模型,使用统计分析方法对用户当前的行为进行检测和判别,当发现可疑行为时,保持跟踪并监视其行为,同时发出安全告警。
[0068] 优选的,可以在系统上安装主机型防护软件(HIDS)来对异常数据进行告警以及获取对应的告警信息。通过利用HIDS动态地检查网络数据包这一特性,检测程序访问资源记录以及对系统状态进行监控,来核对用户所做操作是否和预期相同,并发出安全告警。
[0069] 在一个可选的实施方式中,告警信息包括:受影响的服务器,攻击者的账号IP,攻击的时间以及相对应的安全告警事件等,例如,账户暴力破解、账户异常登录、恶意程序,进程异常行为、关键文件变更等相对应的信息,但不限于此。
[0070] 步骤S104:将所述告警信息对应的流量导入预设的虚拟信息系统,并通过所述虚拟信息系统获取所述告警信息对应的威胁流量数据;
[0071] 其中,威胁流量数据是指与告警信息相对应的用户在系统中所作的其他行为操作与行为信息。可选的,威胁流量数据包括攻击者所使用的IP地址,与主机连接所用的端口,攻击所用的字符、网络协议、报文信息等。
[0072] 由于所获取的告警信息可能存在误报或者非恶意的攻击,本步骤在获取告警信息后,进一步获取与所述告警信息对应的威胁流量数据,得到与告警信息相关的其他数据,便于进一步对攻击检测进行判断。
[0073] 但此时可能存在一个问题,即在获取安全告警信息后,为防止攻击者对网络系统继续进行攻击,维护网络系统的安全,系统或者系统上安装的其他防护类软件会对该攻击行为及时做出反应或拦截,导致获取得到的威胁流量数据并不完整,无法根据已经得到的数据对攻击类型进行全面的判断,得到准确的攻击检测结果,以至于无法确定上述安全告警是否是误判。
[0074] 为进一步解决上述问题,本申请在获取得到告警信息后,通过将告警信息对应的流量导入预设的虚拟信息系统,通过虚拟信息系统建立一个独立的虚拟环境,对攻击行为进行诱捕,得到诱捕后的威胁流量数据。所得到的信息相对来说更为完整,能够更准确地对攻击行为进行检测。
[0075] 可选的,所述告警信息可能包括多个连续的安全告警事件,对于多个连续的安全告警事件,由于攻击者的行为还未完全完成,可以在预设的时机将告警信息对应的流量引入虚拟信息系统对威胁流量数据进行诱捕。例如,当获取第一告警信息后,在预设的时间内出现了第二告警信息,则在获取得到第二告警信息后再将对应的流量引入虚拟信息系统,对威胁流量数据进行诱捕。可选的,若是第三告警信息、第四告警信息、第五告警信息同时出现,则将对应的流量引入虚拟信息系统对威胁流量数据进行诱捕,若只有一种告警信息出现时不进行流量的引入。
[0076] 或者,可以将系统或者网络的流量实时进行镜像,循环保存定量的数据于本地,在获取告警数据后,将告警数据对应流量引入虚拟信息系统,对威胁流量数据进行诱捕。
[0077] 步骤S106:基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果;所述攻击检测模型是基于样本和标签训练得到的机器学习模型。
[0078] 在步骤S106中,所述攻击检测模型是经过样本和标签训练的,通过攻击检测模型对所述告警信息和所述威胁流量数据进行分析,得到告警信息和威胁流量数据与攻击方式之间的映射关系,其中,攻击检测结果包括系统是否遭受了攻击以及遭受攻击的类型。
[0079] 本实施例的有益效果在于:
[0080] 本实施例在获取告警信息后,通过告警信息获取对应的威胁流量数据,对告警信息和威胁流量数据进行联合分析,告警信息可以用于判断系统中可能存在的攻击行为,所获取的威胁流量数据用于对告警信息进行补充,在对攻击行为进行检测的基础上进一步判断是否所得到攻击行为是否正确,进一步提高攻击检测结果的准确性,减少误判的情况发生。同时,通过将所述告警信息对应的流量导入预设的虚拟信息系统,在不影响原系统正常运行的同时获取完整的威胁流量数据,提高攻击检测的准确性。
[0081] 根据上述实施例,在又一实施例中:
[0082] 所述基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果的步骤包括:
[0083] 对所述告警信息和所述告警信息对应的事件进行聚类,得到告警聚类信息;
[0084] 预处理所述威胁流量数据,得到威胁特征数据;
[0085] 将所述告警聚类信息和所述威胁特征数据输入所述攻击检测模型,得到所述攻击检测结果。
[0086] 在得到告警信息后,通过对告警信息和所述告警信息对应的事件进行聚类,将数据结构相近的告警信息划分为一类,对数据对象进行分组,输出聚类结果和不同类别所对应的事件,对告警信息进行预处理。
[0087] 可选的,所述攻击检测模型是以tensorflow网络模型为基础训练得到的,预处理所述威胁流量数据的方式包括,将所述威胁流量数据转变成tensorflow模型的格式,输入到训练后的攻击检测模型中。
[0088] 在一个优选的实施方式中,对所述告警信息和所述告警信息对应的事件进行聚类的一个实现方式是,在系统上安装主机型防护软件,将安全告警、事件转发大数据分析平台elastic stack,通过大数据分析平台对安全告警和事件进行聚类分析,将分析的结果导入到tensorflow攻击检测模型上。
[0089] 本实施例的有益效果在于:
[0090] 本实施例通过对告警信息和告警信息所得到的事件进行聚类处理,排除异常数据,归类相似数据,使聚类后得到的聚类告警信息不同类别的数据彼此区分,减少告警信息中可能存在的无关信息的干扰,通过对所述威胁流量数据进行预处理,降低所述攻击检测模型在对告警信息和所述威胁流量特征数据进行分析时的数据处理难度。
[0091] 根据上述实施例,在又一实施例中:
[0092] 所述预处理所述威胁流量数据,得到威胁特征数据的步骤包括:
[0093] 根据预设规则对所述威胁流量数据进行编码,得到所述威胁特征数据。
[0094] 其中,所述预设的规则可以由人为制定,也可以是与所述攻击检测模型相对的规则,编码后得到的威胁特征数据可以是包含了攻击信息的字符串。通过根据预设规则对所述威胁流量数据进行编码,将所获取的威胁流量数据进行打包,使得所述攻击检测模型在对威胁特征数据进行分析时能够根据编码后的文件直接获取所需要的信息,提高攻击检测的效率。
[0095] 在一个可选的实施方式中,参见说明书附图2,经过编码后的数据将是一个捕获的PCAP文件,其中的字段由IP地址、端口号、十六进制Modbus值组成,便于攻击检测模型进行特征提取。
[0096] 本实施例的有益效果在于:
[0097] 本实施例通过根据预设规则对所述威胁流量数据进行编码,将所获取的威胁流量数据进行特征提取,获取威胁流量数据中与攻击行为相关的特征数据,使得所述攻击检测模型在对威胁特征数据进行分析时能够根据编码后的文件直接解析获取所需要的信息,减少信息的冗余,提高信息传输和攻击检测的效率。
[0098] 根据上述实施例,在又一实施例中:
[0099] 所述攻击检测模型是初始模型经过训练得到的,所述训练包括:
[0100] 获取告警信息样本和所述告警信息样本对应的威胁流量数据样本;
[0101] 标注训练样本,得到所述训练样本的标签;所述训练样本包括对应的所述告警信息样本和所述威胁流量数据样本;
[0102] 根据所述训练样本和所述训练样本的标签对所述初始模型进行训练,得到所述攻击检测模型。
[0103] 其中,告警信息样本包括多种告警信息以及告警信息所对应的事件,所述告警信息样本对应的威胁流量数据样本是指与告警信息相对应的用户在系统中所作的其他行为操作与行为信息。可选的,威胁流量数据包括攻击者所使用的IP地址,与主机连接所用的端口,攻击所用的字符、网络协议、报文信息等。
[0104] 所述告警信息样本和告警信息样本对应的威胁流量数据样本的可以为已经收集得到的包括多种告警事件与多种攻击方式的样本,也可以从系统上实时获取。标注训练样本的过程,可以通过强深化学习框架生成对应的标签,也可以专家根据不同攻击的特点进行人为标注。其中标签包括安全告警的类别、是否为正常用户行为以及攻击行为的类别。可选的,所述标签为所述告警信息和所述威胁流量数据的联合标签。可选的,在得到所述训练样本后,将所述告警信息样本和所述威胁流量数据样本根据对应关系进行分组,分组输入初始模型,对初始模型进行训练。
[0105] 攻击检测模型的训练借助于深度学习网络进行实现,通过深度学习网络建立训练样本和训练样本的标签之间的映射关系。
[0106] 可选的,可以将所述样本分为训练集和验证集,通过训练集对攻击检测模型进行训练。通过验证集得到训练过程中的训练损失,不断提高训练的准确性。
[0107] 优选的,可以将训练的损失通过可视化的方法进行呈现,使得在通过上述方法对攻击检测模型的训练过程中,能够根据训练得到的损失对得到的攻击检测模型进行筛选和调整。例如,参考说明书附图3,可以对训练得到的模型进行评估,得到模型在训练过程的准确性(如图3下方曲线所示)和模型在验证过程中的准确性(如图3上方曲线所示),进而获取模型训练过程中的损失,对模型进行筛选和调整。
[0108] 本实施例的有益效果在于:
[0109] 本实施例通过告警信息样本和所述威胁流量数据样本以及对应的标签对初始模型进行训练,利用深度学习能够对数据的特征进行提取,建立相应的模型的这一特性,训练得到告警信息以及威胁流量数据与不同的攻击检测结果之间的映射关系,使得训练后得到的攻击检测模型能够对告警事件和威胁流量数据进行分析,提高攻击检测准确性。
[0110] 根据上述实施例,在又一实施例中:
[0111] 所述获取告警信息样本和所述告警信息样本对应的威胁流量数据样本的步骤包括:
[0112] 对源数据进行镜像处理,得到所述源数据的镜像数据;
[0113] 解析所述镜像数据,得到镜像告警数据;
[0114] 聚类所述镜像告警数据得到所述告警信息样本;
[0115] 根据所述镜像告警数据或所述告警信息样本在所述镜像数据中获取镜像威胁流量数据,所述镜像威胁流量数据是与所述镜像告警数据对应的威胁流量数据;
[0116] 编码所述镜像威胁流量数据,得到与所述告警信息样本对应的威胁流量数据样本。
[0117] 其中,源数据是指系统或者模块中所保存的数据,包括实时生成的、动态的数据,对源数据进行镜像处理是指采用流量镜像技术获取网络总出口的镜像流量,通过交换机或路由器,将一个或多个源端口的数据流量倒流至某个指定端口,以此实现源数据镜像流量的获取。
[0118] 例如对于工业控制系统来说,可以将工业控制系统数据通过工业交换机上所有控制系统相关的网络端口流量镜像到分析系统所在的端口上,以获取所述工业控制系统动态形式的源数据。
[0119] 在获取得到所述源数据的镜像数据后,通过对镜像数据进行解析,获取源数据中存在的可能导致系统告警的数据,即镜像告警数据,通过对告警信息进行聚类,将数据结构相似的数据进行分组,便于为所述告警信息标注标签。
[0120] 可选的,所述镜像威胁流量数据的获取可以通过已经获取的镜像告警数据在源数据的初始数据中获取与镜像告警信息相关的其他用户行为数据,也可以在获取到镜像告警信息后,将镜像告警数据所对应的流量引入虚拟信息系统,来获取镜像威胁流量数据。
[0121] 本实施例的有益效果在于:
[0122] 本实施例通过对所述源数据进行镜像处理,将源数据镜像倒流至执行主体的网络端口上,获取源数据的镜像数据,对源数据实时生成的动态的特性予以保留。
[0123] 根据上述实施例,在又一实施例中:
[0124] 所述告警数据样本和所述威胁流量数据样本是原始告警数据和原始威胁流量数据经标准化映射至预设范围得到的。
[0125] 可选的,可以通过归一化的方法对原始告警数据和原始威胁流量数据进行标准化,将原始告警数据和原始威胁流量数据缩放到0到1的范围内,或者通过使每一列的分布的均值为0,标准差为1的方式对原始告警数据和原始威胁流量数据进行标准化,使其缩放到一致的形式,使神经网络能够对上述两种数据进行处理。
[0126] 本实施例的有益效果在于:
[0127] 本实施例通过对原始告警数据和原始威胁流量数据进行标准化处理,将两组数据缩放到一致的维度,使神经网络能够上述两组不同的数据进行处理,降低数据处理的难度。
[0128] 根据上述实施例,在又一实施例中:
[0129] 所述告警信息或者所述告警信息样本是响应于触发数据的信息;所述触发数据是符合预设的安全告警规则的流量数据的至少一部分。
[0130] 其中,预设的安全告警规则是根据多种攻击方式可能导致系统中出现的改变设置的,当系统中出现异常的行为数据时则会触发安全告警规则。具体的,安全告警规则可以为经分析发现不符合预设的流量或行为模式;或者是与以前建立的流量或行为模型不一致的模式,或者是显示不符合标准的特定流量模式,例如违反特定的通信协议。当上述预设的安全告警规则被触发时,则表明系统可能遭受了攻击,通过该种方法获取的相对应的告警信息或安全告警样本,包含了多种可能的攻击方式所产生的异常数据。
[0131] 可选的,安全告警规则可以为系统上所安装的防护软件的算法逻辑,对于不同的防护软件,其安全告警规则也不相同。例如,对于主机型防护软件而言,其算法逻辑是,当系统或设备的日志被作出与预期不相符合的修改时,则系统可能受到了攻击,此时,当系统或者设备的日志被作出不相符合的修改时,安全告警规则被触发。对于不同的系统,其安全告警规则也不相同,例如,对于安全保密性较强的系统而言,其安全告警规则可以为用户连续三次登录失败,则触发安全告警。
[0132] 本实施例的有益效果是:
[0133] 本实施例通过响应于触发数据获取所述告警信息或者所述告警信息样本,实现对于可疑数据的检测,使得当有攻击行为产生时即可获取相应的数据或者样本,提高了攻击检测的全面性。
[0134] 根据上述实施例,参见说明书附图7,下面结合一个具体应用场景对本申请提供的攻击检测方法予以说明:
[0135] 本申请通过将工业控制系统与分析系统相连接,并使分析系统执行上述攻击检测方法,通过工业交换机获取所述控制回路中与传感器、执行器、控制器有关的数据,以及控制应用、人机交互界面有关的流量,并将所述流量通过镜像倒流至分析系统中。分析系统部署有HIDS防护类软件,可以对所述流量进行分析,获取告警数据,并将所述告警数据对应的流量引入虚拟信息系统中,通过虚拟信息系统,对攻击行为进行诱捕获取所述告警信息对应的威胁流量数据,并基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果,判断工业控制系统是否遭受了攻击,以及遭受了什么类型的攻击。
[0136] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0137] 对应于上文实施例所述的攻击检测方法,图4示出了本申请实施例提供的装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
[0138] 参照图4,该装置包括:
[0139] 告警信息获取模块401,用于获取告警信息;
[0140] 威胁流量获取模块402,用于将所述告警信息对应的流量导入预设的虚拟信息系统,并通过所述虚拟信息系统获取所述告警信息对应的威胁流量数据;
[0141] 结果检测模块403,用于基于所述告警信息和所述威胁流量数据运行攻击检测模型,得到攻击检测结果;所述攻击检测模型是基于样本和标签训练得到的机器学习模型。
[0142] 进一步的,结果检测模块403包括:
[0143] 告警信息聚类子模块,用于对所述告警信息和所述告警信息对应的事件进行聚类,得到告警聚类信息;
[0144] 威胁流量预处理子模块,用于预处理所述威胁流量数据,得到威胁特征数据;
[0145] 攻击检测子模块,用于将所述告警聚类信息和所述威胁特征数据输入所述攻击检测模型,得到所述攻击检测结果。
[0146] 可选的,所述威胁流量预处理子模块还包括:
[0147] 数据编码单元,用于根据预设规则对所述威胁流量数据进行编码,得到所述威胁特征数据。
[0148] 进一步的,参考说明书附图5,该装置还包括:
[0149] 模型训练模块404,用于对初始模型进行训练得到所述攻击检测模型,所述模型训练模块包括:
[0150] 样本获取子模块,用于获取告警信息样本和所述告警信息样本对应的威胁流量数据样本;
[0151] 标注子模块,用于标注训练样本,得到所述训练样本的标签;所述训练样本包括对应的所述告警信息样本和所述威胁流量数据样本;
[0152] 初始模型训练子模块,用于根据所述训练样本和所述训练样本的标签对所述初始模型进行训练,得到所述攻击检测模型。
[0153] 可选的,样本获取子模块包括:
[0154] 镜像处理单元,用于对源数据进行镜像处理,得到所述源数据的镜像数据;
[0155] 解析单元,解析所述镜像数据,得到镜像告警数据;
[0156] 聚类单元,用于聚类所述镜像告警数据得到所述告警信息样本;
[0157] 镜像威胁流量获取单元,用于根据所述镜像告警数据或所述告警信息样本在所述镜像数据中获取镜像威胁流量数据,所述镜像威胁流量数据是与所述镜像告警数据对应的威胁流量数据;
[0158] 镜像威胁流量编码单元,用于编码所述镜像威胁流量数据,得到与所述告警信息样本对应的威胁流量数据样本。
[0159] 需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0160] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0161] 本申请实施例还提供了一种终端设备,如图6所示,该终端设备60包括:至少一个处理器601、存储器602以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序603,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
[0162] 本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0163] 本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
[0164] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0165] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0166] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0167] 在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0168] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0169] 以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。