CN104008049A - 用于监控机动车控制器工作系统中的堆栈存储器的方法 - Google Patents

用于监控机动车控制器工作系统中的堆栈存储器的方法 Download PDF

Info

Publication number
CN104008049A
CN104008049A CN201410059234.3A CN201410059234A CN104008049A CN 104008049 A CN104008049 A CN 104008049A CN 201410059234 A CN201410059234 A CN 201410059234A CN 104008049 A CN104008049 A CN 104008049A
Authority
CN
China
Prior art keywords
program code
stacked memory
carry out
characteristic parameter
work system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410059234.3A
Other languages
English (en)
Inventor
C.库茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN104008049A publication Critical patent/CN104008049A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种用于对于在机动车的控制器的工作系统(100)中的堆栈存储器进行监控的方法,其中在执行一种能够执行的程序代码之前,检查(3)堆栈存储器的特征参数,在执行了所述能够执行的程序代码之后,检查(7)所述堆栈存储器的特征参数,比较(8)在执行所述能够执行的程序代码之前和之后的堆栈存储器的特征参数,并且当在执行所述能够执行的程序代码之前和之后的堆栈存储器的特征参数不同时,执行(20)一种预先定义的动作。

Description

用于监控机动车控制器工作系统中的堆栈存储器的方法
技术领域
本发明涉及一种用于对于在机动车的控制器的工作系统中的堆栈存储器进行监控的方法。
背景技术
本发明涉及用于机动车控制器的工作系统,所述工作系统尤其可以是实时的。例如,这种工作系统是根据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、安全气囊等)的机动车控制器、尤其是实时机动车控制器来说是特别有利的。
特征参数可以借助于检测代码来确定,在执行所述可执行的程序代码之前和之后执行该检测代码过程。在执行所述程序代码之前的特征参数被存储在专门的存储器区域中。在执行所述程序代码之后的当前的特征参数同样可以被存储,或者直接与在所述执行之前被存储的特征参数进行比较。
选择一参数来作为所述堆栈存储器的特征参数,根据该参数可以理解,是否对所述堆栈存储器错误地进行了存取。
堆栈指针有利地被用作堆栈存储器的特征参数。因此,监控了所述堆栈存储器的一种一致性条件,该一致性条件表明,在执行程序代码之前和之后所述堆栈指针应该指向堆栈存储器的相同的存储器输入。
例如,未被工作系统检测到的、堆栈指针的变化会导致,再次写入堆栈存储器的存储器输入和重要数据。像开头所述的那样,这可能导致线(Thread)的功能故障,导致工作系统的严重故障,或者甚至导致工作系统的损毁。这种错误或损坏可以通过本发明得以避免。此外,能识别出那些想不允许地对于堆栈指针或堆栈存储器进行存取的有害的软件和攻击者。
尤其能够阻止所述堆栈存储器的下溢或上溢。当下溢时,读取空的堆栈存储器。当上溢时,在堆栈存储器中不再存在足够的存储器位置来添加其它的存储器输入以及利用其它数据来写入堆栈存储器。因此可以阻止由于上溢和/或下溢而可能出现的程序损毁或功能故障。
所述可执行的程序代码优选设计为过程、功能、任务、下级程序、子程序和/或软件实体。可以由工作系统本身或者通过应用程序来执行该可执行的程序代码。原则上适合的是,在每次执行之前控制每个可执行的程序代码。
作为预先定义的动作,优选阻止重新执行所述可执行的程序代码。可执行的程序代码可以移动至一种隔离(Quarantäne)中。此外,可以向使用者发出故障报警和/或在故障报告中建立一种输入。
作为预先定义的动作,有利地在执行所述可执行的程序代码之前再次建立所述特征参数。因此,撤销了通过所述可执行的程序代码不期望地对于所述特征参数的改变。也可以设想,在执行所述可执行的程序代码之前,创建所述堆栈存储器的安全副本,并在执行所述可执行的程序代码之后重建该安全副本。
作为预先定义的动作,优选确定识别号码、文件路径和/或存储器地址,其描述了所述可执行的程序代码的特征。因此,明确地识别所述可执行的程序代码,并实现了正确的错误定位。这些关于所述可执行的程序代码的信息能够用于故障报警或故障报告。
在本发明的优选的实施方案中,通过一种包装(Wrapper)来检查所述堆栈存储器的特征参数。在信息提取领域中,把用于从确定的数据源里自动地提取(半)结构化的数据的程序称为“包装”。
在所述方法的过程中,所述包装由工作系统调出,或者也由其它程序、软件或软件实体调出。尤其可以通过执行了根据本发明的方法的实施方案的软件来调出该包装。可以适当地使用多个包装,尤其可以为每个单个的堆栈存储器使用自身的包装。
根据本发明的计算单元,例如机动车的控制器尤其在程序技术方面设计用于,执行根据本发明的方法。
以软件形式执行所述方法是有利的,因为这导致了特别低的成本,尤其当正在执行的控制器还用于其它任务,且因此本来就存在时。用于提供计算机程序的合适的数据载体尤其是软盘、硬盘、闪存、EEPROM、CD-ROM、DVD等。也可以通过计算机网络(因特网、内联网等)来下载程序。
由说明书和附图得到本发明的其它优点和设计方案。
当然,在不脱离本发明的框架的情况下,上文所述的和下文仍将阐述的特征不仅能以分别给出的组合、而且还能以其它组合或者单独地使用。
附图说明
根据实施例在附图中示意性地示出本发明,且在下文中参考所述附图详细地描述本发明。附图简要地示出:
图1示意性示出了根据本发明的方法的优选实施方案的框图。
具体实施方式
图1中示意性地示出根了据本发明的方法的优选实施方案来作为框图。所述方法的实施方案在工作系统的内部中运行,在图1中利用附图标记100示出了该工作系统。在该例子中,该工作系统100是OSEK工作系统,所述OSEK工作系统在机动车的控制器中运行。
在第一步骤1中,工作系统100记录了:应该执行一种任务形式的可执行的程序代码。然而工作系统10仍不执行该相应的任务,而是首先在步骤2中开始一种包装(Wrapper)。在步骤3中,所述包装由堆栈存储器中提取所属的堆栈指针来作为堆栈存储器的特征参数,并且在步骤4中,所述包装把堆栈指针的值存储在专门的存储器区域中。
在步骤5中,工作系统100执行所述任务。在执行了所述任务之后,在步骤6中所述工作系统100再次开始包装。在步骤7中,所述包装由堆栈存储器中提取当前的堆栈指针。在步骤8中,工作系统100对于在步骤7中已经测得的当前的堆栈指针的值和在步骤4中所存储的堆栈指针的值进行比较,并且检查,所述堆栈指针的所述两个值是否一致地相符合。
对于所述堆栈指针的两个值一致的情况来说,在步骤10中不执行其它的动作。对于所述堆栈指针的两个值不一致的情况来说,在步骤20中所述工作系统100在故障报告中建立一种输入。所述任务的存储器地址和文件路径作为故障报告的输入被存储。此外,在步骤20中所述工作系统100阻止所述任务,从而在稍后的时间点不能再执行所述任务。

Claims (10)

1. 一种用于监控机动车控制器工作系统(100)中的堆栈存储器的方法,其中
-在执行一种能够执行的程序代码之前,检查堆栈存储器的特征参数(3),
-在执行了所述能够执行的程序代码之后,检查所述堆栈存储器的特征参数(7),
-比较在执行所述能够执行的程序代码之前和之后的所述堆栈存储器的特征参数(8),以及
-当在执行所述能够执行的程序代码之前和之后的所述堆栈存储器的特征参数不同时,执行至少一个预先定义的动作(20)。
2. 根据权利要求1所述的方法,其中,所述堆栈存储器的特征参数是堆栈指针。
3. 根据权利要求1或2所述的方法,其中,所述能够执行的程序代码设计为过程、功能、任务、下级程序、子程序和/或软件实体。
4. 根据前述权利要求中任一项所述的方法,其中,作为预先定义的动作,阻止重新执行所述能够执行的程序代码。
5. 根据前述权利要求中任一项所述的方法,其中,作为预先定义的动作,在执行所述能够执行的程序代码之前再次建立特征参数。
6. 根据前述权利要求中任一项所述的方法,其中,作为预先定义的动作,确定识别号码、文件路径和/或存储器地址,其描述了所述能够执行的程序代码的特征。
7. 根据前述权利要求中任一项所述的方法,其中,通过包装功能来检查所述堆栈存储器的特征参数。
8. 计算单元,所述计算单元设置用于,执行根据前述权利要求中任一项所述的方法。
9. 具有程序编码措施的计算机程序,当在尤其根据权利要求8所述的计算单元上执行程序编码措施时,所述程序编码措施促使计算单元执行根据权利要求1至7中任一项所述的方法。
10. 机器能够读取的存储器介质,所述存储器介质具有存储在其上的根据权利要求9所述的计算机程序。
CN201410059234.3A 2013-02-22 2014-02-21 用于监控机动车控制器工作系统中的堆栈存储器的方法 Pending CN104008049A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013202961.6 2013-02-22
DE201310202961 DE102013202961A1 (de) 2013-02-22 2013-02-22 Verfahren zum Überwachen eines Stackspeichers in einem Betriebssystem eines Steuergeräts eines Kraftfahrzeuges

Publications (1)

Publication Number Publication Date
CN104008049A true CN104008049A (zh) 2014-08-27

Family

ID=51349407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410059234.3A Pending CN104008049A (zh) 2013-02-22 2014-02-21 用于监控机动车控制器工作系统中的堆栈存储器的方法

Country Status (3)

Country Link
KR (1) KR20140105391A (zh)
CN (1) CN104008049A (zh)
DE (1) DE102013202961A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480523A (zh) * 2017-08-17 2017-12-15 郑州云海信息技术有限公司 一种Intel并Linux64平台上缓冲区溢出利用方法
CN107851051A (zh) * 2016-04-29 2018-03-27 高丽大学校产学协力团 避免主存储器中的错误单元的虚拟存储器管理装置及其方法
CN108700861A (zh) * 2016-03-09 2018-10-23 罗伯特·博世有限公司 用于运行用于机动车的控制设备的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217277A1 (en) * 2002-05-15 2003-11-20 Nokia, Inc. Preventing stack buffer overflow attacks
CN101241464A (zh) * 2007-02-05 2008-08-13 中兴通讯股份有限公司 一种检测堆栈帧破坏的方法
US20090187748A1 (en) * 2008-01-22 2009-07-23 Scott Krig Method and system for detecting stack alteration
CN102629231A (zh) * 2012-04-24 2012-08-08 迈普通信技术股份有限公司 一种检测任务堆栈的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217277A1 (en) * 2002-05-15 2003-11-20 Nokia, Inc. Preventing stack buffer overflow attacks
CN101241464A (zh) * 2007-02-05 2008-08-13 中兴通讯股份有限公司 一种检测堆栈帧破坏的方法
US20090187748A1 (en) * 2008-01-22 2009-07-23 Scott Krig Method and system for detecting stack alteration
CN102629231A (zh) * 2012-04-24 2012-08-08 迈普通信技术股份有限公司 一种检测任务堆栈的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108700861A (zh) * 2016-03-09 2018-10-23 罗伯特·博世有限公司 用于运行用于机动车的控制设备的方法
CN108700861B (zh) * 2016-03-09 2021-06-25 罗伯特·博世有限公司 用于运行用于机动车的控制设备的方法
CN107851051A (zh) * 2016-04-29 2018-03-27 高丽大学校产学协力团 避免主存储器中的错误单元的虚拟存储器管理装置及其方法
CN107480523A (zh) * 2017-08-17 2017-12-15 郑州云海信息技术有限公司 一种Intel并Linux64平台上缓冲区溢出利用方法

Also Published As

Publication number Publication date
DE102013202961A1 (de) 2014-08-28
KR20140105391A (ko) 2014-09-01

Similar Documents

Publication Publication Date Title
US10579453B2 (en) Stream-processing data
WO2015027816A1 (en) Devices and methods for acquiring abnormal information
JP2009145117A (ja) 車両用情報記憶装置
JP2014203314A (ja) Ecuシミュレーション装置
CN103176875A (zh) 一种嵌入式系统上电自检方法
US10094740B2 (en) Non-regression method of a tool for designing a monitoring system of an aircraft engine
CN104008049A (zh) 用于监控机动车控制器工作系统中的堆栈存储器的方法
JP4858913B2 (ja) データ記憶装置、データ記憶方法、及びデータ記憶用プログラム
US10645112B2 (en) Method and device for processing and transmitting data within a functionally secure, electrical, electronic and/or programmable electronic system
CN111026080A (zh) 控制器的硬件在环测试方法及装置
US20150106509A1 (en) Method for representing usage amount of monitoring resource, computing device, and recording medium having program recorded thereon for executing thereof
Dhouibi et al. Automatic decomposition and allocation of safety integrity level using system of linear equations
EP3584129B1 (en) Vehicle-mounted control apparatus
KR101626967B1 (ko) 해킹 방지를 위한 어플리케이션의 동작 방법 및 장치
KR101834247B1 (ko) 전장용 소프트웨어 안전성 분석 방법 및 장치
CN107924348B (zh) 用于对车辆的电子的线路单元的状态进行监控的方法和装置
CN110673899B (zh) 一种程序处理方法及相关设备
JP6053854B2 (ja) 制御プログラムに対するインタラクション方法
US8666642B2 (en) Memory corruption detection in engine control systems
US20230161319A1 (en) Computer-implemented method for recognizing an input pattern in at least one time series of a plurality of time series
Kobayashi et al. The effectiveness of D-Case application knowledge on a safety process
KR102153545B1 (ko) 제어 시스템의 해저드 분석 방법 및 그 장치
CN112989352A (zh) 用于基于模型的分析的方法和设备
WO2016103229A1 (en) A method for verifying a safety logic in an industrial process
CN108647113B (zh) 一种灾难恢复方法及服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140827