指定共识合约执行进程的识别方法、装置、设备及介质转让专利

申请号 : CN202311303215.6

文献号 : CN117033146B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 关墨辰李旗肖新光

申请人 : 北京安天网络安全技术有限公司

摘要 :

本申请提供一种指定共识合约执行进程的识别方法、装置、设备及介质,涉及网络完全领域。该方法包括:在目标时间段内,每当目标进程调用任一关键指令集时,确定当前调用的关键指令集所对应的调用信息,以得到调用信息列表D;根据D和预设的名称‑数量映射表,确定目标数量列表集B;根据D,确定总数量列表NUM;根据B和NUM,获取目标比例列表L;若PL>Y1且FL<Y2,则将所述目标进程确定为指定共识合约执行进程;其中,Y1为预设比例阈值,Y2为预设比例波动阈值,PL为关键比例,FL为比例波动值;PL和FL根据L确定。本申请能准确的识别出指定共识合约执行进程。

权利要求 :

1.一种指定共识合约执行进程的识别方法,其特征在于,包括:

S100,在目标时间段内,每当目标进程调用任一关键指令集时,确定当前调用的关键指令集所对应的调用信息,以得到调用信息列表D=(D1,D2,…,Di,…,Dn);Di=(TIMEi,NAMEi);i=1,2,…,n;其中,n为目标时间段内目标进程调用关键指令集的次数;Di为目标进程调用的第i个关键指令集所对应的调用信息;TIMEi为目标进程调用第i个关键指令集的时间,NAMEi为目标进程调用的第i个关键指令集的指令集名称;关键指令集的执行用于加速对应的预设函数的执行;

S200,根据D和预设的名称‑数量映射表,确定目标数量列表集B=(B1,B2,…,Bi,…,Bn);

其中,Bi为Di对应关键指令集加速的预设函数中目标指令的执行次数;

S300,根据D,确定总数量列表NUM=(NUM1,NUM2,…,NUMi,…,NUMn);其中,NUMi为Di对应的总数量,且若i=1,2,…,n‑1,则NUMi为TIMEi到TIMEi+1的时间段内所述目标进程执行的任意指令的总数量,若i=n,则NUMi为TIMEi到TIMEi+(TIMEn‑TIME1)/(n‑1)的时间段内所述目标进程执行的任意指令的总数量;

S400,根据B和NUM,获取目标比例列表L=(L1,L2,…,Li,…,Ln);其中,Li为第i个目标比例,Li=Bi/NUMi;

S500,若PL>Y1且FL<Y2,则将所述目标进程确定为指定共识合约执行进程;其中,Y1n为预设比例阈值,Y2为预设比例波动阈值,PL为关键比例,FL为比例波动值;PL=(∑i=1Li)/n 2 1/2n;FL=((∑i=1(Li‑PL))/n) 。

2.根据权利要求1所述的指定共识合约执行进程的识别方法,其特征在于,目标时间段由p个依次相连且长度相同的子时间段组成;

所述步骤S500,包括:

S510,若PL>Y1,且FL<Y2,则获取目标时间段对应的内存平均占用率列表C和显存平均占用率列表G;其中,C=(C1,C2,…,Cq,…,Cp);q=1,2,…,p;Cq为第q个子时间段内目标进程所对应的内存平均占用率;G=(G1,G2,…,Gq,…,Gp);Gq为第q个子时间段内目标进程所对应的显存平均占用率;

S520,根据C和G,确定存储占用特征向量CT=(CT1,CT2,…,CTq,…,CTp);CTq=(Cq,Gq);CTq为CT内第q个特征参数组;

S530,将CT输入预设的K‑means分类模块中,若K‑means分类模块未将CT分类至任一预设的分类集合中,则将所述目标进程确定为指定共识合约执行进程;其中,预设的分类集合根据已知的机器学习执行进程和/或游戏执行进程确定。

3.根据权利要求1所述的指定共识合约执行进程的识别方法,其特征在于,在所述步骤S100之后,所述方法还包括:S110,根据D,确定时间间隔列表S=(S1,S2,…,Sj,…,Sm),j=1,2,…,m;m=n‑1;其中,m为时间间隔的数量,Sj为S中第j个时间间隔,Sj=TIMEj+1‑TIMEj;

所述步骤S500,包括:

