APP下载

车联网移动APP信息安全研究与分析

2021-06-28于明明宁玉桥刘天宇郭振

汽车零部件 2021年6期
关键词:安全漏洞漏洞远程

于明明,宁玉桥,刘天宇,郭振

(中汽数据(天津)有限公司,天津 300380)

0 引言

车联网是一种典型的复杂网络系统[1],它是以车内网、车际网、车载移动互联网等多种新一代信息通信技术为基础,根据提前约定的通信协议以及数据交互标准,实现物理空间中的车与X(人、车、路、云端等)全方位的网络连接以及数据交互的大系统网络,能够为智慧交通、信息通信等多行业融合协作提供综合信息服务。

智能网联汽车作为车联网快速发展的产物,不再是一个单独的机械个体,车上搭载的联网部件日益增多,与外部链接的接口不断增加。各大主流汽车制造商为了进一步适应市场需求,给消费者提供更加智能化、便捷性的服务,对车辆与个人设备进行更多的整合,推出了各种定制化的车联网移动APP,使消费者可以对汽车进行远程控制,例如远程启动车辆、开启空调等功能也成为智能网联汽车的一大卖点。

车主通过对移动APP进行操作,使用Wi-Fi或者蜂窝网络(3G/4G/5G等)发送远程控制指令到TSP服务器,TSP服务器与T-Box进行交互,实现对汽车的远程控制等功能,例如远程开启空调、车辆预热等。

移动APP作为车联网重要组成之一,在给用户带来便利、快捷的同时,因为其应用广泛而且易于获取的特点,逐渐成为黑客重要的攻击入口。

一方面,由于移动应用开发成本低和Android本身系统生态开源等特点,移动应用逆向新技术和新方法不断涌现。攻击者可以很容易通过反编译或者动态调试的方式对应用程序包进行破解,从而获取通信密钥、对通信协议进行分析等,并结合车联网的远程控制功能,进一步通过劫持、伪造篡改汽车远程控制指令或者重放攻击,从而达到干扰用户正常使用和操控汽车的目的。与此同时,车联网移动APP作为跳板,攻击者通过对WiFi/蓝牙等无线通信方式进行攻击进一步渗透到智能汽车内部,从而对车联网控制关键部件进行渗透攻击。

2016年来自挪威安全公司Promon的专家通过对用户手机进行入侵,窃取到特斯拉APP账户用户名和密码,通过登录特斯拉车联网服务平台可以实现对车辆的远程控制,例如:解锁车门、启动引擎、车辆位置查询、追踪等。最终导致车辆被盗,给用户造成严重的财产损失[2]。

2020年8月,国内某特斯拉车主爆料,在使用特斯拉APP时,操控自己汽车时,突然发现APP中无法找到自己绑定的车辆,意外出现其他五辆特斯拉车型,通过车载定位后发现所有车型均位于欧洲。此外,车主通过使用特斯拉APP内的远程控制功能,可以实现启动引擎、解锁车门、开启空调等操作。

随着汽车网联化和智能化程度的不断提高,如何解决车联网移动APP愈发凸显的便捷性与安全性之间的矛盾尤为重要。

1 车联网移动APP安全威胁分析

通过对当前智能网联汽车移动APP的安全现状进行深入研究与分析,发现车联网移动APP的安全威胁主要来自以下4个方面,分别为客户端安全、数据安全、通信安全、业务安全,具体如图1所示。

图1 车联网移动APP主要安全威胁

1.1 客户端安全

客户端安全威胁主要包括配置安全、组件安全和代码安全。配置安全是指移动APP在正式发布前没有将Debug属性、allowbackup属性设置为false,造成移动APP存在调试风险、任意备份风险;组件安全是指APP在发布前没有对activity、service、content provider、broadcast receiver组件的exported属性进行合理设置,造成组件暴露风险;代码安全是指移动APP在发布前没有进行代码混淆和加固,攻击者利用dex2jar、Jadx、apktool等反编译工具,很容易就能获取到APP的源码,主要存在签名校验风险、Dex文件反编译风险、so文件反编译风险。

1.2 数据安全

车联网移动APP在使用的过程中,会在车主手机中存储用户信息,如开发者安全意识薄弱没有对用户的隐私信息进行加密处理,而是直接通过明文的方式存储于车主手机中,黑客只需要用户手机进行ROOT,理论上可以窃取用户的全部个人信息。此外,通过adb或者monitor查看实时打印日志,如果日志的输出没有做好等级控制,则存在敏感信息(用户名、密码等)泄露的风险。另外,为了保证数据的隐私和机密性往往对数据进行加密处理,密钥的安全存储至关重要,如果密钥被泄露,加密数据的安全性将荡然无存。数据安全面临的安全风险主要包括Shared Preference数据明文存储风险、SQLite数据明文存储风险、Logcat日志数据泄露风险和硬编码风险。

1.3 通信安全

车联网移动APP与TSP进行通信的过程中,大量用户隐私信息被传递,如果数据传输过程中没有对关键数据流量进行加密处理,则容易造成车辆或者用户隐私信息的泄露。此外,V2X通信过程中会传递大量的汽车远程控制信息,如车-人通信过程中用户通过车联网移动APP远程操控汽车,在此过程中如果未对通信双方身份进行认证,攻击者可以对通信报文进行劫持和篡改,对伪造的通信报文进行重放攻击[3],以达到操纵车辆的目的,对驾驶员的生命安全造成严重威胁。另外,攻击者可以通过对车辆进行大量的重复试验,以此获得通信协议的相关先验知识,进而通过伪造汽车远程控制报文的方式对车辆发起攻击[4]。通信安全威胁主要包括不安全的通信协议、不安全的身份验证、关键数据未加密等。

1.4 业务安全

此部分安全风险主要是指开发者没有严格地按照移动应用开发准则进行开发,对车联网移动APP的业务逻辑、功能模块处理不当,主要包含身份鉴别风险,例如任意用户登录风险、登录密码爆破风险、账号注销安全风险等;验证码机制风险,例如:验证码爆破风险、验证码回显风险、验证码无限发送风险等;支付机制风险,例如支付金额篡改风险、商品数量篡改风险;远程控制风险,例如汽车控制指令篡改风险、汽车控制指令重放风险;通用型Web漏洞风险,例如SQL注入漏洞、XSS漏洞、越权访问等。

2 车联网移动APP安全测试与分析

车联网移动APP作为与汽车交互的主要入口之一,如果车联网移动APP出现信息安全问题,将会给汽车造成难以估量的安全威胁,如何保证车联网移动APP产品的信息安全至关重要。通过对当前车联网移动APP的安全现状进行了深入研究:针对市场上已经发布的、活跃度较高的40款车联网APP(Android版)综合运用渗透测试、逆向分析等方式,分别从客户端安全、数据安全、通信安全、业务安全等4个方面对客户端软件及通信链路安全性进行全方位深层次的安全测试,最后对测试结果进行归纳统计与分析,评估当前汽车行业车联网移动APP的信息安全水平。

2.1 安全漏洞数量统计

如图2所示,从安全漏洞数量来看,40款车联网移动APP都存在不同数量的安全漏洞,平均每款APP含有的安全漏洞数量为3.3个,APP_21出现的安全漏洞数量更是达到10个。

图2 APP安全漏洞数量统计

2.2 安全漏洞类型数量统计

如图3和图4所示,任意备份漏洞、敏感信息明文存储、短信重放攻击3种安全漏洞类型出现的次数较多。其中,任意备份安全漏洞出现次数最多,达到22次,占比高达16.3%。

图3 不同安全漏洞类型出现次数统计

图4 不同安全漏洞类型出现次数占比统计

2.3 安全漏洞危害等级统计

按照漏洞的利用方式、影响范围、攻击后果等情况,可以将漏洞分为低危、中危、高危、严重共4种危害等级。对40款移动APP安全漏洞的危害等级统计结果如图5所示。总体安全漏洞类型以中危、低危为主,其中低危漏洞出现的次数最多,达到59次,占比43.7%;中危漏洞出现的次数次之,为58次,占比43.0%;高危漏洞出现次数为17次,占比12.6%;严重漏洞出现次数最少,为1次,占比0.7%。

图5 不同危害等级安全漏洞数量及出现次数占比统计

2.4 加固方式统计

APP进行安全加固可有效阻止反汇编分析,防止被破解、二次打包、恶意篡改等,是维护APP安全的重要防护手段。如表1所示,40款网联汽车APP中,有七成左右的APP进行了安全加固处理,仍有近三成的APP未进行安全加固。

表1 加固方式统计

3 车联网移动APP安全防护策略

通过对以上测试结果的分析发现,每款车联网移动APP都存在不同程度的安全问题。安全水平参差不齐,每款移动APP存在的安全漏洞数量、类型不同,危害程度也不尽相同,主要以中低危安全漏洞为主。此外,仍有10款APP未做加固防护处理。汽车行业车联网移动APP安全现状整体令人担忧。

随着车联网进程的不断推进,智能网联汽车将持续向网联化和智能化互融协同发展,车联网移动APP作为其外部生态重要的接入点之一,未来应用场景越来越广泛,随着黑客攻击手段不断更新,面临着越发严峻的安全威胁。搭建全方位、多层次纵深防御的安全防护体系,保证车联网移动APP的安全性尤为重要。

如图6所示,从客户端安全、数据安全、通信安全、业务安全等4个方面对车联网移动APP进行安全防护,以提高车联网移动APP的信息安全水平。

图6 车联网移动APP安全防护

3.1 客户端安全防护

移动应用往往基于通用架构进行开发设计,安全逆向技术成熟,常成为攻击者进行协议分析和发起网络攻击的突破口。在应用正式发布之前,对主配文件Android Manifest.xml进行合理地配置,关闭Debuggable、allowBackup属性,同时关闭不需要与外界进行数据交互组件的exported属性,防止因为不合理地配置,造成移动应用安全风险。同时,与国内外专业安全公司开展合作,通过代码混淆、字符串加密、变量名数字化、反调试等方式对车联网移动APP进行安全加固,防止移动应用被恶意破解、二次打包、逆向分析等。此外,在应用发布之前,邀请安全团队对车联网移动APP开展安全渗透测试,寻找漏洞并进行修复,借助安全厂商的力量提升车联网移动APP的安全。

3.2 通信安全防护

车联网环境中的车辆不再是一个独立的机械个体,而是借助各种通信手段和对外接口实现与外部终端进行数据交互。因此保证车联网移动APP自身安全以及提供安全可靠的对外通信策略对车辆与外部终端的连接和通信安全至关重要。

在车联网移动APP与TSP服务平台通信的过程中,使用HTTPS的安全通信协议,增加攻击者窃听破解的难度,同时使用基于公钥架构(Public Key Infrastructure,PKI)[5]的身份认证机制在每次通信时对车联网移动APP与TSP服务平台进行双向认证,保证通信双方的合法性。此外,在通信的过程中对关键数据流量进行加密处理,防止中间人攻击和重放攻击。

3.3 数据安全防护

车联网移动APP在使用的过程中,会在本地手机端存储部分用户敏感信息,例如手机号、登录密码、车辆Vin码等。采用加密的方式对移动端的文件、数据库等多种格式数据内容进行安全存储,以免数据在移动终端存储不当造成数据泄露。同时,防止密钥被泄露,避免将密钥硬编码到代码中,采用密钥分散技术和白盒密钥加密技术,提高密钥的安全性。

3.4 业务安全防护

开发者应遵循移动应用的安全开发流程以及安全开发规范,将安全意识融入到软件开发生命周期的每个阶段。同时,开发人员应积极参加软件安全开发生命周期(S-SDLC)[6-7]培训,强化开发者的安全开发意识,严格按照安全开发规范进行开发。

4 结束语

文中首先分析了车联网体系中车联网移动APP所面临的安全威胁。然后对40款车联网移动APP进行全方位的信息安全测试,对测试结果进行分析与总结,评估当前汽车行业车联网移动APP的信息安全水平。最后给出了车联网移动APP的安全防护策略。

猜你喜欢

安全漏洞漏洞远程
漏洞
远程求助
远程工作狂综合征
刍议计算机软件中的安全漏洞检测技术
智能设备安全漏洞知多少
侦探推理游戏(二)
计算机软件安全漏洞检测技术
漏洞在哪儿
视频、Office漏洞相继爆发
波音757-300中远程客机