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

配置运行分析的制作方法

2022-03-02 01:18:50 来源:中国专利 TAG:

配置运行分析


背景技术:

1.随着最近基于云的服务(例如,设备即服务(daas)、平台即服务(paas)、3d即服务(3daas)、打印管理服务(mps)等)扩展到包括越来越多的连接的设备(用户设备和机器设备两者),并且越来越多数量和类型的第三方“应用程序”和插件被安装在连接的设备上(例如,intune、jetavantage link),来自连接的设备的外部网络流量和数据的种类和数量越来越多,这包括为漏洞和恶意软件提供了更多机会。
附图说明
2.下文参考附图进一步描述了本公开的示例,在附图中:
3.图1示出了云计算机系统;
4.图2示出了图1的云计算机系统中的云服务器的示例;
5.图3示出了图1的云计算机系统中的端点设备的示例;
6.图4是示出了在云计算机系统中的端点设备机群与服务器之间交换的通信的类型的示意图;
7.图5是示出了在云计算机系统中从端点设备机群发送到服务器的分析的示例的示意图;
8.图6示出了由云计算机系统中的服务器执行的示例方法的流程图。
9.图6示出了由云计算机系统中的端点设备执行的示例方法的流程图。
具体实施方式
10.对于基于云的服务来说,能够有效地发现恶意行为、运行分析、以及利用全机群和跨机群的信息同时又不失去基于边缘的快速检测器的益处变得越来越重要。
11.诸如虚拟化服务器等云计算设备可以支持多个连接的端点设备的部署和运行,例如,可以提供这些端点设备以有益于企业用户在运行环境中执行其功能。为了促进或自动化端点设备的管理和运行的各方面,云服务器可以监测每个设备的分析,所述分析可以基于端点设备提供的输入数据而在设备或云服务器处全部或部分地产生。每个分析可以基于分析输入来提供指示端点设备运行性能的度量。由云服务器来对分析进行分析以识别一个或多个设备的运行有效性问题(如因企图的安全漏洞而引起的问题),可以允许对配置和管理进行手动或自动干预,以改变设备的运行并解决运行问题。这可以简化并显著改进对这些设备的运行有效性和安全性的维护,而无需手动干预。
12.然而,由基于云的计算基础设施对端点设备机群进行这种管理可能会在cpu时间、网络带宽利用率和存储方面产生巨大的成本开销和机会成本,尤其是在诸如监测设备以应对网络安全挑战等领域,在这些领域中可能必须执行许多进程密集型分析,并生成和传送大量数据。然而,同样地,在端点设备处执行分析和处理数据也会产生很大的成本,尤其是对于电池供电的设备来说,这会对设备的性能产生用户能注意到的影响。
13.图1示出了云计算机系统100,其包括与端点设备112、114和116(也被称为端点)机
群110通信的至少一个服务器102(也被称为云服务器或云后端)。云服务器102可以表示虚拟化服务器的一个或多个实例,所述虚拟化服务器在一个或多个数据中心中的跨一个或多个物理服务器运行的管理程序中实例化。(多个)云服务器102和机群110的端点设备112、114、116经由诸如因特网等网络104相互通信。机群110的端点设备112、114和116可以位于具有相同ip地址的相同本地网络中,或者它们可以位于具有不同ip地址的不同位置。端点设备112、114和116可以由(多个)云服务器102来管理。
14.图2示出了服务器102的示例,其可以是图1的云系统100的云后端的一部分。服务器102包括存储器202、处理器204和通信单元206。
15.存储器202可以是存储可执行指令的任何电子、磁性、光学或其他物理存储设备,所述可执行指令在由处理器204执行时使得服务器执行本文描述为由服务器、云服务器或云后端执行的方法中的任何方法。通信单元206允许服务器200直接或经由诸如因特网等网络104传送和接收与其他设备的通信,例如,以用于从端点设备机群接收分析和其他数据,以及在本公开的示例中,用于将更新传送到所述端点设备机群。
16.图3示出了端点设备112的示例,其可以是图1的云系统100中的端点设备机群110的一部分。端点设备112包括存储器302、处理器304、通信单元306、传感器308和用户接口310。
17.存储器302可以是存储可执行指令的任何电子、磁性、光学或其他物理存储设备,所述可执行指令在由处理器304执行时使得端点设备执行本文描述为由端点设备或端点执行的方法中的任何方法。存储器302可以存储一个或多个分析,所述一个或多个分析在搭建或部署设备112时被配置在所述设备上,或者随后通过服务器102进行的配置而被配置在所述设备上。每个分析可以是函数建模,因为分析基于至少一个分析输入来输出指示端点设备的运行性能的度量,所述至少一个分析输入是根据在端点设备处运行的仪表化进程而确定的。通信单元306允许端点设备112直接或经由诸如因特网等网络104传送和接收与其他设备的通信,并且在本公开的示例中,允许端点设备从云服务器接收更新并将分析数据传送到云服务器。传感器308允许端点设备112测量端点设备112上的仪表化进程并产生分析输入。示例分析输入是经由通信单元306从端点设备112传送的数据量。传感器308可以是设备中的软件实施的过程,所述过程监测所述设备所运行的仪表化进程并接收来自所述仪表化进程的输入。传感器308提供的数据可以用于为分析提供输入,对所述数据的处理可以由端点设备112处的处理器304全部或部分地执行。用户接口310允许用户与端点设备交互,并且可以包括例如触摸屏或键盘。
18.在云服务器设备管理系统中,端点设备可以将原始的或部分处理过的感测分析输入发送到云服务器进行处理,以提供分析、或者在网络边缘处本地执行分析并将分析输出传送到云服务器。
19.可以使用配置在端点设备上的所有分析来持续运行这种分析处理。这种系统将处理其感测到的所有分析输入数据,并将所有处理过的分析持续发送到云服务器。无论分析对设备管理的有用性如何,也无论产生分析的系统成本如何,情况都是如此。然而,由于例如输入数据或分析中的冗余随着运行环境的变化而随时间增加,分析可能是次优的。进一步地,随着时间的推移,其新输入组合可以为设备管理提供更有用的信息。
20.本文描述的方法和装置寻求通过对在端点设备机群中实施的分析进行智能分析
并改变所述分析在端点设备处的配置来使得所述分析随时间而改进。
21.例如,有时会出现这样的情况,即对被配置为在所有端点设备上产生所有分析的所有分析输入进行处理是次优的。例如,一些分析输入或分析可能提供的有用信息比其他的少,因此处理它们是不值得的。同样,在给定时间,一些分析输入和分析可能比其他的更有用,因此更新分析的配置以及用于产生分析的分析输入可以在设备管理有效性(例如,对网络威胁的敏感性)、处理时间以及其他设备成本方面带来益处。无论是输入到边缘分析的数据还是在云处收集的分析的输出,都是如此。
22.此外,通过动态地更新算法的超参数的值选择来根据观察到的分析输入数据选择给定的分析算法配置,可以给出基于所述观察到的分析输入数据的更有用的分析输出和更好的决策。对某些特征的选择性处理是动态的,并且因此也可能包括恢复先前被排除在考虑之外的特征。
23.因此,本文公开了方法、装置和云计算系统,由此,使用效用函数来确定在被配置为由端点设备执行的分析中包括不同的分析输入、不同的分析或在产生分析时选择的不同超参数对系统的益处和成本。系统以根据效用函数而仅处理可能的数据特征的一些子集的方式来协调端点,并且相反,系统能够探索包括不同特征的潜在益处,所述特征当前未被用于在设备处产生分析。
24.从关于图4至图8的描述中可以明显看出,在本公开的示例中,分析的配置随时间而更新,以帮助减少在端点设备和云服务器两者之处在产生分析时的数据处理和传输成本,这些分析对于在端点设备的运行环境中管理端点设备非常有用。也就是说,在本公开的示例中,云服务器向端点设备提供分析配置更新,以通过生成和监测所述分析来优化设备管理的敏感性和有效性,同时限制系统在产生这些分析并将其传输到云服务器的处理负担。
25.进一步地,由于端点设备所位于的运行环境的性质导致分析所摄取的输入数据的变化,所述分析对运行环境中的设备的运行性能的表征可能随时间而变化。如果分析的配置在该变化的环境中保持不变,则这将导致分析的敏感性发生变化,从而使得这些分析在以下方面变得次优:其递送给云服务器的用于管理设备机群的信息的有用性,以及与在整个机群中产生分析并将分析数据传输到云服务器相关联的成本。因此,如从以下描述的示例中可以明显看出的,本公开提供了用于更新端点设备机群处的分析的配置的方法和装置,以维护、优化或提高分析在感测变化的运行环境方面的有用性,并且管理产生分析并将其传输到云服务器的成本。
26.进一步地,当执行数据分析(例如,用于产生分析的配置)时,当不同的分析或用于产生分析的不同输入变得高度相关时(例如,由于端点设备在其中运行的环境的变化),可能发生分析的过拟合。如从以下描述中可以明显看出的,本公开的示例分析配置方法和系统有助于减小该过拟合以及分析输出中的冗余的影响,并且有助于改进分析的性能。
27.现在参考图4,示出了根据本公开的云计算机系统100的示例设置,以说明在端点设备机群410与云后端402之间通常交换的通信的类型。端点设备412、414和426图示了执行多个分析的机群410中的端点设备群体。这种分析可以是规则、基于机器学习的方法、异常检测等,并且在该系统中,端点设备412、414和416连接到云后端402。端点设备412、414和416可以是打印机或pc或一些其他端点设备,并且与云402的通信是双向的,这允许端点
412、414和416向云402发送分析数据,并从云402接收回更新和指令。
28.由端点设备412、414和416执行的分析对数据进行处理,所述数据可以是来自对端点设备412、414和416上的一些进程的仪表化的原始数据,或者所述数据可能首先已经经过了包括其他分析或总结进程的预处理。来自分析的输出被发送到云计算机系统402,在所述云计算机系统处可以进行进一步的下游分析。
29.云402将推送更新发送到端点设备机群410,以使得端点设备改变在设备410上配置的一个或多个分析的配置。对分析的配置的改变可以基于在云服务器402处执行的对所述分析的分析,以便例如优化从分析中获得的信息在管理机群410中的设备方面的有用性与同执行分析相关联的处理和带宽成本(对于设备410和/或服务器402来说)之间的平衡。以这种方式,可以周期性地重新配置分析,以实现用于在设备的运行环境中管理设备的有用信息的返回的改进,并减少系统在产生和传送分析方面的资源负担。这种更新通常在数天或数周的时间范围内发生,但也可以由人类操作员临时触发或否决,例如,如果担心有网络攻击。云服务器402还可以周期性地在更新中将新的分析发送到端点设备机群410,以更好地检测新的恶意软件和/或异常,尽管这种情况发生的频率较低。
30.图5是与图4类似的云计算机系统100的示意图,但总体上示出了被提供给端点设备412、414和416且可以由端点设备412、414和416执行的分析,以及来自这些分析的可以被传送到云服务器402的分析输出。参考图5,还将引入一般符号和数学关系来定义分析和分析数据,并且这些一般符号和数学关系将在后文中继续使用。可以在云计算机系统中使用的分析和分析数据的特定示例稍后将在本说明书中描述。
31.在图5的示例中,机群中有n个端点设备,其中三个被示出为412、414和416并且与至少一个云服务器402通信,像图4中一样。
32.这n个端点设备被示出为执行相同的m个分析aj,1≤j≤m。
33.在一种配置中,可以在这n个端点设备中的每一个端点设备处本地执行每个分析aj。在另一种配置中,可以仅在这n个端点设备的子集上执行一个或多个分析aj,具体取决于服务器402如何配置端点设备。
34.每个分析aj对长度为lj的一些输入向量进行操作,其中表示输入数据(也被称为分析输入),其结果是,每个分析aj产生相应的输出wj。每个分析还可以包含参数或超参数等,或者在其运行中可以通过这些参数或超参数来进行配置,可以选择这些参数或超参数的值,以影响分析aj的执行方式。
35.在执行分析的每个端点设备处本地接收分析输入。使用表示法来指代在特定端点设备k处接收的被分析aj所作用的特定分析输入。使用表示法来指代在执行分析aj的特定端点设备k处产生的特定分析输出。应注意,在不提及特定端点设备的情况下,一般表示法和wj可以用于指代许多端点设备上的输入或输出,但也可以指代特定端点设备上的输入和输出,这将从上下文中明确。
36.用于执行分析aj的输入向量对于执行分析aj的每个端点设备可以是相同的,或者其可以因执行分析aj的端点设备而不同,具体取决于本地考虑。例如,执行aj的
端点设备可能无法从输入向量接收一个或多个特定分析输入(如),但可能仍然能够对输入向量执行分析aj,以便为分析aj产生有用的输出。
37.因此,一般来说,在由n个端点设备(每个端点设备执行一组m个分析中的分析)组成的机群中,为了指定在端点设备k,1≤k≤n上使用本地分析输入执行特定的分析aj,1≤j≤m以产生输出可以写出以下等式:
[0038][0039]
因此,对于每个分析aj,可能有多个相应的分析输出wj,对应于该分析aj在多个不同的端点设备上执行。在这n个端点设备中的每一个端点设备执行分析aj的情况下,所产生的输出为其中,1≤j≤m。
[0040]
因此,机群的每个端点设备将向服务器402传送在该端点设备处执行的相应分析的分析输出。在机群中的一个端点设备处执行的分析可能与在机群中的另一个端点设备处执行的分析相同或不同。在端点设备执行所有m个分析的情况下,由例如端点设备k发送到云服务器420的一组分析输出为
[0041]
图6是概述了示例方法600的流程图,所述方法可以由云计算机系统100的服务器102执行,以配置由端点设备机群110执行的分析。服务器可以包括至少一个处理器以及存储指令的非暂态计算机可读介质,所述指令在由所述至少一个处理器执行时,使得服务器执行下文概述的方法的任何一部分。
[0042]
在601中,服务器从端点设备机群的至少子集中的每个端点设备接收在该端点设备处执行的至少一个相应分析的分析输出。
[0043]
每个分析可以是函数建模,因为分析基于至少一个分析输入来输出指示端点设备的运行性能的度量,所述至少一个分析输入是根据在端点设备处运行的仪表化进程而确定的。因此,服务器能够实际上“实时”从端点设备接收周期性更新的性能信息。
[0044]
除了接收分析输出之外,服务器可以进一步从每个端点设备子集中的每个端点设备接收曾被用于在端点设备处执行这些分析并产生分析输出的分析输入。通过进一步接收这些相应分析输入和分析输出,服务器能够分析这些分析输入的有用性。除了接收分析输出之外,服务器可以进一步从每个端点设备子集中的每个端点设备接收曾被用于在端点设备处执行这些分析并产生分析输出的分析输入和超参数值。因此,服务器还能够分析超参数和分析输入的有用性。服务器可以从被服务器已指定并配置为分析校准设备的端点设备接收所有经配置的分析的输出、分析输入和超参数,以便对分析进行评估和校准,以产生针对机群中其余设备的分析更新。
[0045]
在602中,针对分析输出被接收的每个分析,服务器至少使用接收到的所述分析的分析输出来计算指示在端点设备机群中至少在所述分析的当前配置下执行所述分析的有用性的度量;
[0046]
有时会出现这样的情况,即在给定配置下接收分析输出(例如,从所有端点设备接收所有可用分析)是非常困难的,或者一些分析提供的信息比其他的少。通过计算指示执行
分析的有用性的度量,服务器能够了解分析是否提供有用信息,并且了解端点设备上的不同分析配置是否提供与产生这些分析的成本相比更有用的信息。例如,在此基础上,服务器可以进一步确定让这些不太有用的分析在较少的端点设备上执行或根本不执行。
[0047]
可以将所计算的指示有用性的度量与有用性阈值进行比较。指示执行分析的有用性的度量可以是效用函数。针对每个分析计算的效用函数可以被制定用于权衡在给定配置下从分析中获得的信息与端点设备在给定配置下执行分析的成本,从而提供指示分析在该给定配置下的有用性的度量;
[0048]
在给定配置下分析的有用性度量可以通过评估函数在该配置下的效用函数来计算,所述效用函数的制定是为了提供指示在给定配置下分析的有用性的度量。
[0049]
效用函数可以通过以下操作中的至少一项操作来计算:基于接收到的分析输出或在服务器处从端点设备接收的并且用于在端点设备处执行分析的接收到的分析的分析输入中的一者或多者,计算在给定配置下分析的信息内容的度量;计算在执行分析的端点设备处在给定配置下执行分析的处理成本的度量;计算将分析的分析输出从执行分析的端点设备传送到服务器的带宽成本的度量。因此,效用函数可以提供在从分析中获得的信息与同执行分析相关联的处理和带宽成本之间找到更优的平衡的方法。
[0050]
计算在给定配置下分析的信息内容的度量可以包括以下操作中的至少一项操作:计算从端点设备接收的分析的分析输出的方差或自相关;以及计算从端点设备接收的分析的分析输出与从端点设备接收的另一分析的分析输出之间的协方差或相关性。因此,信息内容的度量可以检测任何特定分析是否提供了有用的信息,或者两个分析是否提供了相似或高度相关的信息,这可能意味着这两个分析之一提供了不必要或冗余的信息。
[0051]
如果从端点设备接收到与分析相关的分析输入,则计算在给定配置下分析的有用性度量可以包括基于接收到的分析输入来计算在分析的当前配置下或在分析的替代配置下分析的信息内容的度量,所述替代配置是在执行分析时包括或排除了不同的分析输入的配置。
[0052]
分析可以被配置为以模块化方式运行,从而即使仅利用分析可以摄取的可能分析输入的子集也能提供有用的结果。有时会出现这样的情况,对于给定的分析,与包含更大或更复杂的一组分析输入的配置相比,使用包含更小或更简单的一组分析输入的配置可以产生具有相似的准确性或有用性的分析输出。例如,一些分析输入可能对分析输出没有增加什么有用的信息。通过计算用给定的一组分析输入执行分析的信息内容的度量,服务器能够了解分析输入对分析输出的值的贡献。在此基础上,可以通过改变用于执行特定分析的一组分析输入来确定更优的配置。
[0053]
如果从端点设备接收到与分析相关的超参数值,则计算在给定配置下分析的有用性度量可以包括基于接收到的分析输入来计算在分析的当前配置下或在分析的一个或多个替代配置下分析的信息内容的度量,所述替代配置具有分析的不同超参数值。也就是说,通过选择分析的不同超参数值来测试在不同的可能配置下分析的有用性,可以重新配置分析以提高其有用性或降低其执行成本。
[0054]
在603中,服务器基于所计算的每个分析的有用性度量来确定是否通过以下操作中的至少一项操作来改变在端点设备机群中执行的分析的配置:改变执行分析的端点设备子集;以及调整端点设备子集执行分析的方式;
[0055]
改变执行分析的端点设备子集可以包括以下操作中的至少一项操作:停止在第一端点设备子集中执行分析;以及开始在第二端点设备子集中执行分析。因此,基于所计算的分析有用性,可以使机群中的端点设备开始或停止执行分析,使得执行该分析的端点设备数量可以减少、增加或保持不变。可以在除了端点设备的分析校准子集(其被配置为始终执行所有分析)之外的所有端点设备中停止或开始分析。
[0056]
对于不太有用的分析,减少执行分析的端点设备数量将降低与在所减少的数量的端点设备处执行该分析相关联的成本,而不会显著减少服务器接收到的与该分析相关的有用信息量。对于更有用的分析,增加端点设备数量可以显著增加服务器接收到的与该分析相关的有用信息,而与在所增加的数量的端点设备处执行该分析相关联的成本不会太大。
[0057]
调整端点设备子集执行分析的方式可以包括以下操作中的至少一项操作:改变用于执行分析的分析输入,以及改变实施分析的函数中的端点设备运行性能模型的可配置超参数。
[0058]
改变分析输入可以包括减少或增加用于执行分析的分析输入的数量,或者可以包括选择更简单或更复杂的分析输入来执行分析。因此,减少用于执行分析的分析输入的数量或复杂性可以降低与在端点设备处执行该分析相关联的总体处理成本,并且降低将分析输入发送到云服务器以对该分析进行分析的带宽成本。相反,增加用于执行分析的分析输入的数量或复杂性可以使该分析在端点设备处产生更准确或更有用的分析输出,并且因此改进该分析的整体性能,这可能是例如改进的恶意软件检测。
[0059]
如果从端点设备接收到与分析相关的分析输入,则服务器确定是否改变分析的配置可以包括基于特征选择例程来确定改变用于在端点设备的至少子集中执行分析的分析输入,所述特征选择例程用于通过使用有用性度量评估输入的有用性来为分析选择输入。
[0060]
改变可配置超参数将改变端点设备执行分析的方式,并因此可以改进分析的整体性能,或者降低与在端点设备处执行分析相关联的处理成本。
[0061]
如果从端点设备接收到与分析相关的超参数值,则确定是否改变分析的配置可以包括基于网格搜索来确定改变端点设备的至少子集中的端点设备运行性能模型的可配置超参数,所述网格搜索用于通过使用有用性度量评估具有这些超参数值的分析的有用性来为分析选择超参数值。
[0062]
在604中,服务器基于所确定的改变向端点设备的至少子集传送分析配置更新,以重新配置在端点设备上执行的分析。这使得基于确定603来改变由端点设备机群执行的分析的配置。
[0063]
服务器可以进一步将分析校准设备指定消息传送到端点设备的指定的分析校准子集,以使得所述分析校准子集中的设备向服务器发送以下各项中的至少一项:在设备上提供的所有分析的分析输出,而不管服务器确定要停止的分析;能够用于在设备处执行这些分析并产生分析输出(也被发送到服务器)的分析输入;或者在实施所述分析的函数中使用的端点设备的运行性能模型的超参数的配置。
[0064]
通过指定分析校准子集,只需要一小部分端点设备来执行所有经配置的分析,以允许服务器评估这些分析在整个机群中的效用。以这种方式,云计算机系统可以高效地对变化的运行环境保持警惕性和响应性,即使是对于当前未由不在校准子集中的设备执行的分析也是如此。例如,假设认为分析a1当前下降到有用性阈值以下,则确定(除了校准子集
中的设备以外的)端点设备应该停止执行该分析。然而,在未来的某个时刻,可能由于运行环境的变化(诸如存在新的恶意软件),分析a1可能再次变得更有用,并且超过如服务器在602中的计算的有用性阈值。指定将始终监测a1的端点设备的较小分析校准子集将会因此使得云计算机系统能够持续评估a1及其不同配置的有用性,并且能够通过将所有端点设备配置为执行a1或其不同的配置来快速响应运行环境中的任何这种变化。
[0065]
将分析校准设备指定消息传送到端点设备的指定的分析校准子集可以包括服务器随机选择端点设备机群中的20%或更少的端点设备的子集,以指定作为端点设备分析校准子集并发送分析校准设备指定消息。替代性地,服务器可以随机选择端点设备机群中的不同范围内的端点设备子集,诸如15%或更少、10%或更少、或者5%或更少。
[0066]
端点设备的分析校准子集对于每个分析可能是相同的。被指定为校准子集的端点设备选择可以取决于特定的考虑和端点设备的属性。例如,一些端点设备可能位于更靠近云服务器的位置或者位于通信更快且更可靠的位置,在这种情况下,这种端点设备可以被指定为分析校准端点设备。在另一个示例中,可以根据某些属性(诸如硬件部件、设备类型(膝上型计算机、打印机、工作站等)和软件版本)对端点设备进行分层,并且因此可以基于该分层来选择校准子集,以便覆盖各种各样的这些属性。
[0067]
端点设备的分析校准子集可以被随机改变并被周期性地重新指定,以将执行所有分析的负担分散到机群中的不同设备上。
[0068]
服务器可以以一定时间间隔重复执行上述接收601、计算602、确定603和传送604,以使得由端点设备机群执行的分析的配置得到校准,以适应端点设备的运行环境随时间的变化。接收601、计算602、确定603或传送604中的任一项的重复还可以用于通过确保任何改变配置的决策更可能是基于在端点设备处检测到运行环境的真实变化、而不是基于一次性错误或暂时性问题来提高稳定性。
[0069]
图7是概述了由端点设备执行的方法700的流程图,所述方法用于配置由端点设备机群执行的分析,并且与上文概述的由服务器执行的方法相对应。在适当的情况下,上文关于图6描述的特征可以同样适用于由端点设备执行的方法。
[0070]
执行所述方法的端点设备可以包括至少一个处理器以及存储指令的非暂态计算机可读介质,这些指令在由所述至少一个处理器执行时,使得端点设备执行下文概述的方法的任何一部分。
[0071]
在701中,端点设备接收根据在端点设备处运行的仪表化进程而确定的至少一个分析输入。也就是说,在所述设备中,可以对在所述设备上实施的软件栈的任何部分中的一个或多个进程进行仪表化,以提供指示在所述设备中执行或由所述设备执行的该进程的运行性能的数据作为分析输入。也就是说,可以对形成例如固件、操作系统、中间件、数据库或应用程序软件的一部分的进程进行仪表化,以例如感测和记录在设备中发生的事件、参数值或在进程的源代码级别或二进制级别的其他输出。
[0072]
在702中,端点设备执行存储在端点设备中的一组分析中的至少一个分析,以产生相应的分析输出。基于分析的当前配置来执行该分析,所述当前配置包括由从服务器接收的配置更新导致的任何配置变化。
[0073]
每个分析可以是函数建模,因为分析基于至少一个分析输入来输出指示端点设备的运行性能的度量。
[0074]
在703中,端点设备将至少一个分析输出传送到服务器。
[0075]
在704中,端点设备基于在服务器处计算(如在602到604中所示)的指示分析有用性的度量从服务器接收至少一个分析配置更新,以重新配置存储在端点设备中的一组分析中的至少一个分析。
[0076]
指示分析有用性的度量可以是效用函数。
[0077]
在705中,端点设备基于接收到的分析配置更新,通过以下操作中的至少一项操作来重新配置所述一组分析中的至少一个分析:停止或开始执行分析,以及调整分析的执行方式。
[0078]
端点设备在调整分析的执行方式时可以改变以下各项中的至少一项:用于执行分析的分析输入,以及实施分析的函数中的端点设备的运行性能模型的可配置超参数。
[0079]
端点可以进一步从服务器接收分析校准设备指定消息,所述消息包括用于端点设备向服务器发送以下各项中的至少一项的指令:在设备上提供的所有分析的分析输出,而不管服务器确定要停止的分析;用于在设备处执行这些分析并产生分析输出(也被发送到服务器)的分析输入;或者在实施所述分析的函数中使用的端点设备的运行性能模型的超参数的配置。通过将在设备处执行的所有分析的输出与所有分析可以摄取的所有输入以及超参数值一起发送到服务器,服务器可以评估分析配置的变化是否会提高其有用性和/或降低分析成本,从而平衡这两者以优化整个机群内的所有分析。
[0080]
云系统包括可以执行与图6相关的方法的任何一部分的服务器,所述服务器与可以执行与图7相关的方法的任何一部分的端点设备机群通信。
[0081]
为了说明上文概述的方法,现在将概述三个具体案例示例,每个案例示例示出了改变在端点设备机群中执行的分析的配置的不同方式。
[0082]
在这三个案例示例中,以下两个示例分析仅用于说明目的,而不旨在对端点设备机群可以执行的分析的类型施加任何限制。
[0083]
示例分析1(a1):
[0084]
该示例a1被设计为通过观察网络请求信号的滚动时间窗口来检测周期性网络请求作为恶意软件潜在指标。有5个输入信号作为分析的输入,a1对这些输入信号进行操作,以产生输出w1。这些输入定义如下:
[0085][0086][0087][0088][0089]
的滚动平均值的分数[0,1]
[0090]
对于分数处于区间[0,1],因此一些的滚动平均值随时间的变化越小则分数越高,并且其变化越大则分数越低。分析a1如下作用于输入以
产生处于[0,1]范围内的输出w1:
[0091][0092]
输出值w1越高,其指示存在恶意软件的可能性越大。
[0093]
示例分析2(a2):
[0094]
该示例a2被设计为检测传输到给定主机名的网络字节中的低分集,从而检测可能的恶意行为。有3个输入信号a2对这些输入信号进行操作,以产生输出w2。这些输入定义如下:
[0095][0096][0097][0098]
分析a2如下作用于输入以产生输出w1:
[0099][0100]
输出值w2越高,已检测到恶意行为的可能性越大。
[0101]
现在,使用以上两个示例分析a1和a2给出了三个案例研究,以示出改变在端点设备机群中执行的分析a1和a2的配置的不同方式。第一案例研究是使用分析a1和a2的分析输出来确定用于执行分析a1和a2的端点设备子集的示例。第二案例研究是改变执行分析a1和a2的端点设备子集的示例。第一案例研究是改变执行分析a1和a2的端点设备子集的示例。
[0102]
案例1:使用分析输出来选择端点设备的最佳子集:
[0103]
对于由n个端点设备组成的机群中的每个端点设备,收集来自a1和a2的输出对,即,离线分析表明,例如,与产生相比,产生平均要花费大约3倍之多的cpu周期。应理解,可以使用其他指标来比较w1和w2。应注意,可以采用任何适合的方法来为分析构建效用函数,所述效应函数例如衡量从分析中获得的信息和/或将所述信息与产生该分析的绝对成本或相较于另一分析的相对成本进行权衡。下面的示例效用函数可以用于确定a1和a2的有用性度量。
[0104]
案例1,示例1:示例效用函数可以定义为:
[0105][0106]
总效用函数可以是的总和或平均值。还应注意,可以使用对应的效用函数。随着相关性的增加,效用函数下降,并由处理a1的成本加权,因此在这种情况下,在加权接管之前,仅容许较小的相关性。为了提高稳定性,在多个时间段内重复测量∪,以确保任何丢弃a1(或a2)的决策更可能是基于在端点设备处检测到运行环境的真实变化、而不是基于一次性错误或暂时性问题。
[0107]
案例1,示例2:假设上面的a2输出分类[0,1](即,布尔值),而不是似然。可以将w2的效用函数定义为:
[0108]
[0109]
其中,p是a2输出0(或1)的测量概率。因此,如果分析一次又一次产生相同的输出,这会降低方差,且效用函数也会降低,这可能指示a2不再产生有用的信息,并且因此成为要丢弃的候选对象。
[0110]
案例2,选择分析输入的最佳子集:
[0111]
可能有许多方法来评估分析输入在a1中的有效性。评估每个分析输入的性能的一种方法是将它们拟合到线性模型中。例如,如果n个端点设备各自使用分析输入执行a1,并且各自产生相应的分析输出w1,则与w1之间的相关性可以表示如下:
[0112][0113]
其中,e表示期望值,且std表示标准差。此处,使用从这n个端点设备接收的对应的和w1值来计算平均值、标准差和期望值。然后,可以根据f分布将该相关性转换为f统计量和p值,从而给出其中,p是p值。如果下降到阈值以下,则可以被移除作为用于执行a1的分析输入的
[0114]
这减少了在执行a1时不得不计算一些自相关、聚合统计及其对应p值的开销。因此,端点设备处的处理开销将减少。此外,f统计量指示,在不使用执行a1的情况下,将获得类似的结果,因此,将在明显减少性能开销的情况下获得类似的分析输出。
[0115]
案例2,示例2:在更复杂的示例中,使用以上设置对理论上的处理成本进行编码,但是进行如下加权:
[0116][0117]
其中,如上所述,并且处于[0,1]范围内并且可以是人为确定的(或基于仪表化cpu周期来计算的),并且随着cpu周期成本的增加而向1增加。
[0118]
案例2,示例3:经训练的决策树可以适用于示例2,其中,可以测量新样本(w1)通过树的不同分支的频率。如果例如特定部分的样本不再通过树的分支,则可以删除树的子部分。
[0119]
案例3,选择最佳超参数:
[0120]
如果服务器确定要更新分析的超参数,则这会被推送到执行所述分析的所有端点设备,但端点设备校准子集仍然周期性地发送其分析输入和分析输出(与案例2一样),以及可选地发送其当前配置的超参数,并且服务器可以利用这些接收到的分析数据来在超参数空间上执行网格搜索,以优化所述分析。这种网格搜索的示例如图8所示,并在下面更详细地设置,如下所示:
[0121]
1.从由n个端点设备组成的机群中选择随机的端点设备子集,以将相应的分析输入及其输出发送到(多个)云服务器。例如,可以随机选择机群中的10%的端点设备作为要发送wj以及相关超参数的校准子集。
[0122]
·
超参数是模型的可配置参数。例如,在神经网络中,可配置参数可以包括网络深度和任何正则化参数等。
[0123]
·
对于决策树,可配置参数可以是树的最大深度。
[0124]
·
流行的scikit学习库中的大多数机器学习模型包含getparams()方法,所述方法返回所选模型的可能超参数列表。对于自定义分析,也可以确定超参数选项。
[0125]
2.这是可能的,因为端点设备与云服务器之间的通信是双向的。云服务器可以从端点设备请求足够的数据,以便能够做出具有统计学意义的推断。
[0126]
3.在云服务器中,在10%的设备上对接收到的数据(v,w)应用网格搜索,以便通过以下方式获得替代的超参数选择:
[0127]
·
按照标准机器学习(ml)程序,划分接收到的数据集,针对分析输入数据,用不同的超参数选择来训练和测试分析的模型。
[0128]
·
经由网格搜索基于给定模型的相关机器学习指标(精度、召回率、准确性、交叉熵、mse等)来为分析选择最佳训练模型。
[0129]
4.为了决定是否改变用于在端点设备处执行分析的超参数,将当前超参数在上面的3.中的性能与在上面的3.中发现的新提出的超参数进行比较。这就是效用函数的作用所在。
[0130]
·
作为示例,效用函数可以将分析有用性的预期收益与所提出的对用于执行分析的超参数的改变所引起的预期性能开销增加进行权衡。
[0131]
·
在测试数据上,当使用当前超参数值相比于使用所提出的超参数值来推断分析的分析输出时,可以对耗时进行计时并且记录内存需求的差异。
[0132]
·
基于性能提高与在改变为所提出的超参数时的处理要求变化之间的权衡,所提出的超参数值被接受或被拒绝。
[0133]
5.通过传送分析配置更新来告知所有端点设备:根据上面的3.和4.中发现的最佳选择来修改其超参数。
[0134]
6.从1开始重复。
[0135]
为了对此进行说明,图8示出了神经网络的两个超参数α和β,并且例如两者都取正整数值:α∈{1,2,...},β∈{1,2,...}。
[0136]
作为示例,随机森林分类器clf可以与感兴趣超参数α和β一起使用,其中,α表示集合中(决策)树的数量,并且β表示每个树的最大深度。这可以用来表示。
[0137]
搜索α、β的合理选择,诸如:α∈{3,10,15,50},β∈{10,25,50,100}。取笛卡尔积α
×
β,并且针对网格中的每个(α,β)选择对模型进行训练和评估。
[0138]
如果用于执行分析的α、β的当前值分别为50和25,则在所收集的数据(v,w)上对进行训练和测试,并将其与由超参数定义的其他4
×
4-1=15个模型进行比较。然后,如上面所概述的那样选择超参数来执行分析,以识别最佳超参数并将分析改为最佳超参数。
再多了解一些

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

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

相关文献