1、白皮书本白皮书仅为用户更好地了解智能网联汽车场景下的渗透测试相关知识和技术。本白皮书不应被视为法律建议,也不得被视为对百度或北京集度科技现行任何合同安排的更改。若 发 现 白 皮 书 中 存 在 任 何 错 误 或 对 内 容 存 在 任 何 疑 问,请 通 过anquan_, 联系我们。百度网讯科技有限公司(本白皮书中指百度网讯科技有限公司及其关联公司,以下亦称“百度”)与北京集度科技有限公司(本白皮书中指北京集度科技有限公司及其关联公司,以下亦称“北京集度科技”)依法对本白皮书内所有原创图片、架构设计、文字描述等内容享有知识产权,未经百度与北京集度科技事先书面许可,任何单位、公司或个人不得
2、摘抄、翻译、复制本文档内容的部分或全部,否则将追究其相关法律责任。关联公司是指百度和北京集度科技及其他存在关联关系的公司的单称或合称,包括但不限于百度和集度公司。“关联关系”是指对于任何主体(包括个人、公司、合伙企业、组织或其他任何实体)而言,即其直接或间接控制的主体,或直接或间接控制其的主体,或直接或间接与其受同一主体控制的主体。前述“控制”指,通过持有表决权、合约或其他方式,直接或间接地拥有对相关主体的管理和决策作出指示或责成他人作出指示的权力或事实上构成实际控制的其他关系。整车安全渗透测试白皮书版权说明白皮书主要作者:百度:林道正、柴志祺、焦龙龙、程波、高树鹏;集度:席铭泽、童海涛、贾鹏
3、飞。整车安全渗透测试白皮书CONTENTS目录概述0103渗透测试基本概念02 整车安全渗透相关背景2.1 整车安全渗透测试整体框架2.2 汽车信息安全相关法规要求2.1.1 汽车信息安全事件2.1.2 硬件安全渗透测试2.2.1 接口安全渗透测试2.2.2通信安全渗透测试2.2.3 系统安全渗透测试2.2.4 应用安全渗透测试2.2.506060607111212131409 百度公司介绍1.1 百度安全团队介绍1.2 极越品牌介绍1.3 极越安全团队介绍1.4 百度与极越合作介绍1.5 030405030401整车安全渗透测试白皮书 硬件安全渗透测试3.1 接口安全渗透测试3.2 通信安全
4、渗透测试3.3 系统安全渗透测试3.4 应用安全渗透测试3.5 数据安全渗透测试3.6 业务安全渗透测试3.7 深度安全渗透测试3.8数据安全渗透测试2.2.6业务安全渗透测试2.2.7深度安全渗透测试2.2.81516171823242526282021 团队4.1 流程4.23033 工具与方法4.336 容易被忽略的重要安全问题列表4.438渗透测试方法和工具0318 渗透测试总结与实践0430 结语054102概述01百度是拥有强大互联网基础的领先AI公司。百度以“用科技让复杂的世界更简单”为使命,坚持技术创新,致力于“成为最懂用户,并能帮助人们成长的全球顶级高科技公司”。作为全球领先
5、的自动驾驶开放平台,百度Apollo代表中国最强自动驾驶实力,被知名研究公司Navigant Research列为全球四大自动驾驶领域领导者之一。百度一直秉承着“科技为更好”的社会责任理念,坚持运用创新技术,聚焦于解决社会问题,履行企业公民的社会责任,为帮助全球用户创造更加美好的生活而不断努力。百度安全是百度公司旗下,以AI为核心为基础打造的安全品牌,是百度24年安全实践的总结与提炼。基于基础安全、数据安全、业务安全、车与IoT安全四大产品矩阵,业务覆盖百度各种复杂安全场景,同时面向合作伙伴输出安全产品与行业一体化解决方案,涵盖智能制造、智慧能源、智慧政务、智慧金融、智能汽车等领域,全面探索A
6、I时代的新实践、新范式。整车安全渗透测试白皮书031.1 百度公司介绍1.2 百度安全团队介绍整车安全渗透测试白皮书极越是百度和吉利控股集团联手打造的高端智能汽车机器人品牌,由夏一平担任CEO。极越汽车机器人贯穿“自然交流、自由移动、自我成长”三大产品理念,以极致的用户体验为目标,致力于持续打造行业领先的“汽车机器人”产品标杆,引领智慧出行变革。极越旗下首款汽车机器人产品极越01已于2023年10月27日正式上市。极越01共推出极越01 Max、极越01 Max 长续航版和极越01 Max 性能版三款配置车型。极越01全系标配高通8295和双英伟达DRIVE Orin芯片,智能AI助手SIMO
7、能够接近人与人的自然交流,实现整车几乎所有功能控制,纯视觉高阶智驾“开箱即用”。极越01已深度融合文心一言、Apollo、百度地图、小度等技术能力,是全球首个大模型上车的智能汽车。自成立起,极越即展现出科技公司的高效创新能力,并不断加大科技创新投入,增强研发能力,完善人才队伍建设。极越迄今共提交专利申请1976件,其中含发明专利1036件,并参与29项行业标准法规的起草工作,其中包含23项国标、2项ISO标准。1.3 极越品牌介绍极越安全团队是极越的核心团队之一。多年以来,极越致力于为客户提供更好的安全保障,一直将“自主可控,稳定高效”作为安全理念,将安全能力内置到全域业务中,打造行业领先的安
8、全服务和系统。借助于极越在智能化的优势,行业领先的智能汽车机器人在安全上同样具备了自我学习、自我成长的能力。1.4 极越安全团队介绍04整车安全渗透测试白皮书05 长期以来,百度与极越在多个维度都展开了深度的合作,而安全更是其中尤为重要的一个方面。为了保障车辆信息安全,自极越新车型研发阶段起,双方就组建了联合团队,集合了百度最专业的攻防团队和极越安全团队中诸多安全专家,一起深度参与了包括整车渗透测试在内的一系列安全保障工作,渗透测试的范围包含极越整车系统、数字钥匙、充电桩、用户侧APP以及云端服务接口等。在测试过程当中,联合团队除了进行传统的固件安全、系统安全、通信安全、应用安全和云安全等渗透
9、测试项目之外,还深入智能汽车的通用场景,对包括蓝牙钥匙、TEE、端口监听服务以及FoD付费服务等多个核心业务进行了深度分析,并从攻击者的角度逆向了充电桩、蓝牙钥匙的协议,对其核心逻辑进行了深入的漏洞挖掘,在车辆上市前排查发现了许多隐藏非常深的安全问题,并对所有安全问题进行了修复,保证用户用车安全。作为智能网联汽车行业内的一员,百度和极越在发展包括自动驾驶在内的应用技术的同时,也一直致力于维护智能网联汽车信息安全,为用户提供更安全放心的产品和服务。白皮书将公开展示百度和极越在安全渗透测试方面的积累和经验,并希望通过与生态合作伙伴的共同努力,加强行业自律,为智能网联汽车安全生态各参与方提供参考。1
10、.5 百度与极越合作介绍整车安全渗透测试白皮书06随着汽车行业的快速发展,尤其是新能源汽车的崛起,网联化、智能化等相关功能和产品也正在汽车中迅速普及,随之而来的信息安全问题也受到了世界各国交通部门和监管机构的重视。在监管层面,智能网联汽车信息安全相关法规也在不断完善,在欧洲等国,由UNECE WP29制定的R155法规已经于2021年起正式实施,并且自2024年7月起,所有在UNECE成员国上市销售的车辆都必须通过CSMS以及VTA认证,其中CSMS主要是针对企业信息安全管理流程的认证,而VTA则主要是针对具体车型信息安全防护能力的形式在国内,首个强制性国家标准汽车整车信息安全技术要求已经于2
11、023年完成征求意见稿,进入审查阶段,预计在2024年正式发布,26年开始实施,后续也将成为国内汽车上市之前必须要通过认证的准出性标准。1渗透测试基本概念2.1.1 汽车信息安全相关法规要求02图 1 R155 法规实施计划图 2 强制性国家标准实施计划2.1 整车安全渗透相关背景整车安全渗透测试白皮书072.1.2 汽车信息安全事件无论是国际标准还是国内强标,对于渗透测试都有明确的要求。在R155中,渗透测试是VTA认证中的必不可少的一个部分2;而在国内强标中,不仅包含了信息安全技术要求,也明确说明了对应的测试方法。由此可以看出渗透测试在智能网联汽车信息安全行业的重要性。近年来,针对车联网信
12、息安全攻击事件层出不穷。在公开的安全会议上,头部车企被攻破的案例也屡见不鲜。头部车企一直是黑客关注的焦点,腾讯Keen Team在2017年和2018年连续两年在BlackHat大会上发布针对某头部车企产品的攻击案例,可以在不进行物理接触的情况下远程控制汽车3。2024年1月,在东京举办的Pwn2Own黑客大赛中,Synacktiv团队两次攻破某头部车企产品,获得root权限,并演示了其信息娱乐系统中的沙箱逃逸,赢得了45万美元现金奖金4。他们还针对两款智能电动汽车站演示了两个错误链。值得一提的是,该团队在2023年和2022年的Pwn2Own大赛中也曾多次攻破该车企产品。此外,其他头部车企的
13、产品也曾多次在BlackHat等安全会议上爆出问题。标准测试要求7.3.6 车辆制造商应在型式认证之前进行适当且充分的测试,以验证实施的安全措施的有效性6.6 车辆制造商应通过测试来验证所实施的信息安全措施的有效性8.3 车辆信息安全技术要求测试5.1.2 认证机构或技术服务机构应当对车型进行测试,以验证车辆制造商已经实施了他们在文档中记录的网络安全措施WP.29 R155汽车整车信息安全技术要求整车安全渗透测试白皮书08图 3 某车型车机破解图 4 某车型车机破解5除了在安全会议上爆出的车辆信息安全漏洞之外,在现实生活中,信息安全问题也是威胁车辆和车主生命财产安全的重要问题之一,在国外比较猖
14、獗的偷车贼,有很多就是利用了车辆的信息安全漏洞来进行车辆的盗窃。例如在野发现汽车盗窃犯使用CAN注入盗窃某车企产品,通过拆卸大灯旁的保险杠接入CAN总线,发送特定的CAN报文(Key validated,unlock immobilizer),欺骗车辆认为钥匙是的有效的6。以及针对某车型车辆的盗窃事件,盗窃者只需要拆掉汽车转向柱上的塑料外壳,露出车匙开关的点火装置,用一个USB插头插入车匙开关,扭动数次便能启动引擎,整个过程仅用了数分钟甚至数秒完成,甚至有社会组织举行了偷车挑战,引发了一系列社会安全问题7。这些在野的漏洞往往利用简单,但却对车主的财产安全造成了严重威胁,甚至危害社会安全。以上这
15、些被爆出安全问题的车企并不是没有采取信息安全防护措施,也进行过相关的渗透测试。但传统的渗透测试方式主要是按照一个测试项目清单上的测试项目逐条进行,通过自动化工具为主,人工验证为辅的方式来进行。而实际场景下的攻击者并没有一个特定的攻击方式,在车联网的复杂场景下,所有可能存在的攻击路径都可能被攻击者利用,所以传统的渗透测试只能够发现一些已知漏洞和基线安全问题,如安全相关的配置错误等,没有办法发现深层次的一些安全漏洞和问题。基于百度和极越在安全领域的深入研究与积累,我们认识到,对于车企而言,进行深度的产品渗透测试至关重要。这种测试能够更早地发现潜在的安全问题,实现安全左移,因此,对于致力于提升产品安
16、全防护能力的车企来说,进行深度渗透测试是一项必不可少的措施。整车安全渗透测试白皮书09渗透测试(Penetration Test)是指安全工程师尽可能完整的模拟黑客使用的漏洞发现技术和攻击手段,对目标网络/主机的安全性深入探测,发现系统中最薄弱环节的过程。渗透测试能够直观的让管理人员知道自己网络所面临的安全问题。渗透测试的特点在于模拟黑客攻击行为,全面评估系统安全性。测试过程具有渐进性和深入性,通过发现并利用安全漏洞来检验防护措施的有效性。渗透测试不仅关注漏洞的严重性,更从攻击者的角度揭示潜在风险,同样也有助于提高相关人员对安全问题的认识水平。渗透测试的重要性在于,它能够通过模拟攻击者的行为,
17、深入评估目标系统的网络安全状况,从而及时发现并修复潜在的安全漏洞。这种测试方法对于保障智能网联汽车等关键系统的安全至关重要,有助于预防潜在的网络攻击,确保系统的稳定运行和数据安全。在不同行业背景下,渗透测试所关注的方面也不尽相同,与传统的互联网行业的相比,在智能网联汽车行业下的业务和应用场景更加复杂。传统互联网的安全防护主要关注主机、移动端系统、云端服务、端云通信等方面的安全,而智能网联汽车场景下,除了上述方面之外,还需要考虑车端系统、硬件、车内通信和近场通信等智能网联汽车特有的通信方式、升级等方面的安全,所以智能网联汽车安全渗透测试覆盖的范围也更加广泛。2.2 整车安全渗透测试整体框架整车安
18、全渗透测试白皮书10图 5 智能网联汽车安全渗透测试框架传统的基线渗透测试通常由测试人员按照安全专家预先制定的测试清单进行,是一种标准化的安全测试方法。测试清单中包含了一系列常见的已知安全漏洞或脆弱点,测试人员按照清单中的项目逐一进行检查之后,就可以确定目标系统中是否清单中列举的安全漏洞或脆弱点。通过这样的基线渗透测试,测试人员能够评估系统的基本安全情况,确保系统不易受到已知常见攻击的影响。基于传统基线渗透测试存在的无法识别未知攻击和无法分析复杂业务场景下的攻击等问题和局限性,我们提出了深度渗透测试的概念。深度渗透测试则不仅仅是按照清单执行检测项,除了覆盖基线渗透测试的项目之外,还需要从攻击者
19、的角度,模拟真实的攻击者行为,对目标进行详细的测试。完整的深度渗透测试需要考虑到所有安全威胁和可能的攻击面,基于威胁分析的结果进行各种攻击尝试,需要对信息安全的各方面的知识都有深入的了解。与基线渗透测试不同,深度渗透测试不仅仅针对常见的已知安全漏洞或脆弱点,而是根据威胁情报和威胁分析,更全面的测试目标的安全性。综上所述,智能网联汽车安全渗透测试的整体框架如下图所示:深度渗透测试基线渗透测试漏洞挖掘模糊测试协议分析深度业务测试硬件安全测试通用硬件安全测试传感器安全测试安全模块测试通信安全测试蜂窝通信安全测试Wi-Fi安全测试蓝牙通信安全测试NFC 通信安全测试CAN 通信安全测试以太网通信安全测
20、试接口安全测试USB 安全测试诊断接口安全测试系统安全测试系统漏洞检测系统安全配置检测调试检测应用安全测试应用防护测试应用漏洞测试服务渗透测试数据安全测试数据抓包分析数据篡改测试数据侧漏测试业务安全测试充电协议安全测试升级安全测试远程控车安全测试V2X 通信安全测试整车安全渗透测试白皮书11 2.2.1 硬件安全渗透测试在车辆内部,众多ECU(电子控制单元)协同工作,它们包括网关、TBOX、域控制器、车辆控制单元以及摄像头雷达等传感器。这些ECU不仅负责车辆的基础功能运行,更有部分ECU配备了额外的安全模块,这些模块专门用于执行安全启动、加解密操作以及身份认证等安全相关的功能,从而确保车辆系统
21、的安全稳定运行。针对不同功能的ECU的硬件模块的渗透测试主要包含以下几个部分:2.2.2 接口安全渗透测试外部接口通常指的是在车辆设备上预设的一系列物理接口,例如车机的USB端口、诊断接口(OBD)等,它们都是直接与外部设备相连通的通道。这些外部接口,作为攻击者潜在的突破口,具有较高的安全风险,因此,针对外部接口的安全渗透测试显得尤为重要。针对外部接口的安全渗透测试主要包含以下几个部分:针对所有芯片和电路板的通用测试项目,如硬件外壳拆解、芯片引脚分析获取调试管脚、固件和内存数据的提取等;01 通用硬件安全测试针对USB接口采用包括监听USB通信、伪造USB输入设备、在USB设备中植入恶意文件等
22、方式,测试USB接口是否存在安全问题;01 USB接口安全测试针对检测诊断接口,使用仿真设备接入,尝试监听和构造诊断通道通信数据等方式,测试是诊断接口是否对接入设备进行认证,是否存在安全问题。02 诊断接口安全测试针对传感器类型的主要是通过对传感器信号的仿真、模拟和干扰等手段测试是否对正常功能造成影响;02 传感器安全测试针对安全模块的专门的测试,用于确保安全模块内部关键数据和运行时的安全性,如抗功耗攻击测试、抗差分故障攻击测试等。03 安全模块测试整车安全渗透测试白皮书122.2.3 通信安全渗透测试通信是智能网联汽车的基础,而通信方式繁多、协议错综复杂,因而也成为了潜在的攻击重点。针对智能
23、网联汽车通信的安全渗透测试主要包含以下几个部分:针对移动网络通信,主要通过伪造基站、信号屏蔽等方式,测试是否存在通信劫持的风险;01 蜂窝移动网络通信安全测试针对V2X协议,主要通过伪造设备、模拟发送攻击信号的方式,测试V2X系统是否对接入设备进行了完善的身份认证,是否能够伪造消息影响车辆正常功能;02 V2X通信安全测试针对Wi-Fi通信,主要检测默认连接配置、接入协议以及口令的安全,以及外部Wi-Fi和内部局域网的隔离措施;03 Wi-Fi通信安全测试针对蓝牙、BLE等通信,主要使用抓包工具和中继攻击工具,分析通信内容是否存在敏感信息,是否能存在中继攻击风险;04 蓝牙通信安全测试图 6
24、蓝牙中继攻击示例整车安全渗透测试白皮书13针对NFC通信,主要使用通信抓包工具和仿真设备,检测是否存在卡片复制和中继攻击风险;05 NFC安全测试采取自动化扫描的方式发现已知漏洞;通过逆向分析、动态调试等方式针对系统中存在接收外部输入信息的组件,如开放端口上运行的服务、浏览器等挖掘潜在的未知漏洞;01 系统漏洞检测检测系统当中的安全相关措施,如访问控制措施、防火墙等是否正确按照安全防护要求进行配置,是否存在非预期的功能,如开发阶段预留的调试端口、文件等,不当的安全配置会降低攻击者漏洞利用成本;02 系统安全配置测试针对Android系统特有功能相关的风险进行挖掘,如Android系统调试、An
25、droid服务权限分配、Android敏感数据存储等问题。03 Android系统安全测试针对车辆内部局域以太网和车辆对外以太网通信的安全测试,主要通过抓包分析等手段观察通信内容是否存在敏感信息、是否存在劫持、篡改等风险;06 以太网通信安全测试针对车辆内部CAN网络的安全测试,主要使用专用的CAN分析仪设备,通过监听分析、模拟发送报文等方式、观察对车辆正常功能的影响。07 CAN/CANFD通信安全测试2.2.4 系统安全渗透测试随着车端硬件的发展和算力提升,车端硬件也从传统的MCU发展到使用MPU以及高集成度的SOC平台,车端系统也从原来的无系统的裸单片机发展到集成基本的甚至图形化的操作系
26、统,如车机端的Android、QNX系统,域控的Linux系统等。在这一背景下,一些针对传统主机系统的安全问题同样也会威胁到智能网联汽车场景下的安全。针对系统的安全渗透测试主要包含以下几个部分:整车安全渗透测试白皮书14车机端上的关键应用往往会通过混淆、加固、加壳、反调试等方式对其自身源码进行保护,防止其核心逻辑泄漏。检测应用自身防护措施是否生效,这也是后续要进行进一步应用安全分析和渗透测试的基础;01 应用防护检测除了和系统安全相同的组件漏洞检测之外,移动应用还有特定场景下的组件和功能,如系统四大组件、WebView等,通过逆向等方式发现应用内部存在的安全漏洞,如非必要导出的组件、WebVi
27、ew漏洞、证书校验漏洞等;02 应用漏洞检测针对应用提供的服务进行测试,包括应用自身提供的服务(如控车功能)以及应用使用的云端服务(如升级、数据上传)等。03 服务渗透测试2.2.5 应用安全渗透测试区别于传统汽车,智能汽车最重要的组成部分之一就是智能座舱,而智能座舱需要车机与许多应用来进行支持。整车应用安全渗透测试区别于其他类IOT安全测试,它只针对车机,且绝大多数车机都为Android操作系统,因此其与Android应用测试类似。除了车机应用之外,控车APP也是智能网联汽车安全场景下,应用安全渗透测试需要关注的目标。应用安全渗透相关的检测项目包括但不限于:整车安全渗透测试白皮书152.2.
28、6 数据安全渗透测试随着智能网联汽车的蓬勃发展,为了提供更好的用户体验,智能网联汽车需要时刻处理海量数据,针对这些数据中的敏感数据,是否完成合规传输、合规存储、合规销毁成为了汽车数据安全的重要判断依据。针对数据安全渗透测试,首先需要定义敏感数据,根据网络安全法、数据安全法、汽车数据安全管理若干规定等相关法律法规,可以概括为以下数据,包括但不限于:在进行系统安全渗透测试、通信安全渗透测试、应用安全渗透测试、业务安全渗透测试等测试过程中,关注以下重点:1.未授权、低权获取上述数据;2.获取的数据是否具备一定的加密措施;3.在通信过程中数据是否进行加密;4.在数据销毁后是否可以进行还原;5.数据是否
29、可在使用中篡改或篡改后使用。重要敏感区域相关数据;反映经济运行情况的数据;汽车充电网运行数据;人脸、车牌视频图像数据;基础设施数据;出口管制数据。针对移动网络通信,主要通过伪造基站、信号屏蔽等方式,测试是否存在通信劫持的风险;01 蜂窝移动网络通信安全测试整车安全渗透测试白皮书162.2.7 业务安全渗透测试智能网联汽车场景下的业务复杂,具体场景涉及车辆自身内部零部件、车辆与外部设备的多端联动以及其他云端交互的相关业务,如升级服务、充电服务、远程控车服务等。针对这些复杂的场景往往需要结合业务流程进行深度的分析和渗透,才能发现其流程中存在的潜在问题。针对业务流程的渗透测试主要包含以下几个部分:通
30、过篡改升级包固件、固件逆向、安全启动测试等手段,发现升级和系统启动过程中存在的安全问题;01 升级服务安全测试针对充电业务的安全测试,主要涉及充电桩的硬件、充电接口协议等分析,发现计费、电压控制等方面存在的问题;02 充电服务安全测试针对远程控车等服务,通过抓包观察和协议分析的方式,尝试构造控车指令,发现协议中可能存在的问题;03 远程控车服务安全测试针对云端服务的渗透测试,主要涉及权限类漏洞、注入漏洞、信息泄漏类漏洞等,通过对云端业务进行渗透测试发现云端服务存在的问题。04 云端服务安全测试针对移动网络通信,主要通过伪造基站、信号屏蔽等方式,测试是否存在通信劫持的风险;01 蜂窝移动网络通信
31、安全测试整车安全渗透测试白皮书17与一般的漏洞扫描不同,深度漏洞挖掘是通过逆向分析的方式,对系统中存在的未知漏洞进行挖掘;01 漏洞挖掘通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞,主要用于针对设备端开放端口的服务、web服务等存在输入处理的应用,通过分析fuzzing造成的异常堆栈,可以进一步构造攻击payload,从而获取目标应用的权限执行恶意操作;02 模糊测试针对部分私有通信协议,分析通信报文的格式、内容,获取其中包含的敏感信息,从而控制相关业务;03 协议分析结合业务的实际场景,分析业务可能存在的威胁,目标是验证从可能的威胁场景到造成实际危害的攻击链路的可行性,发现深层
32、次的问题。实际的业务场景往往比较复杂,有许多关联的资产信息、数据流等,存在复杂的攻击路径,除了基本的安全知识外,还需要测试人员对业务有着深入的了解。04 深度业务测试2.2.8 深度安全渗透测试深度渗透测试的主要特点是,不基于检测清单,不局限于已知漏洞,而是根据实际的威胁用于挖掘潜在的风险和漏洞,是最接近实际攻击者的角度的测试方法,深度安全渗透测试主要包含以下几个方面:概述01整车安全渗透测试白皮书1801 芯片电路分析首先可以通过肉眼观察的方式分析芯片丝印和管脚标注等一些暴露的信息,通过此方法可以发现一些相当有用的信息,比如知道了芯片生产厂商和具体型号就可以直接从公开渠道获得一些刷写调试工具
33、、芯片管脚定义说明等工具和资料信息。但一般这些标注信息会被隐藏,此时就需要使用一些专业的分析工具,如逻辑分析仪、示波器等,对管脚进行进一步的分析,通过分析可能发现一些未公开对外暴露的接口,如硬件调试接口、刷写接口等,并且可以通过飞线工具,实际连接这些接口观察其功能是否符合预期。这些信息将极大方便对设备后续的进一步分析;渗透测试方法和工具033.1 硬件安全渗透测试硬件安全渗透测试的常用方法有:图 7 芯片上的调试引脚整车安全渗透测试白皮书19有的芯片使用了一些特殊的封装方式,没有直接暴露的管脚,或者有屏蔽层隐藏了一些关键信息,不方便直接在原板上进行分析,这时可以使用如热风机等工具尝试将其拆卸下
34、来并放置到专用的底座上,方便进行后续的分析或提取等操作,或者使用物理拆解、化学侵蚀等方法拆解屏蔽层,暴露其内部隐藏的信息;03 安全模块测试安全模块的形态有多种,有独立的安全芯片模块,也有通过处理器提供的可信执行环境,如ARM TrustZone、Intel SGX等。针对独立安全芯片的分析,主要检测安全芯片的防护能力是否满足要求,如检测密钥是否存在泄露的可能,算法是否可以被逆向分析等。拆解的手段同样适用于安全芯片的信息获取,后续实际渗透测试主要采取的手段是侧信道攻击,如故障注入、功耗分析等,这是一种特殊的攻击手段,它基于从密码系统的物理实现中获取的信息而非暴力破解法或是算法中的理论性弱点。例
35、如:时间信息、功率消耗、电磁泄露等。侧信道攻击一般都需要用到专用的分析工具,如功耗分析仪等。而针对可信执行环境的分析则主要是对内部可信应用的逆向,发现存在的漏洞,获取可信环境中的敏感数据或执行特权指令,使用的主要是二进制逆向分析工具,如IDA等;图 8 拆解芯片分析引脚2.2 整车安全渗透测试整体框架整车安全渗透测试白皮书2001 OBD接口安全分析OBD接口是车辆当中比较重要和特殊的一个接口,作为诊断功能相关接口,如果没有严格的访问控制措施,外部人员可以直接接入车辆内部网络获取车辆运行敏感数据。所以一般针对诊断接口的安全测试主要使用专用的诊断分析仪,模拟诊断请求,观察车辆的响应数据从而判断是
36、否存在对接入的诊断设备进行身份验证的流程,是否可以直接获取敏感数据;02 USB接口安全分析USB接口多位于车机上,是直接暴露给用户的常用接口。一般的车机对外的USB接口功能仅限于多媒体文件的播放、应用安装等,但如果接口是否存在非预期功能,如调试、设备刷写等,外部可以直接获得车机的控制权限。一般测试方法主要包括使用存放了恶意应用或文件的USB存储设备,查看是否能够安装任意应用。此外,调试功能的测试主要使用adb、串口调试器等工具尝试获取调试连接。04 传感器干扰车辆中传感器的类型众多,尤其是具备自动驾驶功能的车辆,除了传统的音视频输入和GPS之外,还包括雷达(毫米波雷达、激光雷达等)、超声波传
37、感器等。针对部分通用传感器,可以采用一些物理输入干扰的方式,比如通过照片、图片、音频输入等方式对音视频传感器的测试;针对特殊的专用传感器的测试,则需要采用专用的设备,对特定信号进行干扰,如GPS信号干扰、雷达干扰等。接口安全渗透测试的常用方法有:3.2 接口安全渗透测试图 9 侧信道分析设备整车安全渗透测试白皮书213.3 通信安全渗透测试图 10 使用 charles 进行 HTTPS 中间人攻击通信安全渗透测试的常用方法有:01 通信流量分析通信流量分析是最为常见的通信安全渗透测试手段,通过抓取信道上的流量数据,往往可以发现一些关键敏感信息,如明文传输的密钥信息等,此外,也可以对通信内容进
38、行进一步分析,尝试破解通信协议、密钥等内容。针对不同的协议类型,使用的流量分析工具也各有不同,如常用的针对以太网的tcpdump和wireshark,针对蓝牙通信的nRFsniffer,针对CAN通信的CAN分析仪等;02 通信流量伪造除了被动的接收之外,发送任意构造的通信数据,观察系统的响应也是通信安全渗透测试关键手段之一。常用的通信流量伪造手段主要有数据包篡改、中间人攻击、数据包重放等,所使用的工具大部分和流量分析工具相同;整车安全渗透测试白皮书22图 11 GSM 伪基站测试设备03 伪基站测试针对蜂窝移动通信,可以采用信号屏蔽与伪基站结合的方式,使得原有的4G/5G通信降级为2G/3G
39、等,从而提升攻击面,此类测试需要用到专门的信号屏蔽和伪基站测试设备;04 中继攻击测试常见于针对蓝牙钥匙、NFC的攻击,通过信号放大、中继等方式,欺骗车辆某些基于信号强度测距的相关功能,误以为车主在车辆附近,触发开门、车辆启动等操作。此类测试需要使用专用的信号模拟工具;05 Wi-Fi安全测试针对某些带有 Wi-Fi AP功能的设备,通过空口抓包的方式可以尝试破解其接入口令,从而连接到车辆内部网络。此类测试使用的工具主要有Aircrack-ng、hashcat等;整车安全渗透测试白皮书233.4 系统安全渗透测试图 12 使用 hashcat 破解 Wi-Fi 口令系统安全渗透测试的常用方法有
40、:01 获取目标系统连接大部分系统安全的测试,需要登录到目标系统当中对系统进行分析,相应的,如果能够阻止攻击者轻易的获取目标系统的连接,也将大幅提升安全防护水平。一般情况下为了测试需要,在测试阶段往往会给测试人员提供一个具有部分权限的连接方式,方便进行一些进程、系统版本、网络情况等的检测,但是在系统正式上线后应该封闭此类连接通道。获取有效的目标系统连接的方式,一是通过硬件调试接口,其方法可以参考硬件安全测试和接口安全测试;二是通过对外暴露的服务,如远程调试服务、存在漏洞的开放端口的服务等,这里可以使用一些端口扫描工具来发现潜在目标,如nmap等;06 协议栈模糊测试通信协议栈的内部实现往往比较
41、复杂,传统的实现方式一般是通过C/C+等语言,很难避免内存漏洞的产生,而协议栈的主要功能就是处理网络信号的输入输出,非常适合采用模糊测试的方式进行漏洞挖掘。此类测试往往也有模糊测试专用工具,用于构造随机的异常协议输入数据包。整车安全渗透测试白皮书243.5 应用安全渗透测试针对这些APP,常用的测试方法与工具如下:01 脱壳分析针对加固后的应用进行分析,如果没法对加固后的应用进行脱壳,后续的相关分析无法进行。一般加固相关代码均为native代码,分析难度较大,针对少部分非商业化的加固工具可能会有自动化脱壳脚本,但大部分需要通过人工分析的方式进行,完整分析加固的逻辑流程或者通过hook壳的某些关
42、键方法来获取应用的原始逻辑;02 系统信息采集通过一个拥有部分权限的连接,可以针对一些系统的基本安全信息进行采集,包括内核版本、系统进程信息、安全相关配置信息、防火墙配置等。通过信息采集,可以获取很多关键信息用于确定后续漏洞挖掘的目标,如是否开启磁盘加密、获取到监听外部端口连接的进程二进制文件等;03 漏洞挖掘获取了目标系统的有限访问权限后,测试人员往往会通过漏洞挖掘的手段,尝试获得更高的权限,因为对外暴露的服务往往只有有限的功能,想要获取更高的权限,执行任意操作,就需要通过利用漏洞的方式进行提权。漏洞挖掘的方法一般有通过对服务输入内容进行模糊测试和通过对服务进程二进制文件进行逆向分析的方式,
43、其中模糊测试使用的一般都是专用的测试工具,逆向分析使用到的工具包括各类静态反编译和动态调试工具,如IDA、GDB等。应用安全测试(Android车机)需要对车机上搭载的APP进行分析,导出这些APP是前提。可以通过ADB进行提取:adb shell pm list packages/找到要提取apk的包名adb shell pm path com.example.XXX/定位apk所在系统路径adb pull/system/app/Xxx/xxx.apk./提取APK移动端APP一般都可以通过官方渠道获取。整车安全渗透测试白皮书253.6 数据安全渗透测试01 数据抓包分析针对通信过程中的数据
44、泄密进行测试主要采取的也是抓包分析的方法,但除了基本的文本数据之外,还需要关注某些特定的非结构化数据,如图片、视频等,方法和工具与前面提到的抓包分析类似;02 数据篡改测试对证书等关键敏感数据进行篡改,观察是否能够检测到相应的篡改,如果有数据校验的逻辑,还可以尝试通过逆向分析的手段对相关逻辑进行分析,发现是否存在绕过的可能。如果成功对关键数据,如密钥、证书等信息进行篡改,测试人员就能够绕过很多身份验证进行敏感操作。其中使用到的工具包括前面提到的逆向分析相关工具;02 静态分析针对车机上搭载的APP进行静态代码分析,捕捉其中可能存在的安全风险,针对不同类型的APP代码,分析手段也稍有不同。针对j
45、ava代码的静态分析主要分为两种,一种是阅读反汇编生成的Dalvik字节码或者查看反编译的smali文件,第二种是反汇编生成的jar包的java代码;针对native代码和采用某些特殊框架(如flutter等)的代码的静态分析则类似Linux二进制分析。常用工具有:JEB、JADX、IDA等;数据安全渗透测试主要关注的问题有数据传输、存储过程中的泄密,敏感数据的滥用、篡改等,其主要测试方法包括:03 动态分析APP的动态调试目前主要使用Frida完成,Frida是一款开源的动态分析工具,它通过在运行时注入JavaScript代码到目标进程中,实现对目标进程的监测和控制;04 抓包分析无论是车机
46、APP还是移动端APP,基本都会与云端进行通信,完成实时的更新、数据传输与交互,因此需要对这些流量进行抓取、重放、篡改等。主要采用的工具有burp-suite、charles等。整车安全渗透测试白皮书263.7 业务安全渗透测试01 针对升级服务的渗透测试升级服务渗透测试的目标是使得目标部件可以运行任意篡改过的镜像。升级服务安全保障的核心是安全启动,测试人员首先要通过固件提取和逻辑分析的方式,了解固件升级的相关逻辑,这里使用的主要工具包括binwalk等固件提取分析相关工具和IDA等二进制分析相关工具。此外,测试人员也会通过尝试刷写篡改后的固件进行升级测试,使用到的固件刷写工具则一般由对应零部
47、件供应商提供。其他的相关测试,如针对升级包下载存储过程的安全测试等,主要通过通信流量分析的方式进行;03 数据泄漏测试观察所有可能被外界获取数据的位置,是否可能存在未经保护的敏感数据,可能的位置包括文件系统、控制台输出信息等。使用的工具主要有远程连接工具,如ADB、SSH等。针对业务的安全渗透测试的具体方法随着目标业务场景和功能的不同,存在着一定的区别。其中比较常见的有:整车安全渗透测试白皮书2702 针对充电服务的渗透测试在充电相关业务中,最主要的功能涉及到和充电桩的交互。充电桩作为一个暴露在公共空间的独立硬件设备,硬件相关渗透测试方法和工具也同样适用于充电桩的渗透测试;此外,充电桩对外的通
48、信包括与车端的蓝牙通信、与充电平台的以太网通信等,这部分适用通信安全渗透测试的方法;03 针对控车服务的渗透测试控车服务的整体流程主要包括用户端APP发送控车指令、云端下发指令、车端执行具体指令等,渗透测试的目标主要是看能否通过重放等方式实现未授权的控车行为。主要方法首先是针对用户端APP的分析,通过逆向和抓包分析的方式发现通信的逻辑,具体方案和车机APP渗透方案类似,虽然用户端也存在iOS APP,但一般分析也还是以Android APP为主要目标;其次是针对车辆通信的分析,包括外部蜂窝移动网络、以太网通信的抓包分析和针对车辆内部CAN、以太网通信的抓包分析;04 其他针对云端服务的安全渗透
49、测试云端渗透测试主要分为云端业务应用渗透测试与接口渗透测试。与传统Web渗透测试类似,所需工具与手法类似,这里列举一些常用、通用和具有代表性的测试方法与工具:a)信息搜集通过端口扫描、域名扫描、接口扫描等方式挖掘云端相关资产。工具主要有Nmap、Oneforall、Subdomain、dirscan、jsfinder等等;b)抓包通过抓包工具对请求包进行测试和Fuzz,获得非预期的结果来判断漏洞是否存在。工具主要有Burpsuite、Yakit等;c)漏洞扫描通过一些成熟的自动化工具进行大范围或定向漏洞扫描。工具主要有AWVS、Nessus、Sqlmap(Sql注入)、Nuclei、Xray等
50、;对漏洞扫描与人工测试发现的漏洞进行漏洞利用,判断漏洞的可行性与危害。常用工具有metasploit、Pocsuite、Exploit-DB等。d)漏洞利用框架整车安全渗透测试白皮书2801 黑盒渗透测试通过模拟黑客的攻击手段,对目标系统进行模拟入侵,以充分挖掘和暴露系统的弱点。优点是完全以攻击者视角来实施攻击验证,尽可能深度暴露单点问题,并且能够充分测试客户安全运营的流程机制。而缺点是安全覆盖面小,人员投入过大,特别是在业务、软件分析的过程占据了大量时间和人力;02 白盒渗透测试在渗透测试过程中,测试人员可以获取到目标系统的详细信息,这些信息包括但不限于源代码、数据库结构、网络拓扑等。这种测