2020年8月24日,中国软件评测中心发布了首批车联网移动App信息安全测评工作结果,引起业内反响,多家车企密切关注并咨询相关测评内容。中国软件评测中心基于此次活动,为车企整改安全风险、提升App安全防护能力提供了专业、可靠的第三方服务。
为进一步扩大活动范围,推动网络安全合规在汽车行业的应用,中国软件评测中心在9月启动了第二批车联网移动App——智能出行App信息安全测评工作,现将测评活动结果发布。
一、测评样本
本次测评的21款智能出行App按照用途可分类为:打车类和租车类。其中,打车类App共7款,租车类App共14款。具体信息如下:

二、测评结果
分析测评结果可以得出,21款App检出率排名前十的潜在安全风险包括:Activity组件导出风险、代码残留URL信息检测、.so文件破解风险、调试日志函数调用风险、反射调用风险、Broadcast Receiver组件导出风险、未使用编译器堆栈保护技术风险、Service组件导出风险、加固壳识别、Java代码反编译风险。

图1 安全风险检出率统计
其中,所有潜在安全风险高危风险前十包括:加固壳识别、Java代码反编译风险、WebView明文存储密码风险、WebView File同源策略绕过漏洞、密钥硬编码漏洞、动态注入攻击风险、动态调试攻击风险、InnerHTML的XSS攻击漏洞、未移除有风险的WebView系统隐藏接口漏洞、篡改和二次打包风险。

图2 高危安全风险检出率统计
三、高危安全风险的分析与建议
(1)加固壳识别
测评发现,部分App未进行加固处理,面临反编译风险;还有部分App采用通用加固方案,加固强度较低、加固方式较为普遍,无法有效防止反编译工具的破解,容易被脱壳并且反编译。
建议:使用专业、定制化的加固方案。
(2)Java代码反编译风险
测评发现,部分App存在源代码被反编译而泄露关键信息的风险。由于反编译后可以获取应用程序代码,客户端与服务端的通讯方式、加解密算法、密钥、转账业务流程、软键盘技术实现等等内容均可以被暴露出来。利用这些信息很容易窃取客户端的敏感数据,包括手机号、密码;截获与服务器之间的通信数据;绕过业务安全认证流程,直接篡改用户账号信息;对服务器接口发起攻击等。
建议:使用具有防反编译功能的加固方案。
(3)WebView明文存储密码风险
测评发现,部分App应用的WebView组件中存在使用明文保护的用户及密码。通过本地明文存储的用户名和密码,很容易其他恶意程序通过提权或者root的方式访问该应用的WebView数据库,从而窃取用户登录过的用户名信息以及密码,引起用户数据信息泄露。
建议:通过设置WebView.getSettings().setSavePassword(false)关闭WebView组件的保存密码功能。
(4)WebView File同源策略绕过漏洞
测评发现,部分App应用WebView的File域协议中存在同源策略绕过的漏洞。恶意应用通过该漏洞,可在无特殊权限下盗取应用的任意私有文件,获取到浏览器所保存的密码、Cookie、收藏夹以及历史记录等敏感信息,从而造成敏感信息泄露。
建议:对于不需要使用File协议的应用,禁用File协议,显式设置WebView.getSettings().setAllowFileAccess(false);对于需要使用File协议的应用,禁止File协议调用JavaScript,显式设置WebView.getSettings().setJavaScriptEnabled(false)。
(5)密钥硬编码漏洞
测评发现,密文被破解后发现,App内存在密钥硬编码,整个加密算法形同虚设。2019年便发生过一起MyCar App留下硬编码凭证导致数万辆汽车被攻击、被跟踪位置和实时访问的安全事件。
建议:使用专业的加固方案;密钥加密存储;或使用动态方式生成密码。
详情欢迎联系:
电话:86-010-88559367/9245;
邮箱:CCIDICV@cstc.org.cn。
中国软件评测中心智能网联汽车测评工程技术中心,依托智能网联驾驶测试与评价工业和信息化部重点实验室,拥有“工业和信息化部智能网联汽车软件检测中心”资质,致力于为整车企业、零部件供应商和车联网企业等提供专业、安全、可靠的第三方测评及咨询等服务。
作者:智能网联汽车