首页> 中国专利> 异常用户识别模型构建方法及异常用户识别方法

异常用户识别模型构建方法及异常用户识别方法

摘要

本发明提供了一种异常用户识别模型构建方法及异常用户识别方法,其中,异常用户识别模型构建方法包括:获取目标时段下所有用户的关联日志数据;根据关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量;根据用户特征向量以及对应的标签训练分类神经网络;根据训练后的分类神经网络构建异常用户识别模型。通过本发明,解决了相关技术中存在的对工业互联网中异常用户识别不准确的问题。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-19

    实质审查的生效 IPC(主分类):G06F18/2433 专利申请号:2023106267142 申请日:20230530

    实质审查的生效

  • 2023-09-01

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及数据识别技术领域,尤其涉及一种异常用户识别模型构建方法及异常用户识别方法。

背景技术

在工业互联网中常常使用西门子私有通信协议对数据进行通信,特别是在工控领域中,但是由于西门子私有协议不公开协议规约,构建模糊测试比较困难,难以检测系统中存在的安全漏洞。以西门子的S7协议为例,因为该协议没有身份认证机制,因此在数据交互过程中存在身份认证缺陷,对于网络攻击而言,通过大量且混乱的数据包在网络中进行交互,会导致网络中的设备节点出现异常。

目前对于工业信息安全事件的网络漏洞检测主要通过在工业信息安全事件的大量关联日志数据中寻找特殊数据特征,通过特殊数据特征反应当前网络状态。在对特殊数据特征进行分析时,往往利用预设规则针对工业互联网中每个单位用户的数据特征进行单独分析,分析过程较为复杂,无法准确快速的根据网络数据特征判断出异常用户。因此,现有技术中存在对工业互联网中异常用户识别不准确的问题。

发明内容

本发明提供了一种异常用户识别模型构建方法及异常用户识别方法,以至少解决相关技术中存在对工业互联网中异常用户识别不准确的问题。

根据本发明实施例的第一方面,提供了一种异常用户识别模型构建方法,该异常用户识别模型构建方法包括:获取目标时段下所有用户的关联日志数据;根据所述关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量;根据所述用户特征向量以及对应的标签训练分类神经网络;根据训练后的分类神经网络构建异常用户识别模型。

可选地,所述根据所述关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量,包括:根据预设采样时刻以及数据包传递数量信息计算网络不稳定性,其中,所述网络不稳定性用于表示数据包包头的传递数量特征;利用余弦距离根据第一统计区间以及数据包传递频次信息计算第一非典型程度,其中,所述第一非典型程度用于表示数据包的传递数量特征;利用余弦距离根据第二统计区间以及用户响应数据包信息计算第二非典型程度,其中,所述第二非典型程度用于表示数据包的延时和抖动特征;根据所述网络不稳定性、第一非典型程度以及第二非典型程度构建用户特征向量。

可选地,根据预设采样时刻以及数据包传递数量信息计算网络不稳定性,其中,所述网络不稳定性用于表示数据包包头的传递数量特征,包括:根据预设采样时刻以及目标时段下关联日志数据中的数据包传递数量信息生成活跃用户数量序列,其中,活跃用户为目标时段下任一预设采样时刻内的数据包传递速率大于预设数据包传递速率阈值的用户;根据所述活跃用户数量序列中预设个数的最大元素值的平均值与所述活跃用户数量序列中所有元素值的平均值的差值计算网络不稳定性;利用余弦距离根据第一统计区间以及数据包传递频次信息计算第一非典型程度,其中,所述第一非典型程度用于表示数据包的传递数量特征,包括:根据第一统计区间以及目标时段下关联日志数据中的数据包传递频次信息生成数据包传递频次向量;根据目标用户的数据包传递频次向量与其他用户的数据包传递频次向量的余弦距离计算目标用户与其他用户的第一差异;根据参考第一差异和最小第一差异的平均值计算第一非典型程度,其中,参考第一差异和最小第一差异为将所述目标用户与其他用户的第一差异升序排序后第一参考位和首位对应的第一差异的值;利用余弦距离根据第二统计区间以及用户响应数据包信息计算第二非典型程度,其中,所述第二非典型程度用于表示数据包的延时和抖动特征,包括:根据第二统计区间以及目标时段下关联日志数据中的用户响应数据包信息生成用户响应向量;根据目标用户的用户响应向量与其他用户的用户响应向量的余弦距离计算目标用户与其他用户的第二差异;根据参考第二差异计算第二非典型程度,其中,参考第二差异为将所述目标用户与其他用户的第二差异升序排序后第二参考位的值。

可选地,所述根据第二统计区间以及目标时段下关联日志数据中的用户响应数据包信息生成用户响应向量,包括:获取用户响应数据包信息中用户响应每个数据包的时间间隔;将所述时间间隔按照用户响应顺序排列得到响应时间间隔序列;将用户响应数据包顺序与数据包的传递顺序不一致的时间间隔修改为零;计算修改后的用户响应每个数据包的时间间隔;根据第二统计区间以及所述修改后的用户响应每个数据包的时间间隔生成用户响应向量。

可选地,所述根据所述用户特征向量以及对应的标签训练分类神经网络,包括:利用OPTICS聚类算法根据用户特征向量以及用户响应向量对所有用户进行分组,得到多个用户组,所述用户组包括普通用户组和独特用户组,所述普通用户组中用户数量大于等于用户总数量预设百分比,所述独特用户组中用户数量小于所述用户总数量预设百分比;为所述普通用户组中的所有用户统一设置标签或为所述普通用户组中的每个用户单独设置标签,其中,异常用户的标签为-1,正常用户的标签为1;为所述独特用户组中的每个用户单独设置标签;根据所有用户组的用户特征向量、用户响应向量以及用户特征向量对应的标签训练AdaBoost二分类器。

可选地,所述利用OPTICS聚类算法根据用户特征向量以及用户响应向量对所有用户进行分组,得到多个用户组,包括:根据目标用户和其他用户之间用户特征向量的余弦相似度计算目标用户和其他用户之间的第一相似度;根据目标用户和其他用户之间用户响应向量的余弦相似度计算目标用户和其他用户之间的第二相似度;根据所述第一相似度和所述第二相似度的乘积计算目标用户和其他用户之间的样本相似度;根据一和所述样本相似度的差值计算目标用户和其他用户之间的样本距离;利用OPTICS聚类算法根据所述目标用户和其他用户之间的样本距离对所有用户进行分组,得到多个用户组。

根据本发明实施例的第二方面,还提供了一种异常用户识别方法,该方法包括:获取待识别用户特征向量;将待识别用户特征向量输入本发明实施例第一方面任一项所述的异常用户识别模型构建方法构建得到的异常用户识别模型得到异常用户。

可选地,所述异常用户识别方法还包括:根据第一统计区间以及目标时段下关联日志数据中的数据包传递频次信息生成第一直方图;根据第二统计区间以及目标时段下关联日志数据中的用户响应数据包信息生成第二直方图;对所述第一直方图和所述第二直方图进行可视化展示。

可选地,所述异常用户识别方法还包括:将异常用户的用户响应向量中的元素降序排列;获取前预设个元素的平均值作为所述异常用户的通信抖动程度;对所有异常用户的通信抖动程度求和,得到整体通信抖动程度。

根据本发明实施例的第三方面,还提供了一种异常用户识别模型构建装置,该异常用户识别模型构建装置包括:第一获取模块,用于获取目标时段下所有用户的关联日志数据;第一构建模块,用于根据所述关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量;训练模块,用于根据所述用户特征向量以及对应的标签训练分类神经网络;第二构建模块,用于根据训练后的分类神经网络构建异常用户识别模型。

根据本发明实施例的第四方面,还提供了一种异常用户识别装置,该异常用户识别装置包括:第二获取模块,用于获取待识别用户特征向量;得到模块,用于将待识别用户特征向量输入本发明实施例第一方面任一项所述的异常用户识别模型构建方法构建得到的异常用户识别模型得到异常用户。

根据本发明实施例的第五方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。

根据本发明实施例的第六方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。

在本发明实施例中,通过获取目标时段下所有用户的关联日志数据;根据关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量;根据用户特征向量以及对应的标签训练分类神经网络;根据训练后的分类神经网络构建异常用户识别模型。由于构建用户特征向量时综合考虑了关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息,使用该用户特征向量训练分类神经网络,构建异常用户识别模型,从而使该异常用户识别模型具有更高的准确性。

在本发明实施例中,将待识别用户特征向量输入异常用户识别模型得到异常用户,相对于传统的根据预设规则针对工业互联网中每个单位用户的数据特征进行单独分析的识别方法,具有分析快速、简单和准确性高的优点。

在本发明实施例中,根据预设采样时刻以及目标时段下关联日志数据中的数据包传递数量信息生成第一直方图;根据第二统计区间以及目标时段下关联日志数据中的用户响应数据包信息生成第二直方图;对第一直方图和第二直方图进行可视化展示。通过第一直方图以及第二直方图中的数据分布的可视化展示,实现了快速了解用户的工作状态以及单位用户的数据包抖动特征的目的,达到了展示突发通信时间、间歇式通信事件等行为的效果。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的一种可选的异常用户识别模型构建方法和/或异常用户识别方法的硬件环境的示意图;

图2是根据本发明实施例的一种可选的异常用户识别模型构建方法的流程示意图;

图3是根据本发明实施例的一种可选的异常用户识别方法的流程示意图;

图4是根据本发明实施例的一种可选的异常用户识别模型构建装置的结构框图;

图5是根据本发明实施例的一种可选的异常用户识别装置的结构框图;

图6是根据本发明实施例的一种可选的电子设备的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。另外,若本申请中出现“和/或”的含义,包括三个并列的方案,以“A和/或B”为例,包括A方案、或B方案、或A和B同时满足的方案。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。

根据本发明实施例的一个方面,提供了一种异常用户识别模型构建方法。可选地,在本实施例中,上述异常用户识别模型构建方法可以应用于如图1所示的硬件环境中。如图1所示,终端102中可以包含有存储器104、处理器106和显示器108(可选部件)。终端102可以通过网络110与服务器112进行通信连接,该服务器112可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器112上或独立于服务器112设置数据库114,用于为服务器112提供数据存储服务。此外,服务器112中可以运行有处理引擎116,该处理引擎116可以用于执行由服务器112所执行的步骤。

可选地,终端102可以但不限于为可以计算数据的终端,如移动终端(例如手机、平板电脑)、笔记本电脑、PC(Personal Computer,个人计算机)机等终端上,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI(Wireless Fidelity,无线保真)及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器112可以包括但不限于任何可以进行计算的硬件设备。

此外,在本实施例中,上述异常用户识别模型构建方法还可以但不限于应用于处理能力较强大的独立的处理设备中,而无需进行数据交互。例如,该处理设备可以但不限于为处理能力较强大的终端设备,即,上述异常用户识别模型构建方法中的各个操作可以集成在一个独立的处理设备中。上述仅是一种示例,本实施例中对此不作任何限定。

可选地,在本实施例中,上述异常用户识别模型构建方法可以由服务器112来执行,也可以由终端102来执行,还可以是由服务器112和终端102共同执行。其中,终端102执行本发明实施例的异常用户识别模型构建方法也可以是由安装在其上的客户端来执行。

以异常用户识别模型构建方法应用于中央处理单元为例,图2是根据本发明实施例的一种可选的异常用户识别模型构建方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:

步骤S201,获取目标时段下所有用户的关联日志数据。可选地,日志是计算机系统、设备、软件等在某种刺激下反应生成的东西,例如,Unix操作系统会记录用户登录和注销的消息,磁盘存储系统在故障发生或者在某些系统认为将会发生故障的情况下生成日志。关联日志数据是基于历史经验库的日志关联,或异常日志信息得到的数据,目标时段为任意想要进行异常用户分析的时间段。

步骤S202,根据关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量。可选地,步骤S201获取的关联日志数据包括:数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息。在数据包交换网络里,单个消息被划分为多个数据块,这些数据块被称为数据包。这些数据包沿着不同的路径在一个或多个网络中传输,并且在目的地重新组合。在本实施例中,数据传输采用的是西门子协议,数据包传递数量信息指每个单位用户的S7comm包头数量;数据包传递频次信息指单位时间内数据包传递的次数,也可称为数据包速率;用户响应数据包信息可以是响应时间或响应顺序等用户对数据包的响应信息,使用上述信息共同构建用户特征向量。需要说明的是,本发明实施例中的单位用户即用户可以是工业互联网中的一个具体用户设备,也可是一个房间或者区域中的子网络。

步骤S203,根据用户特征向量以及对应的标签训练分类神经网络。可选地,使用带标签的样本训练分类神经网络,即为各用户对应的用户特征向量生成标签,用户特征向量根据步骤S202生成。具体地,将正常用户特征向量对应的标签设置为1,异常用户特征向量对应的标签设置为-1,然后根据用户特征向量以及对应的标签训练分类神经网络。

步骤S204,根据训练后的分类神经网络构建异常用户识别模型。可选地,将经过步骤S203训练后的分类神经网络作为异常用户识别模型,即输入用户对应的用户特征向量可识别出该用户是否为异常用户。

在本发明实施例中,通过获取目标时段下所有用户的关联日志数据;根据关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量;根据用户特征向量以及对应的标签训练分类神经网络;根据训练后的分类神经网络构建异常用户识别模型。由于构建用户特征向量时综合考虑了关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息,使用该用户特征向量训练分类神经网络,构建异常用户识别模型,从而使该异常用户识别模型具有更高的准确性,并且相对于利用预设规则针对工业互联网中每个单位用户的数据特征进行单独分析具有分析快速、简单的优点。

