当前位置: 首页 > java >正文

汽车网络安全 -- 理解暴露面、攻击面和攻击向量

1.暴露面是攻击面的子集

举个例子,房子都有门、窗户,这些窗户、门不管是否打开,都可能被小偷利用进入到房内,因此这些门窗可能是潜在的漏洞,所以称之为攻击面(Attack Surface)。

小偷经过长期观察,发现家里有1扇窗户常年虚掩,而且基本没人来管这扇窗户,那他就可以堂而皇之地登堂入室了。

这扇不常用的窗户,就变成了真正的漏洞,因此称为暴露面(Exposure Surface)。

所以,总结下来:

攻击面是一个系统暴露给潜在攻击者的所有攻击入口,涵盖了技术层面和非技术层面的内容,技术层面一般就是代码漏洞、权限错配,而非技术层面包括内部人员的素质、流程体系的漏洞,俗话说堡垒最先从内部瓦解,内部人员才是最容易攻破的对象,因此,针对攻击面我们要做的就是尽可能减少漏洞数量;

暴露面则是一个系统的已知漏洞或者是资产信息等,例如一些未修复的高危漏洞、个人身份信息等等,针对暴露面,我们要做的就是尽可能隐藏敏感的入口等,特别是测试留的后门。

2.什么是攻击向量

攻击向量则主要指的是攻击者利用攻击面中的具体路径或技术手段实施攻击的方法,强调攻击的具体执行方式。

例如,小偷对一扇紧闭的大门进行攻击,手段包括暴力拆卸、复刻密码锁指纹、通过获取家里人信任等等,这些都可以称为攻击向量,包括了技术手段或社会工程手段。

那具体对于汽车而言,攻击面就包括了物理硬件、软件、网络通信协议、社会工程等,例如物理接口OBD接口、USB接口,通信例如蓝牙、Wifi等,那攻击向量就可以这样阐述:通过OBD接口注入恶意CAN报文来控制汽车动力、底盘系统,通过USB注入恶意木马程序,来瘫痪汽车系统等。

这两者的关系可类比为“战场”与“战术”:攻击面定义了战场的大小和地形,攻击向量则是攻击者选择的战术路径。

3.防杠指南

写着写着,有感而发。

其一,在汽车网络安全逐渐普及的今天,为省时间和成本,多数汽车ECU都是采取在原有软硬件架构上打补丁的方式来满足一些法规,甚至一些客户会直接提出,我就要安全启动、安全存储,没有其他需求了,这就会导致可能系统越来越复杂,而个人认为复杂程度越高,攻击面就越多,管理就越麻烦。所以,系统加固上,只要通过合理的建模分析并达成一致,能简单做的就不要复杂化。

其二,在讨论网络安全时,由于是不同背景的工程师在一起杠,这就会遇到很多奇奇怪怪的问题。例如在讨论安全启动校验值存储时,网络工程师考虑的是怎么防止这个值被非法篡改,但突然会有人斜插一杠:“假设你存值的地方出现了随机硬件失效,你怎么办?”,这个问题本没有错,但是由于引入了功能安全的讨论,最终会导致议题越来越大、范围越来越大,从而会议不可控、不了了之。

所以,个人经验就是:在讨论一个主题时,先讲清楚前置条件,例如做HARA分析时强调不要引入威胁分析、做TARA时不要引入风险分析。

如果会上仍有人时不时插上一句,那就要牢牢守住自己本次会议的主题,并且及时引回正轨。

最后, 引用之前一位读者朋友的留言:“没有完美的架构,也没有绝对的安全;做安全和做架构一样,都是在做平衡,在做妥协,架构和安全本质还是为业务服务,在国内,业务被看作增量,而安全往往是被看着成本,”道阻且长。

http://www.xdnf.cn/news/2417.html

相关文章:

  • 极狐GitLab 议题权重有什么作用?
  • 编译流程、make命令与nccl-test中的Makefile解析
  • 【Spark入门】Spark简介:分布式计算框架的演进与定位
  • C++?动态内存管理!!!
  • 云计算赋能质检LIMS的价值 质检LIMS系统在云计算企业的创新应用
  • Unity3D Cinemachine 高级应用指南
  • PyDantic入门介绍:Python数据验证与解析的利器
  • 57页PPT|非结构化数据管理方案:从顶层设计到应用实践的系统方法论
  • AVL树的介绍与学习
  • 技能点总结
  • X11安装备忘
  • arcpy列表函数的应用(4)
  • 超参数详解:从基础概念到优化策略的全面指南
  • 大学之大:索邦大学2025.4.27
  • Linux的权限
  • RISC-V MCU定时器架构与低功耗设计
  • Redis ssd是什么?Redis 内存空间优化的点都有哪些?embstr 和 row、intset、ziplist分别是什么?
  • 区块链:去中心化应用(DApp)开发全流程解析
  • 区块链基石解码:分布式账本的运行奥秘与技术架构
  • Java 深度与实战 · 每日一读 :高频面试真题解析 · ReentrantLock / CAS / AQS 篇
  • 智慧水库与AI深度融合的实现方案及典型应用场景
  • CREATION OF UNIVERSES FROM NOTHING
  • 练习普通话,声音细柔和
  • Spring Boot配置中YAML文档结构的理解
  • Nacos-SpringBoot 配置无法自动刷新问题排查
  • React自定义Hook之useMutilpleRef
  • CD33.【C++ Dev】初识模版
  • 深度学习4.1 多层感知机
  • 基础的贝叶斯神经网络(BNN)回归
  • 【C++详解】C++入门(二)引用、内联函数、nullptr宏