JP6349244B2 - In-vehicle network testing equipment - Google Patents

In-vehicle network testing equipment Download PDF

Info

Publication number
JP6349244B2
JP6349244B2 JP2014255708A JP2014255708A JP6349244B2 JP 6349244 B2 JP6349244 B2 JP 6349244B2 JP 2014255708 A JP2014255708 A JP 2014255708A JP 2014255708 A JP2014255708 A JP 2014255708A JP 6349244 B2 JP6349244 B2 JP 6349244B2
Authority
JP
Japan
Prior art keywords
vehicle
network
payload
vehicle network
test
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.)
Active
Application number
JP2014255708A
Other languages
Japanese (ja)
Other versions
JP2016113122A (en
Inventor
三宅 淳司
淳司 三宅
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2014255708A priority Critical patent/JP6349244B2/en
Publication of JP2016113122A publication Critical patent/JP2016113122A/en
Application granted granted Critical
Publication of JP6349244B2 publication Critical patent/JP6349244B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、車載電子装置において、車載ネットワークに流れるデータを介して発露するセキュリティ上の脆弱性を検証する装置に関する。   The present invention relates to an apparatus for verifying security vulnerabilities that are exposed through data flowing in an in-vehicle network in an in-vehicle electronic apparatus.

2013年8月に開催された情報セキュリティの国際会議DEFCON 21(毎年、米国ネバダ州ラスベガスで開かれる世界最大のセキュリティ・カンファレンス)において、車載ネットワークであるCAN(Controller Area Network)に流れる情報を解析し、その通信になりすますことで攻撃する実証実験の動画が公開された。これ以降、車載ネットワークおよびそれに繋がる車載電子装置のセキュリティに関する議論が注目を浴びている。   At the DEFCON 21 International Conference on Information Security held in August 2013 (the world's largest security conference held in Las Vegas, Nevada, USA), the information flowing through the CAN (Controller Area Network), an in-vehicle network, was analyzed. The video of the demonstration experiment that attacks by impersonating the communication was released. Since then, discussions regarding the security of in-vehicle networks and in-vehicle electronic devices connected thereto have attracted attention.

車載ネットワークの規格は公開された国際規格であることと、車内のクローズした環境で使用されることが前提であった。したがって、全体がすべて善意の設計者によりハンドリングされることしか想定されてこなかった。しかしながら、悪意の第三者が外部より接続し車両の制御に影響を与える可能性が明らかにされ、それが今まで誰も考えもしないこと(考え付いていても経済的合理性が不明で先送り)であったので、以後この脅威に対する議論が大いに盛り上がった。   The premise was that the in-vehicle network standard was a public international standard and that it would be used in a closed environment inside the car. Therefore, it has been assumed that the whole is handled by a bona fide designer. However, it is revealed that a malicious third party may connect from the outside and affect the control of the vehicle, and that no one has ever thought about it (even if it has been thought, economic rationality is unknown and postponed) Since then, the discussion on this threat has been very exciting.

特に将来技術として各社が取り組もうとしている自動運転などは、特定の局面では運転者の意志よりも車両制御ソフトの判断が優先される仕組みであり、これをテロ目的などで悪意の第三者に制御されると重大な人的および財産的危機を引き起こす恐れがある。   In particular, automated driving that each company is trying to tackle as a future technology is a mechanism in which the judgment of vehicle control software is given priority over the will of the driver in certain situations, and this can be used for malicious third parties for terrorist purposes. Control can cause serious human and property crises.

この脅威に対抗するものとして、現行インターネットの技術領域で使用されている暗号化や電子署名などの技術が、車載ネットワーク領域にも降りてくるものと推測される。しかしながら、これらの対策を順当に実施したとしても、問題となるのはバッファオーバーフローなど制御ソフトウェア(特に車載ネットワークをハンドリングするドライバソフトウェア群およびそれらのデータを使用したアプリケーションソフトウェア)の処理例外に起因する脆弱性である。バッファオーバーフローについては、統一的な方法論や根本的な解決方法がなく、個別かつ虱潰し的に該当ソフトウェアの問題点を見つけて対策していくしか方法がない。   As countermeasures against this threat, it is presumed that technologies such as encryption and digital signature used in the current Internet technology field will also come down to the in-vehicle network field. However, even if these countermeasures are implemented properly, the problem is a vulnerability caused by processing exceptions of control software such as buffer overflow (especially driver software groups handling in-vehicle networks and application software using those data). It is sex. For buffer overflow, there is no unified methodology or fundamental solution, and there is no other way but to find and solve the problem of the corresponding software individually and crushedly.

バッファオーバーフローは、車載ネットワークを通じて送り込んだデータにより車載ECU(Electronic Control Unit)に処理中断をおこさせるか、最悪の場合、ネットワーク送信データを制御コード(マシン語)に見立ててそこに制御を移すことにより車載ECUを乗っ取ることが可能である。いずれにせよ、車載ECUにとっては良くて走行中のリセット(車両走行状態によっては大きな運転ショックが出る)、最悪のケースで悪意の第三者による制御ハイジャックに見舞われることになる。これは車両の運転者のみならず、交通社会にとって大いなる脅威である。   Buffer overflow can be caused by causing the in-vehicle ECU (Electronic Control Unit) to suspend processing by the data sent through the in-vehicle network, or in the worst case, transferring the control to the network transmission data as a control code (machine language). It is possible to take over the in-vehicle ECU. In any case, it is good for the vehicle-mounted ECU to be reset during running (a big driving shock occurs depending on the vehicle running state), and in the worst case, it is hit by a control hijack by a malicious third party. This is a great threat not only to vehicle drivers but also to the transportation society.

前述したようにバッファオーバーフローを防ぐためには、制御ソフトウェアのセキュアな作り込みや、検証を地道に行うことが肝要であり技術的な特効薬はない。また、ソフトウェアの改造や流用に当たって、新たな脆弱性が容易に作りこまれることもその特徴である。   As described above, in order to prevent buffer overflow, it is important to make sure that control software is securely built and verified, and there is no technical magic bullet. Another characteristic is that new vulnerabilities can be easily created when software is modified or used.

ここで「セキュア」という表現は、「技術的に安全が保障された」という意味である。   Here, the expression “secure” means “technically secure”.

パソコンのOS(Operating System)であるWindows XP(登録商標)がライフサイクルの12年が経過してその寿命(ライフサイクル)を終えてもセキュリティの脆弱性の観点では枯れなかったことがその証左である。   The proof that Windows XP (registered trademark), the operating system of the personal computer, has not withered in terms of security vulnerabilities even after the end of its life (life cycle) after 12 years. is there.

近年、制御ソフトウェアが巨大化していることによって、ホワイトボックステストでプログラムの網羅的な試験を実施することが困難になってきている。したがって、ファジング(非特許文献1参照)などの技術の応用によって脆弱性試験を実施することが現実的な対応策となってきている。   In recent years, it has become difficult to perform a comprehensive test of a program by a white box test due to an increase in control software. Therefore, it has become a realistic countermeasure to perform a vulnerability test by applying a technique such as fuzzing (see Non-Patent Document 1).

従来技術としては、インターネットにおけるコンテンツビューアの技術領域であり、必ずしも車載機器応用では無いが、例えば特許文献1に示すようにネットワーク入力を広範に可変として、例外処理が発生したモジュールを特定しコンテンツビューアの脆弱性の検出を行う検出装置およびバグ検出方法の技術が知られている。   The prior art is a technical field of content viewers on the Internet, and is not necessarily applied to in-vehicle devices. For example, as shown in Patent Document 1, a network input is widely variable, a module in which exception processing occurs is specified, and a content viewer A technology of a detection apparatus and a bug detection method for detecting vulnerabilities of the above is known.

特許第5386015号公報Japanese Patent No. 5386015

”Fuzz Testing of Application Reliability”, Barton Miller <URL:http://pages.cs.wisc.edu/~bart/fuzz/>"Fuzz Testing of Application Reliability", Barton Miller <URL: http://pages.cs.wisc.edu/~bart/fuzz/>

しかしながら、上記特許文献1では、これをそのまま車載ネットワークの脆弱性検査に適用することはできない。一般のインターネットと車載ネットワークとではプロトコルが異なり、ネットワークを流れるデータの用途や意味も異なるからである。   However, in the said patent document 1, this cannot be applied to the vulnerability test | inspection of a vehicle-mounted network as it is. This is because the protocol differs between the general Internet and the in-vehicle network, and the use and meaning of data flowing through the network are also different.

また、非特許文献1で例示したファジングなどを応用した試験に際しても、車載制御ソフトウェアが脆弱性を抱え込む機序を理解して、テストケースをルール付しないと網羅的かつ効率的な検証はできない。   In addition, even in a test using fuzzing exemplified in Non-Patent Document 1, comprehensive and efficient verification cannot be performed unless the in-vehicle control software understands the mechanism in which vulnerability is held and attaches test cases to rules.

車載制御ソフトウェアで注目すべき脆弱性は、ネットワーク関連ドライバやアプリケーションのバッファオーバーエラーである。   The vulnerabilities that should be noted with in-vehicle control software are network-related drivers and application buffer over errors.

一般的にはバッファオーバーエラーには主に2種類があって、スタックオーバーフローエラーとヒープオーバーフローエラーが挙げられる。しかしながら、車載制御機器関係の技術領域に限定すると、バッファオーバーエラーの中でも特に問題にすべきはスタックオーバーフローエラーであり、ヒープオーバーフローエラーではない。   In general, there are mainly two types of buffer over errors, a stack overflow error and a heap overflow error. However, when limited to the technical field related to the in-vehicle control device, the stack overflow error that should be particularly problematic among buffer over errors is not a heap overflow error.

車載制御ソフトウェアではヒープを使用することはない。ヒープのような動的なメモリ管理は、最悪実行時間の把握を難しくして再現性のない遅延を生むので、車載目的の制御ソフトウェアに関しては不向きであり、通常使用されない。(ヒープはソフトリアルタイム制御向きであり、自動車のようなハードリアルタイム制御には向いていない。)
車載制御装置では、C言語やC++言語で制御ソフトウェアを記述している関係で言語の機構上スタックオーバーフローエラーの発生は避けられず、これを効率的に検証できる装置および手法が求められている。
In-vehicle control software does not use a heap. Dynamic memory management such as heap makes it difficult to grasp the worst execution time and generates non-reproducible delay, so it is unsuitable for control software for in-vehicle use and is not normally used. (The heap is suitable for soft real-time control, not for hard real-time control like automobiles.)
In the in-vehicle control device, the occurrence of a stack overflow error is unavoidable due to the language mechanism because the control software is described in C language or C ++ language, and a device and a method capable of efficiently verifying this are required.

車載ネットワークは、CANからCAN FD(CAN with Flexible Data Rate)およびEthernet(登録商標)と1通信フレーム当たりのデータ量(ペイロード)が制御の高度化により年々巨大になってくると予想されている。   In the in-vehicle network, CAN FD (CAN with Flexible Data Rate) and Ethernet (registered trademark) and the data amount (payload) per communication frame are expected to become larger year by year due to advanced control.

その際、低容量(小ペイロード)の通信プロトコルに適合した通信ソフトウェアをベースとして用い、これを流用し修正かつ改良して新プロトコルに対応すると想定されるが、スタック上のデータバッファを新プロトコルに合わせて適切に拡張するか、少なくともデータ格納溢れを意識した異常処理を作り込んでいないとスタックオーバーフローが容易に発生し、結果として脆弱性を作り込むことになる。   At that time, it is assumed that communication software that conforms to a low-capacity (small payload) communication protocol is used as a base, and this is used to modify and improve the new protocol. If it is not properly expanded, or at least abnormal processing that is aware of data storage overflow is not created, stack overflow will easily occur, resulting in a vulnerability.

そこで本発明は、上記車載制御ソフトウェア特有の作り込み機序に起因する脆弱性を自動的に発見する車載ネットワークの試験装置を提供することを目的とする。   Therefore, an object of the present invention is to provide an in-vehicle network testing apparatus that automatically finds vulnerabilities resulting from the built-in mechanism unique to the in-vehicle control software.

上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。   In order to solve the above problems, for example, the configuration described in the claims is adopted.

本発明は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、車載ネットワークから制御情報を取得して動作に反映させる車載電子装置に関して、この動作を検証するための車載ネットワークの試験装置であって、前記車載電子装置のCPU(Central Processing Unit)のリセット割り込み、アドレスエラー、もしくは不正命令割り込みの少なくともひとつを検出する異常検出器と、車載ネットワークに供給する送信メッセージを動的に変更するテストデータ生成器とで構成され、前記テストデータ生成器は該車載電子装置の受信可能なメッセージ識別子を蓄積した辞書と、単位メッセージ当たりのペイロード量を動的に変更して発生させるデータ発生器とで構成され、前記テストデータ生成器から発生させたメッセージ識別子とペイロードとの組み合わせデータを、車載ネットワーク経由で該車載電子装置に供給するとともに、前記異常検出器により前記車載電子装置のリセット割り込み、アドレスエラー、もしくは不正命令割り込みの少なくともひとつの発生を監視することを特徴とする。   The present invention includes a plurality of means for solving the above-described problems. For example, the vehicle-mounted network for verifying the operation of the vehicle-mounted electronic device that obtains control information from the vehicle-mounted network and reflects it in the operation. An abnormality detector that detects at least one of a reset interrupt, an address error, or an illegal instruction interrupt of a CPU (Central Processing Unit) of the in-vehicle electronic device, and a transmission message supplied to the in-vehicle network dynamically. The test data generator includes a dictionary that stores message identifiers that can be received by the in-vehicle electronic device, and data that is generated by dynamically changing the payload amount per unit message. Generator and the test data generator The combination data of the message identifier and the payload generated from the above is supplied to the in-vehicle electronic device via the in-vehicle network, and at least one of the reset interrupt, address error, or illegal instruction interrupt of the in-vehicle electronic device by the abnormality detector It is characterized by monitoring the occurrence of.

本発明によれば、車載ネットワークに流れるデータを介して発生するスタックオーバーフローエラーを早期に網羅的に検証することによって、車両の脆弱性を摘出可能な試験装置および試験方法を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the test apparatus and test method which can extract the vulnerability of a vehicle by exhaustively verifying the stack overflow error which generate | occur | produces via the data which flow into a vehicle-mounted network at an early stage can be provided.

上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。   Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.

本実施形態に係る車載ネットワーク試験装置の全体構成図である。1 is an overall configuration diagram of an in-vehicle network test apparatus according to an embodiment. 本発明が検出対象とするスタックオーバーフローエラーの機序をしめすメモリ配置図である。FIG. 3 is a memory layout diagram showing a mechanism of a stack overflow error targeted for detection by the present invention. 本発明が検出対象とするスタックオーバーフローエラーが制御ソフトウェアに作り込まれる要因を示した解説図である。It is explanatory drawing which showed the factor by which the stack overflow error made into a detection target by this invention is made into control software. 本実施形態に係る車載ネットワーク試験装置の時系列動作を示したタイムチャートである。It is the time chart which showed the time-sequential operation | movement of the vehicle-mounted network test apparatus which concerns on this embodiment. 本実施形態に係る車載ネットワーク試験装置の内部動作手順を示すフローチャートである。It is a flowchart which shows the internal operation | movement procedure of the vehicle-mounted network test apparatus which concerns on this embodiment.

以下、図面を用いて本発明の実施形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

<本実施形態の概要>
本実施形態の試験装置では、試験対象の車載ECUが受信可能なメッセージ識別子をデータベースとしてテスト辞書を保持している。
<Outline of this embodiment>
In the test apparatus of the present embodiment, a test dictionary is held using a message identifier that can be received by the on-vehicle ECU to be tested as a database.

同じくペイロード発生器は、上記各メッセージ識別子に対応する想定されたペイロード量(設計的に与えられソフトウェアに作り込まれたペイロード量)より大きなデータフレームを発生し、前記メッセージ識別子と合成して車載ネットワークに送出することができる。   Similarly, the payload generator generates a data frame larger than an assumed payload amount (a payload amount given by design and built in software) corresponding to each message identifier, and synthesizes it with the message identifier to form an in-vehicle network. Can be sent to.

一方、試験対象の車載ECUのCPU周辺にはデバッグポートもしくは類似の信号端子が用意されており、CPUのリセットあるいは例外処理の発生を捉えて本発明の試験装置に伝える結線が施されている。   On the other hand, a debug port or a similar signal terminal is prepared around the CPU of the in-vehicle ECU to be tested, and is connected to catch the occurrence of CPU reset or exception processing and transmit it to the test apparatus of the present invention.

本実施形態の試験装置では、上記メッセージ識別子とペイロードの組み合わせを自動的かつ網羅的に車載ネットワークに流し、試験対象の車載ECUの挙動、とくに例外処理が実行されたか、もしくはリセットが発生したか否かを自動的に調べることができる。   In the test apparatus according to the present embodiment, the combination of the message identifier and the payload is automatically and comprehensively transmitted to the in-vehicle network, and the behavior of the in-vehicle ECU to be tested, particularly whether exception processing has been executed or whether a reset has occurred. Can be checked automatically.

上述のスタックオーバーフローエラー作り込み機序を想定した脆弱性検出試験であるので、ペイロード量を通信で想定された量(設計値)よりプロトコルの上限一杯までスイープ(掃引)してテストすることが重要となる。   Since it is a vulnerability detection test that assumes the above-described mechanism for creating a stack overflow error, it is important to test the amount of payload by sweeping from the amount assumed by communication (design value) to the upper limit of the protocol. It becomes.

また、ペイロードのデータ自体は、車載制御装置ECUのCPUに例外処理を引き起こしやすい値を設定することも重要となる。たとえば、値の候補としてアドレスに換算して例外ベクタに相当する値などが挙げられる。   It is also important for the payload data itself to set a value that is likely to cause exception processing in the CPU of the in-vehicle control device ECU. For example, a value corresponding to an exception vector converted to an address can be cited as a value candidate.

<実施の形態における構成>
図1は、本発明の実施形態の一つを図示したものである。
<Configuration in the embodiment>
FIG. 1 illustrates one embodiment of the present invention.

車載ECU・110は、車載ネットワーク120から情報を取り入れ制御に反映する。車載ECU・110は本発明における被試験対象である。   The in-vehicle ECU 110 receives information from the in-vehicle network 120 and reflects it in the control. The in-vehicle ECU 110 is an object to be tested in the present invention.

本発明の試験装置100は、接続109にて車載ネットワーク120に接続し、接続116にて車載ECU・110の動作をモニタしている。   The test apparatus 100 of the present invention is connected to the in-vehicle network 120 through a connection 109 and monitors the operation of the in-vehicle ECU 110 through a connection 116.

試験装置100は、主にテストデータ生成器107と異常検出器101により構成されており、全体の動作はシーケンサー103により制御されて試験動作を実行する。   The test apparatus 100 is mainly composed of a test data generator 107 and an abnormality detector 101, and the entire operation is controlled by the sequencer 103 to execute the test operation.

テストデータ生成器107の内部は、受信メッセージ識別子の辞書105、ペイロードのデータ発生器106、種となるデータ108、およびそれらを合成して送信フレームを生成するメッセージ合成器102より構成されている。   The test data generator 107 includes a received message identifier dictionary 105, a payload data generator 106, seed data 108, and a message synthesizer 102 that synthesizes them to generate a transmission frame.

試験装置100より車載ネットワーク120に送出された試験用送信メッセージは、車載ECU・110内部のネットワークデバイス113に捕捉されてCPU111の作用よりRAM(Random Access Memory)112に転送されるが、そこで場合によっては後述の脆弱性が発生する局面を迎える。   A test transmission message sent from the test apparatus 100 to the in-vehicle network 120 is captured by the network device 113 inside the in-vehicle ECU 110 and transferred to a RAM (Random Access Memory) 112 by the action of the CPU 111. Will enter a phase where the vulnerabilities described below will occur.

RAM112とCPU111は内部バス114で接続されており、関数の戻りアドレス(及びそれを格納したスタックフレーム)もRAM112内に格納されるが、これがネットワークから受信したデータにより破壊され、脆弱性を引き起こすのがその要因である。   The RAM 112 and the CPU 111 are connected by an internal bus 114, and the return address of the function (and the stack frame in which it is stored) is also stored in the RAM 112, but this is destroyed by data received from the network and causes a vulnerability. Is the factor.

CPU111が脆弱性に見舞われると、リセットが発生するか、例外処理が行われるので、その状況をデバッグポート115より外部出力し、接続116を通じて試験機100の異常検出器101が捕捉しシーケンサー103に報告する。   When the CPU 111 encounters a vulnerability, a reset occurs or exception processing is performed, so that the situation is externally output from the debug port 115, and the abnormality detector 101 of the test machine 100 is captured through the connection 116 and sent to the sequencer 103. Report.

シーケンサー103は、脆弱性を捉えた旨、表示装置104を通じて外部の操作者に分かるように表示を行う。しかしながら、表示装置(もしくはマン・マシン・インターフェース)は図1の104で図示するように試験機100の内部に包括されていてもよいし、例えば異常検知信号のみ外部に出力して、表示と記録は試験機100と分離された別装置(図示せず)により行ってもよい。   The sequencer 103 performs display so that an external operator can recognize that the vulnerability has been detected. However, the display device (or man-machine interface) may be included in the testing machine 100 as shown by 104 in FIG. 1, or for example, only an abnormality detection signal is output to the outside for display and recording. May be performed by a separate device (not shown) separated from the testing machine 100.

上述のCPU111にリセットが発生する状況は、直接リセットベクタに制御が飛ぶ場合と、ソフトウェア暴走により外部ウォッチドックタイマからリセット信号が入る場合とがある。また、CPU111に例外処理が発生する状況は、通常許可されていないアドレス空間を参照しようとしたアドレスエラーによるものと、異常なアドレスに遷移しそのビット列を命令として実行した結果、有り得ない(解読不能な)命令をフェッチしたことによる不当命令割り込みにより発生する場合がある。   The situation where the reset occurs in the CPU 111 described above includes a case where control directly jumps to the reset vector and a case where a reset signal is input from the external watchdog timer due to software runaway. Also, the situation where exception processing occurs in the CPU 111 is not possible as a result of an address error that attempts to refer to an address space that is not normally permitted, or as a result of transitioning to an abnormal address and executing that bit string as an instruction (indecipherable) It may occur due to an illegal instruction interrupt caused by fetching an instruction.

いずれの場合も、デバッグポート115を経由して異常検出器101がこの状況を検出することが可能である。   In either case, the anomaly detector 101 can detect this situation via the debug port 115.

上記の各構成、機能、処理部などは、それらの全部または一部を、例えば集積回路で設計することによりハードウェアとして実現することもできるし、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアとして実現することもできる。各機能を実現するプログラム、テーブルなどの情報は、メモリやハードディスクなどの記憶装置、ICカード、USBメモリ、SDカード、CD−ROM、DVDなどの記憶媒体に格納することができる。   Each of the above-described configurations, functions, processing units, and the like can be realized as hardware by designing all or a part thereof, for example, with an integrated circuit, and the processor executes a program that realizes each function. It can also be realized as software. Information such as programs and tables for realizing each function can be stored in a storage device such as a memory or a hard disk, a storage medium such as an IC card, a USB memory, an SD card, a CD-ROM, or a DVD.

<脆弱性の原理と作り込み要因>
図2は、スタックオーバーフローエラーがなぜ脆弱性たり得るのかを解説した図である。
<Vulnerability principle and built-in factors>
FIG. 2 explains why the stack overflow error can be vulnerable.

バッファオーバーフローを利用して、制御ソフトウェアに想定外の動作をさせることができる。バッファオーバーフローには2種類があって、スタックオーバーフローとヒープオーバフローがあるが、車載制御ソフトウェアで問題になるのは前者のスタックオーバーフローであることは前述した通りである。   Using the buffer overflow, the control software can be operated unexpectedly. There are two types of buffer overflows: stack overflow and heap overflow. As described above, the problem of in-vehicle control software is the former stack overflow.

原理を解説すると、制御ソフトウェアはネットワークデータに限らず、外部から受け取ったデータを格納するために、バッファ203と呼ぶメモリ領域を確保する。あらかじめ決められた固定サイズのバッファを用意して、そこに受け取ったデータを書き込むのがソフトウェア処理の定石である。   To explain the principle, the control software secures a memory area called a buffer 203 in order to store not only network data but also data received from the outside. The standard of software processing is to prepare a buffer with a fixed size determined in advance and write the received data there.

一般に、受け取るデータの長さは可変である。そのため、制御ソフトウェアは受け取ったデータがバッファのサイズを超えないように、データの長さをチェックすべきである。ところが、アプリケーションの中には、データの長さのチェックを省略している場合がある。   In general, the length of data received is variable. Therefore, the control software should check the length of the data so that the received data does not exceed the size of the buffer. However, some applications omit checking the length of the data.

例えば、通信データの1フレームを格納するバッファであって、1フレームの最大バイト数(ペイロードの上限値)が通信プロトコルの規格として決まっている場合、最大バイト数(ペイロードの上限値)分のバッファを一旦確保してしまえば、アプリケーションはことさら受け取ったデータ長さとバッファ全体長との比較チェックを行わないで済ましてしまうかもしれない。   For example, a buffer for storing one frame of communication data, and a buffer for the maximum number of bytes (upper limit of payload) when the maximum number of bytes of one frame (upper limit of payload) is determined as the standard of the communication protocol Once the application is secured, the application may not need to perform a comparison check between the received data length and the entire buffer length.

このような制御ソフトウェアに対して、バッファのサイズを超えるデータを、例えば車載ネットワークから送り込むと、当然のようにバッファからデータが溢れる。溢れたデータは、プログラムが使っているほかのメモリ領域中のデータを上書きしてしまう。この結果、プログラムは正常に動作しなくなったり、ハングアップしてしまったりすることになる。   When data exceeding the size of the buffer is sent to such control software, for example, from the in-vehicle network, the data overflows from the buffer as a matter of course. Overflowing data overwrites data in other memory areas used by the program. As a result, the program does not work properly or hangs up.

このように制御ソフトウェアの不具合を利用することで、制御ソフトウェアの正常な稼働を停止もしくは中断をさせることが可能になる。これをサービス妨害(DoS:Denial of Service)攻撃と呼ぶ。   Thus, by utilizing the malfunction of the control software, it is possible to stop or interrupt the normal operation of the control software. This is called a denial of service (DoS) attack.

DoS攻撃による動作の停止や中断だけでなく、バッファオーバーフローを利用して意図したアクションを実行させるという攻撃も登場してきている。   In addition to stopping and interrupting operations due to DoS attacks, attacks that use buffer overflow to execute intended actions have also appeared.

C言語もしくはC++言語の場合、プログラムは通常、あるプログラムが別の小さなプログラム(関数サブルーチン)に処理を依頼するように作られている。この関数サブルーチンは、RAM(図1の112に相当)のメモリ上に一時的に利用するためのスタック領域200を確保する。このスタック領域200には、実際にサブルーチンが利用すべきローカル変数や呼び出し元プログラムのレジスタ内容等退避データのほか、前述したバッファ203やリターンアドレス204が書き込まれている。リターンアドレス204とは、サブルーチンによる処理が完了したら、元のプログラムへ戻るために利用するメモリのアドレスのことである。(図2の「正常な状態201」のリターンアドレス204参照)
このような状態で、前述のように送り込まれたデータ205がバッファ203よりも大きいと、データが溢れてしまい、リターンアドレス204が記述されたスタック領域200を上書きしてしまうことも可能になる。そこで、図2の「不正なデータが送られた後の状態202」のように、送り込んだデータの溢れる部分206に、リターンアドレスとして別の値208を書き込んでおき、書き込まれたリターンアドレスが指定しているメモリ領域には攻撃者が望むようなコマンドを実行する不正な命令コード207を記述しておく。
In the case of C language or C ++ language, a program is usually made such that one program requests processing to another small program (function subroutine). This function subroutine secures a stack area 200 for temporary use on a memory of RAM (corresponding to 112 in FIG. 1). In the stack area 200, the above-described buffer 203 and return address 204 are written in addition to saved data such as local variables to be actually used by the subroutine and register contents of the calling program. The return address 204 is an address of a memory used for returning to the original program when processing by the subroutine is completed. (Refer to the return address 204 of “normal state 201” in FIG. 2)
In this state, if the data 205 sent as described above is larger than the buffer 203, the data overflows and it is possible to overwrite the stack area 200 in which the return address 204 is described. Therefore, another value 208 is written as a return address in the overflowed portion 206 of the sent data as shown in “state 202 after illegal data is sent” in FIG. 2, and the written return address is designated. An illegal instruction code 207 for executing a command desired by the attacker is described in the memory area.

この結果、該関数サブルーチンがリターンするタイミングで、呼出し元のプログラムが動作しているのと同じ権限で、任意のコマンド(不正な命令コード207)を実行できることになる。プログラムがスーパバイザモードのような強い権限で動いていると、こういった攻撃を受けると直ちに致命的な結果を招き、制御が攻撃者によりネットワーク越しに乗っ取られることになる。   As a result, an arbitrary command (invalid instruction code 207) can be executed with the same authority as the calling source program is operating at the timing when the function subroutine returns. If the program is running with a strong authority like supervisor mode, such an attack will have fatal consequences immediately and control will be taken over by the attacker over the network.

図3は、このような脆弱性が作り込まれる要因を解説した図である。   FIG. 3 is a diagram illustrating the factors that cause such vulnerabilities.

図3では、スタック領域200の内容が図2と比較して詳細に記述されており、リターンアドレス204の上(アドレスの若い方)に向かって順番に、ベースレジスタ等の退避レジスタの値が格納され、その上に呼び出された関数が使用する自動変数(ローカル変数)が乗る。自動変数(ローカル変数)の中には、呼び出された関数が使用するローカル変数とここで議論されている処理バッファ(302および304)が格納されるものとする。   In FIG. 3, the contents of the stack area 200 are described in detail in comparison with FIG. 2, and the values of the save registers such as the base register are stored in order toward the top of the return address 204 (the one with the smaller address). Then, an automatic variable (local variable) used by the called function gets on it. It is assumed that the local variables used by the called function and the processing buffers (302 and 304) discussed here are stored in the automatic variables (local variables).

通常のセキュアなコーディングでは、転送方式(a)のように、処理バッファ[n]302とネットワークデバイス113の受信レジスタ301に格納されているデータの大きさを比較してチェック付き転送303のように処理バッファ[n]302が溢れない範囲で、受信レジスタ301→処理バッファ[n]302の転送が行われる。   In normal secure coding, as in the transfer method (a), the size of data stored in the processing buffer [n] 302 and the reception register 301 of the network device 113 is compared, and a transfer 303 with a check is performed. As long as the processing buffer [n] 302 does not overflow, the transfer from the reception register 301 to the processing buffer [n] 302 is performed.

しかしながら、転送方式(b)のように、通信プロトコルの1フレーム当たりの最大バイト数(ペイロードの上限値)分の処理バッファ[protocol_max]304を確保してチェック無し転送305を行う場合も多い。   However, as in the transfer method (b), in many cases, the unchecked transfer 305 is performed while securing the processing buffer [protocol_max] 304 corresponding to the maximum number of bytes per frame (upper limit value of the payload) of the communication protocol.

ここで問題になるのは、このようなチェック無し転送が行われるプログラムを最大バイト数(ペイロードの上限値)が異なる別のプロトコルの通信ソフトウェアとして流用した場合である。   The problem here is when a program that performs such unchecked transfer is used as communication software of another protocol having a different maximum number of bytes (upper limit value of payload).

流用先で処理バッファ[protocol_max]304の数を調整しなければ、流用先プロトコルの最大バイト数(ペイロードの上限値)が流用元に比べて大きい場合、容易にスタックオーバーフロー306を引き起こすことになる。   If the number of processing buffers [protocol_max] 304 is not adjusted at the diversion destination, the stack overflow 306 is easily caused when the maximum number of bytes (upload upper limit value) of the diversion destination protocol is larger than the diversion source.

現状、CAN→CAN FD→Ethernetと新しい通信規格ほど最大バイト数(ペイロードの上限値)が拡大される方向であるので、このような脆弱性がネットワーク対応した種々の車載ECUに内在化することが懸念される。   At present, since the maximum number of bytes (upper limit value of payload) is increased in the new communication standard such as CAN → CAN FD → Ethernet, such vulnerabilities may be internalized in various in-vehicle ECUs corresponding to the network. Concerned.

<実施の形態における動作>
図4は、試験装置100の動作を示したタイムチャートである。
<Operation in the embodiment>
FIG. 4 is a time chart showing the operation of the test apparatus 100.

図4の横軸は、受信メッセージの識別子(ID)ごとに一群として纏められたテストケース402であり、すべての受信識別子のテストが網羅的に車載ECU・110に供与され、応答が調べられる。   The horizontal axis of FIG. 4 is a test case 402 collected as a group for each identifier (ID) of the received message, and all the received identifier tests are comprehensively provided to the in-vehicle ECU 110 and the response is examined.

すべての受信識別子を網羅的に試行する理由は、受信識別子によって処理関数が異なり脆弱性発生個所も異なる状況を考慮したものである。   The reason why all the received identifiers are exhaustively tried is that the processing function is different depending on the received identifier and the situation where the vulnerability occurs is also different.

図4の縦軸は1フレーム当たりのペイロード数401であり、ペイロード想定値(設計値)より1バイトずつ増加させて連続的にテストケースが設定される。ペイロードの最大値は、言うまでもなくプロトコルで規定されたプロトコル上限値407である。   The vertical axis in FIG. 4 is the number of payloads 401 per frame, and test cases are set continuously by increasing the payload by 1 byte from the expected payload (design value). Needless to say, the maximum value of the payload is the protocol upper limit value 407 defined by the protocol.

個別の受信IDごとに挙動を見ていくと、受信IDn−1・403では、ペイロード想定値Pn−1・404より1バイトずつペイロードを増加させてテストケースが組まれる。   When the behavior is observed for each individual reception ID, a test case is formed by increasing the payload by one byte at the reception IDn−1 · 403 from the expected payload value Pn−1 · 404.

このペイロード想定値というのは設計的に個別受信IDに対して紐付けして決まっているもので、通常のネットワーク動作ではこのペイロード量で固定してネットワークメッセージがやりとりされる。この基本値は、受信ID値に対応づけて受信メッセージ識別子の辞書105に記憶されている。   The expected payload value is determined by being associated with an individual reception ID by design, and network messages are exchanged with a fixed payload amount in a normal network operation. This basic value is stored in the received message identifier dictionary 105 in association with the received ID value.

受信IDn−1・403のテスト群では、ペイロードをペイロード想定値404からプロトコル上限値407まで掃引して印加した結果、車載ECU110に異常動作を引き起こすことはなかった。   In the test group of reception IDn−1 · 403, the payload was swept from the payload expected value 404 to the protocol upper limit value 407, and as a result, abnormal operation was not caused in the in-vehicle ECU 110.

続く受信IDn・405ではペイロード想定値Pn・406から順次ペイロードを増やしてテストをしたところ、車載ECU・110にリセットが発生(408)し、その時のペイロード値はPvulune.409であった。   In the subsequent reception IDn · 405, when the payload was sequentially increased from the expected payload value Pn · 406 and tested, the in-vehicle ECU 110 was reset (408), and the payload value at that time was Pvulune. 409.

つまり、このペイロード値で図3の306の如くリターンアドレス204の書き換えが発生したことになる。   That is, the return address 204 is rewritten with this payload value as indicated by 306 in FIG.

上記のような脆弱性を発見すれば、試験装置100はその旨を図1で示す表示装置104で表示して動作を停止し、操作者の指示を仰ぐことになる。   If the vulnerability as described above is found, the test apparatus 100 displays the fact on the display device 104 shown in FIG. 1, stops the operation, and asks for the operator's instruction.

図5は、試験装置100の動作をフローチャートにて示したものである。図5の流れに従い順次動作を解説する。   FIG. 5 is a flowchart showing the operation of the test apparatus 100. The operation will be described sequentially according to the flow of FIG.

ステップS501では、試験対象の車載ECU・110が受信可能なメッセージIDを識別子辞書105より検索する。続く、ステップS502では該メッセージIDに紐づけされたペイロード想定値(図4のPn−1・404およびPn・406に相当)を検索し、変数Pに保持しておく。(図1ではP 121の矢印として図示。)
ステップS503では、この変数Pがインクリメントされ、判定ステップS504でプロトコル上限値との比較が実行される。プロトコル上限を超えていればステップS505に遷移し、そうでなければステップS506により送信フレームを合成し車載ネットワーク120に送出する。
In step S <b> 501, a message ID that can be received by the in-vehicle ECU 110 to be tested is searched from the identifier dictionary 105. In step S502, the payload expected value (corresponding to Pn-1 · 404 and Pn · 406 in FIG. 4) associated with the message ID is retrieved and stored in the variable P. (Indicated as an arrow P 121 in FIG. 1)
In step S503, the variable P is incremented, and in the determination step S504, a comparison with the protocol upper limit value is executed. If it exceeds the protocol upper limit, the process proceeds to step S505. If not, the transmission frame is synthesized and transmitted to the in-vehicle network 120 in step S506.

プロトコル上限値を超えていればステップS505に進んで受信可能メッセージIDのすべてに渡って網羅的にテストパターンを試行したかが確認される。受信可能メッセージIDの網羅が終了していなければS501に戻って、受信メッセージIDを変化させて一連の試験をやり直す。   If it exceeds the protocol upper limit value, the process proceeds to step S505, where it is confirmed whether the test pattern has been exhaustively tried over all receivable message IDs. If the coverage of receivable message IDs is not completed, the process returns to S501, and the series of tests is performed again by changing the received message ID.

判定ステップS504から引き続くステップS506では、S501で検索済みの受信メッセージIDと、S503で設定したプロトコル量をもとに算出したメッセージの長さ情報(CANプロトコルで言えばDLC:Data Length Code)、およびペイロード本体のビット列とが合成され、送信フレームの本体が形成される。   In step S506 subsequent to the determination step S504, the received message ID searched in S501, message length information calculated based on the protocol amount set in S503 (DLC: Data Length Code in the CAN protocol), and The body of the transmission frame is formed by combining the bit string of the payload body.

ペイロード本体のビット列としては、図3の現象306で言及したように、リターンアドレス204と置き換わった場合に、その現象が外部から観察されやすい値の繰り返しで構成されていた方が好都合である。   As mentioned in the phenomenon 306 in FIG. 3, it is more convenient for the payload body to be composed of repeated values that are easily observed from the outside when the return address 204 is replaced.

すなわち、該車載ECU・110のCPUがアドレス値として解釈した場合に、リセットベクタに合致してリセット割り込みを発生させるか、アドレス境界を逸脱してアドレスエラーを引き起こすか、もしくは不正または未定義命令の格納場所を指示して不正命令割り込みを発生させるかして、異常検出器101が検知可能な動作を引き起こす要因となるデータを予見的に生成して送信メッセージのペイロードとすることが好ましい。   That is, when the CPU of the in-vehicle ECU 110 interprets as an address value, it generates a reset interrupt that matches the reset vector, causes an address error by deviating from the address boundary, or an illegal or undefined instruction It is preferable to generate a payload of a transmission message by predictively generating data that causes an operation that can be detected by the abnormality detector 101 by instructing the storage location to generate an illegal instruction interrupt.

したがって、この値は検査対象の車載ECU・110に搭載されるCPUアーキテクチャに依存して異なるが、上記の趣旨で値が決定されることは重要である。(試験装置の全体構成図である図1ではペイロードの種データ108として図示している。)
続くステップS507では、S506でテスト送信フレームをネットワークに送出した応答として車載ECU・110の挙動が調べられる。車載ECU・110にリセットや例外処理などの異常状態が発生していない場合はS503に戻り、発生している場合はステップS508で脆弱性を発見した旨の表示を行って動作を終了する。
Therefore, although this value differs depending on the CPU architecture mounted on the in-vehicle ECU 110 to be inspected, it is important that the value is determined for the above purpose. (In FIG. 1, which is an overall configuration diagram of the test apparatus, it is shown as payload seed data 108.)
In the subsequent step S507, the behavior of the in-vehicle ECU 110 is examined as a response to the transmission of the test transmission frame to the network in S506. If an abnormal state such as reset or exception processing has not occurred in the in-vehicle ECU 110, the process returns to S503, and if it has occurred, a message indicating that a vulnerability has been found is displayed in step S508 and the operation is terminated.

S503に戻った場合は、ペイロード量をひとつ増加させて上記の一連の動作を繰り返すことになる。   When returning to S503, the above-described series of operations is repeated by increasing the payload amount by one.

図5のフローチャートでは、チャート簡略化の観点から各受信可能メッセージIDに対して(ペイロード想定値+1)のペイロード量より試験が開始されるアルゴリズムで表現されているが、図4で示したようにペイロード想定値そのもののペイロード量より試験を開始してもよく、この違いは本発明の趣旨に影響を与えるような本質的な問題ではない。   In the flowchart of FIG. 5, from the viewpoint of simplifying the chart, each receivable message ID is expressed by an algorithm in which a test is started from a payload amount of (payload assumed value + 1), but as shown in FIG. The test may be started from the payload amount of the payload expected value itself, and this difference is not an essential problem that affects the gist of the present invention.

以上、本発明の実施形態によれば、車載ネットワークに流れるデータを介して引き起こされる車載ECUの脆弱性を省人力で網羅的かつ自動的に検出することができる。   As described above, according to the embodiment of the present invention, it is possible to comprehensively and automatically detect vulnerabilities of the in-vehicle ECU caused by data flowing in the in-vehicle network with manpower.

また本発明による試験装置は、CAN、CAN FD、Ethernet等、広範な通信プロトコルをベースとする車載ネットワークの試験に適用可能である。   Further, the test apparatus according to the present invention can be applied to a test of an in-vehicle network based on a wide range of communication protocols such as CAN, CAN FD, and Ethernet.

100:試験装置
101:異常検出器
102:メッセージ合成器
103:シーケンサー
104:表示装置
105:受信メッセージ識別子の辞書
106:ペイロードのデータ発生器
107:テストデータ生成器
108:ペイロードの種データ
109:[試験装置→車載ネットワーク]接続
110:車載ECU
111:CPU
112:RAM
113:ネットワークデバイス
114:内部バス
115:デバッグポート
116:[車載ECU→試験装置]接続
120:車載ネットワーク
DESCRIPTION OF SYMBOLS 100: Test apparatus 101: Abnormality detector 102: Message synthesizer 103: Sequencer 104: Display apparatus 105: Dictionary of received message identifier 106: Payload data generator 107: Test data generator 108: Payload seed data 109: [ Test equipment → In-vehicle network] Connection 110: In-vehicle ECU
111: CPU
112: RAM
113: Network device 114: Internal bus 115: Debug port 116: [In-vehicle ECU → Test equipment] connection 120: In-vehicle network

Claims (11)

車載ネットワークから制御情報を取得して動作に反映させる車載電子装置に関して、この動作を検証するための車載ネットワークの試験装置であって、
前記車載電子装置のCPUのリセット割り込み、アドレスエラー、もしくは不正命令割り込みの少なくともひとつを検出する異常検出器と、車載ネットワークに供給する送信メッセージを動的に変更するテストデータ生成器とで構成され、
前記テストデータ生成器は該車載電子装置の受信可能なメッセージ識別子を蓄積した辞書と、単位メッセージ当たりのペイロード量を動的に変更して発生させるデータ発生器とで構成され、
前記テストデータ生成器から発生させたメッセージ識別子とペイロードとの組み合わせデータを、車載ネットワーク経由で該車載電子装置に供給するとともに、前記異常検出器により前記車載電子装置のリセット割り込み、アドレスエラー、もしくは不正命令割り込みの少なくともひとつの発生を監視し、
前記辞書は第1の処理関数で処理されるべき第1のメッセージ識別子、及び前記第1の処理関数とは異なる第2の処理関数で処理されるべき第2のメッセージ識別子、を含み、
前記メッセージ識別子に対応したペイロード想定値から1バイトずつペイロードを増加させて、前記車載ネットワークのプロトコルの最大バイト数までテストする、ことを特徴とする車載ネットワークの試験装置。
With respect to an in-vehicle electronic device that acquires control information from an in-vehicle network and reflects it in an operation, the in-vehicle network test device for verifying this operation,
It is composed of an abnormality detector that detects at least one of a reset interrupt, an address error, or an illegal instruction interrupt of the CPU of the in-vehicle electronic device, and a test data generator that dynamically changes a transmission message supplied to the in-vehicle network,
The test data generator is composed of a dictionary that stores message identifiers that can be received by the in-vehicle electronic device, and a data generator that dynamically generates a payload amount per unit message,
The combination data of the message identifier and payload generated from the test data generator is supplied to the in-vehicle electronic device via the in-vehicle network, and the anomaly detector resets the in-vehicle electronic device, address error, or illegal Monitor at least one occurrence of an instruction interrupt,
The dictionary look contains a second message identifier, which is to be processed on a different second processing function to the first message identifier, and the first processing function to be processed by the first processing function,
A test apparatus for an in-vehicle network , wherein the payload is incremented by 1 byte from an assumed payload value corresponding to the message identifier, and the test is performed up to the maximum number of bytes of the protocol of the in-vehicle network.
請求項1に記載の車載ネットワークの試験装置であって、
前記テストデータ生成器を構成するデータ発生器が、メッセージ識別子に対して設計的に決められたペイロード量よりも大きなペイロードを発生させて車載ネットワークに供給し試験を行うことを特徴とする車載ネットワークの試験装置。
The vehicle-mounted network test apparatus according to claim 1,
A data generator constituting the test data generator generates a payload larger than the payload amount designed for the message identifier and supplies the payload to the in-vehicle network for testing. Test equipment.
請求項に記載の車載ネットワークの試験装置であって、
前記テストデータ生成器が、前記車載電子装置の受信可能なメッセージ識別子を蓄積した辞書と単位メッセージ当たりのペイロード量を動的に変更して発生させるデータ発生器とで構成され、
前記メッセージ識別子とペイロードデータとの組み合わせを網羅的に車載ネットワークに供給し試験を行うことを特徴とする車載ネットワークの試験装置。
The vehicle-mounted network test apparatus according to claim 1 ,
The test data generator is composed of a dictionary storing message identifiers that can be received by the in-vehicle electronic device and a data generator that dynamically generates a payload amount per unit message,
A test apparatus for an in-vehicle network characterized in that a combination of the message identifier and payload data is exhaustively supplied to the in-vehicle network for testing.
請求項1に記載の車載ネットワークの試験装置であって、
前記テストデータ生成器を構成するデータ発生器が、前記車載電子装置のCPUがアドレス値として解釈した場合に、リセットベクタに合致してリセット割り込みを発生させるか、アドレス境界を逸脱してアドレスエラーを引き起こすか、もしくは不正または未定義命令の格納場所を指示して不正命令割り込みを発生させるかして、前記異常検出器が検知可能な通常とは異なる動作を引き起こす少なくともひとつの要因となるデータを生成して送信メッセージのペイロード内容とすることを特徴とする車載ネットワークの試験装置。
The vehicle-mounted network test apparatus according to claim 1,
When the data generator constituting the test data generator interprets the on-vehicle electronic device as an address value, it generates a reset interrupt in accordance with the reset vector, or generates an address error out of the address boundary. Generates at least one factor that causes an unusual operation that can be detected by the anomaly detector by generating an illegal instruction interrupt by instructing the storage location of an illegal or undefined instruction. And an in-vehicle network testing device characterized in that the payload content of the transmission message is used.
請求項1に記載の車載ネットワークの試験装置であって、
前記車載ネットワークは、CANを含むことを特徴とする車載ネットワークの試験装置。
The vehicle-mounted network test apparatus according to claim 1,
The in-vehicle network test apparatus , wherein the in-vehicle network includes CAN .
請求項1に記載の車載ネットワークの試験装置であって、
前記車載ネットワークは、CAN FDを含むことを特徴とする車載ネットワークの試験装置。
The vehicle-mounted network test apparatus according to claim 1,
The in-vehicle network testing apparatus according to claim 1 , wherein the in-vehicle network includes CAN FD .
請求項1に記載の車載ネットワークの試験装置であって、
前記車載ネットワークは、Ethernetを含むことを特徴とする車載ネットワークの試験装置。
The vehicle-mounted network test apparatus according to claim 1,
The in-vehicle network testing apparatus characterized in that the in-vehicle network includes Ethernet .
請求項1に記載の車載ネットワークの試験装置であって、
ステップ1:前記車載電子装置が受信可能なメッセージ識別子を前記辞書から検索し、
ステップ2:前記受信可能なメッセージ識別子に紐づけられたペイロード想定値を検索し、
ステップ3:前記想定値をインクリメントし、
ステップ4:前記想定値と前記プロトコル上限値とを比較し、前記想定値が前記プロトコル上限値を超えるか否か判断し、
ステップ5:前記想定値が前記プロトコル上限値を超えていなかった場合、前記組み合わせデータを生成し、前記車載電子装置へ供給する、ことを特徴とする、車載ネットワークの試験装置。
The vehicle-mounted network test apparatus according to claim 1,
Step 1: Search the dictionary for message identifiers that can be received by the in-vehicle electronic device,
Step 2: Search for a payload expected value associated with the receivable message identifier,
Step 3: Increment the assumed value,
Step 4: Compare the assumed value with the protocol upper limit value, determine whether the assumed value exceeds the protocol upper limit value,
Step 5: If the assumed value does not exceed the protocol upper limit value, the combination data is generated and supplied to the in-vehicle electronic device , the in-vehicle network testing device.
請求項1に記載の車載ネットワークの試験装置であって、
前記異常検出器は、前記リセット割り込みを検出し、
前記異常検出器により前記リセット割り込み監視することを特徴とする車載ネットワークの試験装置。
The vehicle-mounted network test apparatus according to claim 1,
The anomaly detector detects the reset interrupt;
The in-vehicle network testing apparatus, wherein the reset interrupt is monitored by the abnormality detector .
請求項1に記載の車載ネットワークの試験装置であって、
前記異常検出器は、前記アドレスエラーを検出し、
前記異常検出器により前記アドレスエラーを監視することを特徴とする車載ネットワークの試験装置。
The vehicle-mounted network test apparatus according to claim 1,
The anomaly detector detects the address error;
The in-vehicle network testing apparatus, wherein the address error is monitored by the abnormality detector .
請求項1に記載の車載ネットワークの試験装置であって、
前記異常検出器は、前記不正命令割り込みを検出し、
前記異常検出器により前記不正命令割り込みの発生を監視することを特徴とする車載ネットワークの試験装置。
The vehicle-mounted network test apparatus according to claim 1,
The abnormality detector detects the illegal instruction interrupt;
An in-vehicle network testing apparatus, wherein the abnormality detector monitors occurrence of the illegal instruction interrupt .
JP2014255708A 2014-12-18 2014-12-18 In-vehicle network testing equipment Active JP6349244B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014255708A JP6349244B2 (en) 2014-12-18 2014-12-18 In-vehicle network testing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014255708A JP6349244B2 (en) 2014-12-18 2014-12-18 In-vehicle network testing equipment

Publications (2)

Publication Number Publication Date
JP2016113122A JP2016113122A (en) 2016-06-23
JP6349244B2 true JP6349244B2 (en) 2018-06-27

Family

ID=56139684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014255708A Active JP6349244B2 (en) 2014-12-18 2014-12-18 In-vehicle network testing equipment

Country Status (1)

Country Link
JP (1) JP6349244B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922649B2 (en) 2016-04-20 2021-02-16 Wishelf Ltd. System and method for monitoring stocking shelves

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6512205B2 (en) * 2016-11-14 2019-05-15 トヨタ自動車株式会社 Communications system
CN106828362B (en) * 2017-02-20 2020-06-02 北京奇虎科技有限公司 Safety testing method and device for automobile information
CN108944742B (en) * 2018-08-03 2023-07-21 中国汽车工程研究院股份有限公司 New energy automobile CAN bus signal analysis circuit
JP6611891B1 (en) * 2018-10-12 2019-11-27 三菱電機株式会社 Inspection system
WO2020115551A1 (en) * 2018-12-07 2020-06-11 Robert Bosch Gmbh Simultaneously testing whether a plurality of electronic devices connected via a communication network correctly handle exceptions
CN114115201A (en) * 2021-11-29 2022-03-01 上海地铁维护保障有限公司 Vehicle-mounted controller static test method and system
CN116866963B (en) * 2023-09-04 2023-12-08 中汽研(天津)汽车工程研究院有限公司 Virtual-real fusion V2X expected functional safety robustness testing method and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7278061B2 (en) * 2002-10-08 2007-10-02 Agilent Technologies, Inc. Building packets of data for testing a communication network
FI20080095A0 (en) * 2008-02-11 2008-02-11 Codenomicon Oy Method and system for generating test cases
ES2805290T3 (en) * 2012-03-29 2021-02-11 Arilou Information Security Tech Ltd Device to protect an electronic system of a vehicle
JP6052297B2 (en) * 2012-11-13 2016-12-27 富士通株式会社 Network filtering apparatus and filtering method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922649B2 (en) 2016-04-20 2021-02-16 Wishelf Ltd. System and method for monitoring stocking shelves

Also Published As

Publication number Publication date
JP2016113122A (en) 2016-06-23

Similar Documents

Publication Publication Date Title
JP6349244B2 (en) In-vehicle network testing equipment
KR102306568B1 (en) Processor trace-based enforcement of control flow integrity in computer systems
US10484423B2 (en) System and method for detecting and monitoring thread creation
JP2020095753A (en) Automated runtime detection of malware
EP2774039B1 (en) Systems and methods for virtualized malware detection
US9792430B2 (en) Systems and methods for virtualized malware detection
US9594881B2 (en) System and method for passive threat detection using virtual memory inspection
US10733297B2 (en) Real-time signatureless malware detection
US9876806B2 (en) Behavioral detection of malware agents
US20090300764A1 (en) System and method for identification and blocking of malicious code for web browser script engines
US11184373B2 (en) Cryptojacking detection
US20110277035A1 (en) Detection of Malicious System Calls
CA3021285C (en) Methods and systems for network security
CN110138727A (en) The information searching method and device that the shell that rebounds is connected to the network
EP3127036B1 (en) Systems and methods for identifying a source of a suspect event
Win et al. Detection of malware and kernel-level rootkits in cloud computing environments
CN108345795B (en) System and method for detecting and classifying malware
KR101884547B1 (en) System and method to mitigate malicious calls
US9881155B2 (en) System and method for automatic use-after-free exploit detection
US20230129830A1 (en) System and methods for fault injection attack protection
US11563753B2 (en) Security surveillance system and security surveillance method
WO2015178002A1 (en) Information processing device, information processing system, and communication history analysis method
EP4049156A1 (en) Malware identification
Clark et al. Empirical evaluation of the a3 environment: evaluating defenses against zero-day attacks
Li et al. A dynamic taint tracking based method to detect sensitive information leaking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170117

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180417

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: 20180508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180604

R150 Certificate of patent or registration of utility model

Ref document number: 6349244

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350