作为一种可选的实施例,根据关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量,包括:根据预设采样时刻以及数据包传递数量信息计算网络不稳定性,其中,网络不稳定性用于表示数据包包头的传递数量特征;利用余弦距离根据第一统计区间以及数据包传递频次信息计算第一非典型程度,其中,第一非典型程度用于表示数据包的传递数量特征;利用余弦距离根据第二统计区间以及用户响应数据包信息计算第二非典型程度,其中,第二非典型程度用于表示数据包的延时和抖动特征;根据网络不稳定性、第一非典型程度以及第二非典型程度构建用户特征向量。

可选地,在分析异常用户时需要对当前整体网络环境进行分析,在正常的网络通信过程中,单位用户之间的信息传输通常是固定的或者处于一个经验区间,不会发生较大的变动。在本发明实施例中,工业互联网采用的是西门子协议,通过统计预设采样时刻下单位用户的S7comm包头数量计算网络不稳定性。由于互联网受到攻击时,会有大量的数据包在网络中进行通信传递,即网络不稳定性能够表示当前互联网的全局情况,可作为后续特征向量的组成部分之一。

针对每个用户进一步分析,每个用户在目标时段下的关联日志数据包速率序列即数据包传递频次信息用于表示当前用户在目标时段下的关联日志数据包频次变化情况。需要说明的是,若在目标时段下某些时刻单位用户出现了大量的重传、查询、乱序的数据包干扰,则在对应时刻会出现大量的关联日志交互,使得对应时刻下的数据包传递频次即对应时刻下的数据包传递次数增加。因此关联日志数据包传递频次信息能够表征单位用户的工作状态,即数据包传递频次越大该单位用户越异常。根据第一统计区间对目标时段均匀划分,利用余弦距离计算数据包传递频次信息间的差异作为第一非典型程度,将第一非典型程度作为特征向量的组成部分之一。

用户响应数据包信息包括响应时间和响应顺序,与计算第一非典型程度类似,利用余弦距离根据第二统计区间对目标时段均匀划分,利用余弦距离计算用户响应数据包信息间的差异作为第二非典型程度,第二非典型程度能够表示用户的数据包抖动特征以及通信特征的异常性,因此将第二非典型程度也作为特征向量的组成部分之一。在本发明实施例中,使用三种不同的特征共同构建用户特征向量,达到了丰富用户特征向量中有用信息的效果,使用该用户特征向量训练分类神经网络,达到了提高用户识别模型准确性的目的。

作为一种可选的实施例,根据预设采样时刻以及数据包传递数量信息计算网络不稳定性,其中,网络不稳定性用于表示数据包包头的传递数量特征,包括:根据预设采样时刻以及目标时段下关联日志数据中的数据包传递数量信息生成活跃用户数量序列,其中,活跃用户为目标时段下任一预设采样时刻内的数据包传递速率大于预设数据包传递速率阈值的用户;根据活跃用户数量序列中预设个数的最大元素值的平均值与活跃用户数量序列中所有元素值的平均值的差值计算网络不稳定性;

利用余弦距离根据第一统计区间以及数据包传递频次信息计算第一非典型程度,其中,第一非典型程度用于表示数据包的传递数量特征,包括:根据第一统计区间以及目标时段下关联日志数据中的数据包传递频次信息生成数据包传递频次向量;根据目标用户的数据包传递频次向量与其他用户的数据包传递频次向量的余弦距离计算目标用户与其他用户的第一差异;根据参考第一差异和最小第一差异的平均值计算第一非典型程度,其中,参考第一差异和最小第一差异为将目标用户与其他用户的第一差异升序排序后第一参考位和首位对应的第一差异的值;

利用余弦距离根据第二统计区间以及用户响应数据包信息计算第二非典型程度,其中,第二非典型程度用于表示数据包的延时和抖动特征,包括:根据第二统计区间以及目标时段下关联日志数据中的用户响应数据包信息生成用户响应向量;根据目标用户的用户响应向量与其他用户的用户响应向量的余弦距离计算目标用户与其他用户的第二差异;根据参考第二差异计算第二非典型程度,其中,参考第二差异为将目标用户与其他用户的第二差异升序排序后第二参考位的值。

可选地,在计算网络不稳定性时,活跃用户数量序列表示活跃用户数量在时序上的变化,其中,活跃用户为目标时段下任一预设采样时刻内的数据包传递速率大于预设数据包传递速率阈值的用户,具体地,设置100pps(packets per second,数据包每秒)作为预设数据包传递速率阈值,计算用户在预设采样时刻前10s内的数据包传递速率,即采样频率10s一次,若计算得到的数据包传递速率大于预设数据包传递速率阈值,则认为该用户为活跃用户。在正常稳定的工业互联网中,活跃用户数量序列中的元素通常为一个固定值,不会发生较大的波动。但是如果互联网受到了攻击,就会导致大量的数据包在网络中进行通信传递,使得互联网环境事件关联日志的数据模式和内容逻辑发生改变,活跃用户数量序列中的元素值变大,即活跃用户数量序列中的元素分布出现异常。故根据活跃用户数量序列中的元素值大小计算目标时段下的网络不稳定性,具体地,网络不稳定性Q可使用下式计算:

式中,

需要说明的是,Q表示整个网络的网络不稳定性,对整体超出活动数量的情况较为敏感,由于过高的活动通信数量会导致突发的数据发送,这种突发的数据发送可能代表暴力穷举、数据碰撞、某种广播风暴等网络攻击现象,这些网络攻击影响网络服务的质量和可控性。因此通过Q值表征当前整个网络的网络不稳定性,差异越大说明当前网络越不稳定。

在计算第一非典型程度时,首先根据第一统计区间以及目标时段下关联日志数据中的数据包传递频次信息生成数据包传递频次向量。在本发明实施例中,将目标时段均匀划分为5个第一统计区间,计算每个第一统计区间内的数据包传递频次,从而生成按照时间排列的包含5个值的数据包传递频次向量。根据先验知识可知,在工业互联网中异常用户占少数,因此异常用户的数据包传递频次向量与正常用户得数据包传递频次向量存在较大的特征差异。因此根据数据包传递频次向量计算第一非典型程度即目标用户与其他用户间的差异。具体地,计算目标用户的数据包传递频次向量与其他用户的数据包传递频次向量的余弦距离作为第一差异,将第一差异按照升序的方式排序,选取升序排序后的第K个第一差异作为参考第一差异,即第一参考位为K,K取正整数,可根据互联网中单位用户的数量进行具体设置,在此不做限定,选取升序排序后的首位作为最小第一差异,然后将参考第一差异和最小第一差异的平均值作为第一非典型程度。

需要说明的是,第一非典型程度越大说明目标单位用户与其他单位用户的数据包传递频次向量差异越大,即该目标单位用户越异常。将参考第一差异和最小第一差异的平均值作为第一非典型程度,达到了避免存在其他异常用户导致最小第一差异过小,从而导致第一非典型程度表征错误的目的。

同理,在计算第二非典型程度时,首先根据第二统计区间以及目标时段下关联日志数据中的用户响应数据包信息生成用户响应向量。在得到用户响应向量后,根据用户响应向量之间的余弦距离计算各用户间的第二差异,然后将第二差异按照升序的方式排序,将升序排序的第K’个第二差异作为参考第二差异,即第二参考位为K’,K’取正整数,可根据互联网中单位用户的数量进行具体设置,在此不做限定。最后根据参考第二差异计算第二非典型程度,具体地,第二非典型程度F可通过下式计算:

F=1-Similarity(F

式中,Similarity()为余弦相似度获取函数用于计算余弦距离,F

本发明实施例通过网络中活跃用户的数量表征当前网络中的整体稳定性特征。进一步分析每个单位用户的关联日志数据的数据包传递频次特征和用户响应数据包特征,结合网络中其他的单位用户获得每个用户的第一非典型程度和第二非典型程度。第一非典型程度和第二非典型程度共同体现了每个单位用户的异常性,进一步结合网络整体的网络不稳定性获得表示每个单位用户关联日志数据特征的用户特征向量。

作为一种可选的实施例,根据第二统计区间以及目标时段下关联日志数据中的用户响应数据包信息生成用户响应向量,包括:获取用户响应数据包信息中用户响应每个数据包的时间间隔;将时间间隔按照用户响应顺序排列得到响应时间间隔序列;将用户响应数据包顺序与数据包的传递顺序不一致的时间间隔修改为零;计算修改后的用户响应每个数据包的时间间隔;根据第二统计区间以及修改后的用户响应每个数据包的时间间隔生成用户响应向量。

可选地,在网络攻击中,不仅关联日志数据中的数据包传递数量会出现异常,单位用户对数据包的响应时间和响应顺序也会发生异常,因此本实施例获取目标时段内用户响应数据包的时间间隔,将时间间隔按照用户响应顺序排列生成响应时间间隔序列。如果用户响应的数据包是正常且顺序发送的,则不会发生数据包的响应抖动,在生成的响应时间间隔序列中元素值呈现固定或者有规律的分布。若关联日志数据包的响应为乱序分布即发生数据包响应抖动,为了在时间间隔中体现出乱序分布,将乱序位置的时间间隔设置为0,并重新计算顺序排列的关联日志数据包之间的真实间隔。例如数据包传递顺序为{0,1,2,3},用户响应数据包的顺序为{0,2,1,3},其中响应顺序中序号2为乱序位置,即该位置用户响应数据包顺序与数据包的传递顺序不一致。故将序号2的时间间隔修改为0,并重新计算序号0和序号1之间的时间间隔,根据修改后的用户响应数据包的时间间隔以及第二统计区间生成用户响应向量。在本发明实施例中,通过对响应时间间隔数据处理,若当前单位用户响应关联日志时发生包头抖动或者数据包乱序,则在响应时间间隔序列中会存在多个较大的元素值分布且存在多个元素值为0的元素分布。

本发明实施例通过分析用户响应数据包的时间间隔信息,将乱序的关联日志数据包对应的时间间隔修改为0,使得时间间隔序列能够更清楚的表征当前用户的数据包抖动特征。

作为一种可选的实施例,根据用户特征向量以及对应的标签训练分类神经网络,包括:利用OPTICS聚类算法根据用户特征向量以及用户响应向量对所有用户进行分组,得到多个用户组,用户组包括普通用户组和独特用户组,普通用户组中用户数量大于等于用户总数量预设百分比,独特用户组中用户数量小于用户总数量预设百分比;为普通用户组中的所有用户统一设置标签或为普通用户组中的每个用户单独设置标签,其中,异常用户的标签为-1,正常用户的标签为1;为独特用户组中的每个用户单独设置标签;根据所有用户组的用户特征向量、用户响应向量以及用户特征向量对应的标签训练AdaBoost二分类器。

可选地,利用OPTICS聚类算法对所有用户进行分组,得到多个用户组。需要说明的是,OPTICS聚类算法为本领域技术人员熟知的技术手段,在本发明实施例中,搜索半径设置为0.5,簇内最小值数量设置为4。在得到多个用户组后,有些用户组中,样本数量较少,将这些用户组设置为独特用户组,其余用户组作为普通用户组。

其中,作为普通用户组的各用户组,可能为全是正常用户的用户组、也可能为全是异常用户的用户组,也可能用户组中既包括正常用户也包括异常用户。因此,可以根据用户组中的用户情况为用户组中的所有用户统一设置标签或为用户组中的每个用户单独设置标签,例如,对于全是正常用户的用户组,将该用户组中所有用户统一设置标签为1;对于全是异常用户的用户组,将该用户组中所有用户统一设置标签为-1;对于既包括正常用户也包括异常用户的用户组,对该用户组中每个用户单独设置标签,即异常用户的标签为-1,正常用户的标签为1。需要说明的是,对于全部用户都为正常用户的用户组统一设置标签可提高设置标签的速度。对于包含异常用户的用户组可为组中的用户单独设置标签。对于一些样本量较少的用户组,可能并非是异常用户,而是网络中较为独特的用户部分,对于这种独特用户组应对其中的每个用户单独设置标签,避免标注错误。在本发明实施例中,将样本量少于整体样本的百分之5的用户组作为独特用户组,进行针对性标注。最后根据所有用户组和独特用户组的用户特征向量、用户响应向量以及用户特征向量对应的标签训练AdaBoost二分类器。

在本发明实施例中,训练AdaBoost二分类器时不仅使用了用户特征向量,还使用了用户响应向量,由于响应向量能够在一定程度上表示用户的通信特征即数据包抖动特征和延时特征,因此达到了进一步提高分类器准确度的效果。AdaBoost二分类器通过学习常见的通信状态特征,能够达到对正常样本进行足够可靠响应的目的,因此在异常用户识别时,能够快速且准确的完成分类。由于工业互联网中存在多种不同工况的单位用户,对应的数据传输特征也不同,因此对用户进行分组,将相同通信特征的单位用户分为一组,不仅便于后续训练过程中的标签处理,也能通过分组扩充分类神经网络的训练数据量,使得分类神经网络的分类结果更加准确。利用分类神经网络处理工业互联网中实时用户的实时数据,即可实现快速准确的异常用户识别。通过分类神经网络对历史数据的学习,不但可以在网络攻击等典型的数据流中对异常单位用户及时分类整理,还可以及时判断出网络中因为用户的性能或者配置错误导致的疑似干扰行为。

作为一种可选的实施例,利用OPTICS聚类算法根据用户特征向量以及用户响应向量对所有用户进行分组,得到多个用户组,包括:根据目标用户和其他用户之间用户特征向量的余弦相似度计算目标用户和其他用户之间的第一相似度;根据目标用户和其他用户之间用户响应向量的余弦相似度计算目标用户和其他用户之间的第二相似度;根据第一相似度和第二相似度的乘积计算目标用户和其他用户之间的样本相似度;根据一和样本相似度的差值计算目标用户和其他用户之间的样本距离;利用OPTICS聚类算法根据目标用户和其他用户之间的样本距离对所有用户进行分组,得到多个用户组。

可选地,利用OPTICS聚类算法根据各用户特征向量U以及用户响应向量之间的相似度对用户进行分组。具体地,使用余弦距离计算不同单位用户之间用户特征向量的第一相似度以及不同单位用户之间用户响应向量的第二相似度,将第一相似度和第二相似度的乘积作为标用户和其他用户之间的样本相似度,使用一和样本相似度的差值作为目标用户和其他用户之间的样本距离,最后利用OPTICS聚类算法根据该样本距离对所有用户进行分组,得到多个用户组。在工业互联网的通信传输过程中会存在某些单位用户包含实时控制、集散控制等单元,具有独特的时延分布特征,若一个单位用户的关联日志出现持续较大数据包速率情况,从而导致延迟较高,有可能是通信载荷的特性决定的,例如增材制造的切片图像、多媒体信息等,因此在计算样本距离时将用户特征向量与用户响应向量结合,达到了避免造成漏判的目的。

根据本发明实施例的另一个方面,还提供了一种异常用户识别方法。可选地,在本实施例中,上述异常用户识别方法也可以应用于如图1所示的硬件环境中。以异常用户识别方法应用于中央处理单元为例,图3是根据本发明实施例的一种可选的异常用户识别方法的流程示意图,如图3所示,该方法的流程可以包括以下步骤:

步骤S301,获取待识别用户特征向量。可选地,用户特征向量U={Q,P,F},由网络不稳定性Q、第一非典型程度P以及第二非典型程度F构成。

步骤S302,将待识别用户特征向量输入本发明实施例第一方面任一实施例的异常用户识别模型构建方法构建得到的异常用户识别模型得到异常用户。可选地,将步骤S301中获取的待识别用户特征向量输入本发明实施例第一方面任一实施例中异常用户识别模型构建方法构建得到的异常用户识别模型得到异常用户。需要说明的是,由于大多数事件关联日志异常与否的标志主要是当日开工的前段时间中的行为,并且伴随着重复性的工序,因此在厂区开工后时间段达到整体时间段的百分之三十时,进行异常用户识别,能够保证数据足够判断异常用户的同时实现及时快速的判断异常用户的效果。

在本发明实施例中,将待识别用户特征向量输入异常用户识别模型得到异常用户,相对于传统的根据预设规则针对工业互联网中每个单位用户的数据特征进行单独分析的识别方法,具有分析快速、简单和准确性高的优点。

作为一种可选的实施例,方法还包括:根据第一统计区间以及目标时段下关联日志数据中的数据包传递频次信息生成第一直方图;根据第二统计区间以及目标时段下关联日志数据中的用户响应数据包信息生成第二直方图;对第一直方图和第二直方图进行可视化展示。

可选地,使用第一统计区间对目标时段均匀划分,第一直方图中的柱体数量为第一统计区间的数量,每个柱体对应一个数据包传递频次信息。同理,使用第二统计区间对目标时段均匀划分,第二直方图中的柱体数量为第二统计区间的数量,每个柱体对应一个用户响应数据包信息。使用可视化手段对第一直方图和第二直方图进行展示。对于第一直方图,若当前用户为正常的关联日志通信,则数据包传递频次即各柱体之间不会存在较大差异,呈固定数值分布。即在第一直方图中,不会出现某个维度的数值较大,其他维度的数值均为较小数值的情况;若当前用户为异常用户,则数据包传递频次会出现较大的特殊值,即对应的第一直方图中会出现不同维度的高数值分布。对于第二直方图,若用户响应关联日志时发生包头抖动或者数据包乱序,则在第二直方图中会存在多个维度的高数值分布或数值为0的维度。在本发明实施例中,利用直方图向量代替常规的数据序列能够清楚且简易的表现通信速率分布特征,更加直观的体现突发通信时间、间歇式通信事件、数据包抖动以及数据包乱序等行为。

作为一种可选的实施例,方法还包括:将异常用户的用户响应向量中的元素降序排列;获取前预设个元素的平均值作为异常用户的通信抖动程度;对所有异常用户的通信抖动程度求和,得到整体通信抖动程度。可选地,在获得异常用户后可将异常用户的用户响应向量中的元素按照降序排列,获取前H个数据的平均值作为该异常用户的通信抖动程度,整体通信抖动程度即各异常用户的通信抖动程度的和。在本发明实施例中,H设置为2,也可根据互联网中单位用户的数量进行具体设置。整体通信抖动程度的值越大,说明当前出现的通信抖动越严重,通信的时延异常越严重,越影响当前互联网的通信质量,工作人员可根据整体通信抖动程度进行相应的维护。

根据本发明实施例的又一个方面,还提供了一种异常用户识别模型构建装置。图4是根据本发明实施例的一种可选的异常用户识别模型构建装置的结构框图,如图4所示,该装置可以包括:第一获取模块401,用于获取目标时段下所有用户的关联日志数据;第一构建模块402,用于根据关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量;训练模块403,用于根据用户特征向量以及对应的标签训练分类神经网络;第二构建模块404,用于根据训练后的分类神经网络构建异常用户识别模型。

需要说明的是,该实施例中的第一获取模块401可以用于执行上述步骤S201,该实施例中的第一构建模块402可以用于执行上述步骤S202,该实施例中的训练模块403可以用于执行上述步骤S203,该实施例中的第二构建模块404可以用于执行上述步骤S204。

通过上述模块,构建用户特征向量时综合考虑了关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息,使用该用户特征向量训练分类神经网络,构建异常用户识别模型,从而使该异常用户识别模型具有更高的准确性。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本发明实施例的又一个方面,还提供了一种异常用户识别装置。图5是根据本发明实施例的一种可选的异常用户识别装置的结构框图,如图5所示,该装置可以包括:第二获取模块501,用于获取待识别用户特征向量;得到模块502,用于将待识别用户特征向量输入本发明第一方面任一项的异常用户识别模型构建方法构建得到的异常用户识别模型得到异常用户。

需要说明的是,该实施例中的第二获取模块501可以用于执行上述步骤S301,该实施例中的得到模块502可以用于执行上述步骤S302。

通过上述模块,将待识别用户特征向量输入异常用户识别模型得到异常用户,相对于传统的根据预设规则针对工业互联网中每个单位用户的数据特征进行单独分析的识别方法,具有分析快速、简单和准确性高的优点。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本发明实施例的又一个方面,还提供了一种用于实施上述异常用户识别模型构建方法以及异常用户识别方法的电子设备,该电子设备可以是服务器、终端、或者其组合。

图6是根据本发明实施例的一种可选的电子设备的结构框图,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601、通信接口602和存储器603通过通信总线604完成相互间的通信,其中,存储器603,用于存储计算机程序;处理器601,用于执行存储器603上所存放的计算机程序时,实现如下步骤:

获取目标时段下所有用户的关联日志数据;根据关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量;根据用户特征向量以及对应的标签训练分类神经网络;根据训练后的分类神经网络构建异常用户识别模型;获取待识别用户特征向量;将待识别用户特征向量输入异常用户识别模型得到异常用户。

可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。

作为一种示例,如图6所示,上述存储器603中可以但不限于包括上述异常用户识别模型构建装置中的第一获取模块401、第一构建模块402、训练模块403、第二构建模块404以及异常用户识别装置中的第二获取模块501、得到模块502。此外,还可以包括但不限于上述异常用户识别模型构建装置以及异常用户识别装置中的其他模块单元,本示例中不再赘述。

上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

此外,上述电子设备还包括:显示器,用于显示异常用户识别结果。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图6所示的结构仅为示意,实施上述异常用户识别模型构建方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图6并不对上述电子设备的结构造成限定。例如,终端设备还可包括比图6中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图6所示的不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。

根据本发明实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行异常用户识别模型构建方法以及异常用户识别方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

获取目标时段下所有用户的关联日志数据;根据关联日志数据中的数据包传递数量信息、数据包传递频次信息以及用户响应数据包信息构建用户特征向量;根据用户特征向量以及对应的标签训练分类神经网络;根据训练后的分类神经网络构建异常用户识别模型;获取待识别用户特征向量;将待识别用户特征向量输入异常用户识别模型得到异常用户。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

根据本发明实施例的又一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一个实施例中的异常用户识别模型构建方法的步骤以及异常用户识别方法的步骤。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例异常用户识别模型构建方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本发明所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号