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

指令监控装置、指令监控方法、芯片、设备以及介质与流程

2022-08-31 22:42:00 来源:中国专利 TAG:


1.本公开涉及芯片技术领域,具体而言,涉及一种指令监控装置、指令监控方法、芯片、设备以及介质。


背景技术:

2.在集成芯片的技术领域中,集成芯片由于其强大的并行计算能力受到广泛的应用。例如,可以利用集成芯片强大的并行计算能力进行相关哈希运算。然而,相关技术中存在为了节约自身的硬件采购成本和电力成本,非法入侵他人的主机,并利用非法入侵主机的计算资源完成自身哈希运算的现象。这种现象占用了所入侵主机的计算资源,从而损害了被入侵方的合法权益,同时还容易泄露所入侵主机中的相关资源。因此,如何有效、快速的检测到哈希运算的入侵成为亟需解决的问题。


技术实现要素:

3.本公开实施例至少提供一种指令监控装置、指令监控方法、芯片、设备以及介质。
4.第一方面,本公开实施例提供了一种指令监控装置,该指令监控装置包括:控制单元,所述控制单元,用于获取运算单元在当前时刻所执行的目标任务;其中,所述目标任务中包含至少一个目标指令;以及确定所述目标任务的任务执行信息;其中,所述任务执行信息用于指示所述目标任务中所包含的目标指令的指令运算特征;以及在基于所述任务执行信息确定所述目标任务中目标指令所执行的运算为预设哈希运算的情况下,确定检测到非法入侵的哈希运算指令。
5.上述实施方式中,可以实现基于任务执行信息实时的对芯片所执行的运算进行检测,并在检测到芯片所执行的运算为预设哈希运算的情况下,确定该芯片被非法入侵,从而可以提高芯片的入侵检测的有效性和高效性,从而可以进一步提高芯片的安全性。
6.一种可选的实施方式中,所述控制单元还用于:获取所述目标指令在各预设运算特征维度下的子运算特征,得到至少一个子运算特征;其中,所述至少一个子运算特征用于指示以下至少之一:指令执行时长、所述运算单元中执行所述目标指令的线程的数量、所述目标指令的指令内容;以及基于所述至少一个子运算特征确定所述目标指令的指令运算特征,得到所述任务执行信息。
7.上述实施方式中,控制单元可以通过获取目标指令在预设运算特征维度下的至少一个子运算特征,并基于该至少一个子运算特征确定目标任务的指令运算特征确定任务执行信息的方式,可以得到更加准确、全面的任务执行信息,从而可以提高基于任务执行信息确定目标指令所执行运算的运算类型的准确性,进而提高指令监控装置的监控准确度。
8.一种可选的实施方式中,所述控制单元还用于:确定每个所述子运算特征的特征量化子信息,得到至少一个特征量化子信息,其中,每个所述特征量化子信息用于指示在该子运算特征所对应的预设运算特征维度下所述目标任务中目标指令所执行的运算和所述预设哈希运算之间的子匹配程度;以及在确定所述至少一个特征量化子信息满足预设量化
要求的情况下,确定所述目标任务中目标指令所执行的运算为所述预设哈希运算。
9.上述实施方式中,控制单元可以从各预设运算特征维度确定目标指令所执行的运算和预设哈希运算之间的子匹配程度,之后,控制单元还可以基于各子匹配程度确定目标指令所执行的运算为所述预设哈希运算。通过该处理方式,可以更加全面的对目标指令所执行的运算进行检验,从而提高了目标指令所执行的运算的检验准确度。
10.一种可选的实施方式中,所述控制单元还用于:确定每个所述特征量化子信息所对应的量化权重;以及基于所述量化权重对所述至少一个特征量化子信息进行加权求和,得到加权求和结果;以及在所述加权求和结果大于或者等于第一阈值的情况下,确定所述至少一个特征量化子信息满足所述预设量化要求。
11.上述实施方式中,控制单元可以通过为每个特征量化子信息设置对应量化权重,实现在对目标指令所执行的运算进行检验的过程中,更关注特征优先级较高的特征量化子信息,从而可以提高目标指令所执行运算的检验精度,从而得到更加准确的入侵检测结果。
12.一种可选的实施方式中,所述控制单元还用于:将所述至少一个特征量化子信息进行累加求和,得到累加求和结果;以及在所述累加求和结果大于或者等于第二阈值的情况下,确定所述至少一个特征量化子信息满足所述预设量化要求。
13.上述实施方式中,控制单元可以通过将每个特征量化子信息进行累加求和的方式,以更全面的综合每个特征量化子信息,进而可以更准确的确定至少一个特征量化子信息与预设量化要求之间的关系。
14.一种可选的实施方式中,所述控制单元还用于:基于所述任务执行信息确定所述目标任务的特征量化信息;所述特征量化信息用于指示所述目标任务中目标指令所执行运算和所述预设哈希运算之间的匹配程度;以及在确定所述特征量化信息满足预设量化要求的情况下,确定所述目标任务所对应的运算为所述预设哈希运算。
15.上述实施方式中,控制单元可以通过任务执行信息确定目标任务的特征量化信息,之后,控制单元可以在确定出特征量化信息满足预设量化要求的情况下,确定目标任务对应的运算为预设哈希运算。通过控制单元对任务执行信息进行量化得到特征量化信息,并通过控制单元基于该特征量化信息检测预设哈希运算的方式,可以更加准确的检测芯片的运算单元所执行的运算是否为预设哈希运算,从而提高该预设哈希运算的检测准确度,降低误判率。
16.一种可选的实施方式中,所述控制单元,还用于:获取样本指令数据库;所述样本指令数据库中包含执行所述预设哈希运算的哈希运算指令的预设指令运算特征;以及确定所述任务执行信息所指示指令运算特征和所述样本指令数据库中预设指令运算特征之间的匹配程度,并基于所述匹配程度确定所述目标任务的特征量化信息。
17.上述实施方式中,控制单元可以通过样本指令数据库确定任务执行信息所指示指令运算特征和样本指令数据库中预设指令运算特征之间的匹配程度,从而可以准确、高效的确定目标任务的特征量化信息,进而提高入侵监测的效率。
18.一种可选的实施方式中,所述控制单元还用于:在检测到目标触发事件的情况下,在预设录制时间段内录制所述运算单元所执行哈希运算指令的指令运算特征;以及将所述哈希运算指令的指令运算特征作为所述哈希运算指令的预设指令运算特征保存至所述样本指令数据库中。
19.上述实施方式中,控制单元可以在检测到目标触发事件之后,录制运算单元所执行哈希运算的指令运算特征,并将该指令运算特征保存至样本指令数据库中,从而可以不断丰富该样本指令数据库,以提高入侵监测的范围,进而提高入侵监测的有效性。
20.一种可选的实施方式中,所述控制单元还用于:在确定检测到非法入侵的哈希运算指令之后,生成入侵预警信息和/或任务结束信号,其中,所述入侵预警信息用于指示监测到入侵操作,所述任务结束信号用于控制所述运算单元结束执行所述目标任务。
21.上述实施方式中,控制单元可以在确定检测到非法入侵的哈希运算指令之后,生成入侵预警信息,从而可以及时提醒工作人员进行查看。同时,还可以生成任务结束信号,以及时结束目标任务,进而节省了设备资源和电力资源。
22.第二方面,本公开实施例提供了一种指令监控方法,包括:获取运算单元在当前时刻所执行的目标任务;其中,所述目标任务中包含至少一个目标指令;确定所述目标任务的任务执行信息;其中,所述任务执行信息用于指示所述目标任务中所包含的目标指令的指令运算特征;在基于所述任务执行信息确定所述目标任务中目标指令所执行的运算为预设哈希运算的情况下,确定检测到非法入侵的哈希运算指令。
23.第三方面,本公开实施例还提供一种芯片,其特征在于,包括如上述任一项所述的指令监控单元。
24.第四方面,本公开实施例还提供一种电子设备,包括:处理单元、存储单元和总线,所述存储单元存储有所述处理单元可执行的机单元可读指令,当电子设备运行时,所述处理单元与所述存储单元之间通过总线通信,所述机单元可读指令被所述处理单元执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或者,执行上述第二方面中的步骤,或者,如上述第三方面所述的芯片。
25.第五方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理单元运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或者,执行上述第二方面中的步骤。
26.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
27.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
28.图1示出了本公开实施例所提供的一种指令监控方法的流程图;
29.图2示出了本公开实施例所提供的基于任务执行信息确定目标任务中目标指令所执行的运算为预设哈希运算方法的流程图;
30.图3示出了本公开实施例所提供的基于任务执行信息确定目标任务的特征量化信息方法的流程图;
31.图4示出了本公开实施例所提供的另一种基于任务执行信息确定目标任务的特征
量化信息方法的流程图;
32.图5示出了本公开实施例所提供的确定目标任务的任务执行信息方法的流程图;
33.图6示出了本公开实施例所提供的一种指令监控装置的示意图;
34.图7示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
35.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
36.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
37.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
38.经研究发现,相关技术中存在为了节约自身的硬件采购成本和电力成本,非法入侵他人的主机,并利用非法入侵主机的计算资源完成自身哈希运算的现象。这种现象占用了所入侵主机的计算资源,从而损害了被入侵方的合法权益,同时还容易泄露所入侵主机中的相关资源。因此,如何有效、快速的检测到哈希运算的入侵成为亟需解决的问题。
39.基于上述研究,本公开提供了一种指令监控装置、指令监控方法、芯片、设备以及介质。在本公开实施例中,首先,可以获取芯片的运算单元在当前时刻所执行的目标任务,并确定目标任务的任务执行信息,这里,任务执行信息用于指示目标任务中所包含的目标指令的指令运算特征。之后,可以基于该任务执行信息确定目标任务中目标指令所执行的运算是否为预设哈希运算,并在确定出是预设哈希运算的情况下,确定检测到非法入侵的哈希运算指令。通过上述处理方式,可以实现基于任务执行信息实时的对芯片所执行的哈希运算进行检测,进而根据所检测到的哈希运算确定该芯片是否被非法入侵,从而可以提高芯片的入侵检测的有效性和高效性,进一步提高芯片的安全性。
40.为便于对本实施例进行理解,首先对本公开实施例所公开的一种指令监控方法进行详细介绍,本公开实施例所提供的指令监控方法的执行主体一般为具有一定计算能力的电子设备。
41.在此需要说明的是,本公开实施例所公开的指令监控方法可以写入芯片的soc(system on chip,系统级芯片)中以程序代码的方式来实现,也可以写入芯片的硬件知识产权核(ipcore,intellectual propertycore)以硬件的方式来实现。
42.参见图1所示,为本公开实施例提供的一种指令监控方法的流程图,所述方法包括步骤s101~s105,其中:
43.s101:获取运算单元在当前时刻所执行的目标任务;其中,所述目标任务中包含至少一个目标指令。
44.这里,上述运算单元可以理解为设置在芯片中用于执行运算任务的单元,其中,该芯片可以为gpu(graphic processing unit,图形处理单元),也可以为asci(application specific integrated circuit,专用集成电路),本公开对芯片的芯片类型不作具体限定,以满足实际需要为准。
45.在本公开实施例中,可以预先在芯片中设置监控模块,其中,该监控模块可以为上述写入芯片的soc中的程序代码,或者,可以为芯片的硬件ip核。这里,芯片中设置的监控模块能够实现与芯片中任务分发模块的联动,具体联动过程可以描述为:
46.芯片的运算单元在获取到任务分发模块分发的目标任务之后,芯片的监控模块就可以获取该目标任务,并执行步骤s103至步骤s105。
47.这里,目标任务包含至少一个目标指令。此时,芯片中的任务分发模块就可以向运算单元分发该目标任务的至少一个指令。此时,芯片的监控单元在检测到任务分发模块的任务分发操作之后,就可以获取该任务分发操作所对应的任务的指令,即目标任务的至少一个目标指令。
48.s103:确定所述目标任务的任务执行信息;其中,所述任务执行信息用于指示所述目标任务中所包含的目标指令的指令运算特征。
49.在本公开实施例中,在获取到芯片的运算单元在当前时刻所执行的目标任务之后,可以确定该目标任务的任务执行信息,以通过该任务执行信息确定该目标任务中所包含的目标指令的指令运算特征。
50.这里,目标指令的指令运算特征可以对应多个预设运算特征维度的子运算特征,其中,针对每个预设运算特征维度,均可以对应至少一个子运算特征。举例来说,该多个预设运算特征维度可以为以下维度:运算时间维度、运算空间维度、运算内容维度。
51.在运算时间维度下,上述目标指令的指令运算特征(即:运算时间维度下的子运算特征)可以用于指示上述目标指令的指令执行时长。在运算空间维度下,上述目标指令的指令运算特征(即:运算空间维度下的子运算特征)可以用于指示芯片中执行上述目标指令的线程数量。在运算内容维度下,上述目标指令的指令运算特征(即:运算内容维度下的子运算特征)可以用于指示执行上述目标指令的指令内容特征。
52.此时,可以基于上述多个预设运算特征维度下的子运算特征确定目标任务的任务执行信息。例如,可以将上述多个预设运算特征维度下的子运算特征进行汇总,并基于得到的汇总结果确定目标任务的任务执行信息。
53.s105:在基于所述任务执行信息确定所述目标任务中目标指令所执行的运算为预设哈希运算的情况下,确定检测到非法入侵的哈希运算指令。
54.这里,预设哈希运算可以为已知的非法入侵类哈希运算,和/或,计算方式与已知的非法入侵类哈希运算相似的其他运算。其中,计算方式与已知的非法入侵类哈希运算相似的其他运算也可以理解为不断重复执行特定计算的运算操作。
55.例如,预设哈希运算可以为以下运算:假设有一个待处理的数据,例如,一个待处理的32位数,对该32位数分别做6位、11位和25位循环右移,从而可以得到三个循环右移结果,并将得到的三个循环右移结果依次做异或运算得到最终计算结果。例如,在对该32位数
做6位循环右移之后得到的循环右移结果为结果1,对该32位数做11位循环右移之后得到的循环右移结果为结果2,对该32位数做25位循环右移之后得到的循环右移结果为结果3的情况下,可以先对结果1和结果2做异或运算,得到结果4。之后,再对结果3和结果4做异或运算,得到结果5,并将该结果5确定为上述预设哈希运算的最终计算结果。
56.在本公开实施例中,在确定目标任务的任务执行信息之后,可以基于该任务执行信息确定目标任务中至少一个目标指令所执行运算的运算类型。在确定出该运算类型为预设哈希运算的情况下,确定检测到非法入侵的哈希运算指令,即检测到针对芯片的入侵操作。
57.在本公开实施例中,通过上述处理方式,可以实现基于任务执行信息实时的对芯片所执行的哈希运算进行检测,进而根据所检测到的哈希运算确定该芯片是否被非法入侵,从而可以提高芯片的入侵检测的有效性和高效性,进一步提高芯片的安全性。
58.在一个可选的实施方式中,如图2所示,针对s105:基于所述任务执行信息确定所述目标任务中目标指令所执行的运算为预设哈希运算,具体包括如下步骤:
59.步骤s21:基于所述任务执行信息确定所述目标任务的特征量化信息;所述特征量化信息用于指示所述目标任务中目标指令所执行运算和所述预设哈希运算之间的匹配程度;
60.步骤s22:在确定所述特征量化信息满足预设量化要求的情况下,确定所述目标任务所对应的运算为所述预设哈希运算。
61.在本公开实施例中,在基于任务执行信息确定目标任务中目标指令所执行的运算为预设哈希运算的情况下,可以先基于该任务执行信息确定目标任务的特征量化信息,在该特征量化信息满足预设量化要求的情况下,则确定目标任务对应的运算为预设哈希运算。
62.这里,特征量化信息可以为一个量化数值,该量化数值用于指示目标任务中目标指令所执行的运算与预设哈希运算之间的匹配程度,此时,该匹配程度可以通过匹配度值来表示。例如,上述匹配程度对应的匹配度值可以为0,也可以为0.4,也可以0.9,本公开对上述匹配度值不作限定,以实际目标任务中目标指令所执行的运算与预设哈希运算之间的匹配程度所对应的匹配度值为准。此外,该匹配程度还可以理解为目标指令所执行的运算与预设哈希运算之间的相似度。
63.通过上述描述可知,任务执行信息可以用于指示目标指令的指令运算特征,且基于该任务执行信息确定的特征量化信息可以用于指示目标指令所执行运算和所述预设哈希运算之间的匹配程度。因此,上述内容还可以理解为:可以通过目标指令的指令运算特征确定上述目标任务中目标指令所执行的运算与预设哈希运算之间的匹配程度(也即,特征量化信息)。
64.具体实施时,可以获取执行该预设哈希运算的哈希运算指令的指令运算特征,记为指令运算特征1,然后,获取目标指令的指令运算特征,记为指令运算特征2。接下来,可以确定指令运算特征1和指令运算特征2之间的匹配程度,进而将该匹配程度确定为上述特征量化信息。
65.通过上述描述可知,目标指令的指令运算特征可以对应多个预设运算特征维度的子运算特征,此时,可以基于各子运算特征确定上述目标任务中目标指令所执行的运算与
预设哈希运算之间的匹配程度。例如,可以将每个子运算特征与指令运算特征1中相匹配的子运算特征进行比较,从而得到对应的特征量化子信息。针对每个子运算特征,均可以得到一个对应的特征量化子信息。接下来,就可以基于各特征量化子信息确定上述特征量化信息。
66.举例来说,假设在多个预设运算特征维度包括运算时间维度、运算空间维度、运算内容维度的情况下,可以从上述每个预设运算特征维度下的子运算特征与指令运算特征1中的维度相匹配的子运算特征进行匹配,得到该维度下的子运算特征与预设哈希运算之间的匹配程度(该匹配程度对上述特征量化子信息相对应),从而得到多个匹配程度;接下来,就可以基于多个匹配程度确定目标任务的特征量化信息。
67.在本公开实施例中,可以确定上述多个预设运算特征维度的匹配顺序,例如,可以按照各预设运算特征维度的优先级确定匹配顺序,例如,该匹配顺序可以为:先匹配运算内容维度,并在确定出运算内容维度下的子运算特征与预设哈希运算相匹配的情况下,再匹配运算空间维度,并在确定出运算空间下的子运算特征与预设哈希运算相匹配的情况下,最后匹配运算时间维度。针对上述每个匹配过程,均可以得到一个对应的匹配结果,即匹配程度(或者,特征量化子信息)。
68.承接上例,针对运算内容维度,在该运算内容维度下的子运算特征与预设哈希运算相匹配的情况下,可以得到用于表示匹配程度的数值(也即,匹配度值),其中,运算内容维度下的子运算特征与预设哈希运算相匹配可以理解为:目标指令的指令内容与执行预设哈希运算的哈希运算指令所对应指令内容相同或者相应。此时,可以设定运算内容维度下的子运算特征与预设哈希运算之间的匹配度值(即上述特征量化子信息)为0.4,除此之外,匹配度值还可以为其他数值,例如0.5,本公开对此匹配度值不作限定,以满足实际需要为准。在目标指令的指令内容与执行预设哈希运算所对应的指令所对应指令内容不相同或者不相应的情况下,可以确定该运算内容维度下的子运算特征与预设哈希运算之间不匹配,此时,可以设定运算内容维度下的子运算特征与预设哈希运算之间的匹配度值为0。
69.在此需要说明的是,在子运算特征与预设哈希运算相匹配的情况下,该子运算特征与预设哈希运算之间的匹配度值可以为工作人员预先设定的数值,也可以为工作人员在检测到芯片受到非法入侵的哈希运算指令之后,针对上述非法入侵对上述预先设定的数值进行调整之后的数值。本公开对子运算特征与预设哈希运算之间的匹配度值不作具体限定,以能实现为准。
70.在确定出运算内容维度下的子运算特征与预设哈希运算相匹配的情况下,可以将运算空间维度下的子运算特征与预设哈希运算进行匹配。假设,芯片的总线程数为n(其中,n为大于1的自然数)。如果执行目标指令的线程数量为m,那么可以确定运算空间维度下的子运算特征与预设哈希运算之间的匹配度值为m/n。此外,还可以在m/n大于预设线程阈值(例如0.5)的情况下,确定运算空间维度下的子运算特征与预设哈希运算之间的匹配程度所对应的匹配度值为固定数值,例如0.7。在m/n小于或者等于预设线程阈值(例如0.5)的情况下,确定运算空间维度下的子运算特征与预设哈希运算之间的匹配度值为上述基于运算内容维度所确定的匹配度值,例如,0.4。
71.在基于运算空间维度和运算内容维度进行指令运算特征与预设哈希运算之间的匹配完成之后,还可以将运算时间维度下的子运算特征与预设哈希运算之间匹配。例如,在
运算空间维度和运算内容维度下,确定对应的子运算特征与预设哈希运算之间相匹配,此时,可以获取目标指令的指令执行时长,并基于该指令执行时长确定运算时间维度下的子运算特征与预设哈希运算之间的匹配程度。例如,在指令执行时长大于或者等于预设时长阈值的情况下,可以设置运算时间维度下的子运算特征与预设哈希运算之间的匹配度值为0.9,在指令执行时长小于预设时长阈值的情况下,可以设置运算时间维度下的子运算特征与预设哈希运算之间的匹配度值为上述基于运算空间维度所确定的匹配度值,例如,m/n或者0.7或者0.4。
72.在本公开实施例中,在特征量化信息(或者,上述匹配度值)大于或者等于预先设定的量化阈值的情况下,可以确定该特征量化信息满足预设量化要求。例如,在预先设定的量化阈值为0.8的情况下,当特征量化信息为0.9时,则确定该特征量化信息满足预设量化要求,并确定目标任务所对应的运算为预设哈希运算;当特征量化信息为0.4时,则确定该特征量化信息不满足预设量化要求,则确定目标任务所对应的运算不是预设哈希运算。
73.上述实施方式中,可以通过任务执行信息确定目标任务的特征量化信息,并在特征量化信息满足预设量化要求的情况下,确定目标任务对应的运算为预设哈希运算。通过对任务执行信息进行量化得到特征量化信息,进而基于该特征量化信息检测预设哈希运算的方式,可以更加准确的检测芯片的运算单元所执行的运算是否为预设哈希运算,从而提高该预设哈希运算的检测准确度,降低误判率。
74.在一个可选的实施方式中,如图3所示,针对上述步骤s21:基于所述任务执行信息确定所述目标任务的特征量化信息,具体还包括如下步骤:
75.步骤s31:获取样本指令数据库;所述样本指令数据库中包含执行所述预设哈希运算的哈希运算指令的预设指令运算特征;
76.步骤s32:确定所述任务执行信息所指示指令运算特征和所述样本指令数据库中预设指令运算特征之间的匹配程度,并基于所述匹配程度确定所述目标任务的特征量化信息。
77.在本公开实施例中,通过上述描述可知,由于任务执行信息用于指示目标任务中所包含的目标指令的指令运算特征,基于此,可以基于该任务执行信息确定目标指令的指令运算特征,进而基于目标指令的指令运算特征和预设哈希运算特征之间的匹配程度,确定目标任务的特征量化信息。
78.具体实施时,可以先获取样本指令数据库,并在样本指令数据库中确定执行预设哈希运算的哈希运算指令的预设指令运算特征。之后,再将目标指令的指令运算特征与该预设指令运算特征进行匹配,得到目标指令的指令运算特征与预设指令运算特征之间的匹配程度,并基于该匹配程度确定目标任务的特征量化信息。
79.在样本指令数据库中可以包含多个预设指令运算特征,此时,可以将目标指令的指令运算特征与每个预设指令运算特征进行匹配,从而得到该目标指令的指令运算特征与每个预设指令运算特征之间的匹配程度。针对每个匹配程度均可以确定出该目标任务的特征量化信息,其中,该特征量化信息用于指示目标指令和执行对应预设哈希运算的哈希运算指令之间的匹配程度。
80.通过上述描述可知,目标指令的指令运算特征可以对应多个预设运算特征维度的子运算特征,且样本指令数据库中的预设指令运算特征同样可以对应多个预设运算特征维
度。基于此,可以将目标指令的指令运算特征中对应每个预设运算维度的子运算特征与预设指令运算特征中相同维度下的预设指令运算特征进行匹配,从而得到对应的特征量化子信息;之后,就可以结合每个预设运算维度所对应的特征量化子信息确定目标指令的指令运算特征与每个预设指令运算特征之间的匹配程度,从而得到对应的特征量化信息。
81.上述实施方式中,通过样本指令数据库确定任务执行信息所指示指令运算特征和样本指令数据库中预设指令运算特征之间的匹配程度,可以准确、高效的确定目标任务的特征量化信息,进而提高入侵监测的效率。
82.在一个可选的实施方式中,如图4所示,在如图3所对应实施例的基础上,本公开方法还包括如下步骤:
83.步骤s41:在检测到目标触发事件的情况下,在预设录制时间段内录制所述运算单元所执行哈希运算指令的指令运算特征;
84.步骤s42:将所述哈希运算指令的指令运算特征作为所述哈希运算指令的预设指令运算特征保存至所述样本指令数据库中。
85.在本公开实施例中,目标触发事件可以理解为芯片的运算单元处于非正常运行状态所触发的事件。具体实施时,可以在芯片内置检测程序,以通过该检测程序检测该芯片的运算单元的非正常运行状态,并在检测到非正常运行状态的情况下,生成目标触发事件。之后,芯片的监控模块在获取到该目标触发事件之后,就可以执行上述步骤s101至s105所描述的步骤。
86.举例来说,如果检测到当前时刻未对芯片的运算单元分配对应任务,但该芯片的运算单元处于任务执行状态的情况下,可以确定该芯片的运算单元的非正常运行状态,此时,可以确定检测到目标触发事件。又例如,在检测到芯片的运算单元所执行的任务与为该芯片的运算单元所分配的任务不相同的情况下,也可以确定该芯片的运算单元的非正常运行状态,此时,可以确定检测到目标触发事件。
87.在本公开实施例中,预设录制时间段可以用于指示预先设定的录制起止时间,其中,该预设录制时间段包含预先设定的录制起始时间和录制时长,或者,包含预先设定的录制起始时间和录制终止时间。
88.例如,该预设录制时间段中的录制起始时间可以为在检测到目标触发事件的时刻,或者,可以为在检测到目标触发事件的时刻之后的某一时刻。
89.在本公开实施例中,在检测到目标触发事件之后,可以确定当前时刻芯片的运算单元所执行的任务并非期望执行的任务(例如,工作人员分配的任务),可以确定检测到针对芯片的入侵操作。此时,可以启动录制功能并开始录制运算单元所执行指令的指令运算特征。之后,可以将录制得到的指令运算特征作为哈希运算指令的预设指令运算特征保存至样本指令数据库中。当再次检测到具有相同指令运算特征的哈希运算指令执行的情况下,可以自动确定检测到针对芯片的入侵操作。
90.上述实施方式中,可以在检测到目标触发事件之后,录制运算单元所执行哈希运算的指令运算特征,并将该指令运算特征保存至样本指令数据库中的方式,可以不断丰富该样本指令数据库,从而提高入侵监测的范围,进而提高入侵监测的有效性。
91.在一个可选的实施方式中,如图5所示,针对s103:确定所述目标任务的任务执行信息,具体包括如下步骤:
92.步骤s51:获取所述目标指令在各预设运算特征维度下的子运算特征,得到至少一个子运算特征;其中,所述至少一个子运算特征用于指示以下至少之一:指令执行时长、所述运算单元中执行所述目标指令的线程的数量、所述目标指令的指令内容;
93.步骤s52:基于所述至少一个子运算特征确定所述目标指令的指令运算特征,得到所述任务执行信息。
94.在本公开实施例中,预设运算特征维度可以包含至少以下维度:运算时间维度、运算空间维度、运算内容维度。针对运算时间维度、运算空间维度、运算内容维度的详细介绍参照上述实施例的描述,在此不再对上述各个预设运算特征维度进行详细介绍。
95.在本公开实施例中,在目标指令的指令运算特征中针对每个预设运算特征维度下均可以包含对应的子运算特征。例如,在预设运算特征维度为运算时间维度的情况下,可以获取目标指令在预设运算特征维度下的子运算特征为指令执行时长;在预设运算特征维度为运算空间维度的情况下,可以获取目标指令在预设运算特征维度下的子运算特征为芯片的运算单元中执行该目标指令的线程数量;在预设运算特征维度为运算内容维度的情况下,可以获取目标指令在预设运算特征维度下的子运算特征为目标指令的指令内容。
96.在本公开实施例中,可以基于获取到的至少一个子运算特征确定目标指令的指令运算特征。例如,可以将至少一个子运算特征进行汇总,并将得到的汇总结果确定为目标指令的指令运算特征,从而基于该指令运算特征得到目标任务的任务执行信息。
97.上述实施方式中,通过获取目标指令在预设运算特征维度下的至少一个子运算特征,并基于该至少一个子运算特征确定目标任务的指令运算特征确定任务执行信息的方式,可以得到更加准确、全面的任务执行信息,从而可以提高基于任务执行信息确定目标指令所执行运算的运算类型的准确性,进而提高指令监控方法的监测准确度。
98.在一个可选的实施方式中,在步骤s51~s52的基础上,针对s105:基于所述任务执行信息确定所述目标任务中目标指令所执行的运算为预设哈希运算,具体包括如下步骤:
99.步骤s61:确定每个所述子运算特征的特征量化子信息,得到至少一个特征量化子信息,其中,每个所述特征量化子信息用于指示在该子运算特征所对应的预设运算特征维度下所述目标任务中目标指令所执行的运算和所述预设哈希运算之间的子匹配程度;
100.步骤s62:在确定所述至少一个特征量化子信息满足预设量化要求的情况下,确定所述目标任务中目标指令所执行的运算为所述预设哈希运算。
101.通过上述描述可知,执行预设哈希运算的哈希运算指令包含对应的指令运算特征,即上述所描述的预设指令运算特征。针对该预设指令运算特征,在每个预设运算特征维度下,均可以包含对应的预设指令子运算特征。基于此,可以将目标指令的指令运算特征和预设指令运算特征中,将对应相同预设运算特征维度下子运算特征进行匹配。
102.例如,可以将目标指令的指令运算特征中对应运算时间维度下的子运算特征,与预设指令运算特征中同样对应运算时间维度下的预设指令子运算特征进行匹配,从而得到对应的子匹配程度;之后,就可以基于该子匹配程度确定对应的特征量化子信息。
103.具体实施时,可以将子匹配程度确定为对应的特征量化子信息。或者,可以确定子匹配程度和特征量化子信息之间的换算关系,进而基于该换算关系确定对应的特征量化子信息。
104.在本公开实施例中,在得到至少一个特征量化子信息之后,可以确定至少一个特
征量化子信息是否满足预设量化要求。如果确定出该至少一个特征量化子信息满足预设量化要求,则可以确定目标指令所执行的运算为预设哈希运算。
105.举例来说,预设运算特征维度为运算时间维度,此时,目标指令在该运算时间维度下的子运算特征可以为指令执行时长。如果该指令执行时长满足时长要求(例如,连续执行时长为4小时),则可以确定指令执行时长的特征量化子信息可以为0.3(或者0~1的任意其他数值)。其中,时长要求可以为基于预设指令运算特征确定的时长要求。
106.又例如,预设运算特征维度为运算空间维度,此时,目标指令在该运算空间维度下的子运算特征为线程数量。假设,芯片的总线程数为n(其中,n为大于1的自然数),此时,如果在运算单元中执行目标指令的线程数量m满足线程数量要求,例如,m/n大于0.5可以确定出满足线程数量要求,此时可以确定线程数量所对应的特征量化子信息为0.2(或者0~1的任意其他数值)。其中,线程数量要求可以为基于预设指令运算特征确定的数量要求。
107.又例如预设运算特征维度为运算内容维度,此时,目标指令在该运算内容维度下的子运算特征为指令内容。如果目标指令的指令内容与预设指令运算特征中运算内容维度下的预设指令运算子特征相同或者相应的情况下,可以确定指令内容所对应的特征量化子信息为0.4(或者0~1的任意其他数值)。
108.上述实施方式中,可以从各预设运算特征维度确定目标指令所执行的运算和预设哈希运算之间的子匹配程度,并基于各子匹配程度确定目标指令所执行的运算为所述预设哈希运算。通过该处理方式,可以更加全面的对目标指令所执行的运算进行检验,从而提高了目标指令所执行的运算的检验准确度。
109.在一个可选的实施方式中,针对上述步骤s62:确定所述至少一个特征量化子信息满足预设量化要求,具体包括如下步骤:
110.步骤s71:确定每个所述特征量化子信息所对应的量化权重;
111.步骤s72:基于所述量化权重对所述至少一个特征量化子信息进行加权求和,得到加权求和结果;
112.步骤s73:在所述加权求和结果大于或者等于第一阈值的情况下,确定所述至少一个特征量化子信息满足所述预设量化要求。
113.在本公开实施例中,在确定出每个子运算特征的特征量化子信息之后,可以确定每个特征量化子信息对应的量化权重。其中,量化权重与每个子运算特征所对应的预设运算特征维度的维度优先级相关联,例如,维度优先级越高,则量化权重越大;反之量化权重越小。
114.之后,可以基于上述量化权重对至少一个特征量化子信息进行加权求和,从而得到加权求和结果。如果加权求和结果满足预设量化要求,则确定该至少一个特征量化子信息满足预设量化要求。
115.例如,如上述的在各预设运算特征维度下的子运算特征对应的特征量化子信息分别为:指令执行时长对应的特征量化子信息0.3,线程数量对应的特征量化子信息0.2,指令内容对应的特征量化子信息0.4;如果设置指令执行时长对应的特征量化子信息的量化权重为0.5,线程数量的特征量化子信息对应的量化权重为0.5,指令内容对应的特征量化子信息的量化权重为0.9。此时,可以基于上述每个特征量化子信息对应的量化权重对每个特征量化子信息进行加权求和,得到加权求和结果。即得到的加权求和结果为:0.3*0.5 0.2*
0.5 0.4*0.9=0.7。
116.之后,可以将得到的加权求和结果与第一阈值进行比较,在得到的加权求和结果大于或者等于第一阈值的情况下,可以确定上述至少一个特征量化子信息满足预设量化要求。其中,第一阈值可以为预先设定好的阈值要求(例如,0.7),本公开对该第一阈值的具体数值不作限定,以满足实际需要为准。
117.这里需要说明的是,对至少一个特征量化子信息进行加权求和所得到的加权求和结果也可以理解为上述目标任务的特征量化信息。也即,如果目标任务的特征量化信息满足预设量化要求,则确定目标任务中目标指令所执行的运算为预设哈希运算。
118.上述实施方式中,可以通过为每个特征量化子信息设置对应量化权重,可以实现在对目标指令所执行的运算进行检验的过程中,更关注特征优先级较高的特征量化子信息,从而可以提高目标指令所执行运算的检验精度,从而得到更加准确的入侵检测结果。
119.在一个可选的实施方式中,针对上述步骤s62:确定所述至少一个特征量化子信息满足预设量化要求,具体还包括如下步骤:
120.步骤s81:将所述至少一个特征量化子信息进行累加求和,得到累加求和结果;
121.步骤s82:在所述累加求和结果大于或者等于第二阈值的情况下,确定所述至少一个特征量化子信息满足所述预设量化要求。
122.在本公开实施例中,在确定出至少一个特征量化子信息之后,可以将该至少一个特征量化子信息进行累加求和,得到累加求和结果。之后,可以确定得到的累加求和结果是否满足预设量化要求。在累加求和结果满足预设量化要求的情况下,可以确定该至少一个特征量化子信息满足预设量化要求。
123.例如,特征量化子信息分别为:指令执行时长对应的特征量化子信息0.3,线程数量对应的特征量化子信息0.2,指令内容对应的特征量化子信息0.4。此时,可以将上述3个特征量化子信息进行累加求和,得到累加求和结果,该累加求和结果即为:0.3 0.2 0.4=0.9。
124.之后,可以将累加求和结果与第二阈值进行比较,在得到的累加求和结果大于或者等于第二阈值的情况下,可以确定上述至少一个特征量化子信息满足预设量化要求。其中,第二阈值可以为预先设定好的阈值要求(例如,0.8),本公开对该第二阈值的具体数值不作限定,以满足实际需要为准。
125.在此需要说明的是,在本公开实施例中,第一阈值和第二阈值的具体数值可以相同也可以不相同,本公开对此不作限定,以满足实际需要为准。
126.这里需要说明的是,对至少一个特征量化子信息进行累加求和所得到的累加求和结果也可以理解为上述目标任务的特征量化信息。也即,如果目标任务的特征量化信息满足预设量化要求,则确定目标任务中目标指令所执行的运算为预设哈希运算。
127.上述实施方式中,可以通过将每个特征量化子信息进行累加求和的方式,可以更全面的综合每个特征量化子信息,进而可以更准确的确定至少一个特征量化子信息与预设量化要求之间的关系。
128.在一个可选的实施方式中,本公开方法具体还包括:
129.在确定检测到非法入侵的哈希运算指令之后,生成入侵预警信息和/或任务结束信号,其中,所述入侵预警信息用于指示监测到入侵操作,所述任务结束信号用于控制所述
运算单元结束执行所述目标任务。
130.在本公开实施例中,在确定检测到非法入侵的哈希运算指令之后,可以生成入侵预警信息和/或任务结束信号,其中,入侵预警信息可以通过弹窗的形式展示在芯片所在终端设备的显示屏幕中,也可以通过即时信息的方式发送至后台。
131.在本公开实施例中,在确定监测到针对芯片的入侵操作,并生成入侵预警信息以及生成任务结束信号之后,可以通过工作人员重新输入安全密码,进而重新启动芯片并等待下一个任务的到来,也可以在工作人员确定接收到入侵预警信息之后,重新启动芯片以等待下一个任务的到来。
132.上述实施方式中,可以在确定检测到非法入侵的哈希运算指令之后,生成入侵预警信息,从而可以及时提醒工作人员进行查看。同时,还可以通过生成任务结束信号,及时结束目标任务,进而节省了设备资源和电力资源。
133.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
134.基于同一发明构思,本公开实施例中还提供了与指令监控方法对应的指令监控装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述指令监控方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
135.本公开实施例所公开的指令监控装置可以为写入芯片的soc(system on chip,系统级芯片)中的程序代码,也可以为能够实现上述指令监控方法所对应功能的芯片的硬件知识产权核(ip core,intellectual property core)。
136.参见图6所示,为本公开实施例提供的一种指令监控装置的示意图,所述指令监控装置包括:控制单元61,该控制单元61,用于:
137.获取运算单元在当前时刻所执行的目标任务;其中,所述目标任务中包含至少一个目标指令;以及
138.确定所述目标任务的任务执行信息;其中,所述任务执行信息用于指示所述目标任务中所包含的目标指令的指令运算特征;以及
139.在基于所述任务执行信息确定所述目标任务中目标指令所执行的运算为预设哈希运算的情况下,确定检测到非法入侵的哈希运算指令。
140.上述实施方式中,可以实现基于任务执行信息实时的对芯片所执行的运算进行检测,并在检测到芯片所执行的运算为预设哈希运算的情况下,确定该芯片被非法入侵,从而可以提高芯片的入侵检测的有效性和高效性,从而可以进一步提高芯片的安全性。
141.一种可能的实施方式中,控制单元,还用于:获取所述目标指令在各预设运算特征维度下的子运算特征,得到至少一个子运算特征;其中,所述至少一个子运算特征用于指示以下至少之一:指令执行时长、所述运算单元中执行所述目标指令的线程的数量、所述目标指令的指令内容;以及基于所述至少一个子运算特征确定所述目标指令的指令运算特征,得到所述任务执行信息。
142.一种可能的实施方式中,控制单元,还用于:确定每个所述子运算特征的特征量化子信息,得到至少一个特征量化子信息,其中,每个所述特征量化子信息用于指示在该子运算特征所对应的预设运算特征维度下所述目标任务中目标指令所执行的运算和所述预设
哈希运算之间的子匹配程度;以及在确定所述至少一个特征量化子信息满足预设量化要求的情况下,确定所述目标任务中目标指令所执行的运算为所述预设哈希运算。
143.一种可能的实施方式中,控制单元,还用于:确定每个所述特征量化子信息所对应的量化权重;以及基于所述量化权重对所述至少一个特征量化子信息进行加权求和,得到加权求和结果;以及在所述加权求和结果大于或者等于第一阈值的情况下,确定所述至少一个特征量化子信息满足所述预设量化要求。
144.一种可能的实施方式中,控制单元,还用于:将所述至少一个特征量化子信息进行累加求和,得到累加求和结果;以及在所述累加求和结果大于或者等于第二阈值的情况下,确定所述至少一个特征量化子信息满足所述预设量化要求。
145.一种可能的实施方式中,控制单元,还用于:基于所述任务执行信息确定所述目标任务的特征量化信息;所述特征量化信息用于指示所述目标任务中目标指令所执行运算和所述预设哈希运算之间的匹配程度;以及在确定所述特征量化信息满足预设量化要求的情况下,确定所述目标任务所对应的运算为所述预设哈希运算。
146.一种可能的实施方式中,控制单元,还用于:获取样本指令数据库;所述样本指令数据库中包含执行所述预设哈希运算的哈希运算指令的预设指令运算特征;以及确定所述任务执行信息所指示指令运算特征和所述样本指令数据库中预设指令运算特征之间的匹配程度,并基于所述匹配程度确定所述目标任务的特征量化信息。
147.一种可能的实施方式中,控制单元,还用于:在检测到目标触发事件的情况下,在预设录制时间段内录制所述运算单元所执行哈希运算指令的指令运算特征;以及将所述哈希运算指令的指令运算特征作为所述哈希运算指令的预设指令运算特征保存至所述样本指令数据库中。
148.一种可能的实施方式中,控制单元,还用于:在确定检测到非法入侵的哈希运算指令之后,生成入侵预警信息和/或任务结束信号,其中,所述入侵预警信息用于指示监测到入侵操作,所述任务结束信号用于控制所述运算单元结束执行所述目标任务。
149.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
150.对应于图1中的指令监控方法,本公开实施例还提供了一种电子设备700,如图7所示,为本公开实施例提供的电子设备700结构示意图,包括:
151.处理单元71、存储单元72、和总线73;存储单元72用于存储执行指令,包括内存721和外部存储单元722;这里的内存721也称内存储单元,用于暂时存放处理单元71中的运算数据,以及与硬盘等外部存储单元722交换的数据,处理单元71通过内存721与外部存储单元722进行数据交换,当所述电子设备700运行时,所述处理单元71与所述存储单元72之间通过总线73通信,使得所述处理单元71执行以下指令:
152.获取运算单元在当前时刻所执行的目标任务;其中,所述目标任务中包含至少一个目标指令;
153.确定所述目标任务的任务执行信息;其中,所述任务执行信息用于指示所述目标任务中所包含的目标指令的指令运算特征;
154.在基于所述任务执行信息确定所述目标任务中目标指令所执行的运算为预设哈希运算的情况下,确定检测到非法入侵的哈希运算指令。
155.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理单元运行时执行上述方法实施例中所述的指令监控方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
156.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的指令监控方法的步骤,具体可参见上述方法实施例,在此不再赘述。
157.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
158.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
159.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
160.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
161.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理单元可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务单元,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储单元(read-only memory,rom)、随机存取存储单元(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
162.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

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

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

相关文献