汽车网络安全渗透测试

news2024/12/26 7:33:05

产品和企业IT的融合引发了新的网络安全风险,从功能安全到数据隐私都面临潜在威胁。汽车行业正在使用各种方法进行安全检测和验证,但传统的安全测试中漏洞检测低效且不完整。Vector带来一种使用更少测试案例的增强型灰盒渗透测试,能够在提高覆盖率的同时降低误报。

汽车是车轮上的计算机,安全对其至关重要。这也对其他IT系统提出了挑战:确保所有操作模式下的功能安全。产品IT和企业IT的不断融合对网络安全提出了较高要求。当前,ISO 21434国际标准和UNECE R.155(CSMS)以及R.156(SUMS)两个法规,要求在汽车整个生命周期中强制执行系统性的风险缓解措施[1,2,3,4,5],并且对于安全测试部分,法规和标准要求实施传统测试叠加专属安全测试的解决方案。

渗透测试特别有助于识别和降低在开发设计过程中未被考虑的网络安全攻击。作为白帽黑客常用技术,渗透测试通常在与安全相关的V模型开发流程中的验证阶段进行。为了有效地使用渗透测试,本文会介绍如何将其与V模型左侧连接起来。涉及的相关步骤为:范围界定、信息收集和监测、威胁建模、漏洞分析、发掘和报告。渗透测试人员需要像黑帽黑客一样思考,以白帽黑客的角度渗透到系统中,去发掘和排除漏洞,以消除或降低其所带来的潜在威胁。

渗透测试主要有三种类型,即白盒、传统黑盒和创新的灰盒渗透测试(GBPT)。白盒渗透测试方法是一种纯粹的知识型测试,系统的所有源代码和内部数据都可供测试人员使用。虽然这种方法相对来说带来最多的测试结果,但耗费大量的时间和精力。黑盒渗透测试(BBPT)也被称为传统渗透测试,是一种非知识型测试,测试者只了解公开的文件和标准。通常在这种测试中会采用暴力破解法,由于需要覆盖大量信号和场景的排列组合,同样需要投入相对较多的时间和精力。

由于黑客掌握大量的架构知识、软件和漏洞信息,他们会通过各种途径攻击系统。GBPT有助于提高系统在网络安全方面的鲁棒性。在GBPT中,基本的高层架构信息和来自网络安全需求分析阶段的TARA分析结果,共同被作为GBPT的输入。这种方法花费的时间和精力相对较少,在当前阶段比传统的BBPT更具优势。而传统的BBPT既没有一个良好的功能需求跟踪机制,也没有考虑高层架构信息以确保涵盖所有的漏洞和攻击路径,缺点在于不能首先解决风险最高的漏洞。这种传统的BBPT机制需要大量的时间和精力,因此需要修改测试方案,使之既有效又高效。

灰盒渗透测试

基于TARA的增强型灰盒渗透测试(GBPT)方法包括10个步骤,已被证明在效率和覆盖率方面比传统的BBPT更具优势。该测试方法以风险为导向且具有良好的可追溯性机制,以确保用最少的时间和精力来覆盖所有的漏洞。GBPT基于传统的渗透测试,通过引入资产、威胁和架构等理念来增强测试效率和效果。具体来说,GBPT采用三峰模型来建立和维护基础的可追溯性[6]。为了避免像单纯的白盒方法那样产生盲点,测试中保留了外部黑盒的视角,因此称之为 "灰盒"。

图 1| 贯穿整个生命周期的灰盒渗透测试十步法则

为了便于实施,GBPT可以分为10个步骤[6],图1。

1. 提取系统信息。这涉及到基本特性、用户体验,也包括负面需求(误用、滥用和混淆的情况)。特性被推导出来的过程是专业级可追溯性模型的起点。

2. 模型化基本架构和接口。确定产品的组件,这些组件应该能够纵向追踪到电路级组件,以进行自上而下的递归渗透测试。 

3. 识别相关资产。从安全、操作性能、隐私和立法等四方面追踪各资产的特征,以确保详尽的覆盖。

4. 分析硬件和软件需求。许多与硬件、协议、IP堆栈等相关的规范都可以在网上找到,黑客也会使用这些规范。使用公共漏洞数据库,如CVE漏洞库来锁定弱点。

5. 进行威胁分析和风险评估(TARA)。基于面向攻击向量的前向追踪链路,借助与需求相关的失败系统测试用例,进而推导出危害场景。

6. 创建一个最小可行的渗透测试案例库。通过攻击向量的ID对其进行追踪,以确保良好的测试案例覆盖率,并产生一个最小的、非冗余的渗透测试案例库。

7. 实施渗透测试。使用上一步骤中产生的最少可行测试案例,并报告有效和无效的漏洞。

8. 用KPI来衡量性能。有效漏洞的数量和最少可行的测试案例数量被用来计算衡量GBPT有效性和效率的KPI。

9. 进一步提炼出功能性网络安全要求。使用三峰模型法来系统地识别必要的安全保护[6]。

10.实施回归测试。每一次变化都需要进行回归测试,使用GBPT开始阶段创建的可追溯模型,可以使该测试效率最大化。

案例研究:信息娱乐系统和以太网

在以太网的帮助下,软件和配置的更新可以更快地部署。与CAN等总线技术相比,以太网可以通过VLAN和网络交换机等技术实现更彻底的功能解绑(即独立的功能域,一个功能域内的独立功能)。结合使用交换机、与IEEE 802.1Q标准相关的VLAN规范、服务质量(QoS)以及防火墙等概念,可以限制网络内部的通信路径并兼顾数据包的优先级。

图 2| 基本网络拓扑的简化架构

在此基础上,我们将应用TARA分析。Vector Security Check和既有的基本网络安全工程方法,已经完成了对目标的安全评估并对相关建议措施进行了实践。TARA分析汲取了Vector全球范围内网络安全项目的宝贵经验,并参考行业内如EVITA,HEAVENS等汽车开发中关于安全风险评估方法的最佳实践[1, 2]。在此基础上,简化后的用例场景包括汽车的常规使用、汽车诊断和售后优化改进。

首先,对资产进行分析。所需的资产存在于给定的架构中,他们是开关的开关功能和过滤功能,过滤器,防火墙的前向功能,以及通过交换机和防火墙的跨域通信,域的正常运行,与隐私有关的数据和知识产权(IP)。

可识别到的以太网交换机和连接区域的具体威胁为检测到ECU性能下降,访问个人数据(如联系人),数据丢失和向驾驶员显示错误警告。此外,通过使用有效的组件号克隆和引进假冒组件,窃取制造商的知识产权或安装非授权软件来威胁车辆的安全,干扰和分散驾驶员的注意力,以上这些也都属于被识别到的威胁。

由此可以得出以太网交换机和连接区域的具体攻击向量,例如抑制通信的DoS攻击、漏洞利用、CAN总线上的报文欺骗和个人数据的窃听,以及功能的远程控制,操纵中央网关模块(CGM)的路由表和改变过滤策略。其它衍生的攻击向量比如重放旧的清单和报文,破坏或删除日志,以及破坏从信息娱乐系统发送到其他ECU的关键信息。COMPASS工具被用来归档威胁和攻击向量,从而实现对渗透测试的追踪、优先级处理和归档(图3)。

图 3| 完成资产和攻击向量定义后的威胁场景示例

鉴于攻击向量和参考架构,GBPT的先决条件可以用最常见的预期攻击来完成,如DoS、MAC欺骗、窃听、VLAN跳转和注入恶意软件。在重复GBPT的基础上,采用适当的安全机制以降低重大安全风险,例如防火墙、VLAN和网络隔离、IDS和安全启动以及安全记录、安全通信(MACs、MACSec)和加密。

所提出的安全目标被进一步分解为安全要求,以便于实施和测试。应选择合适的安全机制来实现安全目标。为了将可行的回归策略制度化,每一个增量都要执行GBPT的子集,每次交付时Security Check都是更新Safety Case的一部分,而该Security Check是基于一组给定的设计规则而进行的剩余风险分析。图4提供了案例研究中的一个例子。

                               

图 4| 案例研究中的剩余风险分析

灰盒渗透测试(GBPT)的好处

GBPT有助于创建一个更准确的攻击树,包括所有可能的攻击向量并且涵盖全部场景。不像传统的BBPT,攻击树可能包括失败的威胁路径,并可能错过一些重要的威胁路径,因为测试人员没有完全了解系统的原理图。黑盒渗透测试员可能会漏掉不同的架构配置。这些不同的配置和路径对渗透测试者来说是至关重要的,因为它们有助于排除破坏系统的所有可能性。与GBPT方法相比,黑盒渗透测试者只知道现有文件的信息,没有系统的内部架构知识。通常在这样的测试策略中会使用暴力强迫法,这导致需要执行很多步骤去发掘系统,耗费了更多的时间和精力。此外,攻击向量不会根据风险等级被优先排序,因此可能导致由于可用资源有限或由于测试案例失败而错过最关键的攻击向量。所以,一个传统的BBPT会产生许多测试案例,而测试案例数量的增加会导致额外的工作量、时间、资源投入和成本。

有效漏洞的发现数量和测试案例的数量被用来作为衡量测试有效性和效率的KPI。以效率和效益为指标对两种策略进行比较,结果表明GBPT使用较少的测试案例数量,从而降低了测试成本,提高了效率。与传统的渗透测试相比,GBPT的缺陷检测率也更高,也因此提高了有效性或覆盖率。通过直观的对比,我们能够用GBPT识别更有效的威胁,耗时大约是BBPT的一半。实际案例研究的分析表明,基于TARA的GBPT测试,案例数量更少,命中率更高。因此,以风险为导向的GBPT是更有效和更高效的测试策略。

有效的网络安全要求在汽车自身及其组件的生命周期中采用系统化的流程,尤其是在后期由于法律的缘由而必须证明这一有效性时,在前期确保流程的系统化就更加至关重要。本文努力为具体的误用案例以及如何进行相应的验证提供指导。事实证明,GBPT比传统的验证方案更有效率和效果。此外,工程师的心态也必须改变,除了要关注安全功能,更要关注安全设计和验证。企业IT部门多年前就意识到采取一些隔离机制,比如将功能分布在专属子系统中、组件级的保护、组件间的网关和防火墙、关键功能的验证等是不够的,以攻击者的视角进行智能测试同样不可或缺。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2265722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#WPF基础介绍/第一个WPF程序

什么是WPF WPF(Windows Presentation Foundation)是微软公司推出的一种用于创建窗口应用程序的界面框架。它是.NET Framework的一部分,提供了一套先进的用户界面设计工具和功能,可以实现丰富的图形、动画和多媒体效果。 WPF 使用…

【EtherCATBasics】- KRTS C++示例精讲(2)

EtherCATBasics示例讲解 目录 EtherCATBasics示例讲解结构说明代码讲解 项目打开请查看【BaseFunction精讲】。 结构说明 EtherCATBasics:应用层程序,主要用于人机交互、数据显示、内核层数据交互等; EtherCATBasics.h : 数据定义…

秒验简介与下载说明

秒验简介与下载说明 产品概述 秒验是一款帮助开发者实现一键验证功能的产品,从根源上降低企业验证成本, 有效提高拉新转化率,降低因验证带来的流失率,3秒完成手机号验证 SDK信息 下载SDK 下载地址 SDK提供Maven和pod引入两种方…

算法学习(17)—— FloodFill算法

目录 关于FloodFill算法 部分OJ题详解 733. 图像渲染 200. 岛屿数量 695. 岛屿的最大面积 130. 被围绕的区域 417. 太平洋大西洋水流问题 529. 扫雷问题 LCR130. 衣橱整理 关于FloodFill算法 爆搜,深搜,回溯的算法原理并不难,这类题…

美国辅料查询之FDA批准药用辅料数据库(IID数据库)

药用辅料的性质很大程度上决定了制剂的性质,每一种新的药用辅料的问世,都会为制剂技术的发展带来新的机遇,每一种药用辅料都可能让制剂研发员开发出新剂型药物,所以在药物制剂研发过程中,药用辅料的信息调研是不可或缺…

SpringAI人工智能开发框架006---SpringAI多模态接口_编程测试springai多模态接口支持

可以看到springai对多模态的支持. 同样去创建一个项目 也是跟之前的项目一样,修改版本1.0.0 这里 然后修改仓库地址,为springai的地址 然后开始写代码

【ELK】filebeat采集数据输出到kafka指定topic

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 背景filebeat主体配置filebeat.inputs部分filebeat.output部分 filebeat完整配置 背景 今天收到需求,生产环境中通需要优化filebeat的输出,…

知识图谱+大模型:打造全新智慧城市底层架构

在数字化时代,智慧城市的建设正迎来新一轮的变革。本文将探讨如何结合知识图谱和大模型技术,构建智慧城市的全新底层架构,以应对日益增长的数据量和复杂性,提升城市管理的智能化水平。 知识图谱:智慧城市的知识库 知识…

网络安全 | 云计算中的数据加密与访问控制

网络安全 | 云计算中的数据加密与访问控制 一、前言二、云计算概述2.1 云计算的定义与特点2.2 云计算的服务模式2.3 云计算的数据安全挑战 三、数据加密技术在云计算中的应用3.1 对称加密算法3.2 非对称加密算法3.3 混合加密算法 四、云计算中的访问控制模型4.1 基于角色的访问…

计算机毕业设计Python+卷积神经网络租房推荐系统 租房大屏可视化 租房爬虫 hadoop spark 58同城租房爬虫 房源推荐系统

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

攻防世界 - Web - Level 1 unseping

关注这个靶场的其它相关笔记:攻防世界(XCTF) —— 靶场笔记合集-CSDN博客 0x01:Write UP 本关是一个 PHP 代码审计关卡,考察的是 PHP 反序列化漏洞以及命令执行的一些绕过手段,下面笔者将带你一步步过关。…

黑马程序员JavaWeb开发教程(前端部分) ---笔记分享

总结 此篇文章记录的内容是不全的,我觉得基础的部分没有记录,我想主要学的是此课程的后端部分,前端部分学校有学习过,我就开倍速一带而过啦,还有就是学校学的是Vue3和此视频讲的Vue2还是有一定区别的。希望能对大家有…

【统计的思想】统计抽样测试(二)

在统计抽样测试里,一旦我们选定了某个测试方案(n|Ac),我们就可以算出任意不合格品率p对应的接收概率L(p)。把各种可能的p值对应的L(p)连成一条曲线,这就是测试方案(n|Ac)的操作特性曲线。比如,方案(80|1)的操作特性曲线长这个样子…

Pytorch | 利用I-FGSSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用I-FGSSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集I-FGSSM介绍I-FGSSM代码实现I-FGSSM算法实现攻击效果 代码汇总ifgssm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器: Pytorch | 从零构建AlexNet对CIFAR10进行分类 Pytorch…

【多维DP】力扣576. 出界的路径数

给你一个大小为 m x n 的网格和一个球。球的起始坐标为 [startRow, startColumn] 。你可以将球移到在四个方向上相邻的单元格内(可以穿过网格边界到达网格之外)。你 最多 可以移动 maxMove 次球。 给你五个整数 m、n、maxMove、startRow 以及 startColu…

react防止页面崩溃

在 React 中,ErrorBoundary 组件是一种用于捕获并处理其子组件树中发生的 JavaScript 错误的机制。它可以帮助你在应用程序中实现优雅的错误处理,防止整个应用崩溃,并为用户提供友好的错误提示。ErrorBoundary 通过使用 React 的生命周期方法…

Python使用requests_html库爬取掌阅书籍(附完整源码及使用说明)

教程概述 本教程先是幽络源初步教学分析掌阅书籍的网络结构,最后提供完整的爬取源码与使用说明,并展示结果,切记勿将本教程内容肆意非法使用。 原文链接:Python使用requests_html库爬取掌阅书籍(附完整源码及使用说明…

基于earthSDK三维地图组件开发

上效果 功能点 测量分析相机位置切换geojson数据加载地图打点&#xff0c;显示信息点击回传数据二三位切换 这里二三维切换通上篇openlayers分享&#xff0c;技术交流V:bloxed <template><div class"h100 w100"><div style"width:100%; heig…

基于JavaWeb的流动摊位管理系统

一、系统背景与意义 随着城市化进程的加速和市场经济的发展&#xff0c;流动摊位已经成为城市商业活动中不可或缺的一部分。然而&#xff0c;传统的流动摊位管理方式存在诸多弊端&#xff0c;如信息不透明、管理效率低下、租赁不公等。因此&#xff0c;开发一种高效、便捷、智…

自动驾驶3D目标检测综述(六)

停更了好久终于回来了&#xff08;其实是因为博主去备考期末了hh&#xff09; 这一篇接着&#xff08;五&#xff09;的第七章开始讲述第八章的内容。第八章主要介绍的是三维目标检测的高效标签。 目录 第八章 三维目标检测高效标签 一、域适应 &#xff08;一&#xff09;…