WO2014207859A1 - 制御装置およびそれを用いたソフトウェア書き換えシステム - Google Patents

制御装置およびそれを用いたソフトウェア書き換えシステム Download PDF

Info

Publication number
WO2014207859A1
WO2014207859A1 PCT/JP2013/067604 JP2013067604W WO2014207859A1 WO 2014207859 A1 WO2014207859 A1 WO 2014207859A1 JP 2013067604 W JP2013067604 W JP 2013067604W WO 2014207859 A1 WO2014207859 A1 WO 2014207859A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
software
control
whitelist
control device
Prior art date
Application number
PCT/JP2013/067604
Other languages
English (en)
French (fr)
Inventor
毅 福田
櫻井 康平
敏史 大塚
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2013/067604 priority Critical patent/WO2014207859A1/ja
Priority to JP2015523748A priority patent/JP6077115B2/ja
Publication of WO2014207859A1 publication Critical patent/WO2014207859A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Definitions

  • the present invention relates to a control device that controls a control target by software.
  • embedded control devices In the technical fields of automobiles, elevators, construction machines, home appliances, etc., embedded control devices are used which control objects to be controlled by so-called embedded software.
  • the control by embedded software has the advantage that flexible and advanced control can be realized compared with the control method by the conventional mechanical mechanism or electric circuit, and the operation can be changed even after supply to the market by rewriting the software It has the advantage of
  • control software for controlling the engine is stored in a memory in which the stored contents can be electrically rewritten. It is possible to rewrite the control software as needed.
  • control device capable of rewriting the control software can change the control software on an ad hoc basis, it has a function to prevent the unauthorized rewriting.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2012-234437
  • Patent Document 2 Japanese Patent Application Laid-Open No. 2008-239021
  • Patent Document 1 does not take into consideration the case where software rewrite is performed illegally while two ECUs are connected.
  • Patent Document 2 does not consider the case where the ID code is obtained illegally. Therefore, in these conventional techniques, it is difficult to sufficiently cope with the request for the improvement of the security against the unauthorized rewriting along with the application expansion and the functional enhancement of the control by the embedded software.
  • the present invention provides a control device capable of improving the security against unauthorized rewriting of software.
  • prohibition and permission of software rewrite are determined using whitelist data in which data related to a reference variable for permitting arbitrary data reference is registered.
  • the control device includes a storage unit that stores control software, and a data processing unit that controls a control target by the software stored in the storage unit.
  • the storage unit stores whitelist data in which data relating to a reference destination variable that permits arbitrary data reference is registered.
  • the data processing unit is configured by the program verification unit to determine whether variable information data related to a reference destination variable in the rewrite software is configured only with data registered in the whitelist data. If it is determined, the rewriting of the software stored in the storage unit is permitted, and if it is determined that the software is not configured, the rewriting is prohibited.
  • the specific example of access prohibition variable data is shown.
  • the specific example of reference relationship data between control variables is shown.
  • An example of whitelist data is shown.
  • the specific example of rewriting program data is shown. 10 shows another specific example of the rewrite program data.
  • the specific example of reference relation data is shown.
  • the other specific example of reference relation data is shown.
  • An example of the verification result data displayed on the display device is shown.
  • the other example of the verification result data displayed on the display apparatus is shown.
  • the specific example of the reference relationship data between control variables after an update is shown.
  • control device controls a control target by control software stored in the control device.
  • control software stored in the control device.
  • the control target and the control software become an engine and an engine control program of a vehicle, respectively.
  • FIG. 1 is a flowchart showing a main processing procedure of software rewriting in a control device according to an embodiment of the present invention.
  • the process starts from step S1001.
  • step S1002 the rewrite software is input.
  • step S1003 white list data storing variable information for permitting arbitrary data reference is input.
  • step S1004 it is determined whether the rewrite software is configured only with variables stored in the white list data. If it is determined that it is configured (Yes), the process proceeds to step S1005, and if it is determined that it is not configured (No), the process proceeds to step S1006.
  • step S1005 rewriting is permitted and the software is rewritten.
  • the process ends in step S1007.
  • FIG. 2 is a system configuration diagram of a control device according to an embodiment of the present invention.
  • the control device 1 has a data processing unit 11 and a database 12.
  • the data processing unit 11 for example, an arithmetic processing unit such as a microcomputer is used.
  • the database 12 is stored in a storage device such as a semiconductor memory.
  • the data processing unit 11 includes a source code analysis unit 111, a white list creation unit 112, a program verification unit 113, and a reference relation update unit 114. These means are functions provided to the data processing unit 11 when the data processing unit 11 reads and operates a program related to a processing procedure as described later.
  • the program related to the processing procedure is stored in the storage device in the same manner as the database 12.
  • the data processing unit 11 includes known means for creating a control signal for controlling a control target, illustration and detailed description of this means will be omitted.
  • the database 12 includes rewriting program data 121, reference relation data 122, access prohibition variable data 123, inter-control variable reference relation data 124, white list data 125, and verification result data 126.
  • a rewrite tool 200 which is an external device is connected to the control device 1.
  • the rewrite tool 200 stores rewrite software and transmits the rewrite software to the control device 1.
  • a personal computer is used as the rewriting tool.
  • the data processing unit 11 determines the suitability of the rewrite software transmitted from the rewrite tool 200 using the whitelist data 125, and permits or prohibits the rewrite according to the determination result.
  • the permission and prohibition of the rewriting are displayed on the display device 201 (for example, a display device) of the rewriting tool 200.
  • FIG. 3 is a block diagram showing the flow of data in the present embodiment.
  • the source code analyzer 111 receives the rewrite program data 121, which is software to be newly rewritten in the system, and outputs reference relation data 122 indicating substitution reference relation of variables in the rewrite program data 121.
  • the whitelist generator 112 receives as inputs the access prohibited variable data 123 indicating a variable that prohibits any access and the inter-control variable reference relation data 124 indicating a substitution reference relation of variables in the software before rewriting, that is, a program. It outputs whitelist data 125 which is a set of variables permitted to access arbitrarily.
  • the program verifier 113 receives the reference relation data 122 and the whitelist data 125, and outputs verification result data 126 indicating the result of comparing the inputted reference relation data 122 with the whitelist data 125.
  • the reference relationship updater 114 receives the reference relationship data 122, the verification result data 126, and the inter-control-variable reference relationship data 124, and the contents of the reference relationship data 122 are based on the verification result data 126. Add to 124.
  • the display device 201 displays the contents of the verification result data 126.
  • FIG. 4 shows a specific example of the access prohibition variable data 123.
  • the access prohibition variable data 1231 is composed of a set of variables for which arbitrary access from the rewriting program is prohibited.
  • the variable k is a variable that prohibits arbitrary access.
  • FIG. 5 shows a specific example of inter-control variable reference relation data 124.
  • the control variable reference relation data 1241 is composed of a set of substitution reference relation information of variables in the program before rewriting.
  • the substitution reference relationship between variables indicates which variable in the program affects which variable.
  • FIG. 6 is a diagram showing the control variable reference relationship data 124 using another notation method.
  • the inter-control variable reference relation data 1242 is composed of a node indicating a variable and an arrow indicating a reference relation.
  • variables at the root of the arrow for example, a, f
  • a variable at the tip of the arrow for example, b
  • FIG. 7 is a flowchart showing the process performed by the whitelist creator 112.
  • step S1121 the whitelist creator 112 inputs the access prohibition variable data 123 and the control variable reference relation data 124.
  • step S1123 the whitelist creator 112 stores all of the variables in the inter-control variable reference relation data 124 that are referenced from the variables in the access prohibition variable data 123. That is, all reference source variables whose reference destination variables are variables in the access prohibited variable data 123 are extracted and stored. In the present embodiment, a reference source variable g having the prohibited variable k as a reference destination variable is extracted and stored (see FIGS. 4 and 5).
  • step S1124 the whitelist creator 112 extracts and stores all reference source variables having the variable stored in step S1123 as the reference destination variable among the control variable reference relationship data 124.
  • reference source variables c and h having the variable g stored in step S1123 as a reference destination variable are extracted and stored (see FIG. 5).
  • step S1125 the whitelist creator 112 determines whether the number of variables stored in step S1124 is zero. If it is determined that the number is not 0 (NO), there is a possibility that there is a reference source variable having the stored variable as a reference destination variable, so step S1124 is executed again, and the variable stored at this time is stored. Extract and store the reference source variable to be the reference target variable. If it is determined that the number is zero (YES), the process proceeds to step S1126. In the present embodiment, when the step S1124 is first executed, the whitelist creator 112 stores the two variables c and h, so executes the step S1124 again. As a result, since there is no reference source variable that uses the variables c and h as reference destination variables (see FIG.
  • step S1125 is executed next, it is determined that the number of variables stored in the immediately preceding step S1124 is zero, and then step S1126 is executed.
  • step S1126 the whitelist creator 112 extracts all variables other than the access prohibited variables among the variables in the control variable reference relationship data 124 and other than the variables stored in step S1123 and step S1124 to obtain white.
  • the list data 125 is stored.
  • the access prohibition variable is k and the variables stored in steps S1123 and S1124 are c, g, h, the other variables a, b, d, e, f are extracted as white list data. And memorize.
  • step S1127 the whitelist generator 112 outputs the whitelist data 125 stored in step S1126 and registers it in the database 12, and ends the process in step S1128.
  • FIG. 8 shows a specific example of the whitelist data 125.
  • the whitelist data 1251 is data created by the whitelist creator 112 executing the process shown in FIG.
  • the whitelist data 1251 has variables for permitting rewriting, ie, permitted variables a, b, d, e, f.
  • the whitelist data 1251 is a variable other than a variable directly or indirectly related to the access prohibition variable k, ie, access It consists only of variables that do not affect prohibited variable data k.
  • FIG. 9 shows a specific example of the whitelist data 125 by another notation method.
  • Whitelist data 1252 indicates variables by nodes, and reference relationships between variables by arrows.
  • the node that is the starting point of the arrow whose end point is node k is node g directly, and nodes c and h indirectly. Therefore, the whitelist data 1252 is composed of nodes that do not become the starting point of the arrow whose end point is the node k, that is, variables a, b, d, e, and f that are nodes surrounded by dashed lines in the figure.
  • FIG. 10 shows a specific example of the rewrite program data 121.
  • the rewriting program 1211 newly defines l, m and n as variables. Also, newFuncA is defined as a new program.
  • FIG. 11 shows another specific example of the rewrite program data 121.
  • the rewriting program 1212 newly defines l, m and n as variables.
  • newFuncB is defined as a new program.
  • FIG. 12 is a flowchart showing the process executed by the source code analyzer 111.
  • the process starts from step S1111.
  • the source code analyzer 111 inputs the rewrite program data 121.
  • the substitution reference relationship of variables in the rewrite program data 121 input in step S1112 is analyzed and stored.
  • the substitution reference relationship of the variable stored in step S1113 is output as the reference relationship data 122 and registered in the database 12.
  • FIG. 13 shows a specific example of the reference relationship data 122.
  • the reference relation data 1221 indicates the reference relation of the variables a, f, l, m and n in the rewriting program 1211 of FIG. 10 analyzed by the source code analyzer 111.
  • the reference relation between l and variable a, and the reference relation between variables m and n and variable f (FIG. 13) are analyzed and registered in the database.
  • FIG. 14 shows another specific example of the reference relationship data 122.
  • the reference relation data 1222 indicates the reference relation of the variables a, c, l, m, n in the rewriting program 1212 of FIG. 11 analyzed by the source code analyzer 111.
  • the reference relation between l and variable a, and the reference relation between variables m and n and variable c (FIG. 14) are analyzed and registered in the database.
  • FIG. 15 is a flow chart showing processing executed by the program verification unit 113.
  • step S1132 the program verification unit 113 inputs the reference relation data 122 and the white list data 125 in step S1132.
  • step S1133 reference relationship data 122 input in step S1132 is compared with whitelist data 125 to determine whether or not a variable in reference destination information in reference relationship data 122 is registered in whitelist data 125. . Based on the determination result, in step S1134, it is determined whether or not there is a variable not registered in the whitelist data 125 in the reference destination information of the reference relationship data 122. If it is determined that it exists (YES), the process proceeds to step S1135, and if it is determined that it does not exist (NO), the process proceeds to step S1136.
  • step S1135 an error result is output as verification result data 126.
  • step S1136 a normal result is output as verification result data. Thereafter, the process ends in step S1137.
  • the program verification unit 113 inputs the reference relation data 1221 of FIG. 13 and the whitelist data 1251 of FIG. These input data are collated, and it is determined that the reference destination variables a and f of the reference relationship data 1221 are permission variables registered in the white list 1251. Based on the determination result, the program verification unit 113 determines that there is no variable not registered in the whitelist data 121 in the reference destination variable of the reference relationship data 1221 (NO), and outputs the normal result as verification result data. Do.
  • the program verification unit 113 inputs the reference relation data 1222 of FIG. 14 and the whitelist data 1251 of FIG.
  • the input data is collated, and for the reference target variables a and f of the reference relationship data 1222, the variable a is a permission variable registered in the whitelist 1251, and the variable c is not a permission variable registered in the whitelist 1251. It is determined that Based on the determination result, program verifier 113 determines that a variable not registered in whitelist data 121 exists in the reference destination variable of reference relationship data 1222 (YES), and outputs an error result as verification result data. Do.
  • FIG. 16 shows an example of the verification result data 126 displayed on the display device 201 of the rewriting tool 200.
  • Verification result data 1261 is a case where the verification result data 126 is a normal result.
  • the program verification unit 113 outputs a normal result in order to determine NO in step S1134 of FIG. Based on this output, the rewriting tool 200 displays verification result data 1261 indicating a normal result on the display device 201.
  • FIG. 17 shows another example of the verification result data 126 displayed on the display device 201 of the rewriting tool 200.
  • Verification result data 1262 is a case where the verification result data 126 is an error result.
  • the program verification unit 113 outputs an error result in order to determine YES in step S1134 of FIG. Based on the output, the rewriting tool 200 displays verification result data 1262 indicating an error result on the display device 201.
  • FIG. 18 is a flow chart showing processing executed by the reference relation updater 115.
  • step S1152 the reference relation updater 115 inputs the verification result data 126.
  • step S1153 it is determined whether the verification result data is a normal result. If it is determined that the result is normal (YES), the process proceeds to step S1154, and if it is determined that the result is not normal (NO), the process proceeds to step S1158 to end the process.
  • step S1154 the control variable reference relation data 124 and the reference relation data 122 of the rewriting program are input.
  • step S1155 out of the reference relationship data 122 input in step S1154, data not existing in the control variable reference relationship data 124 input in step S1154 is extracted and additionally registered in the control variable reference relationship data 124.
  • step S1156 it is determined whether step S1155 has been executed for all data of the reference relationship data 122 or not. If it is determined that it has been executed (YES), the process proceeds to step S1157, and if it is determined that there is data that has not been executed, that is, not executed (NO), the process proceeds to step S1155.
  • step S1157 the reference relationship updater 115 outputs the reference relationship data 124 between the control variables in which the new reference relationship data in the rewriting program is registered, and registers it in the database 12. Thereafter, the process ends in step S1158.
  • FIG. 19 shows a specific example of the updated control variable reference relationship data 124 outputted from the reference relationship updater 115.
  • This specific example is the case of rewriting to the rewriting program 1211 of FIG. 10, and is output as follows.
  • the reference relation updater 115 inputs the verification result data 126, and determines that the verification result data 126 is a normal result.
  • reference relation data 1221 (FIG. 13) and reference relation data between control variables 1241 (FIG. 5) are input.
  • the input reference relation data 1221 data which does not exist in the input control variable reference relation data 1241, in this case, all data of the reference relation data 1221 (FIG. 13) are extracted, Register additionally.
  • the updated inter-control-variable reference relationship data 1242 in which the reference relationship data 1221 is added to the inter-control variable reference relationship data 1241 is obtained.
  • the whitelist creator 112 updates the whitelist data 125 by executing the process shown in FIG. 7 described above using the reference relationship data 124 between the control variables and the access prohibition variable data 123 after the update. .
  • the whitelist generator 112 when rewriting to the rewriting program 1211 of FIG. 10, that is, when rewriting is permitted, the whitelist generator 112 is updated by the access prohibition variable data 1231 (FIG. 4) and the reference relation updater 115. From the control variable reference relation data 1241 (FIG. 19), the variables l, m and n are added to the whitelist data 1251 (FIG. 8) as the permitted variables, and the updated whitelist data 125 is created and output. .
  • the control device can always have the latest whitelist.
  • the source code analyzer that analyzes the reference relationship between variables in the rewrite program may proceed with the analysis while the control device is executing a part of the rewritten program, or may be performed before it is executed. You may analyze it. With regard to the latter, since the program is executed by the control device after verifying whether the whole rewriting program is incorrect, the security is improved.
  • the whitelist data can be composed of variables other than control variables which are control signals externally output from the control device. Since this control variable is a variable that requires high security against unauthorized software rewriting, by configuring the whitelist data with variables other than such a controlled variable, the security against unauthorized rewriting of the program is improved.
  • the whitelist data can be composed of variables whose scope is not limited in the program, that is, so-called global variables.
  • the whitelist data can be composed of variables other than local variables (local variables) whose scope is limited in the program. Because local variables are variables that require high security against unauthorized software rewriting, configuring whitelist data with variables other than local variables, that is, global variables, improves the security against unauthorized program rewriting.
  • the program verifier may register, in the database, variable information data that is determined not to be composed of the data registered in the whitelist data, out of the variable information related to the reference destination variable in the rewriting program.
  • the present invention can also be applied to the case where the rewrite program data is transmitted from the external device to the control device via a network such as the Internet.
  • the present invention can be applied not only to an automobile control ECU, but also to a control device provided with embedded software in an elevator, a construction machine, a medical device, a home electric device and the like. In either case, the security against unauthorized software rewriting can be improved.
  • the whitelist data may be fixed without being updated in a device used by a general consumer, such as a household electrical device, or a device requiring a short product cycle and low cost.
  • Reference Signs List 1 controller 11 data processing unit, 12 database, 111 source code analyzer, 112 white list generator, 113 program verifier, 114 reference relation updater, 121 rewrite program data, 122 reference relation data, 123 access prohibition variable data , 124 Reference relationship data between control variables, 125 White list data, 126 Verification result data, 200 Rewriting tool, 201 Display device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)

Abstract

 本発明による制御装置は、制御用のソフトウェアを格納する記憶部と、記憶部に格納されたソフトウェアによって制御対象を制御するデータ処理部とを備える。記憶部は、任意のデータ参照を許可する参照先変数に関するデータが登録されたホワイトリストデータを格納する。また、データ処理部は、プログラム検証手段によって、書き換えソフトウェアにおける参照先変数に関する変数情報データが、ホワイトリストデータに登録されているデータのみで構成されているか否かを判定し、構成されていると判定したら、記憶部に格納されているソフトウェアの書き換えソフトウェアへの書き換えを許可し、構成されていないと判定したら書き換えを禁止する。これにより、ソフトウェアの不正書き換えを確実に防止することができる。

Description

制御装置およびそれを用いたソフトウェア書き換えシステム
 本発明は、制御対象をソフトウェアによって制御する制御装置に関する。
 自動車、エレベータ、建設機械、家電機器等の技術分野では、いわゆる組込みソフトウェアによって制御対象を制御する組込み制御装置が用いられている。組込みソフトウェアによる制御は、従来の機械的機構や電気回路による制御方式に比べて、柔軟かつ高度な制御が実現できるという利点、並びにソフトウェアの書換えによって市場への供給後であっても動作を変更できるという利点を有する。
 このような組込み制御装置、例えば自動車のエンジン制御装置(以下、ECUと記す)では、エンジンを制御するための制御ソフトウェアを、電気的に記憶内容の書き換えが可能なメモリに格納しておくことで、必要に応じて制御ソフトウェアを書き換えることが可能である。
 制御ソフトウェアが書き換え可能な制御装置は、臨機応変に制御ソフトウェアを変更することが可能だが、不正な書き換えに対しては、これを防止する機能を備えている。
 制御装置の制御ソフトウェアが不正に書き換えられることを防止する技術としては、特開2012-234437号公報(特許文献1)に記載の技術が知られている。本技術においては、制御ソフトウェア書き換え時に、特定の2個のECU間における接続確認用データの一致を確認することで、安全性を確保する。
 また、特開2008-239021号公報(特許文献2)に記載の技術も知られている。本技術においては、車両制御装置の制御ソフトウェア書き換え時に、ユーザが入力したIDコードと車両に予め登録されたIDコードとを比較することでユーザを識別し、特定のユーザによる制御ソフトウェアの書き換えのみを許可する。
特開2012-234437号公報 特開2008-239021号公報
 上記特許文献1に記載された技術においては、二個のECUを接続したまま不正にソフトウェア書き換えが行われる場合に関しては考慮されていない。また特許文献2に記載された技術では、IDコードが不正に入手された場合に関しては考慮されていない。従って、これらの従来技術では、組込みソフトウェアによる制御の適用拡大や高機能化に伴う、不正書き換えに対する安全性の向上という要請に対しては、十分な対応が難しい。
 そこで、本発明は、ソフトウェアの不正書き換えに対する安全性を向上することができる制御装置を提供する。
 上記課題を解決するために、本発明による制御装置においては、任意のデータ参照を許可する参照先変数に関するデータが登録されたホワイトリストデータを用いて、ソフトウェア書き換えの禁止及び許可を判定する。
 上記本発明の一態様である制御装置は、制御用のソフトウェアを格納する記憶部と、記憶部に格納されたソフトウェアによって制御対象を制御するデータ処理部とを備える。記憶部は、任意のデータ参照を許可する参照先変数に関するデータが登録されたホワイトリストデータを格納する。また、データ処理部は、プログラム検証手段によって、書き換えソフトウェアにおける参照先変数に関する変数情報データが、ホワイトリストデータに登録されているデータのみで構成されているか否かを判定し、構成されていると判定したら、記憶部に格納されているソフトウェアの書き換えソフトウェアへの書き換えを許可し、構成されていないと判定したら書き換えを禁止する。
 本発明によれば、書き換えソフトウェア自体が不正なものであるか否かを判定するため、ソフトウェアの不正書き換えを確実に防止することができる。
 上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
本発明の一実施形態である制御装置におけるソフトウェア書き換えの処理手順を示すフローチャートである。 本発明の一実施形態である制御装置のシステム構成図である。 実施形態における、データの流れを示すブロック図である。 アクセス禁止変数データの具体例を示す。 制御変数間参照関係データの具体例を示す。 制御変数間参照関係データを、別の表記方法を用いて示した図である。 ホワイトリスト作成器が実行する処理を示すフローチャートである。 ホワイトリストデータの具体例を示す。 実施形態におけるホワイトリストデータの具体例を示す図。 書き換えプログラムデータの具体例を示す。 書き換えプログラムデータの別の具体例を示す。 ソースコード解析器が実行する処理を示すフローチャートである。 参照関係データの具体例を示す。 参照関係データの他の具体例を示す。 プログラム検証器が実行する処理を示すフローチャートである。 表示装置に表示された検証結果データの一例を示す。 表示装置に表示された検証結果データの他の例を示す。 参照関係更新器が実行する処理を示すフローチャートである。 更新後の制御変数間参照関係データの具体例を示す。
 以下、図面を参照して本発明の実施形態について説明する。なお、本実施形態である制御装置は、制御装置内に格納された制御用ソフトウェアによって制御対象を制御する。例えば、本実施形態をECUに適用する場合、制御対象および制御用ソフトウェアは、それぞれ、自動車のエンジンおよびエンジン制御プログラムとなる。
 図1は、本発明の一実施形態である制御装置におけるソフトウェア書き換えの主たる処理手順を示すフローチャートである。ステップS1001から処理が始まる。ステップS1002で書き換えソフトウェアを入力する。ステップS1003で任意のデータ参照を許可する変数情報を記憶したホワイトリストデータを入力する。ステップS1004で、書き換えソフトウェアがホワイトリストデータに記憶された変数のみで構成されているか否かを判定する。構成されていると判定された場合(Yes)、ステップS1005に進み、構成されていないと判定された場合(No)、ステップS1006に進む。ステップS1005では、書き換えを許可してソフトウェアを書き換える。ステップS1006では、ソフトウェアの書き換えを禁止する。ステップS1007で処理を終了する。
 図2は本発明の一実施形態である制御装置のシステム構成図である。制御装置1は、データ処理部11とデータベース12とを有する。データ処理部11としては、例えばマイクロコンピュータ等の演算処理装置が用いられる。また、データベース12は、半導体メモリ等の記憶装置に格納される。
 データ処理部11は、ソースコード解析部111と、ホワイトリスト作成器112と、プログラム検証器113と、参照関係更新器114を有する。これらの手段は、データ処理部11が後述するような処理手順に関するプログラムを読み込んで動作することにより、データ処理部11に備わる機能である。処理手順に関するプログラムは、データベース12と同様に記憶装置に格納される。なお、データ処理部11は、制御対象を制御するための制御信号を作成する公知の手段を有するが、本手段については図示および詳細な説明は省略する。
 データベース12は、書き換えプログラムデータ121と、参照関係データ122と、アクセス禁止変数データ123と、制御変数間参照関係データ124と、ホワイトリストデータ125と、検証結果データ126を有する。
 ソフトウェアを書き換えるためには、制御装置1に、外部装置である書き換えツール200が接続される。書き換えツール200は、書き換えソフトウェアを格納し、この書き換えソフトウェアを制御装置1に送信する。書き換えツールとしては、例えば、パーソナルコンピュータが用いられる。後述するように、データ処理部11は、ホワイトリストデータ125を用いて、書き換えツール200から送信される書き換えソフトウェアの適否を判定し、判定結果に応じて書き換えを許可または禁止する。書き換えが許可されたことおよび禁止されたことは、書き換えツール200の表示装置201(例えば、ディスプレイ装置)に表示される。
 図3は本実施形態における、データの流れを示すブロック図である。ソースコード解析器111は、システムに新しく書き換えるソフトウェアである書き換えプログラムデータ121を入力とし、書き換えプログラムデータ121中の変数の代入参照関係を示す参照関係データ122を出力する。ホワイトリスト作成器112は、任意のアクセスを禁止する変数を示すアクセス禁止変数データ123と、書き換え前のソフトウェアすなわちプログラム中の変数の代入参照関係を示す制御変数間参照関係データ124とを入力とし、任意アクセスすることを許可された変数の集合であるホワイトリストデータ125を出力する。プログラム検証器113は、参照関係データ122とホワイトリストデータ125とを入力し、入力した参照関係データ122とホワイトリストデータ125とを照合した結果を示す検証結果データ126を出力する。参照関係更新器114は、参照関係データ122と、検証結果データ126と、制御変数間参照関係データ124とを入力とし、検証結果データ126に基づき参照関係データ122の内容を制御変数間参照関係データ124に追加する。表示装置201は検証結果データ126の内容を表示する。
 図4は、アクセス禁止変数データ123の具体例を示す。アクセス禁止変数データ1231は書き換えプログラムからの任意アクセスを禁止する変数の集合で構成されている。本実施形態では、変数kが、任意アクセスを禁止する変数である。
 図5は、制御変数間参照関係データ124の具体例を示す。制御変数間参照関係データ1241は書き換え前のプログラム中の変数の代入参照関係情報の集合で構成されている。本実施形態では、制御変数間参照関係データは、プログラム中の2変数間の参照関係を示すデータである。例えば、書き換え前のプログラム中でb=a+fのような演算処理が存在する場合、変数aとfを参照元変数と定義し、変数bを参照先変数と定義する。このように変数間の代入参照関係により、プログラム中のどの変数がどの変数に影響を与えているかを示す。
 図6は、制御変数間参照関係データ124を、別の表記方法を用いて示した図である。制御変数間参照関係データ1242は変数を示すノードと、参照関係を示す矢印とで構成されている。ここで、矢印の根元にある変数(例えば、a,f)が参照元変数であり、矢印の先にある変数(例えば、b)が参照先変数である。
 図7は、ホワイトリスト作成器112が実行する処理を示すフローチャートである。
 ステップS1121から処理が始まる。ステップS1122において、ホワイトリスト作成器112は、アクセス禁止変数データ123と制御変数間参照関係データ124とを入力する。
 ステップS1123において、ホワイトリスト作成器112は、制御変数間参照関係データ124中の変数の内、アクセス禁止変数データ123中の変数から参照されている全ての変数を記憶する。すなわち、アクセス禁止変数データ123中の変数を参照先変数とする全ての参照元変数を抽出して記憶する。本実施形態においては、禁止変数kを参照先変数とする参照元変数gを抽出して記憶する(図4,5参照)。
 ステップS1124において、ホワイトリスト作成器112は、制御変数間参照関係データ124の内、ステップS1123で記憶した変数を参照先変数とする全ての参照元変数を抽出して記憶する。本実施形態においては、ステップS1123で記憶した変数gを参照先変数とする参照元変数c,hを抽出して記憶する(図5参照)。
 ステップS1125において、ホワイトリスト作成器112は、ステップS1124で記憶した変数の個数が0個であるか否かを判定する。0個ではないと判定された場合(NO)、記憶した変数を参照先変数とする参照元変数が存在する可能性があるため、ステップS1124を再度実行し、この時点で記憶している変数を参照先変数とする参照元変数を抽出して記憶する。0個であると判定した場合(YES)、ステップS1126へ進む。本実施形態において、ホワイトリスト作成器112は、最初にステップS1124を実行する際に、2個の変数c,hを記憶するので、再度ステップS1124を実行する。その結果、変数c,hを参照先変数とする参照元変数は無いため(図5参照)、ステップS1124の再実行によって、ホワイトリスト作成器112がさらに抽出して記憶する変数は無い。このため、次にステップS1125を実行すると、直前のステップS1124で記憶した変数の個数は0個であると判定し、次にステップS1126を実行する。
 ステップS1126において、ホワイトリスト作成器112は、制御変数間参照関係データ124中の変数の内、アクセス禁止変数以外、かつステップS1123およびステップS1124で記憶した変数以外の全ての変数を抽出して、ホワイトリストデータ125として記憶する。本実施形態では、アクセス禁止変数はkであり、ステップS1123およびS1124において記憶した変数がc,g,hであるから、これら以外の変数a,b,d,e,fをホワイトリストデータとして抽出して記憶する。
 ステップS1127において、ホワイトリスト作成器112は、ステップS1126において記憶したホワイトリストデータ125を出力してデータベース12に登録し、ステップS1128で処理を終了する。
 図8は、ホワイトリストデータ125の具体例を示す。ホワイトリストデータ1251は、ホワイトリスト作成器112が図7に示した処理を実行することにより作成されるデータである。図8が示すように、ホワイトリストデータ1251は、書き換えを許可する変数すなわち許可変数a,b,d,e,fを有する。図5および図6に示した制御変数間参照関係データ124と対比すると判るように、ホワイトリストデータ1251は、アクセス禁止変数kと直接的あるいは間接的に参照関係にある変数以外の変数、すなわちアクセス禁止変数データkに影響を与えていない変数のみで構成されている。
 図9にホワイトリストデータ125の具体例を別の表記方法で示す。ホワイトリストデータ1252は変数をノード、変数間の参照関係を矢印で示している。本図において、ノードkを終点とする矢印の始点となるノードは、直接的にはノードg、間接的にはノードc,hである。従って、ホワイトリストデータ1252は、ノードkを終点とする矢印の始点とはならないノード、すなわち図中の破線部で囲まれたノードである変数a,b,d,e,fから構成される。
 図10は、書き換えプログラムデータ121の具体例を示す。書き換えプログラム1211は、変数としてl,m,nをそれぞれ新しく定義している。また、新たなプログラムとしてnewFuncAを定義している。
 図11は、書き換えプログラムデータ121の別の具体例を示す。書き換えプログラム1212は、変数としてl,m,nをそれぞれ新しく定義している。また、新たなプログラムとしてnewFuncBを定義している。
 図12は、ソースコード解析器111が実行する処理を示すフローチャートである。ステップS1111から処理が始まる。ステップS1112において、ソースコード解析器111は、書き換えプログラムデータ121を入力する。ステップS1113において、ステップS1112で入力した書き換えプログラムデータ121中の変数の代入参照関係を解析して記憶する。ステップS1114においては、ステップS1113で記憶した変数の代入参照関係を、参照関係データ122として出力し、データベース12に登録する。
 図13は、参照関係データ122の具体例を示す。参照関係データ1221は、ソースコード解析器111によって解析された、図10の書き換えプログラム1211中の変数a,f,l,m,nの参照関係を示している。ソースコード解析器111は、図12に示した処理フローに従って、図10の書き換えプログラム1211を入力し、プログラム中の演算式a=K*l(K:定数)およびf=m-nから、変数lと変数aの間の参照関係、並びに変数mおよびnと変数fの間の参照関係(図13)を解析してデータベースに登録する。
 図14は、参照関係データ122の他の具体例を示す。参照関係データ1222は、ソースコード解析器111によって解析された、図11の書き換えプログラム1212中の変数a,c,l,m,nの参照関係を示している。ソースコード解析器111は、図12に示した処理フローに従って、図11の書き換えプログラム1212を入力し、プログラム中の演算式a=K*l(K:定数)およびc=m-nから、変数lと変数aの間の参照関係、並びに変数mおよびnと変数cの間の参照関係(図14)を解析してデータベースに登録する。
 図15はプログラム検証器113が実行する処理を示すフローチャートである。
 ステップS1131から処理が始まる。ステップS1132において、プログラム検証器113は、ステップS1132において参照関係データ122とホワイトリストデータ125を入力する。
 ステップS1133においては、ステップS1132において入力した参照関係データ122とホワイトリストデータ125を照合して、参照関係データ122における参照先情報中の変数がホワイトリストデータ125に登録されているか否かを判定する。判定結果に基づき、ステップS1134において、参照関係データ122の参照先情報中にホワイトリストデータ125に登録されていない変数が存在するか否かを判定する。存在すると判定した場合(YES)、ステップS1135に進み、存在しないと判定した場合(NO)、ステップS1136に進む。
 ステップS1135においては、検証結果データ126としてエラー結果を出力する。ステップS1136においては、検証結果データとして正常結果を出力する。その後、ステップS1137で処理を終了する。
 本実施形態において、制御プログラムを図10の書き換えプログラム1211に書き換えようとする場合、プログラム検証器113は、図13の参照関係データ1221と図8のホワイトリストデータ1251を入力する。入力したこれらデータを照合し、参照関係データ1221の参照先変数a,fがホワイトリスト1251に登録された許可変数であると判定する。この判定結果に基づいて、プログラム検証器113は、参照関係データ1221の参照先変数にホワイトリストデータ121に登録されていない変数は存在しない(NO)と判定し、検証結果データとして正常結果を出力する。
 また、制御プログラムを図11の書き換えプログラム1212に書き換えようとする場合、プログラム検証器113は、図14の参照関係データ1222と図8のホワイトリストデータ1251を入力する。入力したこれらデータを照合し、参照関係データ1222の参照先変数a,fについて、変数aはホワイトリスト1251に登録された許可変数であり、変数cはホワイトリスト1251に登録された許可変数ではないと判定する。この判定結果に基づいて、プログラム検証器113は、参照関係データ1222の参照先変数にホワイトリストデータ121に登録されていない変数が存在する(YES)と判定し、検証結果データとしてエラー結果を出力する。
 図16は、書き換えツール200の表示装置201に表示された検証結果データ126の一例を示す。検証結果データ1261は検証結果データ126が正常結果だった場合である。上述したように、参照関係データ1221(図13)を用いた場合、プログラム検証器113は、図15のステップS1134においてNOと判定するため、正常結果を出力する。この出力に基づき、書き換えツール200は、表示装置201に、正常結果を示す検証結果データ1261を表示する。
 図17は、書き換えツール200の表示装置201に表示された検証結果データ126の他の例を示す。検証結果データ1262は検証結果データ126がエラー結果だった場合である。上述したように、参照関係データ1222(図14)を用いた場合、プログラム検証器113は、図15のステップS1134においてYESと判定するため、エラー結果を出力する。この出力に基づき、書き換えツール200は、表示装置201に、エラー結果を示す検証結果データ1262を表示する。
 図18は、参照関係更新器115が実行する処理を示すフローチャートである。
 ステップS1151から処理が始まる。ステップS1152において、参照関係更新器115は、検証結果データ126を入力する。ステップS1153において、検証結果データが正常結果であるか否かを判定する。正常結果であると判定した場合(YES)、ステップS1154に進み、正常結果ではないと判定した場合(NO)、ステップS1158に進んで処理を終了する。
 ステップS1154において、制御変数間参照関係データ124と、書き換えプログラムの参照関係データ122とを入力する。ステップS1155において、ステップS1154で入力した参照関係データ122の内、ステップS1154で入力した制御変数参照関係データ124に存在しないデータを抽出して、制御変数間参照関係データ124に追加登録する。
 ステップS1156において、参照関係データ122の全てのデータについてステップS1155を実行したか否かを判定する。実行したと判定した場合(YES)、ステップS1157に進み、実行していない、すなわち未実行のデータがあると判定した場合(NO)、ステップS1155に進む。ステップS1157において、参照関係更新器115は、書き換えプログラムにおける新規な参照関係データが登録された制御変数間参照関係データ124を出力し、データベース12に登録する。その後、ステップS1158で処理を終了する。
 図19は、参照関係更新器115から出力された、更新後の制御変数間参照関係データ124の具体例を示す。本具体例は、図10の書き換えプログラム1211に書き換える場合であり、次のようにして出力される。まず、参照関係更新器115は、検証結果データ126を入力し、検証結果データ126は正常結果であると判定する。次に、参照関係データ1221(図13)および制御変数間参照関係データ1241(図5)を入力する。入力した参照関係データ1221の内、入力した制御変数参照関係データ1241に存在しないデータ、この場合は参照関係データ1221(図13)のすべてのデータを抽出して、制御変数間参照関係データ1241に追加登録する。これにより、図19に示すように、制御変数間参照関係データ1241に参照関係データ1221が追加された、更新後の制御変数間参照関係データ1242が得られる。
 さらに、更新後の制御変数間参照関係データ124とアクセス禁止変数データ123とを用いて、ホワイトリスト作成器112が、前述した図7に示した処理を実行して、ホワイトリストデータ125を更新する。本実施形態において、図10の書き換えプログラム1211に書き換える場合、すなわち、書き換えが許可される場合、ホワイトリスト作成器112は、アクセス禁止変数データ1231(図4)と、参照関係更新器115によって更新された制御変数間参照関係データ1241(図19)とから、ホワイトリストデータ1251(図8)に許可変数として変数l,m,nが追加される更新されたホワイトリストデータ125を作成して出力する。
 上記実施形態によれば、参照先変数に関するホワイトリストデータにより、書き換えソフトウェア自体が不正なものであるか否かを判定するので、ソフトウェアの不正な書き換えを確実に防止できる。さらに、参照関係更新器により更新された制御変数参照関係データによりホワイトリストデータを更新するので、制御装置が常時最新のホワイトリストを備えることができる。
 上述した実施形態に限らず、本発明の技術的思想の範囲内において、種々の実施形態並びに前述した実施形態の変形が可能である。
 例えば、書き換えプログラムにおける変数間の参照関係を解析するソースコード解析器は、書き換えられたプログラムの一部を制御装置が実行している状態で、解析を進めても良いし、実行される前に解析しても良い。後者については、書き換えプログラム全体について不正か否かを検証してから制御装置によりプログラムが実行されるので、安全性が向上する。
 ホワイトリストデータは、制御装置から外部出力される制御信号である制御変数以外の変数で構成することができる。この制御変数は不正なソフトウェア書き換えに対する高い安全性を要求される変数であるため、このような制御変数以外の変数でホワイトリストデータを構成することにより、プログラムの不正書き換えに対する安全性が向上する。
 また、ホワイトリストデータは、プログラム中における有効範囲が制限されない変数、すなわち、いわゆる大域変数(グローバル変数)で構成することができる。言い換えれば、ホワイトリストデータは、プログラム中において有効範囲が制限される局所変数(ローカル変数)以外の変数で構成することができる。局所変数は不正なソフトウェア書き換えに対する高い安全性を要求される変数であるため、局所変数以外の変数すなわち大域変数でホワイトリストデータを構成することにより、プログラムの不正書き換えに対する安全性が向上する。
 さらに、プログラム検証器は、書き換えプログラムにおける参照先変数に関する変数情報の内、ホワイトリストデータに登録されているデータで構成されていないと判定した変数情報データをデータベースに登録しても良い。
 また、本発明は、インターネットなどのネットワークを介して外部装置から書き換えプログラムデータを制御装置へ送信する場合にも適用できる。
 さらに、本発明は、自動車制御用ECUに限らず、昇降機、建設機械、医療用機器、家庭用電気機器などにおける組み込みソフトウェアを備えた制御装置に適用できる。いずれに適用した場合でも、不正なソフトウェア書き換えに対する安全性を向上できる。なお、家庭用電気機器などのように、一般消費者が使用する機器や、製品サイクルが短く低コストが要求される機器では、ホワイトリストデータを更新せずに固定されたものとしても良い。
1   制御装置,11  データ処理部,12  データベース,111 ソースコード解析器,112 ホワイトリスト作成器,113 プログラム検証器,114 参照関係更新器,121 書き換えプログラムデータ,122 参照関係データ,123 アクセス禁止変数データ,124 制御変数間参照関係データ,125 ホワイトリストデータ,126 検証結果データ,200 書き換えツール,201 表示装置

Claims (11)

  1.  制御用のソフトウェアを格納する記憶部と、前記記憶部に格納された前記ソフトウェアによって制御対象を制御するデータ処理部と、を備える制御装置において、
     前記記憶部は、任意のデータ参照を許可する参照先変数に関するデータが登録されたホワイトリストデータを格納し、
     前記データ処理部は、書き換えソフトウェアにおける参照先変数に関する変数情報データが、前記ホワイトリストデータに登録されているデータのみで構成されているか否かを判定し、構成されていると判定したら前記記憶部に格納されている前記ソフトウェアの前記書き換えソフトウェアへの書き換えを許可し、構成されていないと判定したら前記書き換えを禁止するプログラム検証手段を備えることを特徴とする制御装置。
  2.  請求項1に記載された制御装置において、前記データ処理部は、前記記憶部に格納されている前記ソフトウェアを前記書き換えソフトウェアに書き換えることを許可したら、前記変数情報データに基づいて前記ホワイトリストデータを更新するホワイトリスト作成手段を備えることを特徴とする制御装置。
  3.  請求項1に記載された制御装置において、
     前記記憶部は前記制御用ソフトウェアにおける変数間の参照関係に関する制御変数間参照関係データと、任意のアクセスを禁止する変数に関するアクセス禁止変数データを格納し、
     前記データ処理部は、前記制御変数間参照関係データと、前記アクセス禁止変数データとに基づいて、前記ホワイトリストデータを作成するホワイトリスト作成手段を備えることを特徴とする制御装置。
  4.  請求項3に記載された制御装置において、
     前記データ処理部は、前記記憶部に格納されている前記ソフトウェアを前記書き換えソフトウェアに書き換えることを許可したら、前記変数情報データに基づいて前記制御変数間参照関係データを更新する参照関係更新手段を備え、
     前記ホワイトリスト作成手段は、更新された前記制御変数間参照関係データと前記アクセス禁止データとに基づいて、前記記憶部に格納される前記ホワイトリストデータを更新することを特徴とする制御装置。
  5.  請求項1に記載された制御装置において、
     前記データ処理部は、前記書き換えソフトウェアにおける変数間の参照関係を解析して前記変数情報データを出力するソースコード解析手段を備えることを特徴とする制御装置。
  6.  請求項5に記載された制御装置において、
     前記ソースコード解析手段は、前記書き換えソフトウェアが実行される前に、前記変数間の参照関係を解析することを特徴とする制御装置。
  7.  請求項1に記載の制御装置において、
     前記ホワイトリストデータは、制御装置から外部出力される制御信号である制御変数以外の変数で構成されることを特徴とする制御装置。
  8.  請求項1に記載の制御装置において、
     前記ホワイトリストデータは、大域変数で構成されることを特徴とする制御装置。
  9.  請求項1に記載の制御装置において、
     前記記憶部は、前記プログラム検証手段が、前記ホワイトリストデータに登録されているデータで構成されていないと判定した前記変数情報データを格納することを特徴とする制御装置。
  10.  請求項1に記載の制御装置において、
     前記ホワイトリストデータは固定されていることを特徴とする制御装置。
  11.  制御用のソフトウェアを格納する記憶部と、前記記憶部に格納された前記ソフトウェアによって制御対象を制御するデータ処理部とを備える制御装置と、
     書き換えソフトウェアを格納し、前記制御装置へ前記書き換えソフトウェアを送信する外部装置と、
    を備えるソフトウェア書き換えシステムにおいて、
     前記記憶部は、任意のデータ参照を許可する参照先変数に関するデータが登録されたホワイトリストデータを格納し、
     前記データ処理部は、書き換えソフトウェアにおける参照先変数に関する変数情報データが、前記ホワイトリストデータに登録されているデータのみで構成されているか否かを判定し、構成されていると判定したら前記記憶部に格納されている前記ソフトウェアの前記書き換えソフトウェアへの書き換えを許可し、検証結果データとして正常結果を前記外部装置に出力し、構成されていないと判定したら前記書き換えを禁止し、前記検証結果データとしてエラー結果を前記外部装置に出力するプログラム検証手段を備え、
     前記外部装置は、前記正常結果および前記エラー結果を表示する表示装置を備えることを特徴とするソフトウェア書き換えシステム。
PCT/JP2013/067604 2013-06-27 2013-06-27 制御装置およびそれを用いたソフトウェア書き換えシステム WO2014207859A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2013/067604 WO2014207859A1 (ja) 2013-06-27 2013-06-27 制御装置およびそれを用いたソフトウェア書き換えシステム
JP2015523748A JP6077115B2 (ja) 2013-06-27 2013-06-27 制御装置およびそれを用いたソフトウェア書き換えシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/067604 WO2014207859A1 (ja) 2013-06-27 2013-06-27 制御装置およびそれを用いたソフトウェア書き換えシステム

Publications (1)

Publication Number Publication Date
WO2014207859A1 true WO2014207859A1 (ja) 2014-12-31

Family

ID=52141263

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/067604 WO2014207859A1 (ja) 2013-06-27 2013-06-27 制御装置およびそれを用いたソフトウェア書き換えシステム

Country Status (2)

Country Link
JP (1) JP6077115B2 (ja)
WO (1) WO2014207859A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010238168A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd 実行制御プログラムおよび情報処理システム
JP2011123675A (ja) * 2009-12-10 2011-06-23 Fujitsu Ltd 実行制御方法、実行制御プログラムおよび実行制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1770584B1 (en) * 2005-09-27 2019-03-06 Omron Corporation Programmable controller system and aid device for control program development therefor
JP2008102831A (ja) * 2006-10-20 2008-05-01 Hitachi Ltd 情報提供装置、プログラム及び情報提供方法
JP5589958B2 (ja) * 2011-05-24 2014-09-17 株式会社デンソー 電子制御装置
US20130097659A1 (en) * 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010238168A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd 実行制御プログラムおよび情報処理システム
JP2011123675A (ja) * 2009-12-10 2011-06-23 Fujitsu Ltd 実行制御方法、実行制御プログラムおよび実行制御装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUNJI TAMAKI: "Software Hinshitsu Shindan Tool eXquto", EMBEDDED SOFTWARE PRESS, vol. 16, 1 October 2009 (2009-10-01), pages 90 - 96 *
SHUICHIRO NINOMIYA: "Seigyo System ni Okeru Security Architecture to Taisaku Tool", INSTRUMENTATION, CONTROL, ENGINEERING, vol. 54, no. 9, 1 September 2011 (2011-09-01), pages 60 - 63 *

Also Published As

Publication number Publication date
JPWO2014207859A1 (ja) 2017-02-23
JP6077115B2 (ja) 2017-02-08

Similar Documents

Publication Publication Date Title
JP5457362B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム及び集積回路
CN111984962B (zh) 固件安全验证方法及装置
CN103425909B (zh) 控制系统、控制装置及程序执行控制方法
US8533492B2 (en) Electronic device, key generation program, recording medium, and key generation method
EP2261832A1 (en) Information processing device
US8856538B2 (en) Secured flash programming of secondary processor
CN109313677B (zh) 用于动态可执行验证的方法和装置
CN101300583A (zh) 用于可信赖移动电话的简单可伸缩和可配置安全启动
CN103136458B (zh) 一种Linux操作系统动态库代码保护方法及其装置
US8930710B2 (en) Using a manifest to record presence of valid software and calibration
KR20080039046A (ko) 펌웨어 업데이트 장치 및 방법
TWI570591B (zh) 允許測試金鑰用於bios安裝之技術
WO2020075303A1 (ja) ソフトウェア検証装置、ソフトウェア検証方法およびソフトウェア検証プログラム
CN108880859A (zh) 升级文件的配置方法、装置、服务器、终端及存储介质
Apvrille et al. Model-driven engineering for designing safe and secure embedded systems
WO2019012952A1 (ja) 電子制御装置、プログラム改ざん検知方法、プログラム改ざん検知方法のプログラム、およびコンピュータ読み出し可能持続的有形記録媒体
CN103348355A (zh) 用于管理安全状态转换的方法和设备
US7269820B2 (en) Program code generator and program
CN103858128A (zh) 提供用于抗攻击的遍及应用的相依性网络的系统和方法
JP2008084275A (ja) ソフトウェアの改ざん監視装置および改ざん監視方法
JP2017506859A (ja) ポジティブリストを用いる証明書の使用
CN114834393A (zh) 车辆控制系统
CN109753788B (zh) 内核运行时的完整性校验方法及计算机可读存储介质
WO2014207859A1 (ja) 制御装置およびそれを用いたソフトウェア書き換えシステム
JP5759827B2 (ja) メモリシステム、情報処理装置、メモリ装置、およびメモリシステムの動作方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13887675

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015523748

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13887675

Country of ref document: EP

Kind code of ref document: A1