基于时态逻辑的微控制器运行时验证方法与流程

文档序号:12824607阅读:162来源:国知局
基于时态逻辑的微控制器运行时验证方法与流程

本发明主要涉及运行时验证以及形式化验证领域,尤其涉及基于时态逻辑的微控制器运行时验证方法。



背景技术:

随着计算机科学技术的发展,越来越多的嵌入式系统渗入到人们的生活之中。嵌入式系统的安全关系到人们生活的方方面面,包括医疗、交通、教育等等。一旦这样的系统受到攻击,带来的损失可能是巨大的甚至是不可估量的。而微控制器是所有嵌入式系统的心脏,保障微控制器的安全对嵌入式系统安全来说至关重要。

传统的微控制器的特点是资源有限、指令集简单、处理事件单一。随着芯片技术的发展,现在的微控制器结构变得更为复杂,而且嵌入式系统也在逐渐地网络化,使得微控制器面临着更多的被攻击可能性。如何保障微控制器的安全、稳定运行是一个值得深入研究的问题。

另外,运行时验证技术是一种检查系统的运行情况,判定系统是否符合给定的属性或者规范的验证技术。形式化验证技术指的是采用形式化方法来对系统进行验证的技术,判定系统是否满足特定的形式规约。

目前,运行时验证技术往往用于软件系统的验证,例如中国发明专利申请号为201510181988.0的发明专利申请,公开了一种可动态部署规则的java程序运行时验证系统,该系统运行于disl字节码注入框架之上,包括验证规则翻译器、部署管理器以及运行时引擎三个步骤,所述验证规则翻译器用于将验证规则定义文件翻译成由事件注入代码和规则验证代码组合成验证代码,所述部署管理器用于提供部署验证代码的相关用户接口;所述运行时引擎用于根据接收的验证代码中事件注入代码产生的事件序列,为每个监控对象维护一个事件序列,验证事件注入代码产生的事件序列是否与规则验证代码的事件序列相同,并根据验证情况通过部署管理器对事件注入代码进行实时部署优化。

然而,现有技术中没有将运行时验证技术和形式化验证技术用于微控制器的验证方法。传统上来说,保障微控制器安全的做法是通过改善微控制器的设计、数据加密等等。目前的验证方法较为复杂,而且成本较高,无法实现实时验证。



技术实现要素:

为解决以上问题,本发明提出了基于时态逻辑的微控制器运行时验证方法,通过将微控制器所执行的事件序列转换成由一串变量名表示的事件序列字符串,将微控制器需要满足的性质用ltl公式进行描述,判断事件序列字符串是否满足给定的ltl公式,来实现微控制器的运行时验证。

具体的,本发明提出了一种基于时态逻辑的微控制器运行时验证方法,包括:

事件接收步骤,实时接收并记录微控制器执行的每个事件;

事件预处理步骤,对事件接收步骤接收到的事件预处理,将事件转换成一个个独立的原子命题,然后为每个原子命题分配唯一的变量标识,建立上述变量标识与原子命题之间的一一映射,并输出事件序列字符串;

用户编辑步骤,给用户提供编辑界面,以供用户编辑原子命题以及ltl公式;

ltl验证步骤,验证所述微控制器执行所述事件序列字符串是否满足用户输入的ltl公式。

优选的,如上所述的基于时态逻辑的微控制器运行时验证方法,所述事件接收步骤将记录的微控制器执行的每个事件保存到日志文件中。

优选的,如上所述的基于时态逻辑的微控制器运行时验证方法,所述事件预处理步骤还将所述原子命题添加到原子命题集当中。

优选的,如上所述的基于时态逻辑的微控制器运行时验证方法,所述用户编辑步骤包括原子命题集编辑步骤和ltl公式编辑步骤。

优选的,如上所述的基于时态逻辑的微控制器运行时验证方法,所述原子命题集编辑步骤显示一个原子命题集列表,用户可以通过编辑所述列表对原子命题集中的原子命题进行编辑,删除不合理或者无用的原子命题,也可以添加新的原子命题到原子命题集中。

优选的,如上所述的基于时态逻辑的微控制器运行时验证方法,所述ltl公式编辑步骤提供ltl公式编辑窗口,以供用户编写ltl公式。

优选的,如上所述的基于时态逻辑的微控制器运行时验证方法,所述tlt公式编辑窗口设定ltl公式输入规则,可以自动屏蔽一些非法输入,同时可以对用户输入的ltl公式进行合法性检查,高亮出不合法的部分。

优选的,如上所述的基于时态逻辑的微控制器运行时验证方法,所述ltl验证步骤通过采用ltl验证算法来验证事件序列字符串是否满足上述ltl公式编辑步骤的ltl公式,并将验证结果反馈给微控制器。

优选的,如上所述的基于时态逻辑的微控制器运行时验证方法,所述ltl验证算法为传统的ltl算法,通过将ltl公式转换为büchi自动机,来判断事件序列字符串是否可以被büchi自动机所接受。

与现有的微控制器安全验证技术相比,本发明所述的基于时态逻辑的微控制器运行时验证方法,具有如下有益效果:

一、将运行时验证技术应用于微控制器安全验证,可以实现微控制器的实时验证。

二、将形式化方法应用到微控制器运行时验证,属于一大创新。

三、本方法维护了一个微控制器可执行事件原子命题集,可以在不知道微控制器可能执行哪些事件的情况下,通过接收微控制器所执行的事件序列,来自动分析出微控制器可能执行的事件,并且将这些事件添加到原子命题集当中,从而获得微控制器的可能性输出空间。

四、本方法提供了事件原子命题编辑界面,用户可以通过查看原子命题集中的原子命题来人工鉴别出一些非法事件。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

附图1示出了根据本发明实施例的基于时态逻辑的微控制器运行时验证方法流程图。

附图2示出了根据本发明实施例的用户编辑步骤的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明采用运行时验证技术以及形式化验证技术来提高微控制器的安全性。本发明采用形式化验证中的时态逻辑验证,同时结合运行时验证技术,设计了一种基于时态逻辑的微控制器运行时验证方法。

如图1所示,本发明公开了一种基于时态逻辑的微控制器运行时验证方法,所述方法包括如下步骤:

事件接收步骤s110,实时接收微控制器执行的每个事件并记录下来,保存到日志文件当中。

事件预处理步骤s120,首先将事件接收步骤s110所接收的事件转换成一个个相互独立的原子命题,然后为每个原子命题分配唯一的变量标识,建立起变量标识与原子命题之间的一一映射,并且输出事件序列字符串,最后将这些原子命题添加到原子命题集当中。

原子命题是不包含其他命题作为其组成部分的命题,即在结构上不能再分解出其他命题的命题.又称简单命题。原子命题不能带有非,或,且,如果,那么等联结词。

用户编辑步骤s130,给用户提供编辑界面,用户可以在这里编辑原子命题以及ltl(lineartemporallogic,线性时态逻辑)公式。线性时态逻辑(ltl)现今已被广泛运用于计算机科学领域(cs)。它常作为描述系统行为的性质语言,用在程序验证、程序综合与人工智能(ai)等研究方向。比方说,为了验证给定的系统是否满足其对应的性质规范(通常是用ltl来书写的),模型检测技术会将该性质的否定转成与其等价的buchi自动机,把它与系统模型求交得到新的自动机,并在这新的自动机上检查其接收的语言是否为空,从而可以判定系统是否满足该性质。

如图2所示,所述用户编辑步骤s130包括原子命题集编辑步骤s131,以及ltl公式编辑步骤s132。所述原子命题集编辑步骤s131显示一个原子命题集列表,用户可以通过编辑这个列表对原子命题集中的原子命题进行编辑,删除掉不合理或者无用的原子命题,也可以添加新的原子命题到原子命题集中。所述ltl公式编辑步骤s132提供了一个ltl公式编辑窗口,用户可以在这里编写ltl公式。所述tlt公式编辑窗口设定了严格的ltl公式输入规则,可以自动屏蔽一些非法输入,同时,可以对用户输入的ltl公式进行合法性检查,高亮出不合法的部分。

ltl验证步骤s140,验证微控制器执行事件序列字符串是否满足用户输入ltl公式。所述ltl验证步骤s140通过采用ltl验证算法来验证事件序列字符串是否满足用户定义的ltl公式,并且将验证结果反馈给微控制器。所述ltl验证算法为传统的ltl算法,通过将ltl公式转换为büchi自动机,来判断事件序列字符串是否可以被büchi自动机所接受,从而实现微控制器的运行时验证。

传统的ltl算法,包括gerth等人提出的on‐the‐fly直接转换算法和gastin和oddoux提出的基于vwaa的转换算法,在此不再赘述。

下面具体讲述本发明所述基于时态逻辑的微控制器运行时验证方法的一个实例。

实施例1

在实际的应用当中,可以通过jtag接口来对微控制器的执行进行监控,将其执行序列记录下来,保存在文件当中。例如微控制器按照顺序执行了以下几个事件:

读文件a;

读文件b;

访问网络;

写文件a;

写文件b;

这些事件将通过jtag接口进行监听并且实时接收,并保存到文件当中。

随后,将读取上述文件,首先对这些事件进行标识,标识成如下的形式:

a:读文件a;

b:读文件b;

c:访问网络;

d:写文件a;

e:写文件b;

随后,将这些标识好的原子命题存入原子命题集当中,并且形成一个事件序列字符串。形成的事件序列字符串如下:

a;b;c;d;e

事件预处理步骤s120可以是一个文件解析的过程。

用户编辑步骤s130基于eclipse平台实现,通过对eclipse平台进行扩展,建立起原子命题以及ltl公式编辑页面。

ltl验证步骤s140中,可以采用现有的形式化验证工具spin。spin是一个基于计算机科学的“形式化方法”,将先进的理论验证方法应用于大型复杂的软件系统当中的模型检测工具。spin可当做一个完整的ltl(lineartemporallogic,线性时态逻辑)模型检验系统来使用,支持所有的可用的线性时态逻辑表示的正确性验证要求,也可以在有效的on-the-fly即时即用检验系统中用来检验协议的安全特征。

on-the-fly验证技术,相对于传统的模型检测,它并不存储完整的系统模型,而是只存储使得当前的验证程序可以执行下去的信息,其原因在于实际的验证过程中,能用到的实时信息只是系统的很小的一部分,因此在使用on-the-fly技术时,若是系统不满足待验证的性质,往往能够在只建立了系统的一小部分模型就可以得出结果,on-the-fly技术的优势在于它大大的缩减了空间的需求,可以更好的处理大型系统。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的系统、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一根或多根,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的系统解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的步骤进行自适应性地改变并且把它们设置在与该实施例不同的一根或多根设备中。可以把实施例中的步骤或步骤或组件组合成一个步骤或步骤或组件,以及此外可以把它们分成多个步骤或子步骤或子组件。除了这样的特征和/或过程或者步骤中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何系统或者设备的所有过程或步骤进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件步骤实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的系统的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的步骤权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1