一种保护设备运行时安全的方法、装置及存储介质与流程

文档序号:23689687发布日期:2021-01-23 09:57阅读:65来源:国知局
一种保护设备运行时安全的方法、装置及存储介质与流程

[0001]
本发明涉及设备安全技术领域,特别涉及一种保护设备运行时安全的方法、装置及存储介质。


背景技术:

[0002]
物联网(internet of things,iot)是基于互联网、传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络。接入物联网的这些普通物体即物联网设备,也称为iot设备。
[0003]
物联网设备比传统计算设备更具智能性、互联性,但同时也存在更多安全隐患。现有技术中,传统安全状态机模型虽然可以配置到设备中以防御外部攻击,但是因为实现比较复杂,并不适用于轻量级的iot设备,因此在现阶段的物联网设备安全领域中,缺少适用于iot设备防御外部攻击的状态机模型。


技术实现要素:

[0004]
有鉴于此,本发明的目的在于提供了一种保护设备运行时安全的方法、装置及存储介质,对于系统结构简单且功能单一的轻量级设备来说,能够有效防御外部攻击。
[0005]
为了达到上述目的,本发明提供了如下技术方案:
[0006]
一种保护设备运行时安全的方法,包括:
[0007]
设备首次启动后,创建主状态机;
[0008]
主状态机收集初始设备状态信息,将初始设备状态信息存储到设备的存储介质中,并创建子状态机;
[0009]
子状态机定期收集当前设备状态信息,根据当前设备状态信息和设备的存储介质中存储的初始设备状态信息确定子状态机的状态,根据子状态机的状态确定设备运行异常时,对设备进行异常处理。
[0010]
一种保护设备运行时安全的装置,包括:处理器、以及与所述处理器通过总线相连的非瞬时计算机可读存储介质;
[0011]
所述非瞬时计算机可读存储介质,存储有可被所述处理器执行的一个或多个计算机程序;所述处理器执行所述一个或多个计算机程序时实现上述保护设备运行时安全的方法中的步骤。
[0012]
一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上述保护设备运行时安全的方法中的步骤。
[0013]
由上面的技术方案可知,本发明中,利用主状态机收集初始设备状态信息,利用从状态机定期收集当前设备状态信息,根据初始设备状态信息和当前设备状态信息确定子状态机的状态,进而根据子状态机的状态确定设备运行异常时,对设备进行异常处理。本发明提供的技术方案适用于系统结构较为简单,功能也较为单一的轻量级设备(例如iot设备),
由于这种设备上电启动后设备状态信息通常不会发生变化,只有在被攻击时设备状态信息才会发生变化,而应用本发明的方案则可以及时检测出设备状态信息变化,从而确定设备运行异常并进行相应的异常处理,因此可以有效防御外部攻击。
附图说明
[0014]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]
图1是本发明实施例一保护设备运行时安全的方法流程图;
[0016]
图2是本发明实施例二保护设备运行时安全的方法流程图;
[0017]
图3是本发明实施例三保护设备运行时安全的方法流程图;
[0018]
图4是本发明实施例四保护设备运行时安全的方法流程图;
[0019]
图5是本发明实施例五保护设备运行时安全的方法流程图;
[0020]
图6是本发明实施例六保护设备运行时安全的方法流程图;
[0021]
图7是本发明实施例七保护设备运行时安全的方法流程图;
[0022]
图8是本发明实施例八保护设备运行时安全的方法流程图;
[0023]
图9是本发明实施例保护设备运行时安全的装置的结构示意图。
具体实施方式
[0024]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0025]
本申请中,对于系统结构较为简单且功能也较为单一的设备,针对这类设备上电启动后未受到攻击的情况下设备状态信息基本不变化的特点,提出了收集初始设备状态信息和定期收集当前设备状态信息,并据此确定设备是否运行异常,设备运行异常时进行相应的异常处理,以达到预防外部攻击的目的的技术方案。另外需要说明的是,对于满足上电后未受攻击的情况下设备状态信息基本不变化的特点的设备,即使系统结构比较复杂或功能比较复杂,也同样可以应用本发明的技术方案,即本发明也同样适用于这样的设备。
[0026]
以下结合附图对本发明实施例进行详细说明:
[0027]
参见图1,图1是本发明实施例一保护设备运行时安全的方法流程图,如图1所示,该方法包括以下步骤:
[0028]
步骤101、设备首次启动后,创建主状态机;
[0029]
步骤102、主状态机收集初始设备状态信息,将初始设备状态信息存储到设备的存储介质中,并创建子状态机;
[0030]
本实施例中,设备状态信息包括:硬件状态信息、系统状态信息、和进程状态信息。主状态机在被创建之后,收集设备的硬件状态信息、系统状态信息、和进程状态信息,将这些信息作为初始设备状态信息存储到设备的存储介质中,以用于后续确定子状态机的状
态。
[0031]
步骤103、子状态机定期收集当前设备状态信息,根据当前设备状态信息和设备的存储介质中存储的初始设备状态信息确定子状态机的状态,根据子状态机的状态确定设备是否运行异常,设备运行异常时,执行步骤104,否则,再次执行步骤103;
[0032]
本实施例中,主状态机负责收集初始设备状态信息,子状态机则负责定期收集当前设备状态信息,利用初始设备状态信息和当前设备状态信息确定子状态机的状态,进而根据子状态机的状态确定设备的运行状态。
[0033]
步骤104、对设备进行异常处理。
[0034]
从图1所示方法可知,本实施例中,利用主状态机收集初始设备状态信息,利用从状态机定期收集当前设备状态信息,根据初始设备状态信息和当前设备状态信息确定子状态机的状态,进而确定设备是否运行异常,并在设备运行异常时对设备进行异常处理。应用本实施例提供的方法,可以使得设备在被攻击时能够及时检测出设备运行异常并进行异常处理,因此能够有效防御外部攻击。
[0035]
参见图2,图2是本发明实施例二保护设备运行时安全的方法流程图,如图2所示,该方法包括以下步骤:
[0036]
步骤201、设备首次启动后,创建主状态机;
[0037]
步骤202、主状态机收集初始设备状态信息,将初始设备状态信息存储到设备的存储介质中,并创建子状态机;
[0038]
本实施例中,设备状态信息包括:硬件状态信息、系统状态信息、和进程状态信息。
[0039]
步骤2031、子状态机定期收集当前设备状态信息;
[0040]
步骤2032、判断当前设备状态信息和设备的存储介质中存储的初始设备状态信息是否相同,两者相同,则执行步骤2033,否则,执行步骤2034;
[0041]
本实施例中,子状态机的状态有以下几种:正常状态、异常状态、和故障状态。
[0042]
步骤2033、确定子状态机的状态为正常状态;
[0043]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息相同时,确定子状态机的状态是正常状态。
[0044]
步骤2034、确定子状态机处于非正常状态,增加子状态机的连续非正常状态次数,如果子状态机的连续非正常状态次数未超过预设阈值,则确定子状态机的状态为异常状态,否则,确定子状态机的状态为故障状态。
[0045]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息不相同时,确定子状态机的状态是非正常状态,此时可以增加子状态机的连续非正常状态次数,并根据子状态机的连续非正常状态次数区分子状态机的异常状态和故障状态。
[0046]
以上步骤2032至步骤2034是图1所示步骤103中“根据当前设备状态信息和设备的存储介质中存储的初始设备状态信息确定子状态机的状态”的具体细化。
[0047]
步骤2035、根据子状态机的状态确定设备是否运行异常,设备运行异常时,执行步骤2036,否则,返回执行步骤2031;
[0048]
步骤2036、对设备进行异常处理。
[0049]
以上步骤2031至步骤2036是图1所示步骤103的具体细化。
[0050]
从图2所示方法可知,本实施例中,利用主状态机收集初始设备状态信息,利用从
状态机定期收集当前设备状态信息,根据初始设备状态信息和当前设备状态信息区分子状态机的正常状态和非正常状态,并利用子状态机的连续非正常状态次数区分子状态机的异常状态和故障状态,从而可以根据子状态机的具体状态确定设备是否运行异常,并在设备运行异常时对设备进行相应的异常处理。应用本实施例提供的方法,可以使得设备在被攻击时能够及时检测出设备运行异常并进行相应的异常处理,因此能够有效防御外部攻击。
[0051]
参见图3,图3是本发明实施例三保护设备运行时安全的方法流程图,如图3所示,该方法包括以下步骤:
[0052]
步骤301、设备首次启动后,创建主状态机;
[0053]
步骤302、主状态机收集初始设备状态信息,将初始设备状态信息存储到设备的存储介质中,并创建子状态机;
[0054]
本实施例中,设备状态信息包括:硬件状态信息、系统状态信息、和进程状态信息。
[0055]
步骤3031、子状态机定期收集当前设备状态信息;
[0056]
本实施例中,子状态机在被创建之初,会将子状态机的连续非正常状态次数初始化为0后存储到设备的存储介质中。
[0057]
步骤3032、判断当前设备状态信息和设备的存储介质中存储的初始设备状态信息是否相同,两者相同,则执行步骤3033,否则,执行步骤3034;
[0058]
本实施例中,子状态机的状态有以下几种:正常状态、异常状态、和故障状态。
[0059]
步骤3033、确定子状态机的状态为正常状态,如果设备的存储介质中存储的子状态机的连续非正常状态次数不为0,则将设备的存储介质中存储的子状态机的连续非正常次数更新为0;
[0060]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息相同时,确定子状态机的状态是正常状态,此时如果设备的存储介质中存储的子状态机的连续非正常次数不为0,则会对其进行修正。
[0061]
步骤3034、确定子状态机处于非正常状态,增加设备的存储介质中存储的子状态机的连续非正常状态次数,如果子状态机的连续非正常状态次数未超过预设阈值,则确定子状态机的状态为异常状态,否则,确定子状态机的状态为故障状态。
[0062]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息不相同时,确定子状态机的状态是非正常状态,此时可以增加设备的存储介质中存储的子状态机的连续非正常状态次数,并根据子状态机的连续非正常状态次数区分子状态机的异常状态和故障状态。
[0063]
上述步骤3034是图2所示步骤2034的具体细化。
[0064]
以上步骤3032至步骤3034是图1所示步骤103中“根据当前设备状态信息和设备的存储介质中存储的初始设备状态信息确定子状态机的状态”的具体细化。
[0065]
步骤3035、根据子状态机的状态确定设备是否运行异常,设备运行异常时,执行步骤3036,否则,返回执行步骤3031;
[0066]
步骤3036、对设备进行异常处理。
[0067]
以上步骤3031至步骤3036是图1所示步骤103的具体细化。
[0068]
从图3所示方法可知,本实施例中,利用主状态机收集初始设备状态信息,利用从状态机定期收集当前设备状态信息,根据初始设备状态信息和当前设备状态信息区分子状
态机的正常状态和非正常状态,并利用子状态机的连续非正常状态次数区分子状态机的异常状态和故障状态,从而可以根据子状态机的具体状态确定设备是否运行异常,并在设备运行异常时对设备进行相应的异常处理。另外,本实施例中,还通过将子状态机的连续非正常状态次数存储到设备的存储介质中,使得即使设备重启也不会影响对子状态机的连续非正常状态次数的计数结果,因此可以避免对子状态机的状态的误判。应用本实施例提供的方法,可以使得设备在被攻击时能够及时检测出设备运行异常并进行相应的异常处理,因此能够有效防御外部攻击。
[0069]
参见图4,图4是本发明实施例四保护设备运行时安全的方法流程图,如图4所示,该方法包括以下步骤:
[0070]
步骤401、设备首次启动后,创建主状态机;
[0071]
步骤402、主状态机收集初始设备状态信息,将初始设备状态信息存储到设备的存储介质中,并创建子状态机;
[0072]
本实施例中,设备状态信息包括:硬件状态信息、系统状态信息、和进程状态信息。
[0073]
步骤4031、子状态机定期收集当前设备状态信息;
[0074]
本实施例中,子状态机在被创建之初,会将子状态机的连续非正常状态次数初始化为0后存储到设备的存储介质中。
[0075]
步骤4032、判断当前设备状态信息和设备的存储介质中存储的初始设备状态信息是否相同,两者相同,则执行步骤4033,否则,执行步骤4034;
[0076]
本实施例中,子状态机的状态有以下几种:正常状态、异常状态、和故障状态。
[0077]
步骤4033、确定子状态机的状态为正常状态,如果设备的存储介质中存储的子状态机的连续非正常状态次数不为0,则将设备的存储介质中存储的子状态机的连续非正常次数更新为0;
[0078]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息相同时,确定子状态机的状态是正常状态,此时如果设备的存储介质中存储的子状态机的连续非正常次数不为0,则会对其进行修正。
[0079]
步骤4034、确定子状态机处于非正常状态,增加设备的存储介质中存储的子状态机的连续非正常状态次数,如果子状态机的连续非正常状态次数未超过预设阈值,则确定子状态机的状态为异常状态,否则,确定子状态机的状态为故障状态。
[0080]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息不相同时,确定子状态机的状态是非正常状态,此时可以增加设备的存储介质中存储的子状态机的连续非正常状态次数,并根据子状态机的连续非正常状态次数区分子状态机的异常状态和故障状态。
[0081]
以上步骤4032至步骤4034是图1所示步骤103中“根据当前设备状态信息和设备的存储介质中存储的初始设备状态信息确定子状态机的状态”的具体细化。
[0082]
步骤4035a、当子状态机的状态为异常状态时,确定设备运行异常,执行步骤4036a;
[0083]
步骤4035b、当子状态机的状态为故障状态时,确定设备运行异常,执行4036b;
[0084]
步骤4035c、当子状态机的状态为正常状态时,确定设备运行正常,返回执行步骤4031;
[0085]
步骤4036a、重启设备;
[0086]
本实施例中,重启设备后,子状态机的状态恢复到正常状态。
[0087]
步骤4036b、挂起设备的操作系统,并输出重置系统提示,如果接收到用户基于重置系统提示触发的重置系统指令,则重置设备的操作系统,以使设备恢复出厂设置。
[0088]
以上步骤4031至步骤4036b是图1所示步骤103的具体细化。
[0089]
从图4所示方法可知,本实施例中,利用主状态机收集初始设备状态信息,利用从状态机定期收集当前设备状态信息,根据初始设备状态信息和当前设备状态信息区分子状态机的正常状态和非正常状态,并利用子状态机的连续非正常状态次数区分子状态机的异常状态和故障状态,从而可以根据子状态机的具体状态确定设备是否运行异常,并在设备运行异常时根据子状态机的具体状态对设备进行相应的异常处理。另外,本实施例中,通过将子状态机的连续非正常状态次数存储到设备的存储介质中,使得即使设备重启也不会影响对子状态机的连续非正常状态次数的计数结果,因此可以避免对子状态机的状态的误判。应用本实施例提供的方法,可以使得设备在被攻击时能够及时检测出设备运行异常并进行相应的异常处理,因此能够有效防御外部攻击。
[0090]
参见图5,图5是本发明实施例五保护设备运行时安全的方法流程图,如图5所示,该方法包括以下步骤:
[0091]
步骤501、设备首次启动后,创建主状态机;
[0092]
步骤502、主状态机收集初始设备状态信息,将初始设备状态信息存储到设备的存储介质中,并创建子状态机;
[0093]
本实施例中,设备状态信息包括:硬件状态信息、系统状态信息、和进程状态信息。
[0094]
步骤5031、子状态机定期收集当前设备状态信息;
[0095]
本实施例中,子状态机在被创建之初或在设备重启后,将子状态机的状态设置为正常状态后存储到存储设备的存储介质中。
[0096]
步骤5032、判断当前设备状态信息和设备的存储介质中存储的初始设备状态信息是否相同,两者相同,则执行步骤5033,否则,执行步骤5034a;
[0097]
本实施例中,子状态机的状态有以下几种:正常状态、异常状态、和故障状态。
[0098]
步骤5033、确定子状态机的状态为正常状态,如果设备的存储介质中存储的子状态机的状态不是正常状态,则将设备的存储介质中存储的子状态机的状态更新为正常状态;
[0099]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息相同时,确定子状态机的状态是正常状态。
[0100]
步骤5034a、确定子状态机处于非正常状态,增加子状态机的连续非正常状态次数;
[0101]
步骤5034b、判断子状态机的连续非正常状态次数是否未超过预设阈值,如果是,则执行步骤5034c,否则,执行步骤5034d;
[0102]
步骤5034c、确定子状态机的状态为异常状态,若设备的存储介质中存储的子状态机的状态不是异常状态,则将设备的存储介质中存储的子状态机的状态更新为异常状态;
[0103]
步骤5034d、确定子状态机的状态为故障状态,若设备的存储介质中存储的子状态机的状态不是故障状态,则将设备的存储介质中存储的子状态机的状态更新为故障状态。
[0104]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息不相同时,确定子状态机的状态是非正常状态,此时可以增加子状态机的连续非正常状态次数,并根据子状态机的连续非正常状态次数区分子状态机的异常状态和故障状态。
[0105]
以上步骤5032至步骤5034d是图1所示步骤103中“根据当前设备状态信息和设备的存储介质中存储的初始设备状态信息确定子状态机的状态”的具体细化。
[0106]
步骤5035、根据子状态机的状态确定设备是否运行异常,设备运行异常时,执行步骤5036,否则,返回执行步骤5031;
[0107]
步骤5036、对设备进行异常处理。
[0108]
以上步骤5031至步骤5036是图1所示步骤103的具体细化。
[0109]
从图5所示方法可知,本实施例中,利用主状态机收集初始设备状态信息,利用从状态机定期收集当前设备状态信息,根据初始设备状态信息和当前设备状态信息确定子状态机的状态并更新到设备的存储介质中,使得设备或设备上的功能模块不需要与子状态机交互就可以获得子状态机的状态;同时还根据子状态机的状态确定设备是否运行异常,并在设备运行异常时对设备进行相应的异常处理。应用本实施例提供的方法,可以使得设备在被攻击时能够及时检测出设备运行异常并进行相应的异常处理,因此能够有效防御外部攻击。
[0110]
参见图6,图6是本发明实施例六保护设备运行时安全的方法流程图,如图6所示,该方法包括以下步骤:
[0111]
步骤601、设备首次启动后,创建主状态机;
[0112]
步骤602、主状态机收集初始设备状态信息,将初始设备状态信息存储到设备的存储介质中,并创建子状态机,在主状态机中记录子状态机的状态为正常状态;
[0113]
本实施例中,设备状态信息包括:硬件状态信息、系统状态信息、和进程状态信息。
[0114]
步骤6031、子状态机定期收集当前设备状态信息;
[0115]
本实施例中,子状态机在被创建之初或在设备重启后,将子状态机的状态设置为正常状态后存储到存储设备的存储介质中。
[0116]
步骤6032、判断当前设备状态信息和设备的存储介质中存储的初始设备状态信息是否相同,两者相同,则执行步骤6033a,否则,执行步骤6034a;
[0117]
本实施例中,子状态机的状态有以下几种:正常状态、异常状态、和故障状态。
[0118]
步骤6033a、确定子状态机的状态为正常状态;
[0119]
步骤6033b、判断设备的存储介质中存储的子状态机的状态是否是正常状态,如果是,则执行步骤6035,否则,执行步骤6033c;
[0120]
步骤6033c、子状态向主状态机发送携带正常状态的修改状态请求;
[0121]
步骤6033d、主状态机接收子状态机的更新状态请求,向子状态机发送修改状态响应,并将主状态机的状态设置为挂起状态;
[0122]
本实施例中,主状态机在被创建之初和设备重启后,将主状态机的状态设置为正常状态。
[0123]
步骤6033e、子状态机接收主状态机的修改状态响应,将设备的存储介质中存储的子状态机的状态修改为正常状态,并发送修改状态完成通知;
[0124]
步骤6033f、主状态机接收子状态机的修改状态完成通知,将记录的子状态机的状
态修改为修改状态请求携带的正常状态,并恢复主状态机的正常状态。
[0125]
以上步骤6033c至步骤6033f是图5所示步骤5033中“将设备的存储介质中存储的子状态机的状态更新为正常状态”的具体细化。
[0126]
以上步骤6033a至步骤6033f是图5所示步骤5033的具体细化。
[0127]
步骤6034a、确定子状态机处于非正常状态,增加子状态机的连续非正常状态次数;
[0128]
步骤6034b、判断子状态机的连续非正常状态次数是否未超过预设阈值,如果是,则执行步骤6034c_1,否则,执行步骤6034d_1;
[0129]
步骤6034c_1、确定子状态机的状态为异常状态;
[0130]
步骤6034c_2、判断设备的存储介质中存储的子状态机的状态是否是异常状态,如果是,则执行步骤6035,否则,执行步骤6034c_3;
[0131]
步骤6034c_3、子状态向主状态机发送携带异常状态的修改状态请求;
[0132]
步骤6034c_4、主状态机接收子状态机的更新状态请求,向子状态机发送修改状态响应,并将主状态机的状态设置为挂起状态;
[0133]
本实施例中,主状态机在被创建之初和设备重启后,将主状态机的状态设置为正常状态。
[0134]
步骤6034c_5、子状态机接收主状态机的修改状态响应,将设备的存储介质中存储的子状态机的状态修改为异常状态,并发送修改状态完成通知;
[0135]
步骤6034c_6、主状态机接收子状态机的修改状态完成通知,将记录的子状态机的状态修改为修改状态请求携带的异常状态,并恢复主状态机的正常状态。
[0136]
以上步骤6034c_3至步骤6034c_6是图5所示步骤5034c中“将设备的存储介质中存储的子状态机的状态更新为异常状态”的具体细化。
[0137]
以上步骤6034c_1至步骤6034c_6是图5所示步骤5034c的具体细化。
[0138]
步骤6034d_1、确定子状态机的状态为故障状态;
[0139]
步骤6034d_2、判断设备的存储介质中存储的子状态机的状态是否是故障状态,如果是,则执行步骤6035,否则,执行步骤6034d_3;
[0140]
步骤6034d_3、子状态向主状态机发送携带故障状态的修改状态请求;
[0141]
步骤6034d_4、主状态机接收子状态机的更新状态请求,向子状态机发送修改状态响应,并将主状态机的状态设置为挂起状态;
[0142]
步骤6034d_5、子状态机接收主状态机的修改状态响应,将设备的存储介质中存储的子状态机的状态修改为故障状态,并发送修改状态完成通知;
[0143]
步骤6034d_6、主状态机接收子状态机的修改状态完成通知,将记录的子状态机的状态修改为修改状态请求携带的故障状态,并恢复主状态机的正常状态。
[0144]
以上步骤6034d_3至步骤6034d_6是图5所示步骤5034d中“将设备的存储介质中存储的子状态机的状态更新为故障状态”的具体细化。
[0145]
以上步骤6034d_1至步骤6034d_6是图5所示步骤5034d的具体细化。
[0146]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息不相同时,确定子状态机的状态是非正常状态,此时可以增加子状态机的连续非正常状态次数,并根据子状态机的连续非正常状态次数区分子状态机的异常状态和故障状态。
[0147]
以上步骤6032至步骤6034d_6是图1所示步骤103中“根据当前设备状态信息和设备的存储介质中存储的初始设备状态信息确定子状态机的状态”的具体细化。
[0148]
根据上述步骤6033c至步骤6033f给出的“将设备的存储介质中存储的子状态机的状态更新为正常状态”的具体方法,步骤6034c_3至步骤6034c_6给出的“将设备的存储介质中存储的子状态机的状态更新为异常状态”的集具体方法,以及步骤6034d_3至步骤6034d_6给出的“将设备的存储介质中存储的子状态机的状态更新为故障状态”的集具体方法,可以推知,本实施例中,将设备的存储介质中存储的子状态机的状态更新为正常状态、异常状态、或故障状态的实现方法具体可以包括如下步骤:
[0149]
s11、子状态机向主状态机发送携带子状态机将要更新到的状态的修改状态请求;
[0150]
s12、主状态机接收子状态机的更新状态请求,向子状态机发送修改状态响应,并将主状态机的状态设置为挂起状态;
[0151]
s13、子状态机接收主状态机的修改状态响应,将设备的存储介质中存储的子状态机的状态修改为子状态机将要更新到的状态,并发送修改状态完成通知;
[0152]
s14、主状态机接收子状态机的修改状态完成通知,将记录的子状态机的状态修改为更新状态请求携带的子状态机将要更新到的状态,并恢复主状态机的正常状态。
[0153]
步骤6035、根据子状态机的状态确定设备是否运行异常,设备运行异常时,执行步骤6036,否则,返回执行步骤6031;
[0154]
步骤6036、对设备进行异常处理。
[0155]
以上步骤6031至步骤6036是图1所示步骤103的具体细化。
[0156]
从图6所示方法可知,本实施例中,利用主状态机收集初始设备状态信息,利用从状态机定期收集当前设备状态信息,根据初始设备状态信息和当前设备状态信息确定子状态机的状态,当子状态机的状态与设备的存储介质中存储的子状态机的状态不一致时,通知主状态机后对设备的存储介质中存储的子状态机的状态进行修改,使得主状态机同步获知子状态机的状态变化;同时还根据子状态机的状态确定设备是否运行异常,并在设备运行异常时对设备进行相应的异常处理。应用本实施例提供的方法,可以使得设备在被攻击时能够及时检测出设备运行异常并进行相应的异常处理,因此能够有效防御外部攻击。
[0157]
参见图7,图7是本发明实施例七保护设备运行时安全的方法流程图,如图7所示,该方法包括以下步骤:
[0158]
步骤701、设备首次启动后,创建主状态机;
[0159]
步骤702、主状态机收集初始设备状态信息,将初始设备状态信息存储到设备的存储介质中,并创建子状态机,在主状态机中记录子状态机的状态为正常状态;
[0160]
本实施例中,设备状态信息包括:硬件状态信息、系统状态信息、和进程状态信息。
[0161]
本实施例中,步骤702之后有两个并行分支,分支一是:步骤70a;分支2是:步骤7031至步骤7036。
[0162]
步骤70a、主状态机定期检测设备的存储介质中存储的子状态机的状态,如果设备的存储介质中存储的子状态机的状态与主状态机记录的子状态机的状态不同,则确定设备运行异常,重启设备。
[0163]
步骤7031、子状态机定期收集当前设备状态信息;
[0164]
本实施例中,子状态机在被创建之初或在设备重启后,将子状态机的状态设置为
正常状态后存储到存储设备的存储介质中。
[0165]
步骤7032、判断当前设备状态信息和设备的存储介质中存储的初始设备状态信息是否相同,两者相同,则执行步骤7033a,否则,执行步骤7034a;
[0166]
本实施例中,子状态机的状态有以下几种:正常状态、异常状态、和故障状态。
[0167]
步骤7033a、确定子状态机的状态为正常状态;
[0168]
步骤7033b、判断设备的存储介质中存储的子状态机的状态是否是正常状态,如果是,则执行步骤7035,否则,执行步骤7033c;
[0169]
步骤7033c、子状态向主状态机发送携带正常状态的修改状态请求;
[0170]
步骤7033d、主状态机接收子状态机的更新状态请求,向子状态机发送修改状态响应,并将主状态机的状态设置为挂起状态;
[0171]
本实施例中,主状态机在被创建之初和设备重启后,将主状态机的状态设置为正常状态。
[0172]
步骤7033e、子状态机接收主状态机的修改状态响应,将设备的存储介质中存储的子状态机的状态修改为正常状态,并发送修改状态完成通知;
[0173]
步骤7033f、主状态机接收子状态机的修改状态完成通知,将记录的子状态机的状态修改为修改状态请求携带的正常状态,并恢复主状态机的正常状态。
[0174]
以上步骤7033c至步骤7033f是图5所示步骤5033中“将设备的存储介质中存储的子状态机的状态更新为正常状态”的具体细化。
[0175]
以上步骤7033a至步骤7033f是图5所示步骤5033的具体细化。
[0176]
步骤7034a、确定子状态机处于非正常状态,增加子状态机的连续非正常状态次数;
[0177]
步骤7034b、判断子状态机的连续非正常状态次数是否未超过预设阈值,如果是,则执行步骤7034c_1,否则,执行步骤7034d_1;
[0178]
步骤7034c_1、确定子状态机的状态为异常状态;
[0179]
步骤7034c_2、判断设备的存储介质中存储的子状态机的状态是否是异常状态,如果是,则执行步骤7035,否则,执行步骤7034c_3;
[0180]
步骤7034c_3、子状态向主状态机发送携带异常状态的修改状态请求;
[0181]
步骤7034c_4、主状态机接收子状态机的更新状态请求,向子状态机发送修改状态响应,并将主状态机的状态设置为挂起状态;
[0182]
本实施例中,主状态机在被创建之初和设备重启后,将主状态机的状态设置为正常状态。
[0183]
步骤7034c_5、子状态机接收主状态机的修改状态响应,将设备的存储介质中存储的子状态机的状态修改为异常状态,并发送修改状态完成通知;
[0184]
步骤7034c_6、主状态机接收子状态机的修改状态完成通知,将记录的子状态机的状态修改为修改状态请求携带的异常状态,并恢复主状态机的正常状态。
[0185]
以上步骤7034c_3至步骤7034c_6是图5所示步骤5034c中“将设备的存储介质中存储的子状态机的状态更新为异常状态”的具体细化。
[0186]
以上步骤7034c_1至步骤7034c_6是图5所示步骤5034c的具体细化。
[0187]
步骤7034d_1、确定子状态机的状态为故障状态;
[0188]
步骤7034d_2、判断设备的存储介质中存储的子状态机的状态是否是故障状态,如果是,则执行步骤7035,否则,执行步骤7034d_3;
[0189]
步骤7034d_3、子状态机向主状态机发送携带故障状态的修改状态请求;
[0190]
步骤7034d_4、主状态机接收子状态机的更新状态请求,向子状态机发送修改状态响应,并将主状态机的状态设置为挂起状态;
[0191]
步骤7034d_5、子状态机接收主状态机的修改状态响应,将设备的存储介质中存储的子状态机的状态修改为故障状态,并发送修改状态完成通知;
[0192]
步骤7034d_6、主状态机接收子状态机的修改状态完成通知,将记录的子状态机的状态修改为修改状态请求携带的故障状态,并恢复主状态机的正常状态。
[0193]
以上步骤7034d_3至步骤7034d_6是图5所示步骤5034d中“将设备的存储介质中存储的子状态机的状态更新为故障状态”的具体细化。
[0194]
以上步骤7034d_1至步骤7034d_6是图5所示步骤5034d的具体细化。
[0195]
以上步骤7032至步骤7034d_6是图1所示步骤103中“根据当前设备状态信息和设备的存储介质中存储的初始设备状态信息确定子状态机的状态”的具体细化。
[0196]
步骤7035、根据子状态机的状态确定设备是否运行异常,设备运行异常时,执行步骤7036,否则,返回执行步骤7031;
[0197]
步骤7036、对设备进行异常处理。
[0198]
以上步骤7031至步骤7036是图1所示步骤103的具体细化。
[0199]
从图7所示方法可知,本实施例中,利用主状态机收集初始设备状态信息,利用从状态机定期收集当前设备状态信息,根据初始设备状态信息和当前设备状态信息确定子状态机的状态,当子状态机的状态与设备的存储介质中存储的子状态机的状态不一致时,通知主状态机后对设备的存储介质中存储的子状态机的状态进行修改,使得主状态机同步获知子状态机的状态变化;同时还根据子状态机的状态确定设备是否运行异常,并在设备运行异常时对设备进行相应的异常处理。另外,主状态机还定期检测设备的存储介质中存储的子状态机的状态是否与主状态机记录的子状态机的状态一致,不一致则重启设备,以此来防止子状态机的状态被篡改。应用本实施例提供的方法,可以使得设备在被攻击时能够及时检测出设备运行异常并进行相应的异常处理,因此能够有效防御外部攻击。
[0200]
参见图8,图8是本发明实施例八保护设备运行时安全的方法流程图,如图8所示,该方法包括以下步骤:
[0201]
步骤801、设备首次启动后,创建主状态机;
[0202]
步骤802、主状态机收集初始设备状态信息,将初始设备状态信息存储到设备的存储介质中,并创建子状态机,另外还生成一用于加密设备状态信息的状态秘钥,并将状态秘钥存储到设备的存储介质中。
[0203]
本实施例中,设备状态信息包括:硬件状态信息、系统状态信息、和进程状态信息。
[0204]
本实施例中,主状态机在设备每次启动(包括重启)后,可以随机生成一用于加密设备状态信息的状态秘钥,并将状态秘钥存储到设备的存储介质中,以用于后续对设备状态信息进行加密。
[0205]
步骤8031、子状态机定期收集当前设备状态信息;
[0206]
步骤8032a、利用设备的存储介质中存储的状态秘钥对当前设备状态信息、以及设
备的存储介质中存储的初始设备状态信息进行加密;
[0207]
步骤8032b、比较加密后的当前设备状态信息和加密后的初始设备状态信息,如果两者相同,则执行步骤8032c,否则,执行步骤8032d;
[0208]
步骤8032c、确定当前设备状态信息和设备的存储介质中存储的初始设备状态信息相同,执行步骤8033;
[0209]
步骤8032d、确定当前设备状态信息和设备的存储介质中存储的初始设备状态信息不相同,执行步骤8034;
[0210]
以上步骤8032a至步骤8032d是图2所示步骤8032的具体细化。
[0211]
步骤8033、确定子状态机的状态为正常状态;
[0212]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息相同时,确定子状态机的状态是正常状态。
[0213]
步骤8034、确定子状态机处于非正常状态,增加子状态机的连续非正常状态次数,如果子状态机的连续非正常状态次数未超过预设阈值,则确定子状态机的状态为异常状态,否则,确定子状态机的状态为故障状态。
[0214]
本实施例中,子状态机收集的当前设备状态信息与初始设备状态信息不相同时,确定子状态机的状态是非正常状态,此时可以增加子状态机的连续非正常状态次数,并根据子状态机的连续非正常状态次数区分子状态机的异常状态和故障状态。
[0215]
以上步骤8032至步骤8034是图1所示步骤103中“根据当前设备状态信息和设备的存储介质中存储的初始设备状态信息确定子状态机的状态”的具体细化。
[0216]
步骤8035、根据子状态机的状态确定设备是否运行异常,设备运行异常时,执行步骤8036,否则,返回执行步骤8031;
[0217]
步骤8036、对设备进行异常处理。
[0218]
以上步骤8031至步骤8036是图1所示步骤103的具体细化。
[0219]
从图8所示方法可知,本实施例中,利用主状态机收集初始设备状态信息,利用从状态机定期收集当前设备状态信息,使用主状态机生成的状态秘钥对初始设备状态信息和当前设备状态信息进行加密后比较相同与否,并据此确定子状态机的状态,从而可以根据子状态机的具体状态确定设备是否运行异常,并在设备运行异常时对设备进行相应的异常处理。另外,本实施例中通过利用主状态机生成状态秘钥,攻击者要绕过子状态机的状态检测,需要获取状态秘钥,而获取偷取状态秘钥通常会造成设备状态信息改变,从而子状态机会触发对设备的异常处理,达到主动防御攻击的目的。应用本实施例提供的方法,可以使得设备在被攻击时能够及时检测出设备运行异常并进行相应的异常处理,因此能够有效防御外部攻击。
[0220]
以上对本发明实施例提供的保护设备运行时安全的方法进行了详细说明,可以看出,本发明实施例提供的方案中,提出了一种用于保护设备运行时安全的状态机模型(主状态机和子状态机互相配合的模型),拥有异常检测、主动防御攻击等功能,可以保护设备运行时的安全。
[0221]
本发明实施例还提供了一种保护设备运行时安全的装置,以下结合图9进行详细说明。
[0222]
参见图9,图9是本发明实施例保护设备运行时安全的装置的结构示意图,如图9所
示,该装置包括:处理器901、以及与所述处理器901通过总线相连的非瞬时计算机可读存储介质902;
[0223]
所述非瞬时计算机可读存储介质902,存储有可被所述处理器901执行的一个或多个计算机程序;所述处理器执行所述一个或多个计算机程序时实现图1至图8中任一图所示的保护设备运行时安全的方法中的步骤。
[0224]
本发明实施例还提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如图1至图8中任一图所示的保护设备运行时安全的方法中的步骤。
[0225]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1