S501,若PL>Y1、FL<Y2且SD<Y3,则将所述目标进程确定为指定共识合约执行进程;

m

其中,SD为时长波动值,SD=(∑j=1(Sj‑avg(S)))/m;Y3为预设时间量波动阈值。

4.根据权利要求1所述的指定共识合约执行进程的识别方法,其特征在于,名称‑数量映射表YS=(YS1,YS2,…,YSb,…,YSd);YSb=(YNANEb,YNb);b=1,2,…,d;其中,d为预设的关键指令集的数量;YSb为预设的第b个关键指令集对应的映射关系信息;YNANEb为预设的第b个关键指令集对应的指令集名称,YNb为预设的第b个关键指令集对应的映射数量。

5.根据权利要求4所述的指定共识合约执行进程的识别方法,其特征在于,所述步骤S200,包括:S210,遍历D,若NAMEi=YNANEb,则确定Bi=YNb。

6.根据权利要求1所述的指定共识合约执行进程的识别方法,其特征在于,所述目标指令包括以下至少之一:位运算指令、浮点运算指令、乘法指令、除法指令、减法指令、加法指令、向量运算指令。

7.根据权利要求1所述的指定共识合约执行进程的识别方法,其特征在于,在所述步骤S100之前,所述方法还包括:S000,响应于在预设时长内CPU占用率或GPU占用率持续大于预设占用率阈值,将当前CPU占用率或GPU占用率最大的进程确定为目标进程,并进入步骤S100。

8.一种指定共识合约执行进程的识别装置,其特征在于,包括:

获取模块,用于在目标时间段内,每当目标进程调用任一关键指令集时,确定当前调用的关键指令集所对应的调用信息,以得到调用信息列表D=(D1,D2,…,Di,…,Dn);Di=(TIMEi,NAMEi);i=1,2,…,n;其中,n为目标时间段内目标进程调用关键指令集的次数;Di为目标进程调用的第i个关键指令集所对应的调用信息;TIMEi为目标进程调用第i个关键指令集的时间,NAMEi为目标进程调用的第i个关键指令集的指令集名称;

映射模块,用于根据D和预设的名称‑数量映射表,确定目标数量列表集B=(B1,B2,…,Bi,…,Bn);其中,Bi为Di对应关键指令集中目标指令的数量;

数量确定模块,用于根据D,确定总数量列表NUM=(NUM1,NUM2,…,NUMi,…,NUMn);其中,NUMi为Di对应的总数量,且若i=1,2,…,n‑1,则NUMi为TIMEi到TIMEi+1的时间段内所述目标进程执行的任意指令的总数量,若i=n,则NUMi为TIMEi到TIMEi+(TIMEn‑TIME1)/(n‑1)的时间段内所述目标进程执行的任意指令的总数量;

比例确定模块,用于根据B和NUM,获取目标比例列表L=(L1,L2,…,Li,…,Ln);其中,Li为第i个目标比例,Li=Bi/NUMi;

判定模块,用于在PL>Y1且FL<Y2的情况下,将所述目标进程确定为指定共识合约执行进程;其中,Y1为预设比例阈值,Y2为预设比例波动阈值,PL为关键比例,FL为比例波动n n 2 1/2值;PL=(∑i=1Li)/n;FL=((∑i=1(Li‑PL))/n) 。

9.一种电子设备,其特征在于,包括处理器和存储器;

所述处理器用于通过调用所述存储器存储的程序或指令,执行如权利要求1至7任一项所述方法的步骤。

10.一种非瞬时性计算机可读存储介质,其特征在于,所述非瞬时性计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至7任一项所述方法的步骤。

说明书 :

指定共识合约执行进程的识别方法、装置、设备及介质

技术领域

[0001] 本申请涉及网络完全领域,尤其涉及一种指定共识合约执行进程的识别方法、装置、设备及介质。

背景技术

[0002] 在一些识别执行共识合约的进程的方法中,会根据进程执行的指令进行确定。但这种方法需要建立相应的监控进程对计算机执行的指令进行监控和记录。然后再根据执行的指令的特征对进程是否正在执行共识合约进行识别。但由于计算机执行指令的速度极快,故而这种方法需要的算力极大,在运行过程中会影响计算机的性能。

发明内容

[0003] 有鉴于此,本申请提供一种指定共识合约执行进程的识别方法、装置、设备及介质,为解决识别执行共识合约的进程时算力占用过大的问题。
[0004] 在本申请的一方面,提供一种指定共识合约执行进程的识别方法,包括:
[0005] S100,在目标时间段内,每当目标进程调用任一关键指令集时,确定当前调用的关键指令集所对应的调用信息,以得到调用信息列表D=(D1,D2,…,Di,…,Dn);Di=(TIMEi,NAMEi);i=1,2,…,n;其中,n为目标时间段内目标进程调用关键指令集的次数;Di为目标进程调用的第i个关键指令集所对应的调用信息;TIMEi为目标进程调用第i个关键指令集的时间,NAMEi为目标进程调用的第i个关键指令集的指令集名称;关键指令集的执行用于加速对应的预设函数的执行;
[0006] S200,根据D和预设的名称‑数量映射表,确定目标数量列表集B=(B1,B2,…,Bi,…,Bn);其中,Bi为Di对应关键指令集加速的预设函数中目标指令的执行次数;
[0007] S300,根据D,确定总数量列表NUM=(NUM1,NUM2,…,NUMi,…,NUMn);其中,NUMi为Di对应的总数量,且若i=1,2,…,n‑1,则NUMi为TIMEi到TIMEi+1的时间段内所述目标进程执行的任意指令的总数量,若i=n,则NUMi为TIMEi到TIMEi+(TIMEn‑TIME1)/(n‑1)的时间段内所述目标进程执行的任意指令的总数量;
[0008] S400,根据B和NUM,获取目标比例列表L=(L1,L2,…,Li,…,Ln);其中,Li为第i个目标比例,Li=Bi/NUMi;
[0009] S500,若PL>Y1且FL<Y2,则将所述目标进程确定为指定共识合约执行进程;其中,Y1为预设比例阈值,Y2为预设比例波动阈值,PL为关键比例,FL为比例波动值;PL=n n 2 1/2(∑i=1Li)/n;FL=((∑i=1(Li‑PL))/n) 。
[0010] 在本申请的一种示例性实施例中,目标时间段由p个依次相连且长度相同的子时间段组成;
[0011] 所述步骤S500,包括:
[0012] S510,若PL>Y1,且FL<Y2,则获取目标时间段对应的内存平均占用率列表C和显存平均占用率列表G;其中,C=(C1,C2,…,Cq,…,Cp);q=1,2,…,p;Cq为第q个子时间段内目标进程所对应的内存平均占用率;G=(G1,G2,…,Gq,…,Gp);Gq为第q个子时间段内目标进程所对应的显存平均占用率;
[0013] S520,根据C和G,确定存储占用特征向量CT=(CT1,CT2,…,CTq,…,CTp);CTq=(Cq,Gq);CTq为CT内第q个特征参数组;
[0014] S530,将CT输入预设的K‑means分类模块中,若K‑means分类模块未将CT分类至任一预设的分类集合中,则将所述目标进程确定为指定共识合约执行进程;其中,预设的分类集合根据已知的机器学习执行进程和/或游戏执行进程确定。
[0015] 在本申请的一种示例性实施例中,在所述步骤S100之后,所述方法还包括:
[0016] S110,根据D,确定时间间隔列表S=(S1,S2,…,Sj,…,Sm),j=1,2,…,m;m=n‑1;其中,m为时间间隔的数量,Sj为S中第j个时间间隔,Sj=TIMEj+1‑TIMEj;
[0017] 所述步骤S500,包括:
[0018] S501,若PL>Y1、FL<Y2且SD<Y3,则将所述目标进程确定为指定共识合约执行进m程;其中,SD为时长波动值,SD=(∑j=1(Sj‑avg(S)))/m;Y3为预设时间量波动阈值。
[0019] 在本申请的一种示例性实施例中,名称‑数量映射表YS=(YS1,YS2,…,YSb,…,YSd);YSb=(YNANEb,YNb);b=1,2,…,d;其中,d为预设的关键指令集的数量;YSb为预设的第b个关键指令集对应的映射关系信息;YNANEb为预设的第b个关键指令集对应的指令集名称,YNb为预设的第b个关键指令集对应的映射数量。
[0020] 在本申请的一种示例性实施例中,所述步骤S200,包括:
[0021] S210,遍历D,若NAMEi=YNANEb,则确定Bi=YNb。
[0022] 在本申请的一种示例性实施例中,所述目标指令包括以下至少之一:
[0023] 位运算指令、浮点运算指令、乘法指令、除法指令、减法指令、加法指令、向量运算指令。
[0024] 在本申请的一种示例性实施例中,在所述步骤S100之前,所述方法还包括:
[0025] S000,响应于在预设时长内CPU占用率或GPU占用率持续大于预设占用率阈值,将当前CPU占用率或GPU占用率最大的进程确定为目标进程,并进入步骤S100。
[0026] 在本申请的另一方面,提供一种指定共识合约执行进程的识别装置,包括:
[0027] 获取模块,用于在目标时间段内,每当目标进程调用任一关键指令集时,确定当前调用的关键指令集所对应的调用信息,以得到调用信息列表D=(D1,D2,…,Di,…,Dn);Di=(TIMEi,NAMEi);i=1,2,…,n;其中,n为目标时间段内目标进程调用关键指令集的次数;Di为目标进程调用的第i个关键指令集所对应的调用信息;TIMEi为目标进程调用第i个关键指令集的时间,NAMEi为目标进程调用的第i个关键指令集的指令集名称;
[0028] 映射模块,用于根据D和预设的名称‑数量映射表,确定目标数量列表集B=(B1,B2,…,Bi,…,Bn);其中,Bi为Di对应关键指令集中目标指令的数量;
[0029] 数量确定模块,用于根据D,确定总数量列表NUM=(NUM1,NUM2,…,NUMi,…,NUMn);其中,NUMi为Di对应的总数量,且若i=1,2,…,n‑1,则NUMi为TIMEi到TIMEi+1的时间段内所述目标进程执行的任意指令的总数量,若i=n,则NUMi为TIMEi到TIMEi+(TIMEn‑TIME1)/(n‑1)的时间段内所述目标进程执行的任意指令的总数量;
[0030] 比例确定模块,用于根据B和NUM,获取目标比例列表L=(L1,L2,…,Li,…,Ln);其中,Li为第i个目标比例,Li=Bi/NUMi;
[0031] 判定模块,用于在PL>Y1且FL<Y2的情况下,将所述目标进程确定为指定共识合约执行进程;其中,Y1为预设比例阈值,Y2为预设比例波动阈值,PL为关键比例,FL为比例波n n 2 1/2动值;PL=(∑i=1Li)/n;FL=((∑i=1(Li‑PL))/n) 。
[0032] 在本申请的另一方面,提供一种电子设备,包括处理器和存储器;
[0033] 所述处理器用于通过调用所述存储器存储的程序或指令,执行上述方法的步骤。
[0034] 在本申请的另一方面,提供一种非瞬时性计算机可读存储介质,所述非瞬时性计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行上述方法的步骤。
[0035] 有益效果:
[0036] 本申请提供的指定共识合约执行进程的识别方法,会在目标时间段内,内当目标进程调用任意用于加速对应的预设函数的执行的关键指令集时,获取其调用的关键指令集所对应的调用信息。然后根据预设的名称‑数量映射表每一关键指令集加速的预设函数中目标指令的执行次数。由于进程在执行共识合约时,会大量的调用本申请中规定的预设函数(如各类哈希函数),同时,执行共识合约的进程为了在采用工作量证明机制的区块链中得到更多的奖励,会在调用预设函数时同时调用对应的加速指令集(即关键指令集)。故而,本申请中,能够通过调用信息列表D和预设的名称‑数量映射表,近似的确定出目标进程执行目标指令的数量。从而实现了不需要对计算机执行的每一指令进行监控,而仅需要对少数的几个关键指令集的调用进行监控即可获得目标数量列表集B。从而降低了确定目标进程执行的目标指令的数量时所需要的算力。
[0037] 同时,经试验确定,执行共识合约的进程,执行目标指令的比例相较于正常的进程要高。且执行预设函数是以相对稳定的周期性进行执行的。故而,本申请中,会根据目标进程每相邻两次的调用关键指令集的时间间隔内,靠前一次调用的关键指令集赌赢的目标数量和目标进程执行的任意指令的总数量之间比例特征,以及比例的波动情况,确定目标进程执行执行目标指令的比例是否较高钱呈现稳定的周期性。依次快速判断目标进程是否正在执行指定共识合约(即采取工作量证明机制的区块链的共识合约)。
[0038] 进一步的,本申请中得到的总数量列表NUM,由于不用区分不同的指令的类型,故而仅采用简单的计数器即可,也不需要消耗多大的算力。

附图说明

[0039] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0040] 图1为本申请实施例提供的一种指定共识合约执行进程的识别方法的流程图;
[0041] 图2为本申请实施例提供的一种指定共识合约执行进程的识别装置的结构框图。

具体实施方式

[0042] 下面结合附图对本申请实施例进行详细描述。
[0043] 需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0044] 需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0045] 请参考图1所示,在本申请的一方面,提供一种指定共识合约执行进程的识别方法,包括:
[0046] S100,在目标时间段内,每当目标进程调用任一关键指令集时,确定当前调用的关键指令集所对应的调用信息,以得到调用信息列表D=(D1,D2,…,Di,…,Dn);Di=(TIMEi,NAMEi);i=1,2,…,n;其中,n为目标时间段内目标进程调用关键指令集的次数;Di为目标进程调用的第i个关键指令集所对应的调用信息;TIMEi为目标进程调用第i个关键指令集的时间,NAMEi为目标进程调用的第i个关键指令集的指令集名称;关键指令集的执行用于加速对应的预设函数的执行。具体的,预设函数可以为SHA1、SHA256等哈希函数。关键指令集可以为SHA1MSG1,SHA1MSG2,SHA1NEXTE,SHA1RNDS4,SHA256MSG1,SHA256MSG2,SHA256RNDS2等指令集。
[0047] 进一步的,在一些示例性实施例中,目标进程调用任一关键指令集并获取对应的调用信息可以通过对上述的每一关键指令集中添加预设的信息返回指令,是的每一关键指令集被调用执行时,能够自动返回对应的调用信息,从而避免了设置监控模块对进程的调用操作进行监控,进一步解约了算力。
[0048] S200,根据D和预设的名称‑数量映射表,确定目标数量列表集B=(B1,B2,…,Bi,…,Bn);其中,Bi为Di对应关键指令集加速的预设函数中目标指令的执行次数。
[0049] 本实施例中,目标指令是预先指定的,其数量可以为一个或多个,本申请中目标指令可以包括以下至少之一:位运算指令、浮点运算指令、乘法指令、除法指令、减法指令、加法指令、向量运算指令。优选的,本申请中,目标指令包括以上每一。
[0050] 具体的,名称‑数量映射表YS=(YS1,YS2,…,YSb,…,YSd);YSb=(YNANEb,YNb);b=1,2,…,d;其中,d为预设的关键指令集的数量;YSb为预设的第b个关键指令集对应的映射关系信息;YNANEb为预设的第b个关键指令集对应的指令集名称,YNb为预设的第b个关键指令集对应的映射数量。
[0051] 在本申请的一种示例性实施例中,所述步骤S200,包括:
[0052] S210,遍历D,若NAMEi=YNANEb,则确定Bi=YNb。
[0053] S300,根据D,确定总数量列表NUM=(NUM1,NUM2,…,NUMi,…,NUMn);其中,NUMi为Di对应的总数量,且若i=1,2,…,n‑1,则NUMi为TIMEi到TIMEi+1的时间段内所述目标进程执行的任意指令的总数量,若i=n,则NUMi为TIMEi到TIMEi+(TIMEn‑TIME1)/(n‑1)的时间段内所述目标进程执行的任意指令的总数量。
[0054] 具体的,由于Dn是目标进程最后一次调用的关键指令集,所以无法直接确定出其与下一次调用关键指令集时的时间间隔。故而,本实施例中,将前面每个时间间隔的均值作为最后一个时间间隔,以尽可能保证后续处理过程的数据准确性。
[0055] S400,根据B和NUM,获取目标比例列表L=(L1,L2,…,Li,…,Ln);其中,Li为第i个目标比例,Li=Bi/NUMi。
[0056] S500,若PL>Y1且FL<Y2,则将所述目标进程确定为指定共识合约执行进程。其中,Y1为预设比例阈值,Y2为预设比例波动阈值,PL为关键比例,FL为比例波动值;PL=n n 2 1/2(∑i=1Li)/n;FL=((∑i=1(Li‑PL))/n) 。
[0057] 本实施例提供的指定共识合约执行进程的识别方法,会在目标时间段内,内当目标进程调用任意用于加速对应的预设函数的执行的关键指令集时,获取其调用的关键指令集所对应的调用信息。然后根据预设的名称‑数量映射表每一关键指令集加速的预设函数中目标指令的执行次数。由于进程在执行共识合约时,会大量的调用本实施例中规定的预设函数(如各类哈希函数),同时,执行共识合约的进程为了在采用工作量证明机制的区块链中得到更多的奖励,会在调用预设函数时同时调用对应的加速指令集(即关键指令集)。故而,本实施例中,能够通过调用信息列表D和预设的名称‑数量映射表,近似的确定出目标进程执行目标指令的数量。从而实现了不需要对计算机执行的每一指令进行监控,而仅需要对少数的几个关键指令集的调用进行监控即可获得目标数量列表集B。从而降低了确定目标进程执行的目标指令的数量时所需要的算力。
[0058] 并且,由于正常的安全加密进程和机器学习进程虽然也会大量的执行目标指令,但这类正常的进程不会大量的调用本申请中的关键指令集。故而,根据本申请提供的方法所确定的目标指令的执行数量更加准确且能够直接将正常的安全加密进程和机器学习进程等过滤掉,从而降低误报率。
[0059] 同时,经试验确定,执行共识合约的进程,执行目标指令的比例相较于正常的进程要高。且执行预设函数是以相对稳定的周期性进行执行的。故而,本实施例中,会根据目标进程每相邻两次的调用关键指令集的时间间隔内,靠前一次调用的关键指令集赌赢的目标数量和目标进程执行的任意指令的总数量之间比例特征,以及比例的波动情况,确定目标进程执行执行目标指令的比例是否较高钱呈现稳定的周期性。依次快速判断目标进程是否正在执行指定共识合约(即采取工作量证明机制的区块链的共识合约)。
[0060] 进一步的,本实施例中得到的总数量列表NUM,由于不用区分不同的指令的类型,故而仅采用简单的计数器即可,也不需要消耗多大的算力。
[0061] 在本申请的一种示例性实施例中,目标时间段由p个依次相连且长度相同的子时间段组成。
[0062] 同时,所述步骤S500,包括:
[0063] S510,若PL>Y1,且FL<Y2,则获取目标时间段对应的内存平均占用率列表C和显存平均占用率列表G;其中,C=(C1,C2,…,Cq,…,Cp);q=1,2,…,p;Cq为第q个子时间段内目标进程所对应的内存平均占用率;G=(G1,G2,…,Gq,…,Gp);Gq为第q个子时间段内目标进程所对应的显存平均占用率。
[0064] S520,根据C和G,确定存储占用特征向量CT=(CT1,CT2,…,CTq,…,CTp);CTq=(Cq,Gq);CTq为CT内第q个特征参数组。
[0065] S530,将CT输入预设的K‑means分类模块中,若K‑means分类模块未将CT分类至任一预设的分类集合中,则将所述目标进程确定为指定共识合约执行进程;其中,预设的分类集合根据已知的机器学习执行进程和/或游戏执行进程确定。
[0066] 共识合约相关指令的在执行时,其对内存和显存的占用特征与机器学习和加密计算等正常行为的特征时存在差异的。故而,本实施例中,为了进一步降低误报率,在PL>Y1,且FL<Y2的情况下,会进一步获取目标时间段内每一子时间段内目标进程所对应的内存平均占用率以及显存平均占用率,并建立对应的存储占用特征向量CT,使得CT能够同时包含目标进程的内存占用特征和显存占用特征。并使用预设的K‑means分类模块,在K‑means分类模块未将CT分类至任一预设的分类集合中时,将所述目标进程确定为指定共识合约执行进程。
[0067] 由于共识合约的更新较快且相互之间差异较大,若在用已知的执行指定共识合约的特征建立分类集合,且在CT被分类至任意分类集合中时,将目标进程确定为指定共识合约执行进程,会导致若目标进程执行的是新的共识合约时,无法进行有效检出。故而,本申请中,预设的分类集合根据已知的机器学习执行进程和/或游戏执行进程确定,能够有效提高对新的共识合约的执行进程的有效检出。
[0068] 在本申请的一种示例性实施例中,在所述步骤S100之后,所述方法还包括:
[0069] S110,根据D,确定时间间隔列表S=(S1,S2,…,Sj,…,Sm),j=1,2,…,m;m=n‑1;其中,m为时间间隔的数量,Sj为S中第j个时间间隔,Sj=TIMEj+1‑TIMEj;
[0070] 所述步骤S500,包括:
[0071] S501,若PL>Y1、FL<Y2且SD<Y3,则将所述目标进程确定为指定共识合约执行进m程;其中,SD为时长波动值,SD=(∑j=1(Sj‑avg(S)))/m;Y3为预设时间量波动阈值。
[0072] 经试验确定,进程在执行共识合约时,会周期性的调用哈希函数(哈希函数的执行会大量的执行上述的目标指令),而正常的进程在进行控制流的跳转时,往往是随机性的。故而,在本实施例中,会确定每相邻两次调用关键指令集的时间间隔,以得到S。并根据S中的若干时间间隔得到时长波动值,并与关键比例和比例波动值一起进行判定,以确定目标进程是否为指定共识合约执行进程,从而识别准确度。
[0073] 在本申请的一种示例性实施例中,在所述步骤S100之前,所述方法还包括:
[0074] S000,响应于在预设时长内CPU占用率或GPU占用率持续大于预设占用率阈值,将当前CPU占用率或GPU占用率最大的进程确定为目标进程,并进入步骤S100。
[0075] 本实施例中,为了进一步节约算力的使用,并不需要对电子设备中的每一进程都进行上述的处理步骤,而是仅在电子设备在第三设定时长内CPU占用率或GPU占用率持续大于预设占用率阈值时,将将当前CPU占用率或GPU占用率最大的进程确定为目标进程,并进入具体的异常进程判定处理。具体的,第三设定时长可以根据经验进行确定,本实施例中,第三设定时长为10分钟。
[0076] 请参考图2所示,在本申请的另一方面,提供一种指定共识合约执行进程的识别装置,包括:
[0077] 获取模块,用于在目标时间段内,每当目标进程调用任一关键指令集时,确定当前调用的关键指令集所对应的调用信息,以得到调用信息列表D=(D1,D2,…,Di,…,Dn);Di=(TIMEi,NAMEi);i=1,2,…,n;其中,n为目标时间段内目标进程调用关键指令集的次数;Di为目标进程调用的第i个关键指令集所对应的调用信息;TIMEi为目标进程调用第i个关键指令集的时间,NAMEi为目标进程调用的第i个关键指令集的指令集名称;
[0078] 映射模块,用于根据D和预设的名称‑数量映射表,确定目标数量列表集B=(B1,B2,…,Bi,…,Bn);其中,Bi为Di对应关键指令集中目标指令的数量;
[0079] 数量确定模块,用于根据D,确定总数量列表NUM=(NUM1,NUM2,…,NUMi,…,NUMn);其中,NUMi为Di对应的总数量,且若i=1,2,…,n‑1,则NUMi为TIMEi到TIMEi+1的时间段内所述目标进程执行的任意指令的总数量,若i=n,则NUMi为TIMEi到TIMEi+(TIMEn‑TIME1)/(n‑1)的时间段内所述目标进程执行的任意指令的总数量;
[0080] 比例确定模块,用于根据B和NUM,获取目标比例列表L=(L1,L2,…,Li,…,Ln);其中,Li为第i个目标比例,Li=Bi/NUMi;
[0081] 判定模块,用于在PL>Y1且FL<Y2的情况下,将所述目标进程确定为指定共识合约执行进程;其中,Y1为预设比例阈值,Y2为预设比例波动阈值,PL为关键比例,FL为比例波n n 2 1/2动值;PL=(∑i=1Li)/n;FL=((∑i=1(Li‑PL))/n) 。
[0082] 此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0083] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
[0084] 在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0085] 所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0086] 根据本申请的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0087] 电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同系统组件(包括储存器和处理器)的总线。
[0088] 其中,所述储存器存储有程序代码,所述程序代码可以被所述处理器执行,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
[0089] 储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(RAM)和/或高速缓存储存器,还可以进一步包括只读储存器(ROM)。
[0090] 储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0091] 总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0092] 电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0093] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0094] 在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
[0095] 所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0096] 计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0097] 可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0098] 可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0099] 此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0100] 应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0101] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。