应用于物联网的数据节点异常行为检测方法及服务器
技术领域
本发明涉及数据节点分析技术领域,具体而言,涉及一种应用于物联网的数据节点异常行为检测方法及服务器。
背景技术
随着科技的发展,分布式数据处理技术已应用于金融、物联网、保险和公益领域等领域,能够实现对数据信息的快速、安全交互以及数据信息的有效性验证。也正是由于分布式数据处理技术涉及的应用领域大多为国民生产中的重要领域,确保分布式数据网络中的分布式数据节点不被黑客入侵和攻击是非常重要的。由于分布式网络中的分布式数据节点的数量较多,且分布式数据节点通常会执行大量的数据处理工作,如果为每个分布式数据节点额外配置防火墙或者黑客监测/拦截机制从而实现对分布式数据节点的异常行为检测,会极大地影响分布式数据节点的工作性能(例如数据处理速度和数据处理精确度)。因此,如何在确保分布式数据节点的工作性能的前提下实现异常行为的检测从而确定出被入侵的分布式数据节点是现阶段亟待解决的一个技术问题。
发明内容
为了至少克服现有技术中的上述不足,本发明的目的之一在于提供一种应用于物联网的数据节点异常行为检测方法及服务器。
第一方面,提供一种应用于物联网的数据节点异常行为检测方法,应用于服务器,所述服务器与分布式数据网络通信,其中,所示分布式数据网络为物联网络且所述分布式数据网络中存在相同节点标识的数据节点共用一种动作解析逻辑,设置每个数据节点与所述服务器的绑定关系、以及对应的动作解析逻辑和行为识别逻辑,每个数据节点在启动数据处理进程时通过所述服务器激活该数据节点对应的动作解析逻辑和行为识别逻辑,所述数据节点为分布式数据节点,所述方法至少包括:
当所述分布式数据网络中的第一数据节点与第二数据节点进行数据交互时,判断所述第一数据节点的节点标识与所述第二数据节点是否相同;其中,当所述第一数据节点和所述第二数据节点进行数据交互时,部署在所述服务器侧的动作解析逻辑和行为识别逻辑不影响所述第一数据节点和所述第二数据节点的工作性能;
在所述第一数据节点的节点标识与所述第二数据节点的节点标识相同时,从所述第一数据节点和所述第二数据节点之间的交互记录中确定出第一数据节点的第一动作指令流以及所述第二数据节点的第二动作指令流;
按照所述第一数据节点或所述第二数据节点对应的动作解析逻辑,分别对所述第一动作指令流和所述第二动作指令流进行解析,得到第一指令特征和第二指令特征;
在所述第一指令特征和所述第二指令特征不匹配时,基于所述第一数据节点对应的第一行为识别逻辑对所述第一指令特征进行识别得到第一识别结果并基于所述第二数据节点对应的第二行为识别逻辑对所述第二指令特征进行识别得到第二识别结果;
根据所述第一识别结果和所述第二识别结果确定出所述第一数据节点和所述第二数据节点中存在异常行为的数据节点。
第二方面,提供一种服务器,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述处理器用于调用存储器中的程序指令,以执行上述的应用于物联网的数据节点异常行为检测方法。
第三方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述的应用于物联网的数据节点异常行为检测方法。
本发明实施例所提供的一种应用于物联网的数据节点异常行为检测方法及服务器,存在相同节点标识的数据节点的动作解析逻辑是相同的,并且服务器是根据不同的数据节点进行行为识别逻辑部署的,因此,当第一数据节点和第二数据节点进行交互时,部署在服务器侧的动作解析逻辑和行为识别逻辑是不会影响第一数据节点和第二数据节点的工作性能的。服务器获取的交互记录是第一数据节点和第二数据节点在数据交互时正常生成的,这一行为也不会影响第一数据节点和第二数据节点的工作性能。详细地,若第一数据节点和第二数据节点的节点标识相同,在采用同一种动作解析逻辑对第一动作指令流和第二动作指令流进行解析得到的第一指令特征和第二指令特征不匹配时,可以基于不同的行为识别逻辑分别对第一指令特征和第二指令特征进行识别从而确定出第一识别结果和第二识别结果,然后根据第一是别结果和第二识别结果确定出存在异常行为的数据节点。如此,无需在数据节点侧部署防火墙或者黑客监测/拦截机制,能够在确保分布式数据节点的工作性能的前提下实现异常行为的检测从而确定出被入侵的分布式数据节点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的一种应用于物联网的数据节点异常行为检测方法的流程图。
图2为本发明实施例所提供的一种应用于物联网的数据节点异常行为检测装置的功能模块框图。
图3为本发明实施例所提供的一种服务器的方框示意图。
图标:
200-应用于物联网的数据节点异常行为检测装置;201-判断模块;202-确定模块;203-解析模块;204-识别模块;205-检测模块;
300-服务器;301-处理器;302-存储器;303-总线。
具体实施方式
下面将参照附图更详细地描述本发明公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种应用于物联网的数据节点异常行为检测方法及服务器,用以改善现有技术难以在确保分布式数据节点的工作性能的前提下实现异常行为的检测从而确定出被入侵的分布式数据节点的技术问题。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
图1为根据本发明一个实施例提供的应用于物联网的数据节点异常行为检测方法的流程图,该方法应用于服务器,所述服务器与分布式数据网络通信,所述分布式数据网络中存在相同节点标识的数据节点共用一种动作解析逻辑,设置每个数据节点与所述服务器的绑定关系、以及对应的动作解析逻辑和行为识别逻辑,每个数据节点在启动数据处理进程时通过所述服务器激活该数据节点对应的动作解析逻辑和行为识别逻辑,所述数据节点为分布式数据节点。
可以理解,在本实施例中,分布式数据网络可以应用于物联网领域、车联网领域、智能医疗领域和政务数据化领域等,在本实施例中不作限定。
请继续参阅图1,该方法可以包括以下内容:
步骤S21,当所述分布式数据网络中的第一数据节点与第二数据节点进行数据交互时,判断所述第一数据节点的节点标识与所述第二数据节点是否相同。
步骤S22,在所述第一数据节点的节点标识与所述第二数据节点的节点标识相同时,从所述第一数据节点和所述第二数据节点之间的交互记录中确定出第一数据节点的第一动作指令流以及所述第二数据节点的第二动作指令流。
步骤S23,按照所述第一数据节点或所述第二数据节点对应的动作解析逻辑,分别对所述第一动作指令流和所述第二动作指令流进行解析,得到第一指令特征和第二指令特征。
步骤S24,在所述第一指令特征和所述第二指令特征不匹配时,基于所述第一数据节点对应的第一行为识别逻辑对所述第一指令特征进行识别得到第一识别结果并基于所述第二数据节点对应的第二行为识别逻辑对所述第二指令特征进行识别得到第二识别结果。
步骤S25,根据所述第一识别结果和所述第二识别结果确定出所述第一数据节点和所述第二数据节点中存在异常行为的数据节点。
可以理解,在步骤S21-步骤S25中,存在相同节点标识的数据节点的动作解析逻辑是相同的,并且服务器是根据不同的数据节点进行行为识别逻辑部署的,因此,当第一数据节点和第二数据节点进行交互时,部署在服务器侧的动作解析逻辑和行为识别逻辑是不会影响第一数据节点和第二数据节点的工作性能的。服务器获取的交互记录是第一数据节点和第二数据节点在数据交互时正常生成的,这一行为也不会影响第一数据节点和第二数据节点的工作性能。
详细地,若第一数据节点和第二数据节点的节点标识相同,在采用同一种动作解析逻辑对第一动作指令流和第二动作指令流进行解析得到的第一指令特征和第二指令特征不匹配时,可以基于不同的行为识别逻辑分别对第一指令特征和第二指令特征进行识别从而确定出第一识别结果和第二识别结果,然后根据第一是别结果和第二识别结果确定出存在异常行为的数据节点。
如此,无需在数据节点侧部署防火墙或者黑客监测/拦截机制,能够在确保分布式数据节点的工作性能的前提下实现异常行为的检测从而确定出被入侵的分布式数据节点。
在具体实施时,在同一时段内存在数据交互的数据节点有很多,为了确保确定出的第一动作指令流以及第二动作指令流的准确性,在步骤S22中,所述从所述第一数据节点和所述第二数据节点之间的交互记录中确定出第一数据节点的第一动作指令流以及所述第二数据节点的第二动作指令流,具体可以包括以下内容:
步骤S221,获取所述交互记录的元数据信任度以及各动作指令对。
步骤S222,在根据所述元数据信任度确定出所述交互记录中包含有无效交互行为的情况下,根据所述交互记录在无效交互行为下的动作指令对及其数字签名确定交互记录在有效交互行为下的各动作指令对与交互记录在无效交互行为下的各动作指令对之间的响应成功率之差,并将交互记录在有效交互行为下的与在无效交互行为下的动作指令对的响应成功率相同的动作指令对调整到相应的无效交互行为的分类下。
步骤S223,在交互记录的当前有效交互行为下包含有多个动作指令对的情况下,根据所述交互记录在无效交互行为下的动作指令对及其数字签名确定交互记录在当前有效交互行为下的各动作指令对之间的响应成功率之差,并根据所述各动作指令对之间的响应成功率之差对当前有效交互行为下的各动作指令对进行筛选。
步骤S224,根据所述交互记录在无效交互行为下的动作指令对及其数字签名为上述筛选得到的每一个动作指令对设置无效交互行为签名,并将所述每一个动作指令对调整到所述无效交互行为签名所对应的无效交互行为的分类下;
步骤S225,根据有效交互行为分类下的第一动作指令对、无效交互行为分类下的第二动作指令对、所述第一数据节点的第一链路层协议以及所述第二数据节点的第二链路层协议确定出所述第一动作指令流和所述第二动作指令流。
通过步骤S221-步骤S225,能够根据交互记录的元数据信任度以及各动作指令对,确定出处于有效交互行为和无效交互行为分类下的各动作指令对,从而实现对动作指令对的有效性的准确划分。在准确划分出动作指令对的有效性的前提下,能够结合第一数据节点的第一链路层协议以及第二数据节点的第二链路层协议确定出第一动作指令流和第二动作指令流。如此,能够将动作指令的有效性考虑在内,从而确保得到的第一动作指令流以及第二动作指令流的准确性。
在确定第一动作指令流和第二动作指令流时,需要将第一数据节点和第二数据节点之间的存在交互的动作指令进行区分,从而确保第一动作指令流和第二动作指令流不会携带对方的动作指令流,为此,在步骤S225中,所述根据有效交互行为分类下的第一动作指令对、无效交互行为分类下的第二动作指令对、所述第一数据节点的第一链路层协议以及所述第二数据节点的第二链路层协议确定出所述第一动作指令流和所述第二动作指令流,具体可以包括以下内容:
步骤S2251,根据所述第一动作指令对、所述第二动作指令对、所述第一链路层协议以及所述第二链路层协议,确定所述第一数据节点和所述第二数据节点各自对应的第一动作指令集和所述第二动作指令集。
步骤S2252,基于所述第一动作指令集、所述第二动作指令集、所述第一链路层协议和所述第二链路层协议,确定出所述第一数据节点的第一结构化序列以及所述第二数据节点的第二结构化序列。
步骤S2253,基于所述第一结构化序列以及所述第二结构化序列,分别从所述第一动作指令集和所述第二动作指令集中确定所述第一数据节点的第一指令序列和所述第二数据节点的第二指令序列。
步骤S2254,当确定出所述第一指令序列和所述第二指令序列时,以所述第一指令序列和所述第二指令序列进行指令序列配对,获得配对结果;根据所述配对结果判断所述第一指令序列和所述第二指令序列是否为多分支线程的序列对;若是,则按照每个分支线程将所述第一指令序列和所述第二指令序列分别转换为多个具有所述分支线程的第一指令表单和第二指令表单;分别按照所述第一指令表单和所述第二指令表单查找与所述第一指令表单和第二指令表单具有相同或相似分支线程的预设指令脚本文件;将所述配对结果和所述预设指令脚本文件对应的脚本流合成动作指令流集合。
步骤S2255,根据所述动作指令流集合中的预设指令脚本文件和所述预设指令脚本文件对应的脚本流、以及所述第一数据节点的动作解析逻辑对应的第一接口信息、所述第二数据节点的动作解析逻辑对应的第二接口信息,确定出所述第一动作指令流和所述第二动作指令流。
在步骤S2251中,所述第一动作指令集包括所述第一数据节点在所述交互记录的有效调用时间范围内向所述第二数据节点发送的一连串的请求指令,所述第二动作指令集包括所述第二数据节点在所述交互记录的有效调用时间范围内根据接收到的所述第一数据节点发送的所述请求指令向所述第一数据节点反馈的一连串的响应指令。
可以理解,通过步骤S2251-步骤S2255,能够根据第一数据节点和第二数据节点各自对应的动作指令对和链路层协议确定出各自赌赢的动作指令集,进而确定出结构化序列和指令序列。进一步地,对指令序列进行配对,然后根据配对结果确定出符合要求的预设指令脚本文件,进而将配对结果和预设指令脚本文件对应的脚本流合成动作指令流集合。最后基于动作指令流集合中的预设指令脚本文件和预设指令脚本文件对应的脚本流、以及第一数据节点的动作解析逻辑对应的第一接口信息、第二数据节点的动作解析逻辑对应的第二接口信息,确定出第一动作指令流和第二动作指令流。
如此,能够依次通过动作指令集、结构化序列、指令序列对第一数据节点和第二数据节点进行区分,从而将第一数据节点和第二数据节点存在交互的动作指令进行区分,从而确保第一动作指令流和第二动作指令流不会携带对方的动作指令流。
在具体实施时,虽然对第一动作指令流和第二动作指令流进行解析的动作解析逻辑是一致的,但是要考虑第一动作指令流和第二动作指令流之间的时序差异,为此,在步骤S22中,所述按照所述第一数据节点或所述第二数据节点对应的动作解析逻辑,分别对所述第一动作指令流和所述第二动作指令流进行解析,得到第一指令特征和第二指令特征,具体可以包括以下内容:
步骤S221,根据所述动作指令逻辑中的指令拆分规则,分别对所述第一动作指令流和所述第二动作指令流进行拆分,得到所述第一动作指令流的第一拆分集以及所述第二动作指令流的第二拆分集。
步骤S222,在预设的动作指令包集合中任意确定出一个动作指令包作为目标动作指令包;分别将所述第一动作指令流对应的第一拆分集中的每个第一单动作指令和所述第二动作指令流对应的第二拆分集中的每个第二单动作指令与所述目标动作指令包中的每个参考动作指令进行对比,得到所述第一动作指令流与所述目标动作指令包之间的第一对比结果以及所述第二动作指令流与所述目标动作指令包之间的第二对比结果。
步骤S223,以所述目标动作指令包为参考位置,沿设定序列方向进行对比,直至所述动作指令包集合中出现一个当前动作指令包,使得所述第一动作指令流与所述当前动作指令包之间的第三对比结果与所述第一动作指令流与所述目标动作指令包之间的第一对比结果的第一相似度值大于设定阈值,且所述第二动作指令流与所述当前动作指令包之间的第四对比结果与所述第二动作指令流与所述当前动作指令包之间的第二对比结果的第二相似度值大于所述设定阈值。
步骤S224,确定所述当前动作指令包对应的第三指令特征,所述第三指令特征确定所述动作解析逻辑的解析线程;按照所述解析线程对所述第一拆分集和所述第二拆分集进行特征提取,得到所述第一指令特征和所述第二指令特征。
在步骤S221中,所述第一拆分集中包括所述第一动作指令流的多个第一单动作指令,所述第二拆分集中包括所述第二动作指令流的多个第二单动作指令。
在步骤S222中,所述动作指令包集合包括以指令数据库中每个已验证动作指令为参考动作指令的对比动作指令包,所述对比动作指令包的动作指令节点为参考动作指令的相对时序信息,之后的每个动作指令节点包括参考动作指令与所述指令数据库中其他动作指令的时序关联度以及所述其他动作指令的相对时序信息,所述每个对比动作指令包中动作指令按照所述时序关联度升序排列。
可以理解,通过步骤S221-步骤S224,能够基于动作指令逻辑中的指令拆分规则对第一动作指令流和第二动作指令流进行拆分得到第一拆分集和第二拆分集,进而基于第一拆分集和第二拆分集从预设的动作指令包集合确定出当前动作指令包,进而基于当前动作指令包确定出动作解析逻辑的解析线程,然后基于解析线程对第一拆分集和第二拆分集进行特征提取,得到第一指令特征和第二指令特征。如此,能够在确定当前动作指令包时将第一动作指令流和第二动作指令流之间的时序差异考虑在内,从而确保对第一动作指令流和第二动作指令流进行解析的准确性。
在具体实施时,由于不同的数据节点的行为识别逻辑是不同的,在对数据节点的指令特征进行行为识别时,需要将执行请求发送和反馈响应的不同的数据节点之间的相对角色关系对应的动作映射考虑在内,为此,在步骤S24中,所述基于所述第一数据节点对应的第一行为识别逻辑对所述第一指令特征进行识别得到第一识别结果并基于所述第二数据节点对应的第二行为识别逻辑对所述第二指令特征进行识别得到第二识别结果,具体可以包括以下内容:
步骤S241,根据所述第一数据节点的第一指令特征对应的第一动作类别及所述第二数据节点的第二指令特征对应的第二动作类别,确定所述第一数据节点相对于所述第二数据节点的第一角色映射向量以及所述第二数据节点相对于所述第一数据节点的第二角色映射向量。
步骤S242,基于所述第一角色映射向量以及所述第一指令特征所表征的所述第一数据节点向所述第二数据节点发送的请求指令的第一累计值,对所述第一行为识别逻辑中的第一逻辑识别单元和第一逻辑有向边进行调整,得到第一目标行为识别逻辑;基于所述第二角色映射向量以及所述第二指令特征所表征的所述第二数据节点向所述第一数据节点发送的响应指令的第二累计值,对所述第二行为识别逻辑中的第二逻辑识别单元和第二逻辑有向边进行调整,得到第二目标行为识别逻辑。
步骤S243,根据所述第一目标行为识别逻辑和所述第二目标行为识别逻辑确定所述对所述第一指令特征和所述第二指令特征进行识别的持续时长。
步骤S244,在所述持续时长内采用所述第一目标行为识别逻辑确定所述第一指令特征的第一特征关联度;根据所述第一特征关联度以及预存的所述第二数据节点与所述分布式数据网络中的其他数据节点之间的验证表单中包括的所述第二数据节点与所述第一数据节点之间的第一验证结果,得到所述第一识别结果;所述第一验证结果是所述第二数据节点作为验证端且所述第一数据节点作为待验证端对应的验证结果。
步骤S245,在所述持续时长内采用所述第二目标行为识别逻辑确定所述第二指令特征的第二特征关联度;根据所述第二特征关联度以及预存的所述第一数据节点与所述分布式数据网络中的其他数据节点之间的验证表单中包括的所述第一数据节点与所述第二数据节点之间的第二验证结果,得到所述第二识别结果;所述第二验证结果是所述第一数据节点作为验证端且所述第二数据节点作为待验证端对应的验证结果。
在步骤S243中,所述持续时长用于表征采用所述第一目标行为识别逻辑对所述第一指令特征进行识别的第一起始时刻与采用所述第二目标行为识别逻辑对所述第二指令特征进行识别的第二起始时刻相同且采用所述第一目标行为识别逻辑对所述第一指令特征进行识别的第一结束时刻与采用所述第二目标行为识别逻辑对所述第二指令特征进行识别的第二结束时刻相同。
可以理解,通过步骤S241-步骤S245,能够根据数据节点的动作类别确定对应的角色映射向量,从而基于角色映射向量实现对不同的行为识别逻辑的调整得到不同的目标行为识别逻辑。进一步地,基于不同的目标行为识别逻辑确定对识别的持续时长进行统一,能够确保不同识别结果的时间同步性,进而不同识别结果的准确性。在进行识别时,能够根据不同的特征关联度和不同数据节点之间的验证结果准确得到不同的识别结果。
通过上述方法,能够将不同动作类别对应的数据节点之间的相对角色关系进行区分,例如从请求指令和响应指令角度以及验证端和待验证端角度确定不同的数据节点对应的识别结果,如此,能够将不同的数据节点之间的相对角色关系对应的动作映射考虑在内,确保不同的识别结果的准确性。
在具体实施时,为了准确确定出存在异常行为的数据节点,需要从不同的数据节点的角度来分析识别结果,为此,在步骤S25中,所述根据所述第一识别结果和所述第二识别结果确定出所述第一数据节点和所述第二数据节点中存在异常行为的数据节点,具体还可以包括以下内容:
步骤S251,提取所述第一识别结果中的第一置信度参数和所述第二识别结果中的第二置信度参数。
步骤S252,根据所述第一识别结果得到所述第一数据节点映射至所述第二数据节点的第一校验码。
步骤S253,根据所述第一校验码和所述第二识别结果得到所述第二数据节点映射至所述第一数据节点的第二校验码。
步骤S254,根据预存的第一数据节点的第一设备标识对应的第一动态随机数和所述第一识别结果确定出第三校验码。
步骤S255,根据预存的第二数据节点的第二设备标识对应的第二动态随机数和所述第二识别结果确定出第四校验码。
步骤S256,判断所述第一校验码和所述第三校验码是否一致,在所述第一校验码和所述第三校验码不一致时确定所述第一数据节点存在异常行为。
步骤S257,判断所述第二校验码和所述第四校验码是否一致,在所述第二校验码和所述第四校验码不一致时确定所述第二数据节点存在异常行为。
可以理解,通过步骤S251-步骤S257,能够基于第一数据节点和第二数据节点之间的互相映射确定出第一校验码和第二校验码,并基于预存的第一动态随机数和第二动态随机数确定出第三校验码和第四校验码,如此,能够从不同的数据节点的角度来分析识别结果,从而准确确定出存在异常行为的数据节点。
在具体实施时,为了确保分布式数据网络中其他数据节点的安全性,在步骤S251-步骤S257的基础上,还可以包括以下内容:
屏蔽存在异常行为的第一数据节点和第二数据节点。
可以理解,通过将存在异常行为的第一数据节点和第二数据节点进行屏蔽,能够避免存在异常行为的第一数据节点和第二数据节点与分布式数据网络中的其他节点进行通信,从而确保分布式数据网络中其他数据节点的安全性。
在具体实施时,为了确保在屏蔽存在异常行为的第一数据节点和第二数据节点时不影响其他数据节点的正常工作,所述屏蔽存在异常行为的第一数据节点或第二数据节点,具体还可以包括以下内容:
步骤S31,当所述分布式数据网络中存在除所述第一数据节点和所述第二数据节点之外的第三数据节点对应的当前数据交互行为时,根据当前数据交互行为中用于检测分布式数据网络的网络稳定性的扰动参数、与当前数据交互行为所属时长对应的用于表示所述网络稳定性的最佳传输稳定性权重值、以及至少一个与当前数据交互行为所属时长对应的所述分布式数据网络的数据节点接入数量增长率,确定当前数据交互行为进行时所述第三数据节点出现数据丢失的概率。
步骤S32,根据所述概率,以及所述概率的裕量范围划分的若干数值区间与当前数据交互行为之间的对应关系,确定所述概率对应的屏蔽信号频段。
步骤S33,根据所述屏蔽信号频段生成用于屏蔽所述第一数据节点或所述第二数据节点发起的请求指令或响应指令的屏蔽信号,并通过所述分布式数据网络的节点分布序列发射所述屏蔽信号。
在步骤S31中,所述数据节点接入数量增长率为根据所述分布式数据网络的网络结构化描述对应的有效接入请求数量与接入请求总数的比例。
可以理解,通过步骤S31-步骤S33,能够对分布式数据网络中存在除第一数据节点和第二数据节点之外的第三数据节点对应的当前数据交互行为进行分析,从而实现对分布式数据网络的网络稳定性和传输稳定性的分析,进而确定出第三数据节点在当前数据交互行为进行时出现数据丢失的概率。然后根据概率进行进一步分析,确定出屏蔽信号频段,进而生成用于屏蔽第一数据节点或第二数据节点发起的请求指令或响应指令的屏蔽信号,并通过分布式数据网络的节点分布序列发射所述屏蔽信号。如此,在发射屏蔽信号的时候能够将第三数据节点的数据交互行为受到的影响最小化,从而确保第三数据节点的正常工作。
在上述基础上,本发明实施例提供了一种应用于物联网的数据节点异常行为检测装置200。图2为根据本发明一个实施例提供的一种应用于物联网的数据节点异常行为检测装置200的功能模块框图,该应用于物联网的数据节点异常行为检测装置200包括:
判断模块201,用于当所述分布式数据网络中的第一数据节点与第二数据节点进行数据交互时,判断所述第一数据节点的节点标识与所述第二数据节点是否相同;
确定模块202,用于在所述第一数据节点的节点标识与所述第二数据节点的节点标识相同时,从所述第一数据节点和所述第二数据节点之间的交互记录中确定出第一数据节点的第一动作指令流以及所述第二数据节点的第二动作指令流;
解析模块203,用于按照所述第一数据节点或所述第二数据节点对应的动作解析逻辑,分别对所述第一动作指令流和所述第二动作指令流进行解析,得到第一指令特征和第二指令特征;
识别模块204,用于在所述第一指令特征和所述第二指令特征不匹配时,基于所述第一数据节点对应的第一行为识别逻辑对所述第一指令特征进行识别得到第一识别结果并基于所述第二数据节点对应的第二行为识别逻辑对所述第二指令特征进行识别得到第二识别结果;
检测模块205,用于根据所述第一识别结果和所述第二识别结果确定出所述第一数据节点和所述第二数据节点中存在异常行为的数据节点。
在一种可替换的实施例中,所述确定模块202,用于:
获取所述交互记录的元数据信任度以及各动作指令对;
在根据所述元数据信任度确定出所述交互记录中包含有无效交互行为的情况下,根据所述交互记录在无效交互行为下的动作指令对及其数字签名确定交互记录在有效交互行为下的各动作指令对与交互记录在无效交互行为下的各动作指令对之间的响应成功率之差,并将交互记录在有效交互行为下的与在无效交互行为下的动作指令对的响应成功率相同的动作指令对调整到相应的无效交互行为的分类下;
在交互记录的当前有效交互行为下包含有多个动作指令对的情况下,根据所述交互记录在无效交互行为下的动作指令对及其数字签名确定交互记录在当前有效交互行为下的各动作指令对之间的响应成功率之差,并根据所述各动作指令对之间的响应成功率之差对当前有效交互行为下的各动作指令对进行筛选;
根据所述交互记录在无效交互行为下的动作指令对及其数字签名为上述筛选得到的每一个动作指令对设置无效交互行为签名,并将所述每一个动作指令对调整到所述无效交互行为签名所对应的无效交互行为的分类下;
根据有效交互行为分类下的第一动作指令对、无效交互行为分类下的第二动作指令对、所述第一数据节点的第一链路层协议以及所述第二数据节点的第二链路层协议确定出所述第一动作指令流和所述第二动作指令流。
在一种可替换的实施例中,所述确定模块202,用于:
根据所述第一动作指令对、所述第二动作指令对、所述第一链路层协议以及所述第二链路层协议,确定所述第一数据节点和所述第二数据节点各自对应的第一动作指令集和所述第二动作指令集;其中,所述第一动作指令集包括所述第一数据节点在所述交互记录的有效调用时间范围内向所述第二数据节点发送的一连串的请求指令,所述第二动作指令集包括所述第二数据节点在所述交互记录的有效调用时间范围内根据接收到的所述第一数据节点发送的所述请求指令向所述第一数据节点反馈的一连串的响应指令;
基于所述第一动作指令集、所述第二动作指令集、所述第一链路层协议和所述第二链路层协议,确定出所述第一数据节点的第一结构化序列以及所述第二数据节点的第二结构化序列;
基于所述第一结构化序列以及所述第二结构化序列,分别从所述第一动作指令集和所述第二动作指令集中确定所述第一数据节点的第一指令序列和所述第二数据节点的第二指令序列;
当确定出所述第一指令序列和所述第二指令序列时,以所述第一指令序列和所述第二指令序列进行指令序列配对,获得配对结果;根据所述配对结果判断所述第一指令序列和所述第二指令序列是否为多分支线程的序列对;若是,则按照每个分支线程将所述第一指令序列和所述第二指令序列分别转换为多个具有所述分支线程的第一指令表单和第二指令表单;分别按照所述第一指令表单和所述第二指令表单查找与所述第一指令表单和第二指令表单具有相同或相似分支线程的预设指令脚本文件;将所述配对结果和所述预设指令脚本文件对应的脚本流合成动作指令流集合;
根据所述动作指令流集合中的预设指令脚本文件和所述预设指令脚本文件对应的脚本流、以及所述第一数据节点的动作解析逻辑对应的第一接口信息、所述第二数据节点的动作解析逻辑对应的第二接口信息,确定出所述第一动作指令流和所述第二动作指令流。
在一种可替换的实施例中,所述解析模块203,用于:
根据所述动作指令逻辑中的指令拆分规则,分别对所述第一动作指令流和所述第二动作指令流进行拆分,得到所述第一动作指令流的第一拆分集以及所述第二动作指令流的第二拆分集;其中,所述第一拆分集中包括所述第一动作指令流的多个第一单动作指令,所述第二拆分集中包括所述第二动作指令流的多个第二单动作指令;
在预设的动作指令包集合中任意确定出一个动作指令包作为目标动作指令包;分别将所述第一动作指令流对应的第一拆分集中的每个第一单动作指令和所述第二动作指令流对应的第二拆分集中的每个第二单动作指令与所述目标动作指令包中的每个参考动作指令进行对比,得到所述第一动作指令流与所述目标动作指令包之间的第一对比结果以及所述第二动作指令流与所述目标动作指令包之间的第二对比结果;所述动作指令包集合包括以指令数据库中每个已验证动作指令为参考动作指令的对比动作指令包,所述对比动作指令包的动作指令节点为参考动作指令的相对时序信息,之后的每个动作指令节点包括参考动作指令与所述指令数据库中其他动作指令的时序关联度以及所述其他动作指令的相对时序信息,所述每个对比动作指令包中动作指令按照所述时序关联度升序排列;
以所述目标动作指令包为参考位置,沿设定序列方向进行对比,直至所述动作指令包集合中出现一个当前动作指令包,使得所述第一动作指令流与所述当前动作指令包之间的第三对比结果与所述第一动作指令流与所述目标动作指令包之间的第一对比结果的第一相似度值大于设定阈值,且所述第二动作指令流与所述当前动作指令包之间的第四对比结果与所述第二动作指令流与所述当前动作指令包之间的第二对比结果的第二相似度值大于所述设定阈值;
确定所述当前动作指令包对应的第三指令特征,所述第三指令特征确定所述动作解析逻辑的解析线程;按照所述解析线程对所述第一拆分集和所述第二拆分集进行特征提取,得到所述第一指令特征和所述第二指令特征。
在一种可替换的实施例中,所述识别模块204,用于:
根据所述第一数据节点的第一指令特征对应的第一动作类别及所述第二数据节点的第二指令特征对应的第二动作类别,确定所述第一数据节点相对于所述第二数据节点的第一角色映射向量以及所述第二数据节点相对于所述第一数据节点的第二角色映射向量;
基于所述第一角色映射向量以及所述第一指令特征所表征的所述第一数据节点向所述第二数据节点发送的请求指令的第一累计值,对所述第一行为识别逻辑中的第一逻辑识别单元和第一逻辑有向边进行调整,得到第一目标行为识别逻辑;基于所述第二角色映射向量以及所述第二指令特征所表征的所述第二数据节点向所述第一数据节点发送的响应指令的第二累计值,对所述第二行为识别逻辑中的第二逻辑识别单元和第二逻辑有向边进行调整,得到第二目标行为识别逻辑;
根据所述第一目标行为识别逻辑和所述第二目标行为识别逻辑确定所述对所述第一指令特征和所述第二指令特征进行识别的持续时长;其中,所述持续时长用于表征采用所述第一目标行为识别逻辑对所述第一指令特征进行识别的第一起始时刻与采用所述第二目标行为识别逻辑对所述第二指令特征进行识别的第二起始时刻相同且采用所述第一目标行为识别逻辑对所述第一指令特征进行识别的第一结束时刻与采用所述第二目标行为识别逻辑对所述第二指令特征进行识别的第二结束时刻相同;
在所述持续时长内采用所述第一目标行为识别逻辑确定所述第一指令特征的第一特征关联度;根据所述第一特征关联度以及预存的所述第二数据节点与所述分布式数据网络中的其他数据节点之间的验证表单中包括的所述第二数据节点与所述第一数据节点之间的第一验证结果,得到所述第一识别结果;所述第一验证结果是所述第二数据节点作为验证端且所述第一数据节点作为待验证端对应的验证结果;
在所述持续时长内采用所述第二目标行为识别逻辑确定所述第二指令特征的第二特征关联度;根据所述第二特征关联度以及预存的所述第一数据节点与所述分布式数据网络中的其他数据节点之间的验证表单中包括的所述第一数据节点与所述第二数据节点之间的第二验证结果,得到所述第二识别结果;所述第二验证结果是所述第一数据节点作为验证端且所述第二数据节点作为待验证端对应的验证结果。
在一种可替换的实施例中,所述检测模块205,用于:
提取所述第一识别结果中的第一置信度参数和所述第二识别结果中的第二置信度参数;
根据所述第一识别结果得到所述第一数据节点映射至所述第二数据节点的第一校验码;
根据所述第一校验码和所述第二识别结果得到所述第二数据节点映射至所述第一数据节点的第二校验码;
根据预存的第一数据节点的第一设备标识对应的第一动态随机数和所述第一识别结果确定出第三校验码;
根据预存的第二数据节点的第二设备标识对应的第二动态随机数和所述第二识别结果确定出第四校验码;
判断所述第一校验码和所述第三校验码是否一致,在所述第一校验码和所述第三校验码不一致时确定所述第一数据节点存在异常行为;
判断所述第二校验码和所述第四校验码是否一致,在所述第二校验码和所述第四校验码不一致时确定所述第二数据节点存在异常行为。
在一种可替换的实施例中,所述检测模块205,还用于:
屏蔽存在异常行为的第一数据节点或第二数据节点。
所述服务器300包括处理器和存储器,上述判断模块201、确定模块202、解析模块203、识别模块204和检测模块205等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核实现在确保分布式数据节点的工作性能的前提下实现异常行为的检测从而确定出被入侵的分布式数据节点。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述应用于物联网的数据节点异常行为检测方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述应用于物联网的数据节点异常行为检测方法。
本发明实施例中,如图3所示,服务器300包括至少一个处理器301、以及与处理器301连接的至少一个存储器302、总线;其中,处理器301、存储器302通过总线303完成相互间的通信;处理器301用于调用存储器302中的程序指令,以执行上述的应用于物联网的数据节点异常行为检测方法。本文中的服务器300可以是服务器、PC、PAD、手机等。
本申请是参照根据本申请实施例的方法、服务器(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理服务器的处理器以产生一个机器,使得通过计算机或其他可编程数据处理服务器的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,服务器包括一个或多个处理器(CPU)、存储器和总线。服务器还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储服务器或任何其他非传输介质,可用于存储可以被计算服务器访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者服务器不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者服务器所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者服务器中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。