评价装置、评价系统以及评价方法与流程

文档序号:11335345阅读:263来源:国知局
评价装置、评价系统以及评价方法与流程

本公开涉及进行与车载网络系统等供电子控制单元进行通信的电子控制系统的安全性(抗攻击性等)有关的评价的技术。



背景技术:

近年来,在汽车中配置有许多电子控制单元(ecu:electroniccontrolunit)。连接ecu的车载网络例如使用由iso11898-1规定的can(controllerareanetwork:控制器局域网)标准等。

在can中,通信路径是由两条线构成的总线,与总线连接的ecu称为节点。与总线连接的各节点收发被称为帧的消息(message)。发送帧的发送节点通过在两条总线上施加电压、并在总线间产生电位差,从而发送被称为隐性(recessive)的值“1”和被称为显性(dominant)的值“0”。多个发送节点在完全相同的时刻(timing)发送了隐性和显性的情况下,优先发送显性。接收节点在接收到的帧的格式存在异常的情况下,发送被称为错误帧(errorframe)的帧。错误帧是通过连续地发送6比特(bit)的显性,从而向发送节点和/或其他接收节点通知帧的异常的帧。

作为对车载网络的攻击,已知如下那样的攻击:攻击者通过无线通信对车内的信息终端进行访问,非法地改写信息终端的程序并从该信息终端向车载网络发送任意的can消息,违背驾驶员意图地控制与车载ecu连接的致动器。面向汽车的驾驶自动化等,如果车载ecu自身成为搭载v2x(车车间通信(v2v:vehicletovehicle)以及路车间通信(v2i:vehicletoinfrastructure))等无线通信功能的状况,则与信息终端同样地,与v2x对应的ecu的程序可能会被非法地改写并用于攻击。

关于攻击对策的评价方法,虽然目前研究尚少,但例如在非专利文献1中公开了通过向单个车载ecu发送数据并关注其响应来发现不良情况(因编程错误导致的缺陷(bug)的混入等)的模糊测试(fuzzing)方法。

现有技术文献

非专利文献

非专利文献1:松本勉、小林優希、土屋遊、吉田直樹、森田伸義、萱島信,「車載ecuに対するcan経由のファジング手法」,scis2015,2015年1月20日



技术实现要素:

本公开的一技术方案所涉及的评价装置是与构成电子控制系统的多个电子控制单元进行通信所使用的总线连接、并进行与该电子控制系统的安全性有关的评价的评价装置,所述评价装置具备:发送部,其将包含使所述总线上的帧无效化的无效化帧在内的一个以上的攻击用帧发送到所述总线;监视部,其对所述多个电子控制单元中的一个以上的电子控制单元进行监视;以及评价部,其基于由所述发送部将所述攻击用帧发送到所述总线时的所述监视部的监视结果来进行所述评价。

另外,本公开的一技术方案所涉及的评价系统是进行与具备经由总线进行通信的多个电子控制单元的电子控制系统的安全性有关的评价的评价系统,所述评价系统具备:发送部,其将包含使所述总线上的帧无效化的无效化帧在内的一个以上的攻击用帧发送到所述总线;监视部,其对所述多个电子控制单元中的一个以上的电子控制单元进行监视;以及评价部,其基于由所述发送部将所述攻击用帧发送到所述总线时的所述监视部的监视结果来进行所述评价。

另外,本公开的一技术方案所涉及的评价方法是进行与具备经由总线进行通信的多个电子控制单元的电子控制系统的安全性有关的评价的评价方法,所述评价方法包括:将包含使所述总线上的帧无效化的无效化帧在内的一个以上的攻击用帧发送到所述总线;在所述攻击用帧被发送到所述总线时,对所述多个电子控制单元中的一个以上的电子控制单元进行监视;基于所述监视的监视结果来进行所述评价。

根据本公开,能够对包括多个ecu的电子控制系统的抗攻击性(对电子控制系统实施的安全对策技术是否能够适当地防御攻击等)进行评价。

附图说明

图1是表示实施方式涉及的评价系统的概略结构的构成图。

图2是评价系统中的评价装置的构成图。

图3是评价对象的电子控制系统中的改写实施ecu的构成图。

图4是评价对象的电子控制系统中的被改写ecu的构成图。

图5是评价对象的电子控制系统中的安全ecu的构成图。

图6是表示评价装置的保持部所保持的攻击过程信息的一例的图。

图7是表示评价装置的保持部所保持的攻击过程信息的另一例的图。

图8是表示电子控制系统中的软件的更新所涉及的工作例的时序图。

图9是表示评价系统的工作例1的时序图。

图10是表示评价系统的工作例1的时序图。

图11是表示评价系统的工作例2的时序图。

图12是表示评价系统的工作例2的时序图。

图13是表示评价系统的工作例3的时序图。

图14是表示评价系统的工作例3的时序图。

图15是表示评价系统的工作例4的时序图。

图16是表示评价系统的工作例4的时序图。

图17是表示评价系统的工作例5的时序图。

图18是表示评价系统的工作例5的时序图。

具体实施方式

(成为本发明的基础的见解)

对于非专利文献1的方法,即使能够发现单个车载ecu的不良情况,也不能将由形成车载网络的多个ecu构成的系统(电子控制系统)作为评价对象来进行与安全性(对评价对象实施的安全对策技术是否能够适当地防御攻击这一抗攻击性等)有关的评价。

因此,本公开提供一种能够将包括多个ecu的电子控制系统作为评价对象来进行与安全性有关的评价的评价装置。另外,本公开提供一种能够进行与包括多个ecu的电子控制系统的安全性有关的评价的评价系统以及用于该评价的评价方法。

本公开的一技术方案所涉及的评价装置与构成电子控制系统的多个电子控制单元进行通信所使用的总线连接,进行与该电子控制系统的安全性有关的评价,所述评价装置具备:发送部,其将包含使所述总线上的帧无效化的无效化帧在内的一个以上的攻击用帧发送到所述总线;监视部,其对所述多个电子控制单元中的一个以上的电子控制单元进行监视;以及评价部,其基于由所述发送部将所述攻击用帧发送到所述总线时的所述监视部的监视结果来进行所述评价。监视部可以在由发送部将攻击用帧(例如can的数据帧、错误帧等)发送到总线时(例如,刚发送后或者从即将发送前到刚发送后),直接或间接地对电子控制单元(ecu)进行监视。由此,能够将包括多个ecu的电子控制系统作为评价对象来进行对基于帧的发送的向ecu的攻击的防御功能等这样的安全功能(抗攻击性等)的评价。

另外,例如也可以为:所述多个电子控制单元遵循can协议即控制器局域网协议经由所述总线进行通信,所述无效化帧是错误帧。由此,能够使得针对用于在ecu间进行帧的授受的遵循can的网络中的通过包含错误帧的攻击用帧的发送而进行的攻击的安全功能的评价成为可能。

另外,例如也可以为:所述评价装置还具备保持部,所述保持部对表示攻击用的多个帧的内容以及发送顺序的攻击过程信息进行保持,所述发送部按照所述攻击过程信息所表示的发送顺序将所述攻击用的多个帧发送到所述总线。由此,能给使得针对按多个帧的发送顺序等确定的攻击方法的防御功能等的评价成为可能。

另外,例如也可以为:所述评价装置具备从所述总线接收帧的接收部,所述攻击过程信息示出继错误帧之后发送具备预定id的攻击用帧,所述发送部在所述接收部从所述总线接收到具有所述预定id的帧时发送所述错误帧。由此,例如,能够使得针对冒充在电子控制系统中作为具有预定id的帧的发送源而规定的ecu来进行攻击的攻击方法的安全功能的评价成为可能。

另外,例如也可以为:所述攻击过程信息还示出关于攻击用的所述多个帧的发送间隔,所述发送部按照所述攻击过程信息所表示的发送顺序以及发送间隔将所述多个帧发送到所述总线。由此,能够使得针对由多个帧的发送顺序以及发送间隔确定的攻击方法的防御功能等的评价成为可能。

另外,例如也可以为:所述发送部在错误帧的发送后,发送具有与由该错误帧无效化了的帧相同的id且内容不同的攻击用帧。由此,例如,能够通过使用由错误帧对在电子控制系统中被发送到总线的帧进行无效化并发送使内容的一部分变更后的帧这一能够相对容易实施的攻击方法来使得高效的安全功能的评价成为可能。

另外,例如也可以为:所述发送部在错误帧的发送后,发送具有更新用id的攻击用帧,所述更新用id是在所述电子控制系统中为了所述多个电子控制单元的某个电子控制单元的软件的更新处理而预先确定的id,所述监视部对具有与具有所述更新用id的帧的接收相应地进行所述保持的软件的更新处理的功能的电子控制单元或者发送具有所述更新用id的帧的电子控制单元进行所述监视。软件的更新处理既可以是更新本身,也可以是更新的前处理或后处理这样的为了适当的更新而进行的附带处理等,还可以包含两方。由此,例如,能够使得针对作为用于攻击者支配电子控制系统的一部分ecu的一种攻击的、与ecu的固件等这样的软件的更新相关联的攻击的电子控制系统的安全功能的评价成为可能。

另外,例如也可以为:所述监视部通过检测由所述发送部向所述总线发送了攻击用帧的情况下的所述多个电子控制单元中的一个电子控制单元的动作是否与预定动作一致,从而进行所述监视,所述评价部以根据由所述发送部向所述总线发送了所述攻击用帧之后的所述监视部的所述检测的结果而评价结果不同的方式进行所述评价。预定动作可以是攻击成功的情况下所预测(期待)的ecu的动作、攻击失败的情况下所预测的ecu的动作、接收到正规帧的情况下的ecu的通常动作等。由此,能够使得电子控制系统的安全功能的适当评价成为可能。

另外,例如也可以为:所述评价装置具备从所述总线接收帧的接收部,所述监视部进行是否由所述接收部接收到特定帧的检测来作为对所述电子控制单元的所述监视,所述评价部以根据在由所述发送部向所述总线发送了所述攻击用帧之后的一定期间内是否由所述监视部检测出接收到所述特定帧这一情况而评价结果不同的方式进行所述评价。特定帧例如是预测(期待)为在攻击成功的情况或者失败的情况下发送的帧,例如能够通过由电子控制系统规定的帧的id来识别。由此,即使不依赖于例如与ecu直接通信等,也能够通过总线的监视来适当地评价电子控制系统。

另外,例如也可以为:所述评价部将表示所述电子控制系统是否具有抗攻击性的信息作为评价结果进行输出。由此,例如,评价装置的利用者等能够获知电子控制系统是否具有抗攻击性。

另外,本公开的一技术方案所涉及的评价系统,进行与具备经由总线进行通信的多个电子控制单元的电子控制系统的安全性有关的评价,所述评价系统具备:发送部,其将包含使所述总线上的帧无效化的无效化帧在内的一个以上的攻击用帧发送到所述总线;监视部,其对所述多个电子控制单元中的一个以上的电子控制单元进行监视;以及评价部,其基于由所述发送部将所述攻击用帧发送到所述总线时的所述监视部的监视结果来进行所述评价。由此,能够使得应对包括多个ecu的电子控制系统中的通过向ecu发送帧而进行的攻击的防御功能等这样的安全功能的评价成为可能。

另外,本公开的一技术方案所涉及的评价方法,进行与具备经由总线进行通信的多个电子控制单元的电子控制系统的安全性有关的评价,所述评价方法包括:将包含使所述总线上的帧无效化的无效化帧在内的一个以上的攻击用帧发送到所述总线;在所述攻击用帧被发送到所述总线时,对所述多个电子控制单元中的一个以上的电子控制单元进行监视;基于所述监视的监视结果来进行所述评价。由此,能够使得将包括多个ecu的电子控制系统作为评价对象来评价应对通过因帧的发送而进行的攻击的防御功能等这样的安全功能成为可能。

此外,这些总括性或者具体的技术方案既可以通过系统、方法、集成电路、计算机程序或者计算机可读取的cd-rom等记录介质来实现,也可以通过系统、方法、集成电路、计算机程序和记录介质的任意组合来实现。

以下,参照附图对实施方式涉及的评价系统进行说明。在此所示的施方式都表示本公开的一个具体例子。因此,以下的实施方式中示出的数值、构成要素、构成要素的配置以及连接形式、步骤(工序)以及步骤的顺序等是一例,并非限定本公开。关于以下的实施方式中的构成要素中的未记载在独立权利要求中的构成要素,是能够任意附加的构成要素。另外,各图是示意图,不一定严格图示。

(实施方式1)

以下,对进行与搭载于汽车(车辆)并包括经由总线进行通信的多个电子控制单元(ecu)而构成的车载网络系统(电子控制系统)的安全性有关的评价的评价装置、评价方法以及包括电子控制系统和评价装置的评价系统进行说明。

[1.1评价系统10的结构]

图1是表示评价系统10的概略结构的构成图。如该图所示,评价系统10构成为包括评价装置101和电子控制系统11。评价系统10将电子控制系统11作为评价对象,对电子控制系统11的抗攻击性(对攻击进行防御的安全对策技术是否适当地发挥作用等)进行评价。

电子控制系统11是车载网络系统,具备车载网络,该车载网络与车辆内的控制装置、传感器、致动器(例如能够进行电子控制的转向机构、加速器、制动器等)、用户接口装置等各种设备连接,包括经由车内的总线(can总线)进行帧的收发的多个电子控制单元(ecu)而构成。在电子控制系统11中,各ecu对帧进行授受并进行协作,由此实现例如作为先进驾驶员辅助系统(adas:advanceddriverassistancesystem)的一个功能的停车辅助功能、车道维持辅助功能、防撞辅助功能等功能。各ecu通过软件进行控制,ecu的软件能够通过包括某种帧经由can总线进行授受在内的过程来进行改写(更新)。

在车内可能会包括许多ecu等,但在此为了便于说明,作为一例,以电子控制系统11如图1所示具备改写实施ecu102、被改写ecu103以及安全ecu104来进行说明。此外,各ecu遵循以can总线20为通信线路的can标准(协议)进行通信。在can中用于数据传输的帧即数据帧(也称为can消息)被规定为包含保存id(消息id)的id域、保存数据的数据域等。

改写实施ecu102连接于can总线20,是具有将用于对被改写ecu103的软件进行更新处理的can消息(数据帧)即更新用帧发送给can总线20的功能(改写实施功能)的ecu。更新用帧是具有在电子控制系统11中为了软件的更新处理而预先确定的更新用id来作为消息id的帧。作为更新用帧,例如有分别表示改写模式转换指示、认证密钥、存储器擦除命令、更新软件(作为更新用程序的更新软件)、更新软件署名(对更新软件的数字署名)、再启动指示的帧等。改写实施ecu102例如是具有将更新用软件从外部取入电子控制系统11内的功能的ecu。作为具体例子,改写实施ecu102是具有车载导航功能的ecu、具有与车辆外部进行通信的外部通信功能的ecu、具有从所安装的记录介质读取数据的功能的ecu、与诊断端口连接的诊断工具(故障诊断工具)等。诊断端口是车载网络(can总线)中的用于与例如obd2(on-boarddiagnostics2)等这样的诊断工具等进行通信的接口。

被改写ecu103连接于can总线20,是具有通过更新用帧的接收来更新本ecu(被改写ecu103)中的软件的功能(被改写功能)的ecu。被改写ecu103例如可以是控制致动器(例如转向机构、加速器、制动器等)的ecu等,被更新的软件例如可以是用于进行包括该致动器的控制的处理的软件。

安全ecu104总是监视(monitoring)can总线20,例如在检测到有非法的can消息(攻击用的can消息)传播的情况下,进行使该can消息无效化等的应对。作为使can消息无效化的方法,可以使用任意的方法,例如可以通过发送由can协议规定的错误帧以使得与非法的can消息重叠的方式来进行无效化。

