车联网渗透测试:

项目管理知识体系(PMBOK)

测试规则(ROE)

远程信息处理控制单元(Telematics Control Units, TCU)

渗透测试执行标准(Penetration Testing Execution Standard,PTES)

评估对象(Target of Evaluation,TOE)

原始设备制造商(Original Equipment Manufacturer,OEM)

招标文件(Requestfor Proposal,RFP)

车载主机(Head Unit,HU)

嵌入式操作系统(OperatingSystem,OS)

中间人攻击(Man-In-The-Middle,MITM)

无线网络接口卡(Network Interface Cards,NIC)

国际移动用户号码(Intemational Mobile Subscriber Number,IMS)

国际移动设备标识(Interational Mobile Equipment Identity,IMEI)

测试规则(Rules ofEngagement,ROE)

Evil Twin(邪恶双胞胎) 是一种典型的无线网络攻击手段,尤其针对依赖Wi-Fi等无线通信技术的车联网环境(如车辆连接公共Wi-Fi、车载热点、V2X通信等)

J3061全称是 《汽车网络安全指南》,其正式编号为 SAE J3061;

ISO 26262全称是 《道路车辆 功能安全》

软件过程改进与能力判定SPICE(Software Process Improvement and Capability dEtermination),国际标准,正式名称为 ISO/IEC 15504

工作分解结构(Work Breakdown Structure,WBS)

对具备网络安全防护能力的互联车辆进行的综合性安全评估(Connected, Protected, Vehicle,CPV)

RACI图表 是一种经典的项目管理和职责分配工具,用于明确在流程或项目中,谁对什么任务负有什么样的责任。

合格安全评估师(Qualifed Security Assessor,QSA)

PCI合规性 的全称是 Payment Card Industry Data Security Standard,即 支付卡行业数据安全标准。

PCI 是 Payment Card Industry 的缩写,即 支付卡行业。

PCI DSS 是 Payment Card Industry Data Security Standard 的缩写,即 支付卡行业数据安全标准。

概要设计(High-LevelDesign,HLD)

国标板(Country-Specific Board,CSB)

文档控制管理(Document Control Management,DCM)系统

项目管理协会(Project Management Institute,PMl)

已签署的工作声明(StatementofWork,SOW)

车载安全评估现场工具包(Jump kit)

RTL-SDR(Software Defined Radio,软件定义的无线电)是一种物理设备,可作为计算机上的无线电扫描器

基站收发台(Base Transceiver Station,BTS)

车载诊断(On-Board Diagnostics,OBD)系统

NVIDIADRIVE片上系统(SystemonaChip,SoC)

拒绝服务(DenialofService,DoS)攻击

车对车(Vehicle-to-Vehicle,V2V)

车对WiFi(X)(Vehicle-to-Everything,V2X)

车载自组织网络(Vehicular Ad-hoc Network,VANET)

车际通信(Inter-Vehicle Communication,IVC)

路侧单元(Road Side Unit,RSU)

车载环境无线接入(WirelessAccess for VehicularEnvironment, WAVE)

全球移动通信系统(GlobalSystem for Mobiles,GSM)

移动设备(Mobile Equipment,ME)

软件定义无线电(Software-Defined Radio,SDR)接收器

HU和TCU的数据流图(Data Flow Diagram,DFD)

STRIDE是用来审查系统的六大类威胁的缩写

六大类威胁分别是:

仿冒(Spoofing)

篡改(Tampering)

抵赖(Repudiation)

信息泄露(Information Disclosure)

拒绝服务(Denial of Service)

权限提升(Elevation of Privilege)

电子控制单元(Electronic Control Unit, ECU)

VAST(可视化、敏捷和简单威胁)建模是由ArchieAgarwal开发的,后来被产品化为一个名为Threat Modeler的工具

过程流图(Process Flow Diagram,PFD)

系统开发生命周期(SDLC)

PASTA攻击模拟和威胁分析过程的缩写(ProcessforAttackSimulation and Threat Analysis,PASTA)

无线接入点(WirelessAccessPoint,WAP)

无线接入点(AccessPoint,AP)

ESSID(Extended Service Set Identifier,服务区别号)/SSID(Service Set Identifier,服务集标识符)

标识符(如 ACME Head Unit)

BSSID(Basic Service Set Identifier,基本服务集标识符)

杀链模型(KilChain Model,KCM)

1.1 车联网渗透测试项目流程:

  1. 前期交互:定义渗透测试范围;渗透测试规则;资料收集和审查;
  2. 情报收集:执行被动和主动侦察(包括服务和应用程序的遍历以及评估对象(TOE));
  3. 威胁建模:建立资产和攻击者之间的二分法关系模型(威胁代理/社区分析);
  4. 漏洞分析:你将通过被动分析(如审查源代码和阅读说明书)或主动分析(使用工具和人工测试)来识别系统和应用中的缺陷;
  5. 漏洞利用:将绕过安全控制和或利用前面的漏洞分析阶段中确定的漏洞,来建立对评估对象(TOE)的访问;
  6. 后渗透:通过创建的后门通道建立对TOE的持久访问,并确定车载网络中各系统之间的网络拓扑结构以便进行内网渗透;
  7. 报告:

1.2 范围定义需要记忆部分:

例如,当应该使用ELF格式的Meterpreter 攻击载荷(payload)时,使用Python脚本格式的攻击载荷是无效的。

  1. 反编译器(如IDA Pro)或其他类型的二进制分析反编译器,可进行静态代码分析和逆向工程分析。访问工程文档也可以获得很多有用信息。
  2. 版本周期,主要针对于软件,软件发布生命周期描述了应用程序从最初开发到最终发布的整个过程。很多安全控制措施(如沙盒、CGROUPS 或防火墙规则)还没有在测试样机的版本中实施。在整个渗透测试过程中,很多时候会有新版本提供给你。要注意当前测试的是什么版本;当前测试的硬件和软件应用应该是最新稳定版本
  3. 确认问题后,在编写最终报告时适当提及发现问题的具体版本,以防问题在新版本中已经被更正。
  4. IP地址,HU和TCU容易受到许多潜在的中间人攻击。如果在 HU 和 TCU 之间使用一个隐藏的无线网络进行通信,通常会分配给TCU和HU的无线网口静态IP地址。     (注:虽然有很多方法可识别正在使用的IP地址,但若询问客户以提前知道这些IP地址是什么,可极大地缩短测试时间。)
  5. 源代码,如果客户提供,就可以直接进行静态和动态代码分析;若客户未提供相关代码,可以使用gdb、BARF或IDAPro等工具对二进制文件进行逆向工程。
  6. 对于无线网络,首先应该确定哪些无线网络已经启用(许多HU会充当无线网络接入点,以将Internet连接分配给其他控制器)。但通常情况下,会由TCU充当无线客户端。在高性能的HU中,会有两个无线网络接口卡(Network Interface Cards,NIC):一个作为 WiFi接入点供车内的乘客使用,另一个则作为隐藏的无线通信设备用于TCU连接的网络。如果这是一个白盒渗透测试,你要向客户了解所有正在运行的无线网络的SSID,同时要查询其他隐藏无线网络的SSID以及每个网口卡的IEEEMAC地址。在黑盒或灰盒渗透测试下要自己去搜索无线网络的 SSID;第4章将演示如何自己搜索无线网络的SSID而不需要客户提供。
  7. 硬件唯一序列号,测试平台范围内都有多个HU和TCU。如果你在现场进行渗透测试,在同一办公室或建筑内常有其他开发人员或工程师在对类似的 HU或 TCU 进行测试,我经常看到一排排的办公桌上摆放着一模一样的微电子工作台,供我进行测试使用。为正确地识别这些被测单元,我建议注意一下国际移动用户号码(Intemational Mobile Subscriber Number,IMS)、网卡的 MAC 地址、国际移动设备标识(Interational Mobile Equipment Identity,IMEI)以及你正在测试的硬件的所有其他重要唯一标识符。误以为以为目标TCU 连上了我布置的Evil Twin,结果却发现它不是我的微电子工作台中的TCU(#Mondays)。

1.3 测试规则需要记忆部分:确定定义范围后要如何进行测试  并确定攻击链上的步骤

1.4 工作结构分解:

1.7.1 所需硬件和软件

车载安全评估现场工具包(Jump kit):

RTL-SDR 硬件设置

RTL-SDR(Software Defined Radio,软件定义的无线电)是一种物理设备,可作为计算机上的无线电扫描器,用于接收和传送所在区域的无线电信号(具体取决于硬件情况)。SDR由无线电组件组成,如调制器、解调器和调谐器,这些组件传统上由硬件实现,现在改由软件实现。RTL-SDR 的频率范围各有不同,从42~2200MHz(不包括1100~1250 MHz)的Eleonics E4000加密狗到 BladeRF(BladeRF 的频率为300MHZ~3.8GHz),并能同时发送和接收无线电信号

软件:

基站收发台(BaseTransceiverStation,BTS)的软件YateBTS,以及其他需要安装在实验室笔记本电脑上的软件。YateBTS是GSM、GPRS无线接入网络的软件实现,可让你自己的基站塔(伪基站)与TCU连接,使你可在TCU和制造商后端之间禁用加密和拦截消息。

3.0 威胁建模:

3.0.1 威胁:威胁指能影响资产的机密性、完整性或可用性,并可能造成严重伤害或损害的事件或实体。威胁可以是恶意的、意外的、甚至是环境性的。有威胁但没有漏洞的情况可以存在;反之,有漏洞但没有威胁的情况也可以存在。

3.0.2 漏洞:漏洞是一种缺陷,可被威胁利用,进行未经授权或无意的行动。

3.0.3 攻击:攻击是攻击者利用漏洞进行攻击的行为。

3.0.4 信任边界:信任边界指的是程序数据或执行改变其信任等级的边界,不论是向更高等级还是更低等级改变。

3.0.5 威胁建模通常包含以下几个步骤:

(1)定义安全问题的边界、外部依赖关系、系统中的安全控制,以理解安全需求。

(2)建立资产清单,并确定这些资产的作用以及它们之间的联系。

(3)找出这些资产之间的信任边界,

(4)确定适用于这些资产的威胁。

(5)确定可用于实现每个威胁的攻击方式

(6)规划和实施安全控制措施,以处置威胁。

4.Evil Twin攻击需要一个基站软件(如host AP或airbase-ng)来充当 AP,并搭配一个嗅探器( airmon-ng或Wireshark )来抓取802.11流量。同时使用嗅探器来提取会话中的WPA2密钥,以进行离线破解。进一步分析,可结合SSLstrip来解密用户的SSL会话。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