logo好方法网

车辆CAN总线仿真与攻击系统及方法


技术摘要:
本发明公开了一种车辆CAN总线仿真与攻击系统及方法。所述系统包括模拟ECU的CAN节点、PC端、OBD‑Ⅱ;所述CAN节点通过CAN_H总线和CAN_L总线两个接口连接到CAN节点的面包板上面,同时通过串口连接到多口USB接口板,多口USB接口板接入PC端,完成CAN节点和PC之间的串口通信  全部
背景技术:
  随着物联网技术与汽车产业的加速融合,现代车辆的智能化和网联化程度不断 加深。为了向用户提供更舒适的行车体验,汽车电子控制单元(Electronic  Control  Unit, ECU)的数目逐年提升,与外界的通信信接口如3G/4G、蓝牙等愈加丰富,车辆不再是一个孤 立封闭的机械产品,而是一个具有复杂车载网络的开放系统。车辆的开放性和电子化导致 网络安全问题日益突出,黑客一旦通过外部接口进入车载网络即可实施攻击,轻则隐私泄 露,重则车毁人亡。控制器局域网络(Controller  Area  Network,CAN)总线作为应用最广泛 的车辆总线之一,是黑客重点攻击对象。近年来,攻击者接连通过蓝牙、车载诊断系统(On- Board  Diagnostics,OBD)等接口渗入到CAN总线内部实施恶意攻击,严重危害行车安全。 攻击者可通过外部访问接口渗透到车载CAN总线网络,对车载CAN总线网络发送恶 意的攻击报文,干预汽车工况。车辆CAN总线仿真与攻击平台,主要通过Arduino模拟车辆 ECU,并通过与PC的串口通信和车辆CAN真实数据的导入来模拟车辆CAN总线的运行,同时系 统对仿真车辆的CAN总线和ECU实施多种攻击,包括挂起攻击、冒充攻击、伪装攻击等等。该 系统通过仿真黑客攻击,从而预防潜在黑客攻击,进一步增强车辆CAN总线的安全性,降低 车辆遭受攻击的可能性。
技术实现要素:
本发明的目的在填补现有CAN总线仿真与攻击系统的空白。提供了一种车辆CAN总 线仿真与攻击系统及方法。 本发明的具体技术方案如下: 一种车辆CAN总线仿真与攻击系统,所述系统包括模拟ECU的CAN节点、PC端、OBD-Ⅱ; 所述CAN节点通过CAN_H总线和CAN_L总线两个接口连接到CAN节点上的面包板上面,同 时通过串口连接到多口USB接口板,多口USB接口板接入PC端,完成CAN节点和PC之间的串口 通信; 所述OBD-Ⅱ分别用两根CAN总线连接线接到串行CAN节点的CAN_H和CAN_L上。 上述CAN节点采用Arduino  Uno  3底板和CAN-BUS  Shield扩展板; 所述PC端通过USB串口连接CAN-BUS  Shield板子,实现一对一串口数据通信,包括PC向 各个ECU发送控制命令,ECU返回各自状态和发送到CAN节点上的数据内容; 所述OBD-Ⅱ通过DB9-OBD2连接线,一端接入CAN节点,一端接入OBD-Ⅱ连接器,同时 OBD-Ⅱ连接器16Pin接口的CAN  High(J-2234)和CAN  Low(J-2234)分别用两根CAN总线连接 线接到串行CAN节点的CAN_H和CAN_L上,同时,Grove  连接线将CAN节点的4Pin  Grove连接 器连接到ArduinoUno  3底板上。 4 CN 111596570 A 说 明 书 2/5 页 一种车辆CAN总线仿真与攻击方法,利用上述的系统,包括如下步骤: (1)、模拟ECU的CAN节点,实现CAN节点和PC之间的串口通信; (2)、根据所要模拟的ECU及模拟攻击的ECU的数目,选择合适的接口板; (3)、PC端读入Excel数据,按照CANID发送给每个ECU; (4)、OBD-Ⅱ接口的配置; (5)、连接COM串口,进行冒充攻击; (6)、选择需要挂起的ECU对其进行挂起攻击; (7)、连接COM串口,进行伪装攻击; (8)、车辆ECU状态显示。 上述步骤(3)具体包括如下步骤: 外部导入真实CAN数据按钮,点击后选择PC端本地的Excel文件,显示在按钮下面的 DataGridView控件中,点击启动按钮,则将数据按照CANID发送给各个ECU。 上述步骤(4)包括如下步骤: (4-1)、OBD-Ⅱ通过DB9-OBD2连接线,一端接入CAN节点,一端接入OBD-Ⅱ连接器,同时 OBD-Ⅱ连接器16Pin接口的CAN  High(J-2234)和CAN  Low(J-2234)分别用两根CAN总线连接 线接到串行CAN节点的CAN_H和CAN_L上,同时,Grove  连接线将CAN节点的4Pin  Grove连接 器连接到ArduinoUno  3底板上; (4-2)、ArduinoUno  3读取CAN总线数据。 (4-3)、存储数据到PC。 上述步骤(5)具体包括如下步骤: (5-1)、首先连接正常的ECU和攻击者,把2个串口设置成显示窗口,用于控制台CAN信息 显示; (5-2)、设置攻击策略; 进入冒充攻击窗口,然后在攻击者上点击策略设置,选择要冒充的ECU; (5-3)、正常启动车辆; 首先在车辆服务设置窗口导入真实车辆数据,然后点击启动,等正常启动后在某一个 时间段点击冒充,进行冒充攻击; (5-4)、进行冒充攻击; 在PC端显示冒充攻击后两个ECU信息在总线上的实时输出; (5-5)、查看车辆ECU状态图。 上述步骤(6)具体包括如下步骤: (6-1)、连接任意ECU; (6-2)、进入挂起攻击界面,选择需要挂起的ECU然后点击挂起; (6-3)、挂起和恢复; 挂起后,原先正常的ECU就不会再发送任何CAN数据;点击恢复,也就是停止挂起攻击 后,ECU又恢复正常状态,正常发送数据; (6-4)、查看车辆ECU状态图,查看车辆各个ECU的变化。 上述步骤(7)具体包括如下步骤: (7-1)、连接攻击者: 5 CN 111596570 A 说 明 书 3/5 页 连接COM串口,连接正常的ECU和打算伪装的攻击者; (7-2)、伪装攻击策略设置:进入伪装攻击策略设置界面,伪装正常的ECU,并间隔若干 时间发送CAN数据到总线上; (7-3)、进行伪装攻击; 车辆ECU正常点击伪装按钮,对ECU实施伪装攻击,正常的ECU被挂起,同时攻击者开始 伪装发送CAN数据,选择一定的时间点击停止按钮,伪装结束,这时候被挂起的ECU又恢复了 正常状态; (7-4)、查看车辆ECU状态图。 本发明的有益效果如下: 该系统通过Arduino模拟车辆ECU,并通过与PC的串口通信和车辆CAN真实数据的导入 来模拟车辆CAN总线的运行,同时系统对仿真车辆的CAN总线和ECU实施多种攻击,包括挂起 攻击、冒充攻击、伪装攻击等等。该系统为预防潜在的黑客攻击提供了较好的检测。 附图说明 下面结合附图和
下载此资料需消耗2积分,
分享到:
收藏