【问题标题】:Protocol Translation from CAN bus to IP从 CAN 总线到 IP 的协议转换
【发布时间】:2019-06-05 19:23:17
【问题描述】:

我正在尝试检测对 CAN 总线配置的入侵。为此,我想尝试从 CAN 到 IP (UDP) 的协议转换,以便使用 snort。我真的不知道从哪里开始,因为我根本没有看到任何关于 CAN 总线协议转换的内容。甚至可能吗?有人试过吗?

我基本上使用树莓派和几个 Arduino 来获取温度读数(来自恒温器)并控制热/冷风扇以调节温度。我知道这没什么好做的,但正如我所说,我正处于计划此协议翻译的开始阶段。

【问题讨论】:

  • 大多数所谓的“CAN 总线入侵”是 1) 不称职的设计者允许通过 Internet 更新关键的 MCU 固件 2) 黑客完全用自己的程序替换所有固件 3) CAN 总线恰好连接到单片机。实际上没有人远程“破解”CAN总线本身。或者您只是想检测总线上的未知 CAN 帧?
  • @Lundin 感谢您的意见...我以为我读到车辆 CAN 总线可以被远程入侵?无论如何,基本上我想监控 CAN 流量......我想知道是否有人试图入侵。例如,假设我有一辆自动驾驶汽车(为了争论,忽略任何与普通车辆中当前 CAN 操作不相符的自动驾驶汽车技术)......假设我想监控这辆车,确保所有操作都按计划进行。有人跳进车里插上电源。有什么方法可以用 SNORT 监控 CAN,这样我就可以停止操作。
  • 还是太宽泛了。如果有人将物理插入 CAN 总线,他们将发送总线上已经存在的帧,但数据不同。您可以检测到的唯一方法是您是否对帧有严格的实时要求。然后,“物理黑客”还必须匹配帧时序,这在 PC 笔记本电脑上很难做到 - 基本上这取决于他们的 CAN-to-USB 网关的质量。除此之外,除了加密或应用层协议中的时间戳之外,没有其他办法。

标签: raspberry-pi ip network-protocols can-bus snort


【解决方案1】:

您可以在 RPi 上使用cannelloni。还有独立的 CAN-to-TCP/UDP 转换器,例如 one

【讨论】:

  • 如果您有时间的话,如果您有更多关于前进的信息以及如何进行 Cannelloni 过程会很棒...
  • 对于 cannelloni,您需要一个带有虚拟 CAN 接口 (vcan0) 的 Linux 主机,该虚拟 CAN 接口 (vcan0) 连接到 RPi 上的真实 CAN 接口。然后,您需要了解 cannelloni 协议才能配置/扩展 snort。虽然我认为在你的 RPi 上检测错误的 CAN 消息然后通知你的主要基础设施有关入侵会更简单。
猜你喜欢
  • 2013-02-17
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 2016-06-26
  • 2023-03-07
  • 1970-01-01
  • 2018-06-25
  • 2017-03-14
相关资源
最近更新 更多