一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于物联网中的隐私保护的异常检测的方法与流程

2022-07-11 04:42:53 来源:中国专利 TAG:

用于物联网中的隐私保护的异常检测的方法


背景技术:

1.本发明涉及检测iot数据流量中的网络安全事件的技术,该技术提供改进的检测准确度和隐私保护。
2.随着更多的物联网(iot)设备连接到网络,检测网络安全事件的需要变得更加突出。iot设备的网络流量拥有某些独特的特性。利用这些特性允许防御方检测异常偏离。例如,一些常规技术可以使用数据和数据的上下文来检测从传感器生成的数据中的异常。常规技术可以过滤数据,对数据执行统计分析,并且分析来自承载数据的分组的报头字段。然而,这样的常规技术在检测准确度以及隐私保护方面仍然留有改进的空间。
3.因此,出现了对检测iot数据流量中的网络安全事件的技术的需要,该技术提供改进的检测准确度和隐私保护。


技术实现要素:

4.实施例可以提供检测iot数据流量中的网络安全事件的技术,该技术提供改进的检测准确度和隐私保护。实施例可以使用诸如星期几、一天中的时间、和小时的一部分之类的时间分层结构来对元数据信息进行建模并且对行为相似的设备进行聚类。实施例可以使用有限的、离散的消息大小,以允许严格的行为建模。与消息大小的高方差高斯分布相反,实施例可以识别相对少量的不同消息大小(每个消息大小被低方差消息大小分布包围)以提供更准确的异常检测。这些设备的非常特定于任务的性质还允许防御方识别不同的序列,与该序列的任何偏离可以算作异常。
5.例如,在实施例中,一种方法可以在计算机中实现,该计算机包括处理器、能由该处理器访问的存储器、以及存储在该存储器中并且能由该处理器执行的计算机程序指令,该方法可以包括:在计算机系统处收集去往和来自至少一个设备的多个消息,在计算机系统处从所收集的多个消息中提取元数据特征,在计算机系统处生成时间窗口,在计算机系统处基于在时间窗口期间存在的所提取的元数据特征来确定附加特征,在计算机系统处基于所收集的多个消息来检测至少一个设备的行为模式,在计算机系统处对在时间窗口期间存在的所确定的附加特征和所检测到的行为模式进行聚类,以及在计算机系统处使用经聚类的所确定的附加特征和所检测到的行为模式来检测至少一个异常或异常类型。
6.在实施例中,所提取的元数据特征可以包括以下各项中的至少一个:与每个消息相关联的至少一个设备的id、每个消息的消息大小、每个消息的通信方向、和每个消息的通信时间;以及附加特征包括以下各项中的至少一个:时间方面,包括设备发送消息的间隔或频率、和消息的平均周期或频率中的至少一个;时间分层结构,包括星期几、一天中的时间、和小时的一部分中的至少一个;消息序列,包括消息长度的模式、消息类型、特定设备的设备id、设备类型和设备类别中的至少一个。可以基于至少一个消息的通信频率来选择时间窗口的大小,并且允许在单个时间窗口中收集大量的消息。该方法还可以包括:在计算机系统处收集去往和来自多个设备的多个消息;在计算机系统处基于所收集的多个消息来检测至少一个类型的设备的行为模式;以及在计算机系统处使用所检测到的至少一个类型的设
备的行为模式来检测至少一个异常。确定在时间窗口期间存在的所提取的元数据特征可以包括以下各项中的至少一个:对在时间窗口期间去往和来自至少一个设备的消息的数量进行计数;以及生成在时间窗口期间的不同消息大小的直方图。聚类包括k均值聚类和层次聚类中的至少一个。检测至少一个异常可以包括以下各项中的至少一个:在计算机系统处构建至少一个设备及其集群的历史消息大小直方图的模型,其中该模型具有混合正态分布,以及当消息的大小偏离该模型的混合正态分布时,检测到异常;在计算机系统处构建至少一个设备及其集群的历史消息计数的模型,其中该模型具有正态分布,以及当至少一个设备的消息计数偏离该模型的正态分布时,检测到异常;以及在计算机系统处基于至少一个设备及其集群的历史消息大小序列来构建元数据特征的序列模型,以及基于至少一个设备的消息序列来检测异常。
7.在实施例中,一种系统可以包括处理器、能由处理器访问的存储器、以及存储在存储器中并且能由处理器执行以执行以下操作的计算机程序指令:收集去往和来自至少一个设备的多个消息,从所收集的多个消息中提取元数据特征,生成时间窗口,基于在时间窗口期间存在的所提取的元数据特征来确定附加特征,基于所收集的多个消息来检测至少一个设备的行为模式,对在时间窗口期间存在的所确定的附加特征和所检测到的行为模式进行聚类,以及使用经聚类的所确定的附加特征和所检测到的行为模式来检测至少一个异常或异常类型。
8.在实施例中,一种计算机程序产品可以包括非瞬态计算机可读存储装置,该非瞬态计算机可读存储装置中包含有程序指令,这些程序指令能由计算机执行,以使计算机执行方法,该方法可以包括:在计算机系统处收集去往和来自至少一个设备的多个消息;在计算机系统处从所收集的多个消息中提取元数据特征;在计算机系统处生成时间窗口,在计算机系统处基于在时间窗口期间存在的所提取的元数据特征来确定附加特征,在计算机系统处基于所收集的多个消息来检测至少一个设备的行为模式,在计算机系统处对在时间窗口期间存在的所确定的附加特征和所检测到的行为模式进行聚类,以及在计算机系统处使用经聚类的所确定的附加特征和所检测到的行为模式来检测至少一个异常或异常类型。
附图说明
9.通过参考附图,可以最好地理解关于本发明的结构和操作两者的本发明的细节,在附图中相同的参考标记和名称指代相同的元件。
10.图1示出了可以实现本系统和方法的实施例的物联网(iot)系统的示例性图。
11.图2是根据本技术的实施例的iot异常检测的处理的示例性流程图。
12.图3是根据本系统和方法的实施例的iot消息流的示例性图。
13.图4是可以实现本文中描述的实施例中涉及的处理的计算机系统的示例性框图。
具体实施方式
14.实施例可以提供检测iot数据流量中的网络安全事件的技术,该技术提供改进的检测准确度和隐私保护。实施例可以使用诸如星期几、一天中的时间、和小时的一部分之类的时间分层结构来对元数据信息进行建模并且对行为相似的设备进行聚类。实施例可以使用有限的、离散的消息大小,以允许严格的行为建模。与消息大小的高方差高斯分布相反,
实施例可以识别相对少量的不同消息大小(每个消息大小被低方差消息大小分布包围)以提供更准确的异常检测。这些设备的非常特定于任务的性质还允许防御方识别不同的序列,与该序列的任何偏离可以算作异常。
15.在图1中示出物联网(iot)系统100的示例性框图。在该示例中,多个iot设备104a-l经由因特网102通信地连接。iot设备104a-l可以包括诸如车辆104a、音乐和其他音频设备104b、相机104c、电话、智能电话、平板计算机、和其他通信和计算设备104d、时钟和其他定时设备104e、工具104f、医疗设备104g、电器104h、健康设备104i、天气传感器104j、其他传感器104k、和其他设备104l之类的设备。iot设备104a-l与通信地连接到因特网102的任何因特网连接的设备106进行通信,包括其他iot设备、客户机计算机系统、服务器计算机系统、云等。网络安全监测系统108可以监测去往和来自iot设备104a-l的通信流量,以及可以检测并且响应网络安全事件。例如,网络安全监测系统108可以基于数据流量异常来检测网络安全事件。
16.实施例可以基于每个消息的任何非私有部分(诸如去往和来自iot设备104a-l的通信消息的元数据和/或任何其他非私有部分)来提供iot异常检测。在实施例中,消息可以采用任何公共的或专有的、标准的或定制的消息协议或格式。例如,消息可以采用ietf的受约束应用协议、zeromq、mqtt等。
17.在实施例中,直接收集的特征(诸如消息的非私有部分,例如iot消息的元数据)可以被收集。这样的元数据可以包括例如消息的通信的日期和/或时间、消息大小或长度、iot设备的id、设备类型(诸如相机、传感器等)、通信方向等。在私有设备id的情况下,可以生成私有id或其他唯一但匿名的标识符的散列。这使得私有信息保持私有,但是允许使用非私有散列或其他标识符对每个设备进行唯一标识。可以根据所收集的特征来确定或计算附加特征。例如,时间方面,诸如设备发送消息的间隔或频率、消息的平均周期或频率;消息序列,诸如消息长度的模式、消息类型、特定设备的设备id(如散列)、设备类型、设备类别等。实施例可以提供用于基于这些特征来检测异常的多种方法。
18.通常,iot通信消息可以表现出可以由iot设备的特定处理或功能导致的特定和独特行为模式。iot设备的这样的行为通常不同于由非iot设备的通信消息所表现出的行为。实施例可以基于这些iot行为模式和/或与这样的模式的偏离来提供iot异常检测。例如,通常的iot设备的消息可以表现出非常规则的第二级特征模式。例如,iot设备可以利用特定时间方面(诸如规则的时间间隔或频率、或平均间隔或频率)、特定消息长度模式、基于特征(诸如消息类型、设备id(如散列)、设备类型等)的特定消息序列来传送消息。在实施例中,可以检测和/或训练设备的行为模式,并且与这样的模式的偏离可以指示异常。
19.在实施例中,可以以任何方式来收集iot消息,诸如在网络中的各个点处(例如,在网络路由器、集线器、网关等处)以及在网络流量的起点或目的地处监测网络流量。
20.注意,可以利用设备集群来执行的大多数处理也可以利用设备类型来完成。两者都是设备的分组。集群中的设备可以通过监测它们的共同行为、使用分析来收集,而通过设备类型进行的收集可以简单地通过考虑给定的类型来完成。由于设备可以是匿名的(因为其私有id可以被散列),则可以使用不是私有的设备类型,并且还可以基于如本文中所描述的分析非私有元数据来自动创建集群。
21.在图2中示出iot异常检测的处理200的示例性流程图。最好结合图3查看,图3是
iot消息流300的示例性图。处理200可以开始于202,在202中,可以收集一个或多个iot消息302a-x,并且可以提取元数据特征,诸如设备散列id 304、消息大小306、通信方向308和通信时间310。在实施例中,收集和提取可以由数据的所有者来完成,以确保不暴露私有数据。虽然例如消息大小306、通信方向308和通信时间310的提取可以是直接的,但是对于设备散列id 304的收集,可以使用多种技术,诸如设备id的可逆的基于密钥的加密和id散列码的查找表。在204处,在提取元数据特征之后,可以对于每个iot设备计算或生成多个基于第二级时间窗口312的特征。可以根据通信的频率来选择时间窗口312的大小,以允许在该时间窗口中收集足够大量的消息。可以对于不同的特征选择不同的时间窗口。
22.在实施例中,所计算或所生成的基础时间窗口特征可以是时间窗口312中的消息总数、每个时间窗口312中的消息平均数。例如,iot设备在每个10分钟窗口中发送/接收的消息的数量可以被计数。在实施例中,所计算或所生成的更高级的时间窗口特征可以是聚合特征,诸如时间窗口312中的不同消息大小的直方图。例如,iot设备在每个10分钟窗口中发送/接收的消息的数量可以针对每个观测到的消息大小而被计数。注意,10分钟时间窗口仅是实例。实施例可以使用在时间窗口期间检测到有用数量的消息所需的任何长度的时间窗口。例如,在实施例中,在每个时间窗口中零个或仅几个消息可能是小于有用的,而在每个时间窗口中数百个或数千个消息可能是大于有用的。在实施例中,可以选择时间窗以检测例如在每个时间窗中大约10个至100个消息。然而,这仅是示例。可以选择实际时间窗口以根据需要检测任意数量的消息。
23.可以生成每个设备的历史行为的模型,例如,跟踪消息时间、大小、序列模式等。在实施例中,每个设备可以由其实际设备id来标识,而在实际设备id要被保持私有的实施例中,每个设备可以由唯一地标识每个设备的匿名信息来标识。例如,可以使用通过经由散列函数运行设备id而生成的散列标签来标识设备。
24.在206处,iot设备可以被聚类以检测类似设备的分组。实施例可以收集所计算或所生成的时间窗口特征的足够长的历史,以查找行为类似的iot设备的分组。例如,可以收集一个星期或一个月的消息总数,并且可以应用聚类算法(诸如k-均值聚类或层次聚类(层次聚类分析))来查找行为类似的iot设备的分组。例如,类似类型的设备(诸如相机等)可能行为类似,并且因此可以被聚类在一起。
25.因而,在实施例中,个体设备行为模式可以用于检测该装置的行为异常。此外,在实施例中,设备分组的所聚合/所聚类的设备行为模式可以用于检测集群中的一个或多个设备的行为异常。
26.在208处,可以使用所收集和所聚类的消息元数据来检测异常。可以使用数据来构建模型,以对个体设备、设备类型和/或设备集群的行为进行建模。这样的模型随后可以用于检测个体设备、设备类型和/或设备集群的行为的异常。例如,给定个体设备的行为模型,可以基于与所建模的行为的偏离来检测设备的异常行为。给定特定类型的设备(诸如相机等)的行为模型,可以基于与所建模的行为的偏离来检测一个或多个设备的异常行为。同样地,给定设备集群的行为模型,可以基于与所建模的行为的偏离来检测一个或多个设备或整个集群的异常行为。实施例可以使用异常检测技术,诸如:
27.基于消息大小直方图的异常——为此,可以构建iot设备、设备类型、和/或设备集群的历史消息大小直方图的模型。通常,该分布将类似于以最频繁消息大小的数量为间隔
的多模混合正态分布。通常,直方图包括由无点区域分开的频繁点。因而,所得到的分布可以是混合正态分布,其为密集点的混合。在实施例中,当特定消息大小远离频繁间隔时(例如,大于3个西格玛(sigma)),可以检测到异常。
28.基于消息计数的异常——为此,可以构建iot设备及其集群的历史计数的模型。实施例可以应用简单模型(例如,历史行为的所估计的平均值和标准偏差),或者可以应用基于时间分层结构(例如,星期几、一天中的时间以及小时的一部分等)的更高级的建模。在实施例中,当iot设备的消息计数远离频繁间隔时,可以检测到异常。在实施例中,可以应用用于异常检测的更高级的时间序列技术,其中可以根据iot设备及其集群的计数信号来训练模型。
29.基于消息序列的异常——为此,可以使用第一级特征来构建模型,以构建iot设备的序列模型。可以根据iot设备及其集群的历史消息大小序列来训练该模型。这里可以使用各种基于序列的技术,例如基于马尔可夫的方法和深度学习方法(例如长短期记忆(lstm))。
30.在图4中示出了计算机系统400的示例性框图,在该计算机系统400中,可以实现在本文中描述的实施例中所涉及的处理。计算机系统400可以使用一个或多个经编程的通用计算机系统(例如嵌入式处理器、片上系统、个人计算机、工作站、服务器系统以及小型计算机或大型计算机)来实现,或者在分布式联网计算环境中实现。计算机系统400可以包括一个或多个处理器(cpu)402a-402n、输入/输出电路404、网络适配器406和存储器408。cpu 402a-402n执行程序指令以便执行本通信系统和方法的功能。通常,cpu 402a-402n是一个或多个微处理器,例如intel处理器。图4示出了计算机系统400被实现为单个多处理器计算机系统的实施例,其中多个处理器402a-402n共享系统资源,例如存储器408、输入/输出电路404和网络适配器406。然而,本通信系统和方法还包括计算机系统400被实现为多个联网计算机系统的实施例,该联网计算机系统可以是单处理器计算机系统、多处理器计算机系统或其混合。
31.输入/输出电路404提供向计算机系统400输入数据或从计算机系统400输出数据的能力。例如,输入/输出电路可以包括输入设备(诸如键盘、鼠标、触摸板、轨迹球、扫描仪、模数转换器等)、输出设备(诸如视频适配器、监视器、打印机等)和输入/输出设备(诸如调制解调器等)。网络适配器406使设备400与网络410进行接口连接。网络410可以是任何公共或专用lan或wan,包括但不限于因特网。
32.存储器408存储由cpu 402执行的程序指令以及由cpu 402使用和处理的数据以执行计算机系统400的功能。存储器408可以包括例如电子存储器设备(诸如随机存取存储器(ram)、只读存储器(rom)、可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、闪存等)和机电存储器(诸如磁盘驱动器、磁带驱动器、光盘驱动器等),该机电存储器可以使用集成驱动电子设备(ide)接口或其变体或增强型(诸如增强型ide(eide)或超直接存储器访问(udma))、或者基于小型计算机系统接口(scsi)的接口或其变体或增强型(诸如快速scsi、宽scsi、快速及宽scsi等)、或者串行高级技术附件(sata)或其变体或增强型、或者光纤通道仲裁环路(fc-al)接口。
33.存储器408的内容可以根据计算机系统400被编程以执行的功能而变化。在图4中所示的实例中,示出了表示上述处理的实施例的例程和数据的示例性存储器内容。然而,本
领域的技术人员将认识到,这些例程连同与这些例程相关的存储器内容可以不包括在一个系统或设备上,而是可以基于公知的工程考虑而分布在多个系统或设备中。本系统和方法可以包括任何和所有这样的布置。
34.在图4中所示的示例中,存储器408可以包括消息收集例程412、时间窗口例程414、聚类例程416、异常检测例程418和操作系统420。消息收集例程412可以包括收集iot消息的软件例程,如上所述。时间窗例程414可以包括生成时间窗口特征的软件例程,如上所述。聚类例程416可以包括生成iot设备集群以检测类似设备分组的软件例程,如上所述。异常检测例程418可以包括使用所收集和所聚类的消息元数据来检测异常的软件例程,如上所述。操作系统420可以提供整个系统功能。
35.如图4中所示,本通信系统和方法可以包括在提供多处理器、多任务、多进程和/或多线程计算的一个或多个系统上的实现方式、以及在仅提供单处理器、单线程计算的系统上的实现方式。多处理器计算涉及使用一个以上处理器来执行计算。多任务计算涉及使用一个以上操作系统任务来执行计算。任务是操作系统概念,其指的是正在执行的程序和由操作系统使用的簿记(bookkeeping)信息的组合。无论何时执行程序,操作系统都为该程序创建新任务。任务就像用于该程序的信封,因为它标识了具有任务号的程序并且将其他簿记信息附连到其上。包括linux、和的许多操作系统能够同时运行许多任务并且被称为多任务操作系统。多任务是操作系统同时执行一个以上可执行文件的能力。每个可执行文件在其自己的地址空间中运行,意味着可执行文件无法共享它们的任何存储器。这具有优点,因为任何程序不可能破坏在系统上运行的任何其他程序的执行。然而,除了通过操作系统(或通过读取存储在文件系统上的文件)之外,程序无法交换任何信息。多进程计算类似于多任务计算,因为术语任务和进程常常可互换地使用,尽管一些操作系统在这两者之间做出区分。
36.本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。计算机可读存储介质可以是可以y和存储供指令执行设备使用的指令的有形设备。
37.例如,计算机可读存储介质可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者前述各项的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、其上记录有指令的机械编码设备(诸如穿孔卡或槽中的凸起结构)、以及前述各项的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)或通过电线传输的电信号。
38.本文中所描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接
口接收来自网络的计算机可读程序指令,并且转发计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质中。
39.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设定数据、集成电路的配置数据、或以一种或多种编程语言的任意组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(诸如smalltalk、c 等)和过程编程语言(诸如“c”编程语言或类似编程语言)。计算机可读程序指令可以完全在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
40.本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中的各方框的组合可以由计算机可读程序指令来实现。
41.这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图中的一个或多个方框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令可以指导计算机、可编程数据处理装置、和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
42.也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
43.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个方框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替选实现方式中,方框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个方框实际上可以基本上同时执行,或者这些方框有时可以以相反的顺序执行。还要注意的是,框图和/或流程图中的每个方框以及框图和/或流程图中的各方框的组合可以由基于专用硬件的系统来实现,该基于专用硬件的系统执行规定的功能或动作,或者执行专用硬件与计算机指令的组合。
44.虽然已经描述了本发明的特定实施例,但是本领域的技术人员将理解,存在等同于所描述的实施例的其他实施例。因此,应当理解,本发明不受所示出的具体实施例的限制,而仅受所附权利要求的范围的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献