评价装置101是评价对电子控制系统11(评价对象)实施的安全对策技术的抗攻击性的装置。评价装置101基于所保持的攻击过程信息105,对评价对象施加攻击(hacking),进行用于观测对攻击的反应的监视(monitoring),根据监视结果来进行评价。作为评价装置101的评价的一例,例如可列举有无对该攻击的抵抗性(攻击或者防御的成功与否)的判定。具体而言,作为监视,评价装置101进行在can总线20上传播的帧(消息)的监视、改写实施ecu102以及被改写ecu103的输出信号的监视。此外,评价装置101也可以进行受改写实施ecu102或者被改写ecu103控制的致动器等的举动(动作)的监视。攻击过程信息105表示施加攻击时的过程(应该发送的帧的种类、顺序、时刻、频度等)。

以下,对评价系统10的各构成要素进行详细说明。

[1.2评价装置101的结构]

图2是评价系统10中的评价装置101的构成图。

如图2所示,评价装置101构成为包括监视部200(can总线监视部203以及信号监视部204)、收发部201(发送部201a以及接收部201b)、保持部202、评价部206、控制部207和存储部208。

评价装置101例如是包括处理器(微处理器)、存储器等的数字电路、模拟电路、通信线路、硬盘等的装置。存储器是rom、ram等,能够存储由处理器执行的控制程序(作为软件的计算机程序)。例如通过处理器按照控制程序(计算机程序)进行工作(各种电路的控制等),评价装置101会实现各种功能。此外,计算机程序的为了实现预定的功能而组合多个表示对处理器的指令的命令代码而构成的。

(1)收发部201

收发部201通过通信线路等来实现。收发部201由发送部201a以及接收部201b构成。发送部201a向can总线20发送can消息(例如,表示改写模式转换指示、认证密钥、存储器擦除命令、更新软件、更新软件署名等各种信息的各种帧等)、或者错误帧。错误帧使在can总线20上传播的can消息无效化,例如可以使发送了成为该无效化对象的can消息的ecu成为总线关闭状态(busoff)、错误激活状态(erroractivestate)。接收部201b接收在can总线20上传播的can消息(例如由改写实施ecu102或者被改写ecu103发送的表示改写模式转换指示、认证密钥、存储器擦除命令、更新软件、更新软件署名、再启动指示、认证种子、认证结果等各种信息的各种帧等)。

(2)保持部202

保持部202通过存储器、硬盘等存储介质来实现,存储有表示评价装置101为了对评价对象的抗攻击性等进行评价而施加的攻击的过程的攻击过程信息105。攻击过程信息105示出攻击用的多个帧(can消息或者错误帧)的发送顺序等。关于攻击过程信息105的详细情况,后面使用图6以及图7进行说明。

(3)can总线监视部203

can总线监视部203例如通过执行程序的处理器等来实现,对评价对象的电子控制系统11中的连接有多个ecu的can总线20进行监视。具体而言,can总线监视部203经由接收部201b接收can消息,将can消息所包含的数据的内容(payload,有效载荷)记录于存储部208并进行确认。can总线监视部203例如检测分别表示改写模式转换指示、认证密钥、存储器擦除命令、更新软件、更新软件署名、再启动指示的更新用帧是否被发送到了can总线20这一情况并确认帧的内容来作为对改写实施ecu102的监视。另外,can总线监视部203例如检测分别表示认证种子、认证结果的帧是否被发送到了can总线20并确认帧的内容来作为对被改写ecu103的监视。监视部200通过can总线监视部203进行是否由接收部201b接收到特定帧的检测来作为对电子控制系统11的ecu的监视。该特定帧是具有特定内容的预先规定的帧,可以是通过帧的id、数据域的内容等确定的帧。该特定帧是假设为如下情况的帧:针对通过攻击用帧的发送而进行的攻击,电子控制系统11的一部分ecu发送或者不发送特定帧,由此能够预先区分攻击是否成功、防御是否成功等。

(4)信号监视部204

信号监视部204对改写实施ecu102以及被改写ecu103输出到can总线20以外的信号线等的信号进行观测,确认信号内容。信号监视部204例如通过与改写实施ecu102以及被改写ecu103分别输出信号的信号线连接的通信线路、执行程序的处理器等来实现。此外,信号监视部204例如也可以监视改写实施ecu102以及被改写ecu103各自的调试用的输出信号,电子控制系统11的各ecu也可以构成为可以在评价时输出调试用的输出信号。该情况下,各ecu也可以具有如下结构:可以输出表示ecu的状态的信息、表示存储器内容的信息、或者表示是否进行了执行软件的处理器的复位(再启动)的信息等来作为调试用的输出信号。信号监视部204通过信号的观测,例如可以确认被改写ecu103是否通过再启动的执行而完成了与软件的更新(改写)有关的处理。监视部200通过信号监视部204等,检测由发送部201a向can总线20发送了攻击用帧的情况下的电子控制系统11的某个ecu的动作是否与预定动作(例如,攻击成功时所预测的动作、攻击失败时所预测的动作、接收到正规帧时的通常动作等)一致,由此进行该ecu的监视。

(5)评价部206

评价部206通过执行程序的处理器等来实现。评价部206基于由监视部200(can总线监视部203以及信号监视部204)的监视得到的确认结果,进行与电子控制系统11的安全性有关的评价。具体而言,评价部206将监视部200的确认结果的全部或者一部分与基于攻击过程信息105发送can消息时的期待值进行比较,判定攻击是否成功(例如应对攻击的防御功能是否适当地发挥作用)等。期待值是作为攻击结果(例如针对各攻击用帧的发送的结果)而期待的改写实施ecu102或者被改写ecu103要发送的can消息或者由要发送的信号表示的信息(动作等),可以预先规定。评价部206基于由发送部201a将基于攻击过程信息105的攻击用帧发送到can总线20时(例如刚发送后的一定期间或者从即将发送前到刚发送后为止等)的监视部200的监视结果来进行评价。评价部206例如在由发送部201a向can总线20发送了攻击过程信息105所示出的攻击用的多个帧的一个以上帧之后的一定期间内,判定是否由can总线监视部203检测到作为期待值的特定帧被发送到了can总线20上,以根据是否检测到特定帧而评价结果不同的方式进行评价。另外,评价部206例如可以进行评价,使得根据在攻击用帧的一个以上被发送到了can总线20之后的一定期间内是否由信号监视部204检测到表示改写实施ecu102或者被改写ecu103进行了期待值所涉及的预定动作这一情况的信号而评价结果不同。

(6)存储部208

存储部208由存储器等存储介质构成,对假更新软件、对更新软件的假署名、更新过程、从can总线20接收到的can消息的内容(存储器擦除命令、更新软件、更新软件署名、认证密钥、认证种子等)进行保持。

(7)控制部207

控制部207通过执行程序的处理器等来实现,对监视部200、收发部201、保持部202、存储部208以及评价部206进行管理、控制来实现评价装置101的功能。另外,控制部207可以进行为了认证密钥的生成、确认等而需要的运算处理。

[1.3改写实施ecu102的结构]

图3是改写实施ecu102的构成图。

如图3所示,改写实施ecu102构成为包括收发部301、署名存储部302、密钥存储部303、程序存储部304、改写过程信息存储部305和控制部306。

改写实施ecu102是与can总线20连接的ecu。ecu例如是包括处理器、存储器等的数字电路、模拟电路、通信线路等的装置。存储器是rom、ram等,能够存储由处理器执行的控制程序。例如通过处理器按照控制程序(计算机程序)进行工作(各种电路的控制等),改写实施ecu102发挥功能。

(1)收发部301

收发部301向can总线20发送can消息,接收在can总线20上传播的can消息。收发部301例如发送分别表示改写模式转换指示、认证密钥、存储器擦除命令、更新软件、更新软件署名、再启动指示的更新用帧,接收在can总线20上传播的分别表示认证种子、认证结果的帧。另外,收发部301例如负责与电子控制系统11的外部(车辆外部)的装置进行通信的外部通信功能,从外部的装置接收更新软件、更新软件署名等。

此外,在用于供改写实施ecu102更新被改写ecu103的软件的更新处理中使用的认证种子,是用于供改写实施ecu102和被改写ecu103互相进行认证而使用的信息。另外,认证密钥是通过改写实施ecu102基于被改写ecu103发送的认证种子实施使用了彼此共同的秘密密钥的加密而生成的信息。在更新处理中,改写实施ecu102基于被改写ecu103发送的认证种子,通过使用了共同的秘密密钥的加密来生成认证密钥,将认证密钥发送给被改写ecu103,被改写ecu103利用共同的秘密密钥来解码认证密钥,如果该解码结果与先前发送的认证种子一致则判断为认证成功,如果不一致则判断为认证不成功,将作为判断结果的认证结果(例如在认证成功的情况下表示允许改写而在认证不成功的情况下表示不允许改写的信息)发送到改写实施ecu102。在认证成功的情况下,为了软件的改写,从改写实施ecu102发送储器擦除命令、更新软件、更新软件署名、再启动指示等,相应于此,在被改写ecu103中进行软件的改写等。

(2)署名存储部302

署名存储部302存储针对由程序存储部304存储的更新软件的署名。

(3)密钥存储部303

密钥存储部303存储在通过对从被改写ecu103发送的认证种子进行加密来生成认证密钥时的加密所使用的密钥(秘密密钥)。

(4)程序存储部304

程序存储部304存储被改写ecu103用的更新软件。

(5)改写过程信息存储部305

改写过程信息存储部305存储被改写ecu103的软件的更新过程(软件的改写所涉及的处理过程)。

(6)控制部306

控制部306对收发部301、署名存储部302、密钥存储部303、程序存储部304以及改写过程信息存储部305进行管理、控制来实现改写实施ecu102的功能。即,控制部306可以按照改写过程信息存储部305存储的改写过程信息(更新过程)来控制各部,执行用于将被改写ecu103的软件更新为更新软件的更新处理(包括各种更新用帧的发送、认证种子以及认证结果的接收等的一系列处理)等。

[1.4被改写ecu103的结构]

图4是被改写ecu103的构成图。

如图4所示,被改写ecu103构成为包括收发部401、署名存储部402、密钥存储部403、程序存储部404、改写过程信息存储部405和控制部406。

被改写ecu103是与can总线20连接的ecu,是包括处理器、存储器等的数字电路、模拟电路、通信线路等的装置。例如通过处理器按照存储器所保存的控制程序进行工作,被改写ecu103发挥功能。

(1)收发部401

收发部401向can总线20发送can消息,接收在can总线20上传播的can消息。收发部401例如发送分别表示认证种子、认证结果的帧,接收在can总线20上传播的分别表示改写模式转换指示、认证密钥、存储器擦除命令、更新软件、更新软件署名、再启动指示的更新用帧。

(2)署名存储部402

署名存储部402存储针对由程序存储部404存储的更新软件的署名。

(3)密钥存储部403

密钥存储部403存储在改写实施ecu102基于被改写ecu103发送的认证种子通过加密而生成的认证密钥的解码中使用的解码密钥(秘密密钥)以及在程序存储部404所存储的程序(更新软件)的署名即署名存储部402所存储的署名的正当性的验证中使用的署名验证密钥。

(4)程序存储部404

程序存储部404存储被改写ecu103的软件(例如从改写实施ecu102取得的更新软件等)。

(5)改写过程信息存储部405

改写过程信息存储部405存储被改写ecu103的软件的更新过程。

(6)控制部406

控制部406对收发部401、署名存储部402、密钥存储部403、程序存储部404以及改写过程信息存储部405进行管理、控制来实现被改写ecu103的功能。即,控制部406可以按照改写过程信息存储部405存储的改写过程信息(更新过程)来控制各部,执行用于将被改写ecu103的软件更新为更新软件的更新处理(包括各种更新用帧的接收、认证种子以及认证结果的发送等的一系列处理)等。

[1.5安全ecu104的结构]

图5是安全ecu104的构成图。

如图5所示,安全ecu104构成为包括收发部501、can总线监视部502和控制部503。

安全ecu104连接于can总线20,是具备应对攻击的安全功能(防御功能等)的ecu。通过安全ecu104的处理器按照存储器所存储的控制程序(计算机程序)进行工作,安全ecu104发挥功能。

(1)收发部501

收发部501接收在can总线20上传播的can消息,接收can总线监视部502的指示并为了使非法的can消息无效化而向can总线20发送错误帧。

(2)can总线监视部502

can总线监视部502对经由收发部501从连接有多个ecu的can总线20接收到的can消息所包含的数据的内容(有效载荷)进行确认。can总线监视部502在确认到有非法的can消息(例如在电子控制系统11中不遵循预先确定的规则的can消息)传播的情况下,经由收发部501发送错误帧。can总线监视部502使用任何方法来作为检测非法的can消息的方法都可以。

(3)控制部503

控制部503对收发部501以及can总线监视部502进行管理、控制来实现安全ecu104的功能。

[1.6攻击过程信息]

对评价装置101的保持部202所存储的攻击过程信息进行说明。图6以及图7分别表示攻击过程信息的一例。

如图6以及图7所示,攻击过程信息例如是按评价装置101的每个评价项目(每个评价对象功能)包含发送消息(用于评价对象功能的评价的作为攻击而应发送的攻击用帧)的内容以及消息id、发送消息的发送间隔(与先行帧的时间间隔)、和发送顺序的信息。该攻击过程信息例如基于与电子控制系统11有关的各种信息(规格等)而确定。

例如,在图6所示的评价对象功能为“改写实施功能1”这一评价项目的例子中,攻击过程成为如下一系列过程:首先(第一),通过发送错误帧,使包含被改写ecu103发送的认证种子的can消息无效化,接着(第二),发送包含假认证种子的can消息,接着(第三),在从改写实施ecu102接收到与认证种子对应的认证密钥之后,作为响应,发送包含认证结果(认证响应)的can消息。

例如,在图7所示的评价对象功能为“被改写功能1”这一评价项目的例子中,攻击过程成为如下一系列过程:首先(第一),通过发送错误帧,使包含改写实施ecu102发送的存储器擦除命令的can消息无效化,接着(第二),发送包含存储器擦除命令的更新用帧(can消息),接着(第三),发送包含假更新软件的更新用帧(can消息),接着(第四),发送包含与该假更新软件对应的署名的更新用帧(can消息)。此外,在图7的攻击过程信息中,在包含更新软件署名的更新用帧的发送所涉及的信息之后,可以包含表示再启动指示的更新用帧的发送所涉及的信息。

按照这样的攻击过程信息,评价装置101按确定的发送顺序发送针对各评价项目确定的攻击用帧,由此对电子控制系统11进行攻击并进行评价。评价装置101例如在攻击过程信息表示继错误帧之后发送具有预定id(例如认证种子用的id、作为认证结果的认证响应用的id等)的攻击用帧的情况下,当接收部201b从can总线20接收到具有预定id的can消息时,首先发送错误帧,接着发送具有预定id的攻击用帧。该预定id也可以是为了软件的更新处理而预先确定的更新用id(例如,存储器擦除命令用的id、更新软件用的id、更新软件署名用的id、再启动指示用的id等)。

[1.7评价系统10的工作]

以下,对具备上述结构的评价系统10的工作进行说明。

首先,对在评价系统10中评价装置101未发送攻击用帧时由电子控制系统11实施的软件的更新所涉及的工作例进行说明。然后,针对通过评价装置101按照攻击过程信息105来攻击(通过攻击用帧的发送进行攻击)评价对象的电子控制系统11并进行评价的工作,说明每个评价项目的工作例(工作例1~5)。

[1.7.1软件的更新的工作例]

对于在评价装置101未发送攻击用帧时由电子控制系统11实施的软件(被改写ecu103中的软件)的更新,结合图8的时序图来说明。在图8的例子中,软件的更新通过改写实施ecu102主动发送预先确定的各种更新用帧、被改写ecu103对该各种更新用帧进行应对来实现。

改写实施ecu102将包含改写模式转换指示(指示向改写模式转换之意的信息)的更新用帧(can消息)发送给can总线20(步骤s601)。

从can总线20接收到包含改写模式转换指示的更新用帧的被改写ecu103,将包含认证种子的can消息发送给can总线20(步骤s602)。

接收到包含认证种子的can消息的改写实施ecu102,通过使用密钥存储部303所存储的密钥对所接收到的认证种子进行加密来生成认证密钥,将包含认证密钥的更新用帧(can消息)发送给can总线20(步骤s603)。

接收到包含认证密钥的更新用帧的被改写ecu103,使用密钥存储部403所存储的密钥对所接收到的认证密钥进行解码,确认解码结果与已发送的认证种子是否一致。被改写ecu103在确认为一致的情况下,将意味着允许改写的can消息作为认证结果而发送给can总线20,允许实施以后的更新过程,在确认为不一致的情况下,将意味着不允许改写的can消息作为认证结果而发送给can总线20,不允许实施以后的更新过程(步骤s604)。接收到包含认证结果的can消息的改写实施ecu102,在所接收到的can消息作为认证结果而意味着允许改写的情况下,实施以后的更新过程,在所接收到的can消息意味着不允许改写的情况下,不实施以后的更新过程。

作为认证结果而接收到意味着允许改写的can消息的改写实施ecu102,将包含存储器擦除命令的更新用帧发送给can总线20(步骤s605)。接收到包含存储器擦除命令的更新用帧的被改写ecu103将程序存储部404的存储内容(用于保存更新软件的区域的内容)擦除。

接着,改写实施ecu102将包含更新软件的更新用帧发送给can总线20(步骤s606)。此外,更新用帧也可以由多个can消息构成,例如,包含更新软件的更新用帧根据更新软件的数据量而由一个或者多个can消息构成。接收到包含更新软件的更新用帧的被改写ecu103向程序存储部404写入所接收到的更新软件。

接着,改写实施ecu102将包含与更新软件对应的更新软件署名的更新用帧发送给can总线20(步骤s607)。接收到包含更新软件署名的更新用帧的被改写ecu103向署名存储部402写入所接收到的更新软件署名。

最后,改写实施ecu102将表示再启动指示的更新用帧发送给can总线20(步骤s608)。接收到表示再启动指示的更新用帧的被改写ecu103,实施再启动(处理器的复位)。在再启动时,被改写ecu103例如使用密钥存储部403所存储的署名验证密钥来验证作为程序存储部404存储的程序(更新软件)的署名的、署名存储部402所存储的署名是否正当,在正当的情况下执行处理器的复位。当处理器被复位时,通过处理器执行程序存储部404内的更新软件。被改写ecu103在根据程序的署名的验证而署名不正当的情况下,不执行用于执行更新软件的再启动。此外,被改写ecu103例如在应对存储器擦除命令而擦除程序存储部404的存储内容(用于保存更新软件的区域的内容)时,可以将原来的存储内容保存于存储介质(例如非易失性存储器、硬盘等),也可以在更新软件所涉及的署名不正当的情况下将原来的存储内容复原到程序存储部404。

[1.7.2评价系统10的工作例1]

图9以及图10是表示对电子控制系统11进行评价的评价系统10的工作(工作例1)的时序图。此外,图9所示的时序图后续接着图10所示的时序图。在工作例1中,示出评价装置101进行图6所示的改写实施功能1这一评价项目所涉及的评价的例子。该例子是评价装置101通过进行冒充被改写ecu103并使改写实施ecu102发生误识别的攻击来评价电子控制系统11的安全性的例子。以下,结合图9以及图10对工作例1进行说明。

改写实施ecu102将表示改写模式转换指示的更新用帧(can消息)发送给can总线20(步骤s601)。接收到包含改写模式转换指示的更新用帧的被改写ecu103将包含认证种子的can消息发送给can总线20(步骤s602)。

评价装置101在通过从can总线20接收can消息而检测到有包含认证种子的can消息在can总线20上传播时,在该can消息整体被改写实施ecu102接收之前,发送错误帧,使包含被改写ecu103发送的认证种子的can消息无效化(步骤s701)。can总线20上的包含认证种子的can消息被错误帧覆写,成为无法正确接收的无效帧。

接着,评价装置101将包含假认证种子的can消息发送给can总线20(步骤s702)。评价装置101的信号监视部204将该步骤s702之后的改写实施ecu102的举动的逐次监视的结果逐次记录于存储部208。接收到包含假认证种子的can消息的改写实施ecu102通过使用密钥存储部303所存储的密钥对所接收的认证种子进行加密来生成认证密钥。然后,改写实施ecu102将包含所生成的认证密钥的更新用帧(can消息)发送给can总线20(步骤s603)。

接收到包含认证密钥的更新用帧的评价装置101不管该接收到的认证密钥的正当性如何,都将意味着允许改写的can消息作为认证结果而发送给can总线20(步骤s703)。

作为认证结果而接收到意味着允许改写的can消息的改写实施ecu102将包含存储器擦除命令的更新用帧发送给can总线20(步骤s605)。接收到包含存储器擦除命令的更新用帧的评价装置101通过can总线监视部203将该接收到的包含存储器擦除命令的更新用帧的内容记录于存储部208。

接着,改写实施ecu102将包含更新软件的更新用帧发送给can总线20(步骤s606)。接收到包含更新软件的更新用帧的评价装置101通过can总线监视部203将接收到的更新软件记录于存储部208。

接着,改写实施ecu102将包含与更新软件对应的更新软件署名的更新用帧发送给can总线20(步骤s607)。接收到包含更新软件署名的更新用帧的被改写ecu103通过can总线监视部203将接收到的更新软件署名记录于存储部208。

接着,改写实施ecu102将表示再启动指示的更新用帧发送给can总线20(步骤s608)。接收到表示再启动指示的更新用帧的评价装置101通过can总线监视部203将接收到的表示再启动指示的更新用帧的内容记录于存储部208。

最后,评价装置101通过对记录在存储部208中的来自can总线20的接收内容所涉及的信息以及步骤s702之后的改写实施ecu102的动作所涉及的信息进行确认,由此进行评价(步骤s801)。即,评价装置101通过将接收内容以及改写实施ecu102的动作与攻击的期待值进行比较,进行电子控制系统11的安全性的评价(关于攻击成功与否的判定等)。评价装置101例如在确认到的接收内容以及确认到的改写实施ecu102的动作与攻击的期待值(与对被改写ecu103发送新用帧等的更新过程的实施同样的动作)相同的情况下判定为攻击成功。评价装置101可以在即使未接收到表示再启动指示的更新用帧等但经过了一定时间之后(例如从步骤s703中的作为认证结果的can消息的发送等起经过了预先确定的时间之后),进行步骤s801中的评价。因此,在攻击失败的情况(例如,评价装置101在步骤s703等中发送的can消息因安全ecu104发送错误帧等而无效化等情况)下也能够进行评价。另外,评价装置101也可以仅使用can总线监视部203的监视结果和信号监视部204的监视结果中的一方来基于攻击的期待值进行关于攻击成功与否的判定等。另外,评价装置101在步骤s801中无论怎样详细地进行作为评价对象的电子控制系统11的安全性的评价都可以,例如除了攻击整体的成功与否之外,也可以判定攻击用帧的发送这一各个攻击的成功与否,也可以对各种防御功能分别是否起作用、能够防御的程度等进行确认。

[1.7.3评价系统10的工作例2]

图11以及图12是表示对电子控制系统11进行评价的评价系统10的工作(工作例2)的时序图。此外,图11所示的时序图后续接着图12所示的时序图。在工作例2中,示出评价装置101进行图6所示的改写实施功能2这一评价项目所涉及的评价的例子。该例子是评价装置101通过进行冒充被改写ecu103并使改写实施ecu102发生误识别的攻击来评价电子控制系统11的安全性的例子。以下,结合图11以及图12对工作例2进行说明。

改写实施ecu102将表示改写模式转换指示的更新用帧发送给can总线20(步骤s601)。接收到包含改写模式转换指示的更新用帧的被改写ecu103将包含认证种子的can消息发送给can总线20(步骤s602)。接收到包含认证种子的can消息的改写实施ecu102基于所接收到的认证种子生成认证密钥,将包含认证密钥的更新用帧发送给can总线20(步骤s603)。接收到包含认证密钥的更新用帧的被改写ecu103将基于所接收到的认证密钥的认证结果所涉及的can消息发送给can总线20(步骤s604)。

评价装置101在通过从can总线20接收认证结果所涉及的can消息而检测到有认证结果所涉及的can消息在can总线20上传播时,在该can消息整体被改写实施ecu102接收之前,发送错误帧,使被改写ecu103发送的认证结果所涉及的can消息无效化(步骤s901)。can总线20上的认证结果所涉及的can消息被错误帧覆写,成为无法正确接收的无效帧。

接着,评价装置101将意味着允许改写的can消息作为假认证结果而发送给can总线20(步骤s902)。评价装置101的信号监视部204将该步骤s902之后的改写实施ecu102的举动的逐次监视的结果逐次记录于存储部208。接收到假认证结果所涉及的意味着允许改写的can消息的改写实施ecu102实施以后的更新过程。即,改写实施ecu102将包含存储器擦除命令的更新用帧发送给can总线20(步骤s605)。接收到包含存储器擦除命令的更新用帧的评价装置101通过can总线监视部203将该接收到的包含存储器擦除命令的更新用帧的内容记录于存储部208。

接着,改写实施ecu102将包含更新软件的更新用帧发送给can总线20(步骤s606)。接收到包含更新软件的更新用帧的评价装置101通过can总线监视部203将接收到的更新软件记录于存储部208。

接着,改写实施ecu102将包含与更新软件对应的更新软件署名的更新用帧发送给can总线20(步骤s607)。接收到包含更新软件署名的更新用帧的被改写ecu103通过can总线监视部203将接收到的更新软件署名记录于存储部208。

接着,改写实施ecu102将表示再启动指示的更新用帧发送给can总线20(步骤s608)。接收到表示再启动指示的更新用帧的评价装置101通过can总线监视部203将接收到的表示再启动指示的更新用帧的内容记录于存储部208。

最后,评价装置101通过对记录在存储部208中的来自can总线20的接收内容所涉及的信息以及步骤s902之后的改写实施ecu102的动作所涉及的信息进行确认,由此进行评价(步骤s1001)。即,与上述的步骤s801中的评价同样地,评价装置101通过将接收内容以及改写实施ecu102的动作与攻击的期待值进行比较,进行电子控制系统11的安全性的评价(关于攻击成功与否的判定等)。

[1.7.4评价系统10的工作例3]

图13以及图14是表示对电子控制系统11进行评价的评价系统10的工作(工作例3)的时序图。此外,图13所示的时序图后续接着图14所示的时序图。在工作例3中,示出评价装置101进行图7所示的被改写功能1这一评价项目所涉及的评价的例子。该例子是评价装置101通过进行冒充改写实施ecu102并使被改写ecu103发生误识别的攻击来评价电子控制系统11的安全性的例子。以下,结合图13以及图14对工作例3进行说明。

改写实施ecu102将表示改写模式转换指示的更新用帧发送给can总线20(步骤s601)。接收到包含改写模式转换指示的更新用帧的被改写ecu103将包含认证种子的can消息发送给can总线20(步骤s602)。接收到包含认证种子的can消息的改写实施ecu102基于所接收到的认证种子生成认证密钥,将包含认证密钥的更新用帧发送给can总线20(步骤s603)。接收到包含认证密钥的更新用帧的被改写ecu103将意味着允许改写的can消息作为基于所接收到的认证密钥的认证结果而发送给can总线20(步骤s604)。作为认证结果而接收到意味着允许改写的can消息的改写实施ecu102将包含存储器擦除命令的更新用帧发送给can总线20(步骤s605)。

评价装置101在通过从can总线20接收包含存储器擦除命令的更新用帧而检测到有包含存储器擦除命令的更新用帧在can总线20上传播时,在该can消息整体被被改写ecu103接收之前,发送错误帧,使改写实施ecu102发送的更新用帧无效化(步骤s1101)。can总线20上的包含存储器擦除命令的更新用帧被错误帧覆写,成为无法正确接收的无效帧。

接着,评价装置101将包含存储器擦除命令的更新用帧发送给can总线20(步骤s1102)。评价装置101的can总线监视部203以及信号监视部204将该步骤s1102之后的被改写ecu103的动作或者响应的逐次监视的结果逐次记录于存储部208。例如,信号监视部204将接收到包含存储器擦除命令的更新用帧之后的被改写ecu103的动作(例如对程序存储部404的存储内容进行了擦除等)等记录于存储部208。

接着,评价装置101将包含更新软件的更新用帧发送给can总线20(步骤s1103)。更新软件无需必须是正规的内容,也可以是假的更新软件。评价装置101将接收到包含更新软件的更新用帧之后的被改写ecu103的动作或者响应记录于存储部208。

接着,评价装置101将包含与更新软件对应的更新软件署名的更新用帧发送给can总线20(步骤s1201)。评价装置101将接收到包含更新软件署名的更新用帧之后的被改写ecu103的动作、响应等记录于存储部208。此外,评价装置101也可以预先保有更新软件、更新软件署名、用于署名生成所需的密钥等信息(更新处理所需的信息)。

接着,评价装置101将表示再启动指示的更新用帧发送给can总线20(步骤s1202)。评价装置101将接收到表示再启动指示的更新用帧之后的被改写ecu103的动作(例如是否进行了再启动等)或者响应记录于存储部208。

最后,评价装置101通过对记录在存储部208中的来自can总线20的接收内容所涉及的信息以及步骤s1102之后的被改写ecu103的动作所涉及的信息进行确认,由此进行评价(步骤s1203)。即,评价装置101通过将接收内容以及被改写ecu103的动作与攻击的期待值进行比较,进行电子控制系统11的安全性的评价(关于攻击成功与否的判定等)。评价装置101例如在确认到的接收内容以及确认到的被改写ecu103的动作与攻击的期待值(与从改写实施ecu102接收到更新用帧的情况同样的动作)相同的情况下判定为攻击成功。评价装置101也可以仅使用can总线监视部203的监视结果和信号监视部204的监视结果中的一方来基于攻击的期待值进行关于攻击成功与否的判定等。另外,评价装置101在步骤s1203中无论怎样详细地进行作为评价对象的电子控制系统11的安全性的评价都可以,例如,除了攻击整体的成功与否之外,也可以判定攻击用帧的发送这一各个攻击的成功与否,也可以对各种的防御功能分别是否起作用、能够防御的程度等进行确认。

[1.7.5评价系统10的工作例4]

图15以及图16是表示对电子控制系统11进行评价的评价系统10的工作(工作例4)的时序图。此外,图15所示的时序图后续接着图16所示的时序图。在工作例4中,示出评价装置101进行图7所示的被改写功能2这一评价项目所涉及的评价的例子。该例子是评价装置101通过进行冒充改写实施ecu102并使被改写ecu103发生误识别的攻击来评价电子控制系统11的安全性的例子。以下,结合图15以及图16对工作例4进行说明。

改写实施ecu102将表示改写模式转换指示的更新用帧发送给can总线20(步骤s601)。接收到包含改写模式转换指示的更新用帧的被改写ecu103将包含认证种子的can消息发送给can总线20(步骤s602)。接收到包含认证种子的can消息的改写实施ecu102基于所接收到的认证种子生成认证密钥,将包含认证密钥的更新用帧发送给can总线20(步骤s603)。接收到包含认证密钥的更新用帧的被改写ecu103将意味着允许改写的can消息作为基于所接收到的认证密钥的认证结果而发送给can总线20(步骤s604)。作为认证结果而接收到意味着允许改写的can消息的改写实施ecu102将包含存储器擦除命令的更新用帧发送给can总线20(步骤s605)。接收到包含存储器擦除命令的更新用帧的被改写ecu103将程序存储部404的存储内容(用于保存更新软件的区域的内容)擦除。

接着,改写实施ecu102将包含更新软件的更新用帧发送给can总线20(步骤s606)。

评价装置101在通过从can总线20接收包含更新软件的更新用帧而检测到有包含更新软件的更新用帧在can总线20上传播时,在该can消息整体被被改写ecu103接收之前,发送错误帧,使改写实施ecu102发送的更新用帧无效化(步骤s1301)。can总线20上的包含更新软件的更新用帧被错误帧覆写,成为无法正确接收的无效帧。

接着,评价装置101将包含假更新软件的更新用帧发送给can总线20(步骤s1302)。评价装置101的can总线监视部203以及信号监视部204将该步骤s1302之后的被改写ecu103的动作或者响应的逐次监视的结果逐次记录于存储部208。例如,信号监视部204基于被改写ecu103的调试用的输出信号等,将接收到包含假更新软件的更新用帧之后的被改写ecu103的动作(例如,向程序存储部404保存假更新软件等)等记录于存储部208。

接着,评价装置101将包含与假更新软件对应的假更新软件署名的更新用帧发送给can总线20(步骤s1401)。评价装置101将接收到包含假更新软件署名的更新用帧之后的被改写ecu103的动作、响应等记录于存储部208。

接着,评价装置101将表示再启动指示的更新用帧发送给can总线20(步骤s1402)。评价装置101将接收到表示再启动指示的更新用帧之后的被改写ecu103的动作或者响应记录于存储部208。

最后,评价装置101通过对记录在存储部208中的来自can总线20的接收内容所涉及的信息以及步骤s1302之后的被改写ecu103的动作所涉及的信息进行确认,由此进行评价(步骤s1403)。即,与上述的步骤s1203中的评价同样地,评价装置101通过将接收内容以及被改写ecu103的动作与攻击的期待值进行比较,进行电子控制系统11的安全性的评价(关于攻击成功与否的判定等)。

[1.7.6评价系统10的工作例5]

图17以及图18是表示对电子控制系统11进行评价的评价系统10的工作(工作例5)的时序图。此外,图17所示的时序图后续接着图18所示的时序图。在工作例5中,示出评价装置101进行图7所示的被改写功能3这一评价项目所涉及的评价的例子。该例子是评价装置101通过进行冒充改写实施ecu102并使被改写ecu103发生误识别的攻击来评价电子控制系统11的安全性的例子。以下,结合图17以及图18对工作例5进行说明。

改写实施ecu102将表示改写模式转换指示的更新用帧发送给can总线20(步骤s601)。接收到包含改写模式转换指示的更新用帧的被改写ecu103将包含认证种子的can消息发送给can总线20(步骤s602)。接收到包含认证种子的can消息的改写实施ecu102基于所接收到的认证种子生成认证密钥,将包含认证密钥的更新用帧发送给can总线20(步骤s603)。接收到包含认证密钥的更新用帧的被改写ecu103将意味着允许改写的can消息作为基于所接收到的认证密钥的认证结果而发送给can总线20(步骤s604)。作为认证结果而接收到意味着允许改写的can消息的改写实施ecu102将包含存储器擦除命令的更新用帧发送给can总线20(步骤s605)。接收到包含存储器擦除命令的更新用帧的被改写ecu103将程序存储部404的存储内容(用于保存更新软件的区域的内容)擦除。接着,改写实施ecu102将包含更新软件的更新用帧发送给can总线20(步骤s606)。接收到包含更新软件的更新用帧的被改写ecu103向程序存储部404写入所接收的更新软件。

接着,改写实施ecu102将包含与更新软件对应的更新软件署名的更新用帧发送给can总线20(步骤s607)。

评价装置101在通过从can总线20接收包含更新软件署名的更新用帧而检测到有包含更新软件署名的更新用帧在can总线20上传播时,在该can消息整体被被改写ecu103接收之前,发送错误帧,使改写实施ecu102发送的更新用帧无效化(步骤s1501)。can总线20上的包含更新软件署名的更新用帧被错误帧覆写,成为无法正确接收的无效帧。

接着,评价装置101将包含与更新软件对应的假更新软件署名的更新用帧发送给can总线20(步骤s1601)。评价装置101将接收到包含假更新软件署名的更新用帧之后的被改写ecu103的动作、响应等记录于存储部208。

接着,评价装置101将表示再启动指示的更新用帧发送给can总线20(步骤s1602)。评价装置101将接收到表示再启动指示的更新用帧之后的被改写ecu103的动作或者响应记录于存储部208。

最后,评价装置101通过对记录在存储部208中的来自can总线20的接收内容所涉及的信息以及步骤s1601之后的被改写ecu103的动作所涉及的信息进行确认,由此进行评价(步骤s1603)。即,与上述的步骤s1203中的评价同样地,评价装置101通过将接收内容以及被改写ecu103的动作与攻击的期待值进行比较,进行电子控制系统11的安全性的评价(关于攻击成功与否的判定等)。

(变形例)

如上所述,作为本公开涉及的技术的例示,说明了实施方式1。然而,本公开涉及的技术不限定于此,在适当进行了变更、替换、附加、省略等的实施方式中也能够适用。例如,以下的变形例也包含在本公开的一个实施方式中。

(1)在上述实施方式中,示出了评价装置101通过与电子控制系统11中的软件的更新处理相关联而冒充改写实施ecu102或者被改写ecu103来进行攻击的例子,但也可以进行冒充其他ecu的攻击,也可以通过错误帧以及与更新处理无关的can消息的发送来进行攻击。

(2)在上述的电子控制系统11中,各种ecu假设为实际的(作为实物的)ecu进行了说明。但是,作为评价系统10的评价对象的电子控制系统11中的各种ecu,也可以取代实际的ecu(例如,安装在评价板上的ecu、作为产品的ecu等)而是模拟(simulation)该ecu的模拟ecu(例如,执行模拟该ecu的功能、举动等的模拟软件的计算机等)。在ecu是模拟ecu的情况下,评价装置101也可以通过观测计算机中的与模拟软件有关的预定数据(计算机的预定存储器区域的内容或者输出内容等)的变化来实现ecu的动作的监视。

(3)在上述实施方式中,示出了评价装置101是与can总线20连接的一个装置的例子,但评价装置101也可以具有被分离成按照攻击过程信息105发送攻击用帧的发送装置和对在can总线20上传播的can消息、与can总线20连接的ecu的存储内容、向信号线输出的输出信号等进行监视的监视装置等、被分离在多个壳体中的结构。另外,监视装置或者监视部200也可以对与can总线20连接的某个ecu进行监视。另外,监视装置或者监视部200使用任何方法来作为对ecu监视的方法都可以,例如可以进行与ecu连接的专用信号线等的直接监视,也可以进行can消息的间接监视,还可以进行根据能够与ecu的动作相关联而发生变化的车辆状态进行的间接监视。

(4)在上述实施方式中,作为评价系统10的评价对象,例示了具备由can总线20实现的车载网络的电子控制系统11,但评价系统10中的评价装置101发送攻击用帧、设为监视对象的网络也可以不一定是车载网络,另外,也可以是进行can协议的通信的can总线20以外的网络。例如,评价系统10也可以将机器人、产业设备等的网络以外的网络通信系统作为评价对象。另外,can协议可以具有也包括自动化系统内的嵌入式系统等所使用的canopen或者ttcan(time-triggeredcan,时间触发can)、canfd(canwithflexibledatarate,灵活数据传送率的can)等的派生协议在内的广义上的含义。另外,在评价对象的电子控制系统(网络通信系统)中,也可以使用can协议以外的通信协议,例如ethernet(注册商标)、most(注册商标)、flexray(注册商标)、lin(localinterconnectnetwork,本地互联网络)等。另外,也可以将包含组合了遵循各种协议的网络而得到的复合型网络的系统作为评价对象,通过评价装置101对该网络进行攻击以及监视。评价装置101可以在上述的网络中通过发送包括用于使其他节点发送的帧无效化的无效化帧(例如在can中为错误帧)的攻击用帧来进行评价。无效化帧只要是通过覆写等方法使其他节点发送的帧无效化的帧即可。无效化是指为了阻碍帧的正常接收而使帧的状态从通常状态变化,例如可以是进行覆写来使一比特以上的数据发生变化的改变,也可以是不改变帧自身而通过由通信协议规定的方法成为无效状态(表示先行帧为无效的信息的追加等)。

(5)在上述实施方式中,示出了在评价装置101通过错误帧的发送使成为冒充对象的ecu发送的can消息无效化之后,评价装置101执行冒充对象的ecu的更新处理的全部动作的例子,但例如也可以是评价装置101仅发送冒充对象的ecu应该发送的多个can消息的一部分。

(6)在上述实施方式中,示出了攻击过程信息105规定了包含错误帧和can消息的多个攻击用帧的发送顺序的例子,但攻击过程信息105也可以对一个或者多个错误帧的发送进行规定,例如,也可以规定错误帧的发送时刻、发送间隔或者发送条件(在总线上传播哪个id的can消息时应该进行发送所涉及的条件等)。该情况下,评价装置101通过确认与错误帧的发送对应的ecu的举动等,也能够进行与电子控制系统11的安全性有关的评价。

(7)作为关于评价对象的安全性(抗攻击性等)的评价,评价装置101也可以基于穿透防御的非法的can消息的个数和/或比例来进行有无抗攻击性的判定等这样的评价。此外,评价装置101为了判定抗攻击性的有无,可以使用对关于非法的can消息的个数和/或比例的上限等进行规定的阈值。该阈值既可以为能够对评价装置101任意设定,也可以为能够在反复实施评价的情况下根据评价结果等进行变化(调整)。另外,评价装置101也可以估算攻击的成功率(成功的频度等)。如此,评价装置101除了攻击成功与否或者防御成功与否的择一判定之外,例如也可以对多个防御功能分别是否进行发挥作用或者以何种程度有效地发挥了作用进行评价。另外,在评价装置101中,也可以为:发送部201a使按攻击过程信息105所示出的发送顺序向can总线20发送多个帧的攻击模式反复多次,评价部206以根据因攻击模式的反复而得到的监视部200的监视结果的变化的有无而评价结果不同的方式进行评价。例如,也可以为:评价装置101在反复多次进行了假认证种子的发送或者假认证密钥的发送时,通过在实施一定次数以上后是否能够接收到响应来判定攻击成功与否。此外,对于评价装置101的评价部206的评价结果,除了由评价装置101记录于存储器等存储介质之外,可以向评价装置101的外部输出(例如,评价结果的显示、表示评价结果的信息的发送等)。例如,评价部206也可以将表示评价对象的电子控制系统是否有抗攻击性的信息作为评价结果进行输出。

(8)对于评价对象的电子控制系统11的包含安全ecu104的安全功能,也可以记录与检测到非法有关的日志信息(can消息的接收历史记录等),在该情况下,评价装置101也可以通过对该日志信息和该评价装置101所保持的与攻击有关的期待值进行比较,进行攻击是否成功的判定或者攻击是否成功的概率等的算出,由此进行关于安全性的评价。

(9)在上述实施方式中,作为安全功能,电子控制系统11可以具有独立的安全ecu104,但也可以是经由总线通信的多个ecu中的全部或者一部分ecu具有安全功能。另外,也可以是多个ecu分散地实现安全功能。

(10)在上述实施方式中,示出了评价装置101与评价对象的电子控制系统11中的总线直接连接的例子,但也可以在评价装置101与评价对象之间插入网关等中继装置。例如,也可以:评价装置101通过在与网关之间实施了相互认证或者单方认证之后发送攻击用的can消息,由此使网关将该can消息转送给can总线20,通过经由网关取得来自can总线20的can消息等,对评价对象的安全性(抗攻击性等)进行评价。

(11)评价装置101也可以发送假认证种子,实施多次从改写实施ecu102获得认证密钥这一动作,并对其趋势进行分析,由此通过是否能够类推认证密钥来进行安全功能的评价。

(12)上述实施方式中的评价装置101以及各种ecu例如是包括处理器、存储器等的数字电路、模拟电路、通信线路等的装置,但也可以包括显示器、键盘、鼠标等其他的硬件构成要素。另外,也可以取代由处理器执行存储器所存储的控制程序并以软件方式来实现功能,而通过专用的硬件(数字电路等)来实现其功能。例如,评价装置101的can总线监视部203、信号监视部204、收发部201、保持部202、评价部206、存储部208以及控制部207的各功能块可以通过集成电路来实现。另外,例如,改写实施ecu102的收发部301、署名存储部302、密钥存储部303、程序存储部304、改写过程信息存储部305以及控制部306的各功能块可以通过集成电路来实现。另外,例如,被改写ecu103的收发部401、署名存储部402、密钥存储部403、程序存储部404、改写过程信息存储部405以及控制部406的各功能块可以通过集成电路来实现。另外,例如,安全ecu104的收发部501、can总线监视部502以及控制部503的各功能块可以通过集成电路来实现。

(13)构成上述实施方式中的各装置(评价装置101、各种ecu等)的构成要素的一部分或者全部也可以由1个系统lsi(largescaleintegration:大规模集成电路)构成。系统lsi是将多个构成部集成于1个芯片上而制造出的超多功能lsi,具体而言,是包含微处理器、rom、ram等而构成的计算机系统。所述ram中记录有计算机程序。所述微处理器按照所述计算机程序进行工作,由此系统lsi实现其功能。另外,构成上述各装置的构成要素的各部既可以单独地单芯片化,也可以以包含一部分或全部的方式单芯片化。另外,虽然此处设为lsi,但根据集成度不同,也可以称为ic、lsi、超大lsi(superlsi)、特大lsi(ultralsi)。另外,集成电路化的方法不限于lsi,也可以通过专用电路或者通用处理器实现。也可以在lsi制造后利用能够进行编程的fpga(fieldprogrammablegatearray;现场可编程门阵列)或者可以对lsi内部的电路单元的连接和/或设定进行重构的可重构处理器(reconfigurableprocessor)。进而,随着半导体技术的发展或者派生的其他技术的出现,如果出现能够替代lsi的集成电路化的技术,当然也可以利用该技术进行功能块的集成化。也可能会存在适用生物技术的可能性。

(14)构成上述各装置的构成要素的一部分或者全部也可以由能够装卸于各装置的ic卡或者单体模块构成。所述ic卡或者所述模块是由微处理器、rom、ram等构成的计算机系统。所述ic卡或者所述模块也可以包含上述超多功能lsi。微处理器按照计算机程序进行工作,由此所述ic卡或者所述模块实现其功能。该ic卡或者该模块也可以具有抗篡改性。

(15)作为本公开的一个技术方案,也可以设为包含例如图9~图18等所例示的处理过程的全部或者一部分的评价方法。例如,评价方法是进行与具备经由总线(例如can总线20)进行通信的多个ecu的电子控制系统11的安全性有关的评价的评价方法,将包括使总线上的帧无效化的无效化帧(例如can的错误帧)在内的一个以上的攻击用帧发送到总线(例如s701~s703、s901、s902、s1101~s1103、s1201、s1202、s1301、s1302、s1401、s1402、s1501、s1601、s1602),在攻击用帧被发送到总线时,对多个ecu中的一个以上的ecu进行监视,基于监视的监视结果来进行评价(例如s801、s1001、s1203、s1403、s1603)。另外,作为本公开的一个技术方案,也可以是由计算机实现该评价方法所涉及的处理的计算机程序,还可以是通过所述计算机程序形成的数字信号。另外,作为本公开的一个技术方案,也可以将所述计算机程序或者所述数字信号记录于计算机可读取的记录介质例如软盘、硬盘、cd-rom、mo、dvd、dvd-rom、dvd-ram、bd(blu-ray(注册商标)disc)、半导体存储器等。另外,也可以是记录在上述的记录介质中的所述数字信号。另外,作为本公开的一个技术方案,也可以将所述计算机程序或所述数字信号经由电通信线路、无线或有线通信线路、以因特网为代表的网络、数据广播等进行传送。另外,作为本公开的一个技术方案,也可以是具有微处理器和存储器的计算机系统,所述存储器记录有上述计算机程序,所述微处理器可以按照所述计算机程序进行工作。另外,也可以通过将所述程序或所述数字信号记录在所述记录介质中转移、或经由所述网络等将所述程序或所述数字信号进行转移,由此通过独立的其他的计算机系统来实施。

(16)通过将上述实施方式以及上述变形例中示出的各构成要素以及功能进行任意组合而实现的实施方式也包含在本公开的范围中。

产业上的可利用性

本公开能够利用于进行对电子控制系统实施的安全对策技术是否能够适当地防御攻击等的评价。

标号的说明

10评价系统;11电子控制系统;20总线(can总线);101评价装置;102改写实施ecu;103被改写ecu;104安全ecu;105攻击过程信息;200监视部;201、301、401、501收发部;201a发送部;201b接收部;202保持部;203、502can总线监视部;204信号监视部;206评价部;207、306、406、503控制部;208存储部;302、402署名存储部;303、403密钥存储部;304、404程序存储部;305、405改写过程信息存储部。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1