[发明专利]用于监控机动车控制器工作系统中的堆栈存储器的方法在审
申请号: | 201410059234.3 | 申请日: | 2014-02-21 |
公开(公告)号: | CN104008049A | 公开(公告)日: | 2014-08-27 |
发明(设计)人: | C.库茨 | 申请(专利权)人: | 罗伯特·博世有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/52 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 梁冰;杨国治 |
地址: | 德国斯*** | 国省代码: | 德国;DE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 监控 机动车 控制器 工作 系统 中的 堆栈 存储器 方法 | ||
技术领域
本发明涉及一种用于对于在机动车的控制器的工作系统中的堆栈存储器进行监控的方法。
背景技术
本发明涉及用于机动车控制器的工作系统,所述工作系统尤其可以是实时的。例如,这种工作系统是根据OSEK标准(“Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug(用于机动车中的电子装置的敞开系统及其接口)”)的工作系统。“实时”被定义为在预先给定的时间间隔内可用的结果的确定的时间特性。例如,实时系统用在机动车中,以便能够使确定的敏感过程(发动机控制、ABS、安全气囊等)可以根据所定义的时间计划来进行。
对于用于这种工作系统的软件的编程来说,所谓的堆栈存储器(也称为下推存储器或者后进先出存储器)非常重要。用数据连续地写入并读取堆栈存储器。在此,适用LIFO(Last in First out(后进先出))原理,其中所述堆栈存储器以颠倒的顺序被读取,已经按该顺序对该堆栈存储器进行了写入。逐个地处理该堆栈存储器,也就是说,仅可以读取并处理所述堆栈存储器的当前的存储器输入。堆栈指针(stack pointer,也称为Stapelzeiger)包含了该当前存储器输入的存储器地址。
每条线(Thread)通常具有自身的堆栈存储器。在该相应的堆栈存储器中包含了作为各个存储器输入的参数、变量或者参数和变量的存储器地址,这些存储器输入对于执行所述线的子程序来说是必需的。此外,所述堆栈存储器还包含在处理了子程序之后对于线的继续来说必要的返回地址和返回值。
如果堆栈指针未包含当前存储器输入的存储器地址,而是包含了另一个存储器输入的存储器地址,则这会导致所述线的功能故障,导致所述工作系统的严重故障,以及甚至导致工作系统的损毁。例如,错误的可执行的程序代码可能导致这种功能故障和错误,通过该错误的可执行的程序代码不允许对于堆栈存储器进行数据存取。
然而,攻击者通常也利用这个薄弱环节。例如,攻击者借助于堆栈存储器的返回地址导致执行恶意的程序代码或者有害的软件。
因此,值得追求的是,提供这样的可能性,即能够阻止由于对堆栈存储器的错误存取而导致的机动车中控制器的工作系统的故障功能。
发明内容
根据本发明,提出了一种具有权利要求1的特征的、用于监控在机动车的控制器的工作系统中的堆栈存储器的方法。从属权利要求的主题以及随后的说明是有利的设计方案。
在根据本发明的方法中,在执行一种可执行的程序代码之前,检查堆栈存储器的特征参数。在执行所述可执行的程序代码之后,重新检查所述堆栈存储器的特征参数。比较在执行所述可执行的程序代码之前和之后的堆栈存储器的特征参数,并且当在执行所述可执行的程序代码之前和之后的堆栈存储器的特征参数不同时,执行一种预先定义的动作。
本发明的优点:
可以在执行每个程序代码之前或之后执行根据本发明的方法。因此,基于对堆栈存储器的错误的存取检查每个程序代码。借助于根据本发明的方法可以立即识别出,何时可执行的程序代码对于堆栈存储器错误地进行了存取。
因此,识别出错误的程序代码,该错误的程序代码例如由于错误编码的软件共享对象、编码错误或编译错误而对于堆栈存储器错误地进行了存取。避免了对堆栈存储器的负面影响以及利用堆栈存储器的不固定的参数来执行代码。这对于履行安全相关的功能(例如ABS、EPS、安全气囊等)的机动车控制器、尤其是实时机动车控制器来说是特别有利的。
特征参数可以借助于检测代码来确定,在执行所述可执行的程序代码之前和之后执行该检测代码过程。在执行所述程序代码之前的特征参数被存储在专门的存储器区域中。在执行所述程序代码之后的当前的特征参数同样可以被存储,或者直接与在所述执行之前被存储的特征参数进行比较。
选择一参数来作为所述堆栈存储器的特征参数,根据该参数可以理解,是否对所述堆栈存储器错误地进行了存取。
堆栈指针有利地被用作堆栈存储器的特征参数。因此,监控了所述堆栈存储器的一种一致性条件,该一致性条件表明,在执行程序代码之前和之后所述堆栈指针应该指向堆栈存储器的相同的存储器输入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于罗伯特·博世有限公司,未经罗伯特·博世有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410059234.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有多畴显示的液晶面板及其制备方法
- 下一篇:节能环保投影笔