公司新闻

智能网联汽车行业安全解决方案

2018-12-22 23:53:31 551

目录        

前言. 2

国内智能网联汽车安全现状. 3

智能网联汽车安全风险分析. 4

操作系统安全:. 5

固件安全:. 5

整车安全检测:. 6

智能网联汽车安全检测解决方案:. 7

beSOURCE: 7

beSTORM: 7

Cybellum V Ray:. 8

Cybellum V Monitor:. 8

Zewer:. 8

安全检测工具相关汽车案例:. 10

beSOURCE 源代码审计. 10

beSTORM 自动化黑盒模糊测试工具. 11

Cybellum V Ray固件二进制漏洞挖掘与扫描. 13

Cybellum V Monitor 汽车固件监控

 前言

自从1886年第一辆汽车诞生以来,便捷性与安全性之间的矛盾就在愈演愈烈。2015年7月,黑客通过远程指令的方式“劫持“正在行驶中的Jeep自由光,并最终导致其翻车。一连串对智能网联汽车的攻击破解,使得人们对智能网联汽车的安全性画上了一个大大的问号。而让人最印象深刻的是2017年《速度与激情8》中,黑客通过入侵智能网联汽车自动驾驶系统,控制了上千辆无人汽车,其破坏力让人们留下了深刻的印象,也加速了人们对于智能网联汽车信息安全问题的深入审视。

7bf0abd9d882ac41f4dd8ec97bc243b8.png                                               

早在2015年国务院印发的《中国制造2025》中,就已经把无人驾驶汽车作为汽车产业未来转型升级的重要方向之一,“十三五”规划中更是提出要积极发展智能网联汽车的目标。2017年4月,由工业和信息化部、国家发展和改革委员会、科技部联合印发的《汽车产业中长期发展规划》中,明确提出到2020年,要培育形成若干家进入世界前十的新能源汽车企业,智能网联汽车与国际同步发展;到2025年,新能源汽车骨干企业在全球的影响力和市场份额进一步提升,智能网联汽车进入世界先进行列。

智能网联汽车的未来发展态势十分明确,那么如何才能解决日益凸显的便捷性与安全性之间的矛盾就显得极为重要。本方案将综合分析国内智能网联汽车的现状,并结合公司现有的安全产品与服务进行深入的探讨,最后介绍公司对于智能网联汽车的安全解决方案,希望能够帮助智能网联汽车企业解决潜在的安全性问题。

 b8914e32f1fc5d81a8c6b81e22d98ae6.png

国内智能网联汽车安全现状

作为物联网重要的节点之一,智能网联汽车具有十分显著的终端设备属性。智能网联汽车内部包含了车载传感器、控制器、执行器等装置,融合了现代通信与网络技术,从而实现车与(车、路、人、云等)的智能信息交换与共享。由于网联导致的汽车攻击面增加,信息安全问题是汽车智能化与网联化的必然产物,而国外整车厂和零部件厂商均在研发和探讨不同的应对策略和方案。

 

随着汽车智能化,网联化和电动化程度的不断提高,智能网联汽车信息安全问题日益严峻,信息篡改,病毒入侵等手段已成功被黑客应用于汽车攻击中,特别是近年来国内外不断频发的汽车信息安全召回事件。智能网联汽车的信息安全问题不仅能造成个人隐私,企业经济损失,还能造成车毁人亡等严重的后果,乃至造成国家公共安全问题。尽管当前智能网联汽车的安全漏洞尚未被广泛利用,但据统计,有56%的消费者表示信息安全和隐私保护将成为未来购买车辆的主要考虑因素。

 

国内汽车信息安全问题于近3年才逐渐受到广泛的关注,但是行业普遍缺乏系统认知,安全技术参差不齐,许多整车厂甚至没有单独的安全部门负责汽车相关的信息安全检测和排查。 为此,2016年工信部委托车载信息服务产业联盟网络安全委员会对国内自主及在华外资车企、终端、零部件厂商等15家单位展开调研。结果证实国内整车厂基本没有专门的信息安全管理机构,缺乏成体系的汽车安全检测体系。现有的TSP供应商在服务平台信息安全建设方面较为初级且缺乏系统性的解决方案,车主用户数据管理体系缺失,车辆系统安全漏洞修复机制匮乏,网联车辆用户实名认证无法保证等问题。


在汽车安全标准规范上,由于近几年对智能网联汽车安全的重视,国务院于2015年推出《中国制造2025》中提出要建立智能制造标准体系和信息安全保障体系,首次将汽车信息安全纳入国家发展战略。2016,国家发布《中华人民共和国网络安全法》,明确要求包括车厂、车联网运营商在内的网络运营商需“履行网络安全保护义务”,采取技术措施和其他必要措施,保障网络安全。此法与2017年6月1日证实实行,对网联车运营者提升网络安全意识,起到了极大的作用。

标准制定方面,全国汽车标转化委员会于2016年同步推出了《智能网联汽车标准体系建设方案》其中信息安全标准体系作为其重要组成部分,支撑着智能网联汽车标准体系的整体架构。2016年底,汽标委ADAS标准工作组开展了国内汽车信息安全标准制定及联合国、ISO等层面的国际汽车信息安全标准法规等协调工作。

 

总体来看,国内现阶段网联汽车安全方面仍然处于初级阶段,无论是汽车行业厂商,行业规范以及标准制定仍需多方面的完善。同时也需要第三方的安全供应商和咨询团队来帮助快速建立完善的网络安全体系,因而我们根据对现有网联汽车安全建设的理解,并结合自有产品总结了如下网联汽车相关解决方案。

智能网联汽车安全风险分析

从整体的趋势来看,车载终端类型和数量的不断增多,导致车载终端所面临的安全威胁类型也在不断增多,终端的节点层、车内传输层、终端架构层的安全风险将持续增大。车载终端的信息安全问题必须得到足够重视,系统分析漏洞与危险风险,实施有针对性的安全防护策略,并部署相关的安全解决方案,才能保证整体安全防护的有效性。

同时,智能网联汽车在移动终端、移动通讯网络、移动接入管理和业务平台之间的网络传输也需要引起重视。除此之外,随着未来智能网联汽车地不断发展,云端安全威胁也不容忽视。考虑到车联网中的数据采集上传方式和云端平台的海量数据储存的处理特性,需要匹配更为适合的云平台数据安全解决方案。

与传统的信息安全相同的是,针对智能网联汽车的各类入侵攻击依然需要利用不同维度,层面的安全漏洞方可实施,这意味着封堵软件和硬件(固件)与生态系统等维度传输协议层面的安全漏洞是当前解决智能网联汽车信息安全的重点。然而智能网联汽车的典型终端属性,又使其不能直接采用传统的安全解决方案,需要依照智能网联汽车的特性,有针对性的对传统方案进行修改和定制,从而深入智能网联汽车的生命周期,从智能网联汽车的SDLC流程中进行检测,从而防护和排除潜在的已知和未知漏洞。

 7caecdbfc9e5d60e8d1c845446c6c0b9.png

从上图可见,智能网联汽车安全整体生命周期中,不同的节点需要的不同安全技术与解决方案,其中包括“检测-保护-响应-恢复”四个节点。结合我们的产品和团队技术优势,此方案将重点聚焦智能网联汽车安全生命周期中的检测环节。

操作系统安全:

操作系统是智能网联汽车的核心部分,同时也是整个汽车行业的大脑,所有的应用都在操作系统上运行。当前主流的智能网联汽车分为两个方向:非开源和开源。其中非开源的系统完全由车厂自主开发,比如宝马iDrive。 开源的操作系统主要由Andriod, QNX 和 Linux。当前国内大部分车厂采用的都是Andriod 和 Linux的开源方案,虽然这样做可以极大限度的降低成本,但其自身带入的安全风险也不容小觑,如已知与未知漏洞,安全和健壮性的缺失等问题。操作系统的核心目标在于实现操作系统对系统资源的监控、保护、提醒,确保涉及安全的系统行为总是处于受控状态下,而操作系统的健壮性则主要取决于操作系统的源代码,源代码安全是整个操作系统健壮性(代码质量)和安全性(代码安全)的根本。通过对源代码进行静态审计,可以快速发现代码的潜在缺陷和漏洞,通过及时修正潜在的缺陷和漏洞,一方面可以提高代码健壮性,一方面也增加了操作系统的安全性。

固件安全:

固件是指保存在具有永久储存功能器件中的二进制程序。在微控制器为核心的ECU中,固件主要用于实现ECU的全部功能,其不但提供硬件的初始化、操作系统加载功能,同时也为上层软件有效使用硬件资源提供调用接口,因此是汽车系统中重要的组成部分。

 

随着智能网联汽车的普及和智能化程度的提高,ECU得到了广泛的应用,而作为ECU核心器件之一的微处理器和微控制器也随之呈现爆发式增长趋势。固件作为ECU系统额重要组成部分,以灵活、多样的形式方便用户的使用,但同时也为汽车信息系统带来了极大的安全隐患。针对固件安全问题,当前的重中之重主要集中在固件源代码无法提取、固件代码风险评估以及固件的安全加固的方面。例如在引入固件时,如何有效的检测其固件代码涉及的潜在公有和私有漏洞,是否存在信息泄漏,密钥暴露,固件加固,以及固件持续监控等问题。通过对固件二进制代码进行反汇编而形成的中间语言进行静态+动态的安全检测,可以有效的发现其中藏匿的安全漏洞以及安全风险,并帮组车厂快捷有效的解决固件安全问题。

 整车安全检测:

车辆安全检测主要针对CAN总线协议,ECU,T-BOX,以及车内不同的通讯协议(Wi-Fi,蓝牙,BLE)进行,通过检测发现其健壮性和系统的安全异常。以CAN总线检测为例,需要在检测时对CAN总线同其他总线的操作性进行评估,以便了解CAN总线同其他总线的交互能力是否存在潜在的缺陷和异常;同时需要对其健壮性做评估,判断在总线上发送干扰是否能够引起整条CAN总线的异常和崩溃。

通过对对应的协议和测试目标进行安全健壮性的模糊测试可以有效的发现其中潜藏的缺陷以及异常,并通过对输入的模糊数据报文进行回放和复现,从而定位相关的问题并进行重点的修正,极大程度的减少整车的潜在安全和健壮性问题。

综上所述,从智能网联汽车安全生命周期管理DPRR的检测(D)节点出发,其中包含了代码安全审计,固件漏洞扫描,以及整车安全检测三个维度。贴合汽车生态的SDLC流程,从最初引入源代码安全质量审计,到对固件二进制进行反汇编安全漏洞风险扫描,到最后的整车安全检测,全方位的对智能网联汽车生命周期中可能存在的安全风险进行检测,从而最大程度的做到防患于未然,帮助汽车厂商更加快捷有效的发现并修正潜在的安全漏洞与缺陷。

 智能网联汽车安全检测解决方案:

由于智能网联汽车的普及:

l  使我们日常生活中的汽车暴露了许多可以被黑客攻击与利用的攻击面,其中包括作为汽车最后一道防线的CAN Bus总线,车载Wi-Fi, 蓝牙,USB和多媒体文件等。

l  由于汽车内搭载部件的功能越来越复杂,部件的供应链条越来越繁琐,整车厂对于采购固件的内部代码与安全性越来越难以管控和排查。

l  由于自动驾驶和娱乐系统的升级与普及,整车厂仍然在进行一定量级的研发与产品开发,但由于整车厂研发人员并不像传统IT人员一样拥有较高的安全开发敏感度,所以对源代码安全的管控与审计也变得日益重要。 

针对以上问题,Beyond Security设计出了一套针对现代智能网联汽车的安全检测解决方案,其中涵盖了源代码安全,整车安全,固件安全等维度。以求通过自动化的高效方式帮助整车厂更好的检测和管控上述的安全问题。

其方案主要涉及了以下产品:

beSOURCE:

无需编译运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷。为了保证源代码的安全和减少源代码的质量缺陷,引入静态源代码检测机制,保障软件的安全与质量。静态代码检测能够发现软件源代码中的安全和质量问题,并对相应的问题进行定位,提供相应的修正方案。静态代码检测有助于在早期发现潜在的代码安全和质量问题,如:变量声明但未使用、变量类型不匹配、变量在使用前未定义、不可达代码、死循环、数组越界、内存泄漏等。

 beSTORM:

模糊测试是传统安全测试中十分有效的技术,是近十几年发展起来的一种健壮性/漏洞挖掘技术,现实网络中可能存在各种报文的攻击,模糊测试通过大量的畸形报文攻击尝试去触发设备中的未知漏洞与缺陷,与传统的安全测试方法相比,它无需接触源代码,并且能够发现隐藏的漏洞和相关协议的健壮性问题。


模糊技术也是黑客们进行攻击时常使用的一项攻击技术,在世界安全黑帽大会上就曾出现黑客利用对TLV协议的内容进行模糊,从而通过产生的畸形数据进行攻击,并成功的对Cisco Energy Wise注入恶意木马。 所谓知己知彼,为了更好的对漏洞和攻击进行防护,我们需要像黑客一样去逆向思考,从而找到漏洞的根源所在。

Cybellum V Ray:

针对固件二进制的安全漏洞和风险检测技术,提供基于二进制码的反向编译、虚拟运行,无需接触源代码,自动的检测与发现安全漏洞与威胁。同时为汽车企业提供完整的组件可见性和风险评估。自动遍历和扫描固件二进制文件以查找所有潜在的已知安全漏洞和安全威胁。并以已知和私有漏洞的利用方式为样本,通过机器学习提炼攻击算法,从而通过虚拟运行发现二进制文件中的未知漏洞。为扫描的组件提供全面的网络安全可视性。

 Cybellum V Monitor:

通过对Cybellum V Ray扫描过的固件进行持续的舆情监控,帮助整车厂进行固件的事后跟踪和防护。V Monitor在公有,私有和暗网源中针对相关固件的框架结构和扫描结果,自动的匹配最新相关漏洞和威胁信息。可以与整车厂(OEM)库存管理系统集成,自动关联装载问题固件的车辆,提高问题和风险修正的效率。帮助整车厂对已部署的汽车固件进行更好的漏洞威胁跟踪管理和进行及时的防御和整改。

 Zewer:

集中审计管理平台,通过Zewer可以与上述4款工具集成,对整个智能网联汽车的安全缺陷检测进行整体的管控和跟踪。支持针对缺陷跟踪的缺陷数据自动导出,自动生成工单。支持的缺陷跟踪系统有:Jira, Bugzilla, Redmine, SMCC等。个性化的分析图表可以依据安全标准,策略基线,修复优先级等维度进行统计和比对。丰富的接口以匹配更多的第三方工具如Checkmarx, Fortify SCA, Findbugs 等。在平台级别引入缺陷知识库,库中可以对不同的扫描结果进行黑名单(漏报)和白名单(误报)的增设解决可能出现的漏报和误报问题。

结合以上的5款安全产品,从代码编写的安全质量到整车的安全健壮性检测,汽车厂商可以全方位的对潜在的漏洞与威胁进行防护和加固。如下图所示:


由上图所示:

e6a09029e9841c918c6a51996c8e834f.png

 

从整车厂à一级供应商à二级供应商,可以利用Cybellum V Ray, beSOURCE和beSTORM进行从源代码(代码编译前);固件二进制(代码编译后);开源框架;整车协议和不同媒体格式的全方位安全漏洞与威胁的检测与修正。在不同层级对质量与安全方面进行验收,在流程上更好的管控潜在的漏洞与安全风险。(事前)

在汽车组装完成后,可以利用Cybellum V Monitor对车内已经部署的固件进行持续跟踪。如已有的固件框架发现新的漏洞或基于V-Ray的扫描结果发现新的威胁,V-Monitor将会在第一时间通知整车厂,车厂可以第一时间利用TSP云平台或OTA进行远程的软件补丁修正或及时采取必要的措施。(事后)

最后通过Zewer集中审计管理平台对beSOURCE, Cybellum V-Ray, beSTORM 和 Cybellum V-Monitor的结果进行集中管理和汇总,并匹配对应的缺陷跟踪系统进行有序的修正和跟踪。同时根据可能出现的漏报和误报,制定针对与不同工具的黑白名单,持续改进车厂对于安全漏洞和缺陷的检测和管控,做到防患未然。

 安全检测工具相关汽车案例:

beSOURCE 源代码审计

对汽车部件中经常涉及的OpenSSL开源框架进行源代码审计,排查其源代码是否涉及潜在的安全违规与安全风险,并在源代码级别进行整改,提高源代码的安全性。(OpenSSL : 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试。主要是通过多种数据加密技术,保证信道的安全,使传输的IPV6净核数据不被窃听或截取。)

测试的结果:

315a07fb725a771669467c68d42ae8d9.png

根据beSOURCEC语言安全规则集,OpenSSL开源框架中有483个文件涉及高危的代码安全编写违例。另外有16个文件涉及高风险的安全违例,485个文件涉及中等风险的安全违例。

beSTORM 自动化黑盒模糊测试工具

汽车行业案例一:

车载娱乐系统测试

日本某汽车厂商娱乐系统安全测试,该测试耗时2天,并提供了两种不同类型的娱乐系统供测试。测试范围对蓝牙,USBWi-Fi三种协议和文件格式进行了模糊安全测试。最终这次测试所发现的关键性问题如下。

1.       USB相关

发现两种不同类型的USB消息会触发系统的硬锁,在第一个测试对象上,需要硬重启(拔下汽车电池)以获得重新的响应。而在第二个测试对象上,USB子系统变得不可用 (它不能再被用作歌曲和媒体的外部源)。请注意,此行为通常表示攻击要么可以写入正常无法访问的程序内存位置,要么可以导致执行导致系统崩溃的恶意代码。如果这种情况实际发生,熟练的攻击者可以使用它来进一步访问系统进行进一步的渗透。

 2.  WAV媒体文件相关

发现在第一个测试对象上,显示器被冻结,不再对输入作出响应,系统的信息部分不可访问,但与信息系统无关的其他信息仍然可访问。在第二个测试对象上,娱乐系统显示器明显出现反应迟缓并滞后于用户提供的命令,并出现超过1秒的系统延迟,即使移除媒体文件(拔掉USB)后系统仍未恢复,只能重启软件才能恢复正常(重启汽车)。

 3.  与蓝牙相关

对于第一个测试系统,我们尝试了两种类型的蓝牙通信(RFCOMM和免提协议),格式错误的RFCOMM消息导致系统与连接对象断开连接,并且不允许在超过1分钟的时间内重新连接,这给系统用户造成了很大的困扰,因为没有迹象表明为何用户不能通过蓝牙与娱乐系统进行连接。 在第二个测试对象上,无效的RFCOMM消息仍然会导致断开,但系统在5-10秒内恢复并允许用户再次与系统重新连接 - 所以断开效果减弱。

 汽车行业案例二:

CAN Bus总线协议模糊测试

测试项目背景:现今CAN Bus总线协议广泛应用于汽车行业。 使用该协议的汽车产品和系统的开发一直在以惊人的速度发展,但CAN Bus总线技术在如今网络安全十分敏感的今天暴露出了它的缺陷,由于它设计之初没有考虑到通讯安全的因素,甚至连关键的高速CAN Bus部分也能随意访问,因为我们访问CAN Bus总线上的信息是不需要身份验证过程的,所以给了黑客们攻击汽车的可乘之机, 利用模糊攻击与渗透等技术手段,黑客们经常发现许多汽车产品和系统(比如:ECU)的非重复性安全漏洞。

测试方法:为了解决这个问题,我们开发了一套CAN总线应用和设备的安全测试套件。 它由动态安全模糊测试工具beSTORMCANbuster ECU模拟器组成。对于CAN总线安全测试,beSTORMCANbuster联合使用,CANbuster可模拟车辆电子控制单元(ECU),并允许QA在实验室环境中测试与模糊各个系统组件。(以下图为例:)

7b46b55668a3e79fe83a64bdecd8cb7f.png

1.电源,在右上角。

2. YJ1962 连接线,在底部。

3.汽车HUD装置,中间底部。(测试对象,现实情况为产品和应用,如ECU等)

4. CANbuster设备,右侧中心。

5.笔记本电脑上的beSTORM,左侧。

测试结果: 通过上述的测试方法,我们测试的ECU设备提出了许多致命的缺陷,因为它们在开始测试的几分钟内重复的崩溃,并且它们允许编程非法输入代码并呈现为显示和声音的错误。这些都是黑客入侵的早期指标,经过进一步调查后,可能会导致对ECU设备进行某种程度的非法输入控制。 

Cybellum V Ray固件二进制漏洞挖掘与扫描

汽车案例一:某美国汽车厂,车载娱乐信息系统二进制文件漏洞扫描与挖掘

1b16b3a9d2b00d53f17556d89dcb004b.png


通过对其车载娱乐系统的二进制文件进行静态扫描与动态模拟,Cybellum V Ray 发现了13个安全风险,其中涉及未知漏洞(私有漏洞)3个,公有漏洞4个,潜在密码泄露和未加密信道 2个,信息泄漏风险 2个,以及二进制文件中违反了两处国际的汽车安全规范。其中在对二进制文件进行分析时,也发现其车载娱乐系统文件中有采用以下开源框架。

aeb2dfbfdaec4ee20a0ee7ce2d81d64a.png


 

汽车案例二:

某德国汽车厂 ECU二进制文件漏洞扫描与挖掘

试项目背景:这次评估的目的是去测试汽车中最重要的ECU部件,该部件在之前已经通过相关的安全检测并证实为安全。目标是全面了解其组建的成分和漏洞-从公开漏洞到未知漏洞并且提供响应的可操作的方法。

测试方法:在测试部件的过程中,我们一共使用了两种Cybellum V Ray自动扫描的科技和评估方法。第一种是静态的分析,包含了通过自动化二进制反编译提取和访问所有的数据和元数据,以此为部件制造商的安全部门提供一个有关其部件内部成分的全面解析。同时从泄露的加密密钥到易受攻击的过时组件中,分析可以被黑客基于静态识别利用的潜在安全问题。与此同时,通过在专有环境中执行该组件来进行动态扫描和评估。

结果:在收到零部件制造商的封闭二进制文件并建立环境后的几天内,V-ray解决方案便生成了一份全面的动态报告。这份报告包含了超过七十个的未知零日漏洞,分为不同的等级和严重程度,使产品所有者和安全部门成员可以优先管理和减轻严重的威胁。作为评估过程中的一部分,每一个漏洞都被Cybellum的安全专家和汽车零件制造商的安全部门验证, 在这个过程中,所有的被V-Ray所检测出来的安全威胁都被汽车零件制造商所接受。

fc7eda2d8fbb3622d4772626c29b552b.png

Cybellum V Monitor 汽车固件监控

某美国汽车厂商,在通过Cybellum V Ray对其固件进行漏洞的挖掘与扫描后,通过Cybellum V Ray对已部署的整车固件的漏洞与安全威胁进行持续的监控并发现了如下问题:

c7900120e30a34283fc98efe874f1e0c.png

对于其固件二进制文件中的libssl模块,发现其中的已知漏洞CVE-2016-4565在暗网中有对其进行相关利用和渗透方法的交易记录,表明这个已知漏洞的利用方式已经在网络中散布。并通过关联美国汽车厂商的存货管理系统,发现这个已知漏洞的危险将有可能影响4,000,079辆汽车。除了这个威胁,我们还监控到潜在的信息泄漏风险与libssl模块的新已知漏洞CVE-2018-2416