目录
车企App普遍面临的攻击风险
技术风险
合规风险
《白皮书》提供两大安全解决方案
App加固
App隐私合规检测
近日,顶象发布《车企App安全研究白皮书》。该白皮书总结了目前汽车公司App所面临的主要技术威胁和合规风险,详细分析了这些风险产生的原因,并提供了相应的安全解决方案。
现在,自有App已成为各汽车品牌的标配。这些汽车厂商的App不仅可以帮助用户实现远程开启空调、门锁、启动车辆等常用功能,还提供购车、购买配件、维修、保养等基本服务。此外,它们还肩负着优化车主用车体验、构建品牌私域流量池等新任务,成为汽车企业与用户关系运营的重要渠道。
随着车企App成为汽车交互的主要入口之一,隐私和安全问题的出现也日益频繁。具体而言,车企App面临着技术和合规两种风险。
车企App普遍面临的攻击风险
技术风险
主要是包含Root、模拟器攻击、验证码爆破风险、系统API Hook、代理环境、反编译、二次打包、通信、密码爆破、so文件、签名校验、动态调试、进程注入、数据明文储存、Logcat日志、任意文件上传、SQL注入、XSS漏洞等风险。
Root风险。Root代表绝大部分移动设备的使用者能够掌握到的最高权限,使用户拥有了修改系统文件的权限,甚至可以控制账户、增加或删除硬件等。在Root环境下,App可以随意访问任意应用储存的任何数据,造成数据泄露、数据非法篡改等风险。
模拟器风险。模拟器是一种“仿真”程序,可以在电脑安模拟出一个独立的手机环境,最初是用于开发过程中调试、测试、模拟运行等。模拟器可以让攻击者监控应用关键函数、获取应用敏感数据、破解应用的目的,也可以采用多开方式手动操作或是结合模拟点击,成为黑灰产牟利的工具。
验证码爆破风险。用户使用手机号+验证码的方式进行登录时,短信验证码大部分情况下是由4~6位数字组成,如果没有对验证码的失效时间和尝试失败的次数做限制,攻击者就可以通过尝试这个区间内的所有数字来进行暴力破解攻击。同时,如果没有对验证码的发送次数进行限制,可以对同一手机号或者不同手机号无限次发送,存在恶意调用接口发送短信的风险,造成短信发送平台花费大量的短信费用,且易造成骚扰短信,影响用户的正常使用。
Hook风险。Hook技术是一门广泛用于计算机攻防对抗的技术。可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息进行处理。攻击者利用hook手段对APP进行脱壳、内存截取/修改等操作。
代理环境风险。App应用运行在代理环境下,通信过程能被中间人截获,造成用户请求伪造、重放攻击、敏感信息泄露等威胁。
反编译风险。反编译就是逆过程,高级语言源程序经过编译变成可执行文件,反编译出的App代码未做任何保护,信息数据、功能流程等都被暴露,攻击者能够完整地分析 App 的运行逻辑,尤其是相关业务接口协议、和通信加密的实现,给业务带来极大的风险。
二次打包风险。使用apktool对App进行解包,添加自定义的代码,回编译后,将APP重新安装到手机中可以正常运行。App被轻易的二次打包,很容易被攻击者添加恶意的代码或者添加广告,从而窃取登录账号密码、支付密码等,严重威胁用户隐私安全,也给公司的形象带来不利的影响。
通信风险。App与服务器进行交互时,使用不安全的HTTP协议,或关键数据明文传输,或互相不验证证书,攻击能够窃听、篡改、统信数据甚至篡改,进而影响数据的安全性,或者发动中间人攻击。
密码爆破风险。App上的用户账号,如果密码简单存在被暴力破解风险;如果如果没有对登录错误次数、请求时间进行校验,同时密码等敏感数据未进行加密处理,则可遭遇暴力破解的风险。
so文件风险。so文件是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据。攻击者可以通过工具进行破解,使用调试工具对其动态调试,分析代码中的业务逻辑以及加密算法。
签名校验风险。App签名机制是对APK包完整性和发布机构唯一性的一种校验机制,需要对APK进行签名后才能后进行安装。大部分的安卓APP没有对正盗版进行校验,重新签名后的App在手机中安装后可以正常运行,车企App面临被攻击者二次打包、恶意篡改、山寨的风险。
动态调试风险。移动应用在运行的过程中,攻击者通常会使用调试器对程序进行动态调试,如果移动应用未做防动态调试保护,则程序运行过程中,攻击者可以通过动态调试技术,利用gdb/ida等调试工具对程序进行内存调试跟踪,可以窃取目标进程的数据信息,从而获取用户的隐私数据信息。
进程注入风险。如果程序本身对运行时的内存没有做任何的保护措施,攻击者通过反编译对源代码进行分析,定位到可以程序外 Hook 类似操作的关键位置,完全不需要修改程序本身,当程序运行到敏感的界面 Activity 时,从程序外获取用户输入的证件号、姓名、手机号和密码等敏感的信息,并从内存中进行修改,尤其是对于涉及到支付等操作时,将严重威胁用户的财产安全。
数据明文储存风险。车辆VIN、安全码、车辆所有者等敏感信息如果直接明文存储在数据库或其他存储介质中,而不加任何加密或哈希处理。攻击者可以使用这些token来获取授权或模拟用户身份进行恶意操作。
Logcat日志风险。App在运行的过程中,如果日志的输出没有做好等级控制,查看日志时,用户名、密码等敏感信息可能被泄露。
任意文件上传风险。很多App具有文件上传功能,如果服务器对用户文件上传部分的控制不足或者处理缺陷,导致用户可以越过其本身权限向服务器上传可执行的恶意脚本文件,从而控制服务器,造成重要数据的丢失。
SQL注入风险。如果App在编写时没有对用户提交至服务器的数据的合法性进行校验,可以将SQL命令插入到Web表单进行提交,从而达到欺骗服务器执行恶意SQL命令的目的,实现对数据的任意读写,造成核心机密数据被窃取和篡改的安全风险。
XSS漏洞风险。在使用投诉、建议等功能时,如果在App编写时没有对用户输入数据的合法性以及在将数据输出到网页时数据的合法性进行校验,攻击者可以向Web页面里面插入恶意JavaScript、HTML代码,并且将构造的恶意数据显示在页面,从而泄露客户端的cookie或者其他敏感信息。
合规风险
合规风险主要是监管部门对App的审查。多个车企App存在违规收集、使用用户个人信息、不合理索取用户权限、为用户账号注销设置障碍等问题,严重侵犯了用户的隐私和合法权益,监管部门按照《网络安全法》、《个人信息保护法》等法律法规,对违法违规的App通报批评,甚至被下架等处罚。
《白皮书》提供两大安全解决方案
针对这两种风险,《车企App安全研究白皮书》提供了两种解决方案:App加固和App隐私合规检测。
App加固
顶象App加固基于虚机源码保护技术,良好兼容Java、Kotlin、C/C++等多种语言。可以保护Android的DEX、配置、SO等16种数据和文件安全,可有效侦测对抗动态调试、代码注入、内存dump、root环境、多开环境、模拟器、重打包等风险。
顶象App加固提供了一套完整的工具链,首先把App代码编译成中间的二进制文件,随后生成独特的虚机源码保护执行环境以及只能在该环境下执行的运行程序。也就是虚机源码保护会在App内部隔离出独立的执行环境,该核心代码的运行程序在此独立的执行环境里运行。即便App本身被破解,这部分代码仍然不可见。
顶象App加固通过技术和管理手段来增强实际系统的安全防护能力),可以通过自身的探针感知到环境的变化,实时探测到外界对本环境的调试、注入等非正常执行流程变化,将调试动作引入程序陷阱,并发出警报,进而进行实时更新,进一步提高安全强度。此外,顶象App加固率先支持对iOS免源码加固,提供代码混淆、字符串混淆、符号混淆、指令虚化、防调试、反编译、防Class dump的保护,并支持Bitcode输出。
在准备阶段,虚机源码保护为用户提供一套完整的工具链,首先把用户待保护的核心代码编译成中间的二进制文件,随后生成独特的虚机源码保护执行环境和只能在该环境下执行的运行程序。
在App运行阶段,虚机源码保护会在App内部隔离出独立的执行环境,该核心代码的运行程序在此独立的执行环境里运行。
生成的虚机源码保护拥有独特的可变指令集,极大的提高了指令跟踪、逆向分析的难度。同时,虚机源码保护还提供了反调试能力和监控能力。虚机源码保护可以通过自身的探针感知到环境的变化,实时探测到外界对本环境的调试、注入等非正常执行流程变化,将调试动作引入程序陷阱,并发出警报,进而进行实时更新,提高安全强度。
App隐私合规检测
App隐私合规检测服务基于顶象内部积累多年的App隐私合规检测能力,帮助开发者发现App可能存在的各类隐私安全漏洞,提供详细的检测报告,并给出专业的合规整改建议。同时,顶象专业的隐私安全专家团队,还为开发者提供一对一专家咨询服务,帮助开发者高效检测,快速识别App潜在的隐私风险,构建安全可信的高质量App。
顶象应用隐私合规检测服务可以应用于上架前和合规检测。
上架前隐私检测。在各个移动应用市场在应用上架前,对App进行隐私检测,确保安全合规、发现存在的风险。
应用合规检测。基于多个监管文件,进行App日常合规检测、整改、二次检测和抽检等,防止对客户信息过度收集。
顶象应用隐私合规检测服务提供个人信息保护现状,威胁定位分析和可视化结果报告。
个人信息保护分析。从隐私政策文本、App收集使用个人信息行为、企业对用户权利的保障等三个方面,快速评估App针对个人信息保护的现状。
威胁分析定位。依据监管、行业、企业,对App收集的数据信息进行分析,通过AI沙箱检测+专家审查的方式,结合行业沉淀经验,建模定位,全方位保证分析结果的准确性。
可视化报告。通过全方位的隐私合规评估后,提供业务场景、检测项目、检测手段、检测结果以及问题展示。
问题整改跟进。对于检测的问题提供专家指导意见,提供解决方案。