Cyber Security汽车网络安全DoS/DDoS攻击,和防御手段,举例讲解,深入浅出

本文主要是介绍Cyber Security汽车网络安全DoS/DDoS攻击,和防御手段,举例讲解,深入浅出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

DoS 攻击

DDoS 攻击

汽车被DoS攻击的例子

汽车可被DoS攻击的漏洞

可能遭受DoS攻击的车载通讯协议

1、TCP

2、CAN

3、SOME/IP-TP

 防御DoS攻击的手段

1. 防火墙

2.SecOC (Secure Onboard Communication)

3.IDPS (Intrusion Detection & Prevention System)


DoS 攻击

DoS是Denial of Service的缩写,即拒绝服务。

DoS攻击是一种用于拒绝合法用户访问某种资源的攻击,例如访问网站、网络、电子邮件等,或使其速度极慢。这种类型的攻击通常是通过在同一时间向目标资源(如网络服务器)发出过多的请求来实现的。这将导致服务器无法响应所有的请求,使服务器崩溃或使其速度减慢。

举个栗子(这个例子后面会频繁使用)

银行是提供金融和现金服务的服务器,大家也都知道银行柜台资源是有限的,平时进去都要取号和排队。但如果有一个流氓,他就是进去银行然后不断的存取现金零钱,影响其他人排队的速度和心情,更过分的话甚至会挤爆小网点的柜台资源,让网点无法给其他合法用户提供现金和金融服务。这个流氓的恶意行为就是现实版DoS攻击。(哎呀妈呀,这么有钱当什么流氓,走VIP专人服务通道呀)

DDoS 攻击

DDoS是Distributed Denial of Service的缩写,即分布式拒绝服务。DDoS实际上是一种特殊的DoS。它是一种分布的、协同的大规模攻击方式,它一般先通过隐藏病毒感染很多主机,让这些主机成为攻击的傀儡,同时向服务器请求服务,让网络充斥的大量数据包压垮服务器,让其不能正常提供服务。这些傀儡主机也称为“肉鸡”或者“僵尸主机”。

同样以上文银行服务为例:

DDoS攻击就像是这个流氓先群发了好多诈骗短信,谎称某银行存取现金有礼品送,然后导致大量的市民到银行取号排队,挤爆银行。

汽车被DoS攻击的例子

2016年日产聆风(Nissan Leaf)配套的 NissanConnect 应用被曝存在安全隐患,黑客能够在车辆静止时控制该车的风扇设置,导致汽车电池耗尽。这就是对汽车的DoS攻击。

The NissanConnect EV app

 NissanConnect可以显示驾驶习惯、充电水平等,而且它允许用户在充电时远程控制车辆的某些行为,例如提前打开空调和风扇。但是App通过http发起操作请求时,车辆端并没有进行权限鉴定,而是通过请求指令中包含的VIN号(车辆唯一识别号)来作简单的匹配。这就意味着攻击者只需要一个VIN号就能匿名访问车端服务API。而VIN号并不是什么“秘密”。一般汽车VIN号的前几个字符指的是品牌、型号和原产国,所以只有最后几个数字可以将每辆车区分开来。这个VIN号一般就在前挡风玻璃下方就可以找到。

A LEAF on the internet showing the VIN

 虽然这个漏洞只在车辆静止时存在,不会影响行车安全。但如果恶意攻击者通过狂开空调耗尽电池,让正常用户准备出门时却发现车辆没电,那也是很让人窝火的。漏洞披露之后,日产公司就停止了全球的NissanConnect服务,直到软件得以更新。

汽车可被DoS攻击的漏洞

对于无线连接,TBox一般是汽车与车外网络的第一接入点。当前主流电子电气架构下TBox一般与车载网关连接,由网关负责车内网络与车外网络的隔离。而对于有线连接,像OBD、USB、充电接口等都是通讯的接入点。而有接入的地方,都可能受到DoS攻击。下图是汽车容易被攻击的接入点的示意图。

 随着RoboTaxi和共享汽车的发展,汽车除了可能会被远程攻击,近距离的本地攻击也有了更多的可能性。例如以前的网络安全威胁分析可能会认为驾驶员不会对自己的车辆发起攻击,但这在共享汽车上却不一定。上一个共享汽车的用户可能通过本地USB或者蓝牙接口发起攻击,威胁下一个使用共享汽车的用户。接下来我们看几个使用最广泛而又有可能遭受DoS攻击的车载通讯协议。

可能遭受DoS攻击的车载通讯协议

1、TCP

TCP作为可靠的传输层协议,在车载以太网上应用广泛。它的可靠性很大程度上来源其通过“三次握手”建立连接,通过“四次挥手”断开连接。但这种可靠性的“来来回回”也给DoS攻击留了可乘之机。如下图所示,TCP SYN泛洪攻击是一种常见的DoS攻击。

 它利用了TCP握手的可靠性要求,先发起建立连接的“SYN”请求。当服务器打开端口,回复“SYN-ACK”时,攻击者却不再继续,让服务器继续等着,端口资源也就那样耗着。这样的请求再多来若干次,服务器的资源就容易被耗尽,导致正常的客户端请求被拒绝。

举个例子

这种攻击的恶心程度就与下图的例子类似。

2、CAN

如果说TCP/IP是先在互联网流行再传到汽车上,那么CAN通讯就是汽车行业根正苗红的教父了。但也因为CAN原生就是针对汽车设计,早些时候的汽车没有联网,也不会共享,相对于安全和稳定性需求,其信息安全需求是被忽视的。CAN总线有两个重要特点很容易被DoS攻击:无身份验证接入和竞争仲裁。

(1)无身份接入:CAN是典型的总线结构,总线上可以随意增加节点而不必验证节点的身份。增加节点也可以自由在总线上读写。当然这为测试和调试汽车CAN总线提供了很大便利,物理上改装一下线束,甩出一个DB9的接头连接一个Vector盒子和笔记本电脑就能实现节点的收发。当然,出于OBD排放法规和诊断的考虑,普通用户也可以通过量产车上OBD接口接入车载CAN网络。

(2)竞争仲裁:CAN总线上是基于竞争仲裁机制的,也就是谁的报文优先级高,谁就能往总线上发数据,其他节点就得先等等。而谁的报文ID小,谁的优先级就高。这种方式保证了车上ECU之间通讯的高效和可靠。但如果有恶意接入点,例如车载中央网关被劫持,那么只要往总线上发高优先级的报文,就可以堵住其他ECU的嘴,让它们发不出报文,提供不了服务,实现DoS攻击。其实早在2010年就有相关论文发表,详细分析了CAN总线技术的信息安全脆弱点。鼎鼎大名的克莱斯勒吉普被黑事件中,攻击者也是远程获得了CAN权限后,利用CAN总线漏洞开展了例如高速上关掉发动机等操作。

3、SOME/IP-TP

近年来火热地谈论下一代EE架构和SOA的时候,总离不开SOME/IP这个进程间通讯协议。在许多应用场景中,需要通过UDP传输大型的SOME/IP有效载荷。鉴于在以太网上传输数据包的大小限制,SOME/IP-TP是针对有效载荷分段的协议,它将一个大型的消息分割成若干小段发送,然后在接收端再组装起来。

2019年Argus研究小组就在AUTOSAR CP 4.3(包括4.4)中发现了一个设计缺陷。对在SOME/IP-TP上使用SecOC对完整的载荷信息进行认证时,会产生一个漏洞,如果被利用,将导致接收信息的ECU丢掉载荷信息,也就是DoS攻击,示意图如下。

 防御DoS攻击的手段

这个世界上有矛的地方就会有盾,DoS攻击(尤其是DDoS攻击)到目前为止也没有完全彻底的防御办法,但这当然并不意味着躺倒了。事实上,尽管不能100%彻底防御,但网络信息安全界还是有不少防御神器,可以与DoS攻击抗衡。下面我们就来看看几种常见于智能网联汽车上的手段:

1. 防火墙

像上文微信聊天例子中的攻击者,你是不是会把他拉黑?没错,这就相当于防火墙技术。

设置防火墙规则,例如只有白名单上的IP地址才能访问服务器,就是IP防火墙

又或者只有白名单上的应用进程才能访问某个服务,就是应用防火墙

AUTOSAR AP中的IAM模块结合EM模块就可以实现应用防火墙。

硬件防火墙
防火墙本质就是设置过滤规则,简单的静态过滤规则可以通过软件实现,但是复杂的动态规则如果只靠软件,容易造成系统或者主机自身资源的浪费和不可控。因此可以针对过滤规则特性设计专门的硬件来实现防火墙,也就是“硬件防火墙”。它把“软件防火墙”嵌入在硬件中,把“防火墙程序”加入到芯片里面,由硬件执行这些功能,从而减少主机或服务器的CPU负担。

例如用来防御TCP SYN泛洪攻击的状态检测机制就常常通过硬件防火墙在网络接入点实现。

当然硬件防火墙在IT行业比较常见,笔者尚未见到汽车行业的专用硬件防火墙。但是相信随着汽车智能网联化的发展,也会催生出相应的硬件防火墙芯片。

2.SecOC (Secure Onboard Communication)

SecOC是AUTOSAR针对CAN总线等信息安全能力薄弱的情况所推出的安全校验机制。它简单来说就是发送方在报文结尾加上一个消息验证码,而接收方在使用报文之前先校验验证码。消息验证码采用对称加密,用于车内ECU之间的通讯鉴权,密钥也是在汽车出厂前先预置好的。通过校验消息验证码,可以让接收端ECU过滤掉一些非法节点的报文,防御恶意中间人攻击导致的服务失效(DoS攻击)。SecOC可以用于CAN通讯,也可以用于FlexRay或者以太网。但如上文提到,当应用在SOME/IP-TP时,仍然有被DoS攻击的脆弱性。

3.IDPS (Intrusion Detection & Prevention System)

IDPS的核心思路其实包括IDS和IPS。在各个通讯节点内部的安全环境下部署一个模块,用来监视、检测、记录和上报异常数据,这就是IDS。而IPS则是发现异常之后,通过远程升级(OTA)等手段针对性地更新软件,进行防御。例如下图是AUTOSAR中的分布式IDS方案。

 车端各个ECU内部署IDS模块,最终通过无线通讯单元把数据上传给云端作分析判断。云端部分可以更多地融合IT界的方案,可以做更复杂的运算以作最终判断。当然车端ECU也要作适当的初步判断和筛选,否则车云通讯的带宽不支持。以之前提到的银行的例子来说,IDPS就相当于大堂保安,如果看到人太多,就作出限流措施,如果看到流氓,就把他抓住。

转载:汽车Cyber Security入门之DoS 攻防——焉知汽车

这篇关于Cyber Security汽车网络安全DoS/DDoS攻击,和防御手段,举例讲解,深入浅出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/304490

相关文章

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Python中局部变量和全局变量举例详解

《Python中局部变量和全局变量举例详解》:本文主要介绍如何通过一个简单的Python代码示例来解释命名空间和作用域的概念,它详细说明了内置名称、全局名称、局部名称以及它们之间的查找顺序,文中通... 目录引入例子拆解源码运行结果如下图代码解析 python3命名空间和作用域命名空间命名空间查找顺序命名空

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA