JP2019012498A - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP2019012498A JP2019012498A JP2017130213A JP2017130213A JP2019012498A JP 2019012498 A JP2019012498 A JP 2019012498A JP 2017130213 A JP2017130213 A JP 2017130213A JP 2017130213 A JP2017130213 A JP 2017130213A JP 2019012498 A JP2019012498 A JP 2019012498A
- Authority
- JP
- Japan
- Prior art keywords
- function
- check processing
- usage frequency
- processing instruction
- electronic control
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Abstract
Description
関数と前記関数のコール/リターン関係である制御フローとを有するとともに、前記制御フローが正しく実行されるかをチェックするチェック処理命令がプログラムコード内に挿入されているプログラム、を保存するメモリ(100)と、
前記関数の使用頻度を示す使用頻度情報が入力される入力部(201)と、
前記電子制御装置の負荷量を測定する測定部(202)と、
前記使用頻度情報及び前記負荷量に基づいて、実行する前記チェック処理命令を決定する実行対象決定部(203)と、
前記プログラムの実行時に、決定された前記チェック処理命令を実行する演算部(204)と、
を有する。
また、特許請求の範囲の従属項に記載の構成及び方法、および従属項に記載の構成及び方法に対応する実施形態の構成及び方法は、本発明においては任意の構成及び方法である。
図1は、本発明の実施形態に共通の各種装置の配置を示すものである。自動車の車載ネットワーク10には、N個の電子制御装置(ECU)20、プログラム生成装置30、車両制御装置40、表示装置50、データコミュニケーションモジュール(DCM)60、車両動作状態取得装置70、等が接続されている。なお、プログラム生成装置30は、常時車載ネットワーク10に接続されていてもよいし、必要なときのみコネクタとケーブル等を用いて接続されてもよい。また、プログラム生成装置30に代えて、データコミュニケーションモジュール60を介して無線通信を用いて、常時又は必要なときのみプログラム生成装置80が接続されてもよい。
また、本発明の「関数」とは、狭義の関数の他、メソッドと呼ばれるものも含む。
なお、本実施形態では、プログラムを構成する全ての制御フローをチェックできるようにチェック処理命令が挿入されているが、プログラムを構成する制御フローの一部のみをチェックするようにチェック処理命令が挿入されていてもよい。
本件プログラムを搭載した電子制御装置20の構成を、図5を用いて説明する。電子制御装置20は、メモリ100及び中央演算装置(CPU)200から構成される。
つまり、本実施形態1の使用頻度情報は、外部環境情報と関数の使用頻度との相関を示す情報である。
これに対し、自車両は、一定時間毎に自車両の位置情報を取得するために関数Bを、自車両情報を他車両に送信するために関数Cを実行する。すなわち、関数B及び関数Cの使用頻度は「外部環境」に依存せず、常に一定である。そのため、関数B、関数Cの使用頻度情報は『スキップ不可』を示している。
なお、メイン関数である関数Aは、プログラム実行時に必ず実行する関数であり、使用頻度は常に一定であるため、関数Aの使用頻度情報は『スキップ不可』を示している。
これに対し、測定したCPU使用率がCPU使用率の閾値「より」も高い場合には、実行対象決定部203は、実行対象テーブルに規定された使用頻度情報が『スキップ不可』を示している関数の制御フローをチェックするチェック処理命令のみを実行することを決定する。
また、本発明の負荷量閾値「より」も高い又は低い、とは、比較対象となる負荷量と同じ値を含む場合及び含まない場合の両方が含まれる。以下、同じ。
S201において、中央演算装置200の演算部204は、メモリ100に保存した本件プログラムを読み出して、本件プログラムの実行を開始する。
そこで、電子制御装置の負荷量が一定値よりも高くなった場合に、使用頻度が外部環境に依存する関数の制御フローをチェック処理命令の実行対象から除外し、チェック処理命令の実行対象を限定することにより、制御フローに対するセキュリティチェックを行いながら、チェック処理を実行することによるオーバーヘッドの増加を抑制することができる。
上記実施形態1では、関数の使用頻度が外部環境情報に依存するか否かによって、使用頻度情報は『スキップ不可』又は『スキップ可』のいずれか示した。しかしながら、外部環境情報に対する関数の使用頻度の依存性の有無以外の要素に基づいて、使用頻度情報は『スキップ不可』又は『スキップ可』のいずれかを示してもよい。例えば、使用頻度情報は、外部環境情報に対する関数の実行回数の変化率に基づいて、使用頻度情報は『スキップ不可』又は『スキップ可』のいずれかを示してもよい。
一方、他車両からの情報の受信に関する関数D、他車両から受信した情報の解析に関する関数Eの使用頻度は、外部環境である他車両の台数の増加に比例して増大するため、外部環境情報に対する関数D、Eの実行回数の変化率は高いと考えられる。したがって、図9に示す実行対象テーブルには、関数D、Eの変化率が“高”で示されている。
また、自車両から所定の距離内に存在する他車両との相対位置関係の特定に関する関数Fの使用頻度は、外部環境である他車両の台数の増加に伴って増大するが、自車両に対して情報を送信する他車両の台数と、自車両から所定の距離内に存在して相対位置関係を特定すべき他車両の台数は必ずしも等しいものではない。したがって、外部環境情報に対する関数Fの実行回数の変化率は、関数AないしCの変化率よりも高く、関数D、Eの変化率よりも低いと考えられるため、図9に示す実行対象テーブルには、関数Fの変化率が“中”で示されている。
あるいは、所定の変化率を高めに設定して、関数A、B、Cの実行回数の変化率よりも高く、関数D、Eの実行回数の変化率よりも低い関数Fの使用頻度情報を、関数AないしCと共に『スキップ不可』に設定してもよい。
上記実施形態1では、実行対象テーブルには、ユーザによって予め設定された使用頻度情報が規定されていた。しかしながら、使用頻度情報は、実際の電子制御装置の使用状況に基づいて更新してもよい。
実施形態1では、実行対象決定部203は、『スキップ不可』又は『スキップ可』のいずれかを示す使用頻度情報を用いて、チェック処理命令の実行対象を決定した。本実施形態2では、関数の使用頻度の程度を示す使用頻度情報を用いて、実行対象を決定する。なお、実施形態1との共通点の詳しい説明は省略し、相違点を中心に説明する。
一方、外部環境情報に対する関数D、Eの実行回数の変化率は高いため、プログラムの実行対象が多い外部環境においては、関数D、Eの使用頻度は高くなると考えられる。そのため、これらの関数の使用頻度を示す使用頻度情報は“高”を示している。
また、自車両と自車両から所定の距離内に存在する他車両との相対位置関係の特定に関する関数Fの使用頻度は、関数A、B、Cの使用頻度よりも高く、関数D、Eの使用頻度よりも低いと考えられるため、関数の使用頻度を示す使用頻度情報は“中”を示している。
実施形態1、2では、電子制御装置20の負荷量が予め設定した負荷量閾値を超えた場合に、使用頻度情報が『スキップ不可』を示す関数、あるいは、使用頻度情報に示された使用頻度が所定の値よりも低い関数の制御フローをチェックするチェック処理命令を実行対象として決定した。
これに対して、本実施形態3では、電子制御装置の負荷量に応じて、チェック処理命令の実行対象を変化させる構成を説明する。
これに対し、CPU使用率が第1のCPU使用率閾値(60%)以上、第2のCPU使用率閾値(80%)以下の場合には、実行対象決定部203は、図13(B)に示すように、使用頻度情報が“中”又は“低”である関数、例えば、図10に示す関数A、B、C、Fを呼び出し元、あるいは呼び出し先に含む制御フローをチェックするチェック処理命令を実行対象として決定する。
また、CPU使用率が第2のCPU使用率閾値(80%)以上の場合には、実行対象決定部203は、図13(C)に示すように、使用頻度情報が“低”である関数、例えば、図10に示す関数A、B、Cを呼び出し元、あるいは呼び出し先に含む制御フローをチェックするチェック処理命令のみを実行対象として決定する。
以上、本発明の各実施形態における電子制御装置の特徴について説明した。
Claims (9)
- 電子制御装置(20)であって、
関数と前記関数のコール/リターン関係である制御フローとを有するとともに、前記制御フローが正しく実行されるかをチェックするチェック処理命令がプログラムコード内に挿入されているプログラム、を保存するメモリ(100)と、
前記関数の使用頻度を示す使用頻度情報が入力される入力部(201)と、
前記電子制御装置の負荷量を測定する測定部(202)と、
前記使用頻度情報及び前記負荷量に基づいて、実行する前記チェック処理命令を決定する実行対象決定部(203)と、
前記プログラムの実行時に、決定された前記チェック処理命令を実行する演算部(204)と、
を有する電子制御装置。 - 前記チェック処理命令の出力を監視し、前記関数のコール/リターンの異常を検知する検知部(205)と、
前記検知部の検知結果に基づき、所定の処理を行う処理部(206)と、
を更に備える、請求項1記載の電子制御装置。 - 当該電子制御装置は車両に搭載されており、
前記使用頻度情報は、前記車両の外部環境に関する情報である外部環境情報と前記関数の前記使用頻度との相関を示す情報である、
請求項1記載の電子制御装置。 - 前記メモリはさらに負荷量閾値を保存し、
前記使用頻度情報は、前記関数の前記使用頻度が前記外部環境情報によって変化しない場合には前記チェック処理命令をスキップしないことを示すスキップ不可情報であり、前記使用頻度が前記外部環境情報によって変化する場合には前記チェック処理命令をスキップすることを示すスキップ可情報であり、
前記実行対象決定部は、前記負荷量と前記負荷量閾値とを比較し、前記負荷量が前記負荷量閾値よりも高い場合に、挿入された前記チェック処理命令のうち、前記使用頻度情報が前記スキップ不可情報である前記関数の前記制御フローをチェックするチェック処理命令のみを実行することを決定する、
請求項3記載の電子制御装置。 - 前記メモリはさらに負荷量閾値を保存し、
前記使用頻度情報は、前記関数の前記使用頻度が所定の使用頻度よりも低い場合には前記チェック処理命令をスキップしないことを示すスキップ不可情報であり、前記所定の使用頻度よりも高い場合には前記チェック処理命令をスキップすることを示すスキップ可情報であり、
前記実行対象決定部は、前記負荷量と前記負荷量閾値とを比較し、前記負荷量が前記負荷量閾値よりも高い場合に、挿入された前記チェック処理命令のうち、前記使用頻度情報が前記スキップ不可情報である前記関数の前記制御フローをチェックするチェック処理命令のみを実行することを決定する、
請求項1又は3記載の電子制御装置。 - 前記メモリはさらに、負荷量閾値と使用頻度閾値とを保存し、
前記実行対象決定部は、前記負荷量と前記負荷量閾値とを比較し、前記負荷量が前記負荷量閾値よりも高い場合に、挿入された前記チェック処理命令のうち、前記使用頻度情報に示された前記使用頻度が前記使用頻度閾値よりも低い前記関数の前記制御フローをチェックするチェック処理命令のみを実行することを決定する、
請求項1又は3記載の電子制御装置。 - 前記実行対象決定部は、前記負荷量が増加するほど、前記使用頻度情報に示された前記使用頻度が高い前記関数の前記制御フローをチェックするチェック処理命令から順に実行対象から外すことを決定する、
請求項1又は3記載の電子制御装置。 - 前記使用頻度情報は、当該電子制御装置のユーザによって予め設定される、
請求項1記載の電子制御装置。 - 前記プログラムの実行時に前記関数の前記使用頻度を求める使用頻度算出部をさらに備え、
前記使用頻度情報は、前記使用頻度算出部にて求めた前記使用頻度に基づいて更新される、
請求項1記載の電子制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017130213A JP6885226B2 (ja) | 2017-07-03 | 2017-07-03 | 電子制御装置 |
US16/016,746 US10769273B2 (en) | 2017-07-03 | 2018-06-25 | Electronic control unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017130213A JP6885226B2 (ja) | 2017-07-03 | 2017-07-03 | 電子制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019012498A true JP2019012498A (ja) | 2019-01-24 |
JP6885226B2 JP6885226B2 (ja) | 2021-06-09 |
Family
ID=64734937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017130213A Active JP6885226B2 (ja) | 2017-07-03 | 2017-07-03 | 電子制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10769273B2 (ja) |
JP (1) | JP6885226B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020261365A1 (ja) * | 2019-06-25 | 2020-12-30 | 日本電気株式会社 | 半導体装置、制御フロー検査方法、非一時的なコンピュータ可読媒体及び電子機器 |
JP2021051745A (ja) * | 2019-09-23 | 2021-04-01 | 株式会社デンソー | コンピュータ装置およびメモリ管理方法 |
CN114995862A (zh) * | 2022-08-03 | 2022-09-02 | 深圳市星卡软件技术开发有限公司 | 诊断模块的调用方法、装置和系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11847207B2 (en) * | 2019-03-04 | 2023-12-19 | Microsoft Technology Licensing, Llc | Security-adaptive code execution |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002082926A (ja) * | 2000-09-06 | 2002-03-22 | Nippon Telegr & Teleph Corp <Ntt> | 分散アプリケーション試験・運用管理システム |
JP2008084275A (ja) * | 2006-09-29 | 2008-04-10 | Fujitsu Ltd | ソフトウェアの改ざん監視装置および改ざん監視方法 |
WO2008056700A1 (fr) * | 2006-11-09 | 2008-05-15 | Panasonic Corporation | Système de détection de falsification, procédé de détection de falsification, programme de détection de falsification, support d'enregistrement, circuit intégré, dispositif de génération d'informations d'authentification et dispositif de détection de fals |
JP2016115033A (ja) * | 2014-12-12 | 2016-06-23 | 富士通株式会社 | 命令実行制御装置、命令実行制御方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006106939A (ja) | 2004-10-01 | 2006-04-20 | Hitachi Ltd | 侵入検知方法及び侵入検知装置並びにプログラム |
US7577992B2 (en) | 2005-01-14 | 2009-08-18 | Microsoft Corporation | Software security based on control flow integrity |
JP4849606B2 (ja) | 2006-04-28 | 2012-01-11 | 株式会社日立製作所 | 制御フロー誤り検出方法、データ処理装置、及びコンパイラ |
JP5043560B2 (ja) * | 2007-08-24 | 2012-10-10 | パナソニック株式会社 | プログラム実行制御装置 |
EP2256659A1 (en) | 2009-05-27 | 2010-12-01 | NTT DoCoMo, Inc. | Method and apparatus for preventing modification of a program execution flow |
JP2011081501A (ja) | 2009-10-05 | 2011-04-21 | Hitachi Ltd | オペレーティングシステムプログラム、及びこれが搭載されているコンピュータ |
JP5374348B2 (ja) | 2009-12-10 | 2013-12-25 | 株式会社豊田中央研究所 | ソフトウェア検査装置及びプログラム |
US9361102B2 (en) | 2014-06-09 | 2016-06-07 | Lehigh University | Methods for enforcing control flow of a computer program |
US10153977B2 (en) * | 2016-05-12 | 2018-12-11 | Cisco Technology, Inc. | Adapting control plane policing parameters dynamically |
US10896253B2 (en) * | 2017-02-06 | 2021-01-19 | Huawei Technologies Co., Ltd. | Processor trace-based enforcement of control flow integrity of a computer system |
-
2017
- 2017-07-03 JP JP2017130213A patent/JP6885226B2/ja active Active
-
2018
- 2018-06-25 US US16/016,746 patent/US10769273B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002082926A (ja) * | 2000-09-06 | 2002-03-22 | Nippon Telegr & Teleph Corp <Ntt> | 分散アプリケーション試験・運用管理システム |
JP2008084275A (ja) * | 2006-09-29 | 2008-04-10 | Fujitsu Ltd | ソフトウェアの改ざん監視装置および改ざん監視方法 |
WO2008056700A1 (fr) * | 2006-11-09 | 2008-05-15 | Panasonic Corporation | Système de détection de falsification, procédé de détection de falsification, programme de détection de falsification, support d'enregistrement, circuit intégré, dispositif de génération d'informations d'authentification et dispositif de détection de fals |
JP2016115033A (ja) * | 2014-12-12 | 2016-06-23 | 富士通株式会社 | 命令実行制御装置、命令実行制御方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020261365A1 (ja) * | 2019-06-25 | 2020-12-30 | 日本電気株式会社 | 半導体装置、制御フロー検査方法、非一時的なコンピュータ可読媒体及び電子機器 |
JPWO2020261365A1 (ja) * | 2019-06-25 | 2020-12-30 | ||
JP7338686B2 (ja) | 2019-06-25 | 2023-09-05 | 日本電気株式会社 | 半導体装置、制御フロー検査方法、制御フロー検査プログラム及び電子機器 |
US11868467B2 (en) | 2019-06-25 | 2024-01-09 | Nec Corporation | Semiconductor device, control flow inspection method, non-transitory computer readable medium, and electronic device |
JP2021051745A (ja) * | 2019-09-23 | 2021-04-01 | 株式会社デンソー | コンピュータ装置およびメモリ管理方法 |
CN114995862A (zh) * | 2022-08-03 | 2022-09-02 | 深圳市星卡软件技术开发有限公司 | 诊断模块的调用方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP6885226B2 (ja) | 2021-06-09 |
US10769273B2 (en) | 2020-09-08 |
US20190005232A1 (en) | 2019-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8528095B2 (en) | Injection context based static analysis of computer software applications | |
JP6885226B2 (ja) | 電子制御装置 | |
US8484732B1 (en) | Protecting computers against virtual machine exploits | |
EP3037303B1 (en) | Vehicle control device | |
US9298911B2 (en) | Method, apparatus, system, and computer readable medium for providing apparatus security | |
CN109643346B (zh) | 控制流完整性 | |
EP3547190B1 (en) | Attack detection device, attack detection method, and attack detection program | |
US8904492B2 (en) | Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus | |
JP7147947B2 (ja) | 電子制御装置及びプログラム | |
US20140337980A1 (en) | Method, device and terminal for scanning virus | |
CN104932972A (zh) | 一种反动态调试应用程序的方法及装置 | |
CN107741910B (zh) | 应用程序安装性能测试方法、装置、计算设备及存储介质 | |
CN101599113A (zh) | 驱动型恶意软件防御方法和装置 | |
US10242083B2 (en) | Prevention of circular event publication in publish/subscribe model using path vector | |
US8407175B2 (en) | Method, apparatus and product for SAT solving using templates clauses | |
CN107291617B (zh) | 一种基于隐式污点传播的漏洞分析方法 | |
JP6913869B2 (ja) | 監視装置、監視システムおよびコンピュータプログラム | |
US8819635B2 (en) | Confidence-based static analysis | |
KR101632152B1 (ko) | 모바일 플랫폼 동적 분석 방지 장치 및 그 방법 | |
KR101310070B1 (ko) | 프로그램간의 충돌을 예방하는 방법 및 그 방법이 기록된 기록매체 | |
CN114629694B (zh) | 一种分布式拒绝服务DDoS的检测方法及相关装置 | |
US11847203B2 (en) | Method, system and device for managing an execution of a program relating to part or all of a first application | |
US20150026812A1 (en) | Method and device for detecting virus of installation package | |
CN112311616B (zh) | 数据通信频率统计方法、装置及存储介质 | |
JP6996215B2 (ja) | プログラム生成方法および電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20210119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210331 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210413 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210426 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6885226 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |