电子电气架构--- 实施基于以太网的安全车载网络
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。
老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:
所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。人就应该满脑子都是前途,不再在意别人的看法不再害怕别人讨厌自己,不再畏手畏脚忧心忡忡也不会在睡前反回忆白天的行为,是否让对方产生误解用你那精神内耗的态度去搞学习搞事业搞钱,然后用躺平和摆烂的态度对待人际关系,烦恼能消失一大半。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。
时间不知不觉中,快要来到深秋。国庆假期结束,又开始新的忙碌。成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。
一、实施基于以太网的安全车载网络
首先需要提前考虑与实施相关的事项:
-> 概述受技术限制因素驱动的安全问题;
1、无线通信的脆弱性:IVN系统往往依赖于无线通信来传输数据,这使得系统容易受到信号干扰、黑客攻击和数据窃取等风险。
2、硬件和软件漏洞:随着IVN系统中使用的硬件和软件不断更新换代,新的漏洞可能会不断出现,给系统安全带来威胁。
3、数据完整性和隐私保护:IVN系统中存储和传输的数据通常包含敏感信息,如车辆位置、速度等,这些数据一旦泄露或被篡改,将对车辆安全和用户隐私造成严重影响。
->说明典型的IVN技术架构中特定于实施的安全问题。
1、 网络架构的安全性:IVN系统的网络架构可能涉及多个子网和网关,这些网络节点之间的通信和数据传输需要得到充分的安全保护。
2、设备认证和访问控制:IVN系统中的设备需要进行身份认证,以确保只有合法的设备才能接入系统。同时,还需要实施严格的访问控制策略,防止未经授权的访问和操作。
3、数据加密和传输安全:IVN系统中的数据需要进行加密处理,以确保在传输过程中不被窃取或篡改。此外,还需要考虑数据在存储过程中的安全性。
4、应急响应和恢复能力:IVN系统需要具备应对安全事件的能力,包括及时发现并隔离安全威胁、恢复系统正常运行等。
安全信息的价值确实与特定的技术观点紧密相关,并且随着技术的发展和IVN系统架构的变化,这些信息可能会过时。因此,对于IVN系统的安全考虑需要不断更新和完善。
然而,确实缺乏适用于IVN的非技术性参考模型和参考架构,这使得特定于实施的安全问题讨论缺乏统一的基线。这增加了IVN系统安全评估和实施的难度。
二、汽车以太网相关的安全网关功能
监视和控制不同逻辑网络域(例如, VLAN、 IPv4子网、 IPv6前缀定义的子网;每个逻辑网络域通过其安全属性代表一个特定的安全域)之间的通信流对于尽可能地降低基于以太网的IVN中来自未经授权的访问和DoS攻击的风险是很重要的。
使用具体的防火墙或一般的安全网关在IVN或在车载网络和外部网络的结合处根据预定规则允许或拒绝通信数据,以提高车辆安全级别。
如根据当前典型的车载E/E技术架构所知,建议使用以下技术组件来监控来自车辆或IVN外部的通信消息,以实现此类安全网关功能(如防火墙)。
1、以太网交换机。
以太网交换机在网络中扮演着关键角色,它代表网络节点类型,而非端节点。在IVN(工业车辆网络)中,有两种主要的实施选项:一是作为独立的技术组件存在;二是作为前端或端节点单片集成到车辆的计算节点中。
交换机能够在网络中的不同节点之间高效地传输数据。在车载网络中,它负责将数据包从一个ECU(电子控制单元)传输到另一个ECU,确保数据在车辆内部顺畅流通。
2、车辆边界网关。
本地选择,因为该技术组件代表常规V2X通信流量的单一观察点。车辆边界网关是常规V2X(车与万物互联)通信流量的单一观察点,因此它是实现安全网关功能的理想选择。
功能:边界网关作为车辆与外部网络之间的接口,负责监控和控制来自车辆外部的通信消息。它能够对进入车辆网络的数据包进行过滤和检查,确保只有合法的数据包才能进入车辆内部网络。
3、 ECU:当ECU能够直接进行外部通信时。
车辆计算节点可以为车辆直接外部通信提供额外的通信接口(即,绕过车辆边界网关),在某些情况下,ECU可能需要直接进行外部通信,例如用于诊断目的。此时,车辆计算节点可以为ECU提供额外的通信接口,以绕过车辆边界网关。
虽然绕过边界网关可以提供更大的灵活性,但这也增加了车辆网络的安全风险。因此,在ECU直接进行外部通信时,必须采取额外的安全措施来确保数据的安全性和完整性。
防火墙使用多种机制进行包过滤,包括静态包过滤,无状态或有状态包检测,浅度、中度甚至深度包检测。
A、静态包过滤:基于预定义的策略规则对数据包进行过滤。这些规则可以根据车辆E/E架构和所应用的通信协议进行具体设置。
B 、无状态或有状态包检测:无状态包检测仅检查数据包的头部信息,而有状态包检测则跟踪数据包之间的关联性和状态变化。
C、浅度、中度或深度包检测:浅度包检测通常检查L3(网络层)和L4(传输层)的头部信息;中度包检测可能还包括对部分应用层数据的检查;深度包检测则会对整个数据包进行详细的检查和分析。
协议层;PDU上下文类型的信息 ,例如,就互联网业务而言, “浅度包检测” 通常是L3、 4头部检测。特别是,静态包过滤机制基于预定义的策略规则。因此,根据车辆E/E架构和所应用的通信协议,建议具体的策略规则设置。此外,防火墙策略默认应用于白名单方法,这基本上阻止了所有未明确允许的通信。
防火墙的一个主要特征是防御DoS攻击。防火墙可以通过设置阈值和使用频率过滤器来防御DoS攻击。它可以使用预先存储的值(如计数器)来监控网络流量,并在流量超过阈值时采取措施来防止攻击。
防火墙的另一个补充特征是日志功能(即,作为被管理实体的防火墙网络元素根据提供日志管理综合功能)。一般来说,与安全相关的事件应该是日志服务的对象。因此,当安全事件发生时,防火墙、 IDS或安全网关一般会记录信息,这不仅有助于取证专家分析事件情况,而且可以通过阻挡记录等研究来提高防火墙策略的准确性。因此,在存储日志时,有必要使用加密机制来确保完整性。
汇总-防火墙具有日志功能,可以记录与安全相关的事件。这些日志信息对于取证专家分析事件情况和提高防火墙策略的准确性至关重要。在存储日志时,应使用加密机制来确保日志的完整性和安全性。
二、安全的VLAN配置
配置安全的VLAN对于IVN的通信安全以满足需求非常重要。 OEM应作为VLAN规范的负责机构,因为VLAN配置取决于OEM选择的车辆E/E架构。
每个VLAN都有一个唯一的值,被称为“VLAN标识符(ID)”。VLAN ID(VID)在VLAN规范中可以使用0到4094的范围内的值,但有一些预定义的VLAN ID应避免使用,因为它们可能被用于特定的网络功能或管理目的。例如,VLAN ID 0通常表示优先级标记的帧,而VLAN ID 1则可能因双标签攻击的风险而被避免使用。
VLAN ID的分配与配置
1、避免使用预定义VLAN ID:
OEM在配置VLAN时,应确保不使用表5中描述的预定义VLAN ID,以避免潜在的网络冲突或安全问题。
2、更改VLAN ID 1:
由于VLAN ID 1存在双标签攻击的风险,交换机应将VLAN ID 1更改为另一个VLAN ID。这可以通过交换机的管理界面进行配置,确保网络的安全性。
3、根据E/E架构配置VLAN:
OEM应根据所选的车辆E/E架构来配置VLAN。这包括确定需要多少个VLAN、每个VLAN应包含哪些设备、以及VLAN之间的访问控制策略等。
4、实施访问控制策略:
通过VLAN配置,OEM可以实施严格的访问控制策略,确保只有经过授权的设备才能访问特定的VLAN。这有助于防止未经授权的访问和数据泄露。
5、监控和日志记录:
为了进一步增强网络的安全性,OEM应配置监控和日志记录功能。这可以包括实时监控网络流量、检测异常活动以及记录所有网络活动的日志。这些日志信息对于后续的安全事件分析和取证至关重要。
攻击者可以通过“VLAN跳跃” 攻击,从另一个VLAN进行未经授权的访问来监控以太网流量。为了化解这种攻击,应将没有标记VLAN的帧配置为丢弃。但是,可能存在以下例外情况。对于时间同步,通过精确时间协议发送消息,该协议要求根据在没有VLAN标签的情况下传输帧。
VLAN跳跃攻击的原理
攻击方式:
攻击者通过向帧添加两个VLAN标签(双标签)来执行攻击。
第一个标签包含默认的本地VLAN ID,第二个标签包含攻击者的目标VLAN ID。
当添加了标签的帧通过第一台交换机时,第一个标签(即默认的本地VLAN ID标签)被删除,第二个标签被保留并转发到下一台交换机。
第二台交换机使用剩余的第二个标签(即攻击者的目标VLAN ID标签)将帧转发至目标VLAN。
攻击结果:
攻击者成功地将消息发送到目标VLAN,从而实现了跨VLAN的未经授权访问。
本地VLAN中的攻击者可以使用默认的本地VLAN ID执行双标签攻击。攻击者向帧添加两个标签:
-> 第一个包含默认的本地VLAN ID;
-> 第二个包含攻击者的目标VLAN ID。
当添加了标签的帧通过第一台交换机时,第一个标签被删除,第二个标签被转发到下一台交换机。然后,该交换机使用剩余的第二个标签将帧转发至目标VLAN。这样,攻击者就可以将消息发送到目标VLAN。因此,应更改默认的本地VLAN ID,以防止这种攻击。
三、汽车环境下以太网交换机的安全性
IEEE以太网桥,通常也被称为“以太网交换机”,在网络通信中扮演着至关重要的角色。它们固有地提供转发信息库(FIB),这个库实际上就是一个MAC地址表,用于辅助数据的转发和交换过程
以太网交换机的基本功能: 以太网交换机工作在OSI模型的数据链路层(第2层),它们基于MAC地址识别并转发以太网数据帧。交换机的主要功能包括:
隔离各网段内的通信:交换机可以将LAN细分为多个单独的冲突域,每个端口都代表一个单独的冲突域,并为该端口连接的节点提供完全的介质带宽。
动态MAC地址学习:当新的设备(如ECU)连接到交换机端口时,交换机会自动学习该设备的MAC地址,并将其添加到MAC地址表中。这样,设备就可以通过交换机与其他网络域中的设备通信。
VLAN支持:交换机支持VLAN(虚拟局域网)功能,可以将数据交换限制在各个虚拟网的范围内,减少广播包的传输,提高网络传输效率,并增强网络安全性。
在端到端通信路径中可能有不止一台以太网交换机。
动态MAC地址学习功能有助于对网络进行未经授权的访问,因此应该被禁用。如果出于维护或诊断目的需要外部诊断设备,则可能需要此功能。在这种情况下,交换机应该支持限制动态获取的MAC地址的有效时间的能力。
这两个建议显然是相互矛盾的,但它们实际上取决于车载以太网络的具体操作环境:有没有外部连接可以连接到,例如, DoIP以太网络域。这种网络操作环境依赖性可产生有条件的安全性建议,例如,在这里是启用了动态地址学习的有限的、受限的时间窗口等。
网络操作环境对以太网交换机的安全性建议具有重要影响。例如,在存在外部连接(如DoIP以太网络域)的情况下,可能需要更加严格的安全措施来防止未经授权的访问。在这种情况下,启用动态地址学习的有限的、受限的时间窗口可能是一个合理的选择。这可以在维护或诊断期间允许外部诊断设备接入网络,同时降低安全风险。
MAC地址欺骗是一种众所周知的计算机网络攻击方法,可以在车辆攻击场景中实施。为了保护IVN,如果使用了访问变体,则应保证使用基于端口的网络访问控制的连接设备具有身份验证和可靠性。这种控制会在授权访问网络之前对组件进行身份验证。仅当验证成功后,以太网交换机才与网络通信。
为了化解DoS攻击,交换机应防止广播风暴,并支持基于端口的数据包接收速率限制中的以太网流量参数控制。
为了交换机的安全性,应确保交换机配置管理数据的完整性,并且应只有通过用于更新的安全编程机制或安全管理协议才可能更新。
通常,在集成了自己的处理器的汽车应用中,操作和管理以太网交换机所需的安全功能如下:
安全存储器
安全存储器确保存储数据的机密性和完整性。密钥和MAC等数据应使用HSM等安全存储器进行保护。
安全存储器是确保存储数据的机密性和完整性的关键组件。在以太网交换机中,密钥、MAC地址等敏感数据应使用硬件安全模块(HSM)等安全存储器进行保护。HSM提供了对敏感数据的物理和逻辑保护,防止未经授权的访问和篡改。
安全启动
安全启动功能在每个启动周期检查软件的完整性,确保交换机运行的是经过验证的软件版本。初始启动时,会生成软件映像的消息验证码(MAC)并存储在安全存储器中。在下一次启动时,如果新生成的消息验证码与存储的消息验证码相同,则表明软件的完整性得到了保障。这一功能有助于防止恶意软件的注入和攻击。
安全的调试接口
调试接口是产品开发和维护过程中必不可少的部分,但也可能成为安全漏洞的入口。因此,在汽车以太网交换机中,应采取措施确保调试接口的安全性。通常建议移除不必要的调试接口,以减少潜在的安全风险。如果调试接口对于产品保证或维护是必要的,则应只允许经授权的实体访问,并通过加密、认证等机制保护接口的安全。
安全的软件更新