关于vivo千镜安全架构的深度解析
现代社会已经进入互联网时代,手机作为用户接入互联网的重要入口,承载了众多的数字化服务功能和大量的用户隐私数据。前些年的出门口诀“身手钥钱”(身份证、手机、钥匙、钱包)现在已经被“手机”代替。手机成为了我们日常生活中最重要的伙伴,同时,手机也成为了攻击者关注的焦点。根据公安部发布的数据显示,2021年共破获电信网络诈骗案件39.4万起,处理涉诈资金1.5亿笔、紧急拦截涉诈资金3291亿元【1】。另外,在多次用户调研中,用户对于手机内数据安全的关注度要远大于对于手机设备安全的关注度,因此,各大手机厂商大力投入到用户数据安全和隐私保护相关的技术研发和落地。然而,简单地投入到单点的安全特性或者安全技术点容易陷入到长板陷阱中,也就是单个技术点能力很强,却没有提升整个系统的安全性。因为在系统安全设计中,需要遵循木桶原则,即整个系统的安全强度由系统的最弱一环决定。
vivo倾听到用户对于手机安全性需求的声音,投入了大量的资源提升手机端侧安全性。基于系统安全设计的木桶原则,我们提出千镜安全架构,希望为用户提供一套安全能力均衡,没有短板的手机系统。
千镜安全架构依托于安卓系统,将系统划分成四个层级,由底向上分别为:芯片层、内核层、框架层、应用层。这四个层级的划分源于安卓本身的系统架构【如图一】,并且有针对性的对于每个层级所提供的功能和目标进行规划,消除短板,提升系统整体的安全性。
芯片层是手机中系统运行的基础,是上层软件的基石。为保障整个系统的安全性,芯片层一般将重要的安全功能进行固化或隔离运行,如数据加解密、密钥存储等。芯片层的技术点需要提前规划,其开发周期性长、成本高,但优势在于可以抵抗远程攻击和软件攻击,功能的完整性属性好。因此,芯片层的主要目标是提供高级别(如金融级别)的安全基础能力支撑。
内核层的目标在于为上层安卓框架提供一套对接硬件器件的驱动接口和系统运行的基础环境,例如内存管理等。内核是系统安全稳定运行的根本,当内核被攻破后,如攻击者获取root权限(系统最高权限),则内核层往上所有安全机制都形同虚设,不起任何效果。
安卓框架层的作用是承上启下。其一,框架层为上层应用提供所需要的服务,包含系统服务和多媒体服务;其二,框架层处理应用对于底层硬件和同一设备上应用的调用。因此对于应用行为展示和管控的特性通常处于框架层。
应用运行于应用层,直接和用户进行交互,让用户感知到安全特性和安全能力。该层中的特性一般无需过多的权限,很多耳熟能详的安全功能,例如远程锁卡、隐匿模式、原子隐私系统等。
图 一:安卓系统架构【2】
即便千镜安全架构中每一层的目标都已经明确,但每一层可引入的技术点都非常繁杂。对于缺乏规划的系统架构,很有可能会出现相同的功能特性在多层重复出现,或者由于缺乏技术点能力融合,导致整体系统安全效果低于预期。为了防止上述问题,vivo推出千镜安全架构,对每一层提出一个安全需求,并且确保该安全需求在这一层满足。通过这样的方式,避免多层重复实现某种特性,造成设备功耗增加和性能的降低。另一方面,各层的技术能力相互配合,满足在同一技术目标的情况下,提供更强的安全能力。
图 二:千镜安全架构
由图二所示,在芯片层,我们主要对三个领域进行投入:硬件可信根、硬件加解密、硬件安全防护。
硬件可信根是系统安全的基础,提供可以被信任的安全能力和特性,例如隔离的存储和运算空间等。隔离空间中的操作被硬件固化,无法被上层的软件修改,即便系统被完全攻破,隔离空间中的操作依然可以保持安全。在手机中,安全元件(Secure Element)、高通安全处理单元(SPU)等均可以作为系统可信根。在最新发布的X Fold和X Note手机中, vivo联合高通合作推出了安全处理单元,一款SoC片上的安全模块,它基于CC EAL 4+安全等级设计,能够满足银行卡等金融级场景的安全要求【3】。安全处理单元拥有独立的安全硬件处理器及独立的安全操作系统,并深入集成到芯片中,被攻击面更少,安全性进一步提升。
硬件加解密是指将系统中加解密的操作在硬件固化的隔离环境中进行运算。相对于应用处理器(Application Processor),数据的加解密在硬件隔离环境中运行的安全性要更加高。例如,如果攻击者可以获得系统的root权限,那么他可以通过dump内存中的数据的方法获取加解密使用的密钥【4】。对于dump内存的攻击,通常可以使用独立的加解密芯片或者是平台SoC上单独的加解密引擎模块解决。
通过硬件可信根和硬件加解密提供解决方案为基础,可以解决大多数对于系统的软件攻击。而对应的物理攻击,例如通过电子显微镜探针的方式读取硬件中隔离存储的密钥,或者通过探测计算时的电磁辐射量推算加解密使用的算法等,均需要硬件安全防护技术应对【5】。通常这一类的防护需要对于芯片增加物理的屏蔽层。
在内核层中,我们重点投入的三个技术领域为可信执行环境,内核完整性保护,以及运行时内核防护。
可信执行环境是指在内核层中提供的可自由编程的独立运行空间。虽然该运行空间中的性能普遍十分有限,但是该运行空间的权限高于通用操作系统的运行环境,可以做到抵抗来自于通用操作系统的软件攻击。和硬件可信根中的隔离运行环境相比,可信执行环境中的功能定制化能力更强,更加灵活【6】。
内核完整性保护是指对于内核的完整性进行检查,包含上层软件所需要加载到内核中的配置文件、二进制文件等。内核的完整性是系统安全的基础属性,当完整性被破坏,任何防护机制都无法发挥作用。在操作系统中,软件的二进制文件和其配置文件可以用来预估软件的完整性。除非软件的漏洞被发现且被利用,否则当软件的二进制文件已知时可以推导出软件运行中的行为【7】。
内核的另一个重要作用是对系统资源的调用和管控。当内核被攻破后,攻击者可以获得系统的root权限进行任意操作,因此内核运行时的防护同样重要。vivo在此技术领域特别关注对于ROP和JOP等内存攻击的防护,部署了如(K)ASLR、PAN、PXN、CFI,MTE等技术点。
框架层中,vivo重点关注于可信度量,应用行为管控,应用沙盒隔离这三个技术领域。
可信度量是指对于设备的可信程度进行度量,包括对于设备系统的完整性和上层应用的完整性进行打分。更重要的是,由于系统框架可以记录上层应用的行为,可以动态地通过上层应用的行为预估整体系统的可信程度。千镜可信引擎是vivo在框架层中对于设备可信度量的解决方案,是千镜安全架构中的核心【8】。千镜可信引擎通过对手机芯片、内核、框架和应用各层级进行综合分析计算,可对手机的整体安全性进行评判打分,并与其他多个防护功能和技术点联动,保障访问设备、访问数据和访问用户都安全可信。整个计算过程中,敏感数据都遵循端侧处理原则,更好地保障户的隐私和安全。
保障访问设备可信:通过检测设备的真实性、运行环境的安全性等,保障设备不被攻破和仿冒;
保障访问数据可信:通过检测访问应用的合法性、是否存在多开及群控行为等,保障访问的数据安全可信,不被恶意应用裹挟;
保障访问用户可信:通过检测访问行为,识别人机、黑灰产用户等,保障使用者是设备真正的主人。
除电话、短信诈骗行为外,利用恶意应用诱骗欺诈也是黑灰产团队常用手段之一。千镜可信引擎基于其可信安全判断能力,能提供反欺诈防护。例如有的欺诈应用在引导用户支付时会通过隐藏调用链关系,利用浏览器进行二次跳转等行为绕开一般APP层的云端检测,给反诈带来不小的挑战。而千镜可信引擎能从系统底层对设备、数据、用户等进行更全面、多维度的安全检测,“揪出”这些试图破坏手机系统、网络,利用用户信息牟利的欺诈应用,实现诈骗预警和黑灰产反制。
为上层应用提供接口和交互方法是框架层的主要功能。因此,框架层能够直接获取上层应用调用的接口和数据的日志,记录上层应用的行为,将应用的行为直接展示给用户,并且可以通过行为进行应用风险的预估,最终达到对于风险应用进行管控的目标。
应用沙盒限制和隔离不同应用对于设备资源的使用,包括设备的存储资源,并且也提供应用相对独立的运行空间。这个领域的研究目标是通过隔离,限制应用与框架、以及与同一台设备上不同的应用间的交互,确保应用只能通过预先设定好的接口进行交互,方便对交互的进行鉴权。例如最近谷歌刚推出的隐私沙盒技术,就在这一技术领域,vivo也在对于该技术进行研究,以保护用户隐私。
在应用层中,vivo重点关注用户可感知的安全技术领域,包括可信交互,隐私防泄漏和隐私防跟踪。
用户与设备的交互方式多种多样,点击、摇晃、语音等均可以作为交互的媒介。在用户操作手机时,手机屏幕上展示的内容,可能由于系统被攻破或者恶意应用的狡诈,出现展示的内容和实际内容不符的情况。例如,非常出名的透明图层攻击,即恶意应用在展示广告的页面上覆盖一层透明的图层,当用户触摸屏幕上任意位置时(即便用户看到的内容显示是关闭广告按钮),恶意应用就会跳转到广告链接,赚取一次用户点击【10】。在可信交互中,我们重点关注的技术,如可信UI(TUI),能够让用户信任自己与设备的交互正确被设备接收,并且设备展示的内容是正确的。从另一个角度来说,手机经常成为骚扰的中介,例如电话广告,短信诈骗等,不符合用户对手机使用时的预期。因此,对于手机电话和短信的防骚扰技术也归纳到该技术领域。希望最终达到使用户可以完全信任手中设备的目标,摆脱来源于手机的骚扰和欺诈。
隐私防泄漏和隐私防追踪包含一系列用户隐私保护技术。通过防跟踪技术,用户可以避免被投放定向广告。定向广告是非常常见的一类用户追踪场景,例如当用户在某一个应用中搜索了某一商品,在另一个应用中会出现搜索过商品的广告,给用户被追踪的感觉。vivo通过对于广告平台模式的洞察,提供给用户关闭定向推送的选项,例如极简浏览器中关闭三方cookie读取,设备重置OAID等能力。用户隐私数据的泄漏更容易造成用户的困扰,例如手机被偷后手机内的数据被提取,恶意应用偷取手机内照片等场景层出不穷。而通过隐私防泄漏中的技术,包括数据安全擦除,数据脱敏等,vivo手机让用户隐私数据都在用户自己的管控中。
系统安全需要持续性的投入,是攻方和守方不断的角力。同样的,千镜安全架构的技术也将持续更新,通过不断地新增的安全技术点创造新的安全能力和安全产品。vivo致力于为用户打造更加安全的手机设备,给用户提供更安全的使用体验,帮用户做好更安全的隐私保护。
参考链接
【1】电信网络诈骗犯罪持续上升势头得到遏制——打好反诈人民战争 维护群众财产安全,http://www.gov.cn/xinwen/2022-04/15/content_5685318.htm
【2】安卓平台架构,https://developer.android.com/guide/platform
【3】信息技术安全评估准则(Common Criteria),
https://www.commoncriteriaportal.org
【4】Android安全讲座第九层(二) 内存dump,https://www.yisu.com/zixun/73940.html
【5】抗物理攻击安全芯片关键技术研究,张赞,2016,
https://cdmd.cnki.com.cn/article/cdmd-10056-1017130237.htm
【6】基于TrustZone的可信执行环境构建技术研究,范冠男,董攀,2016,
https://www.cnki.com.cn/article/cjfdtotal-xxaq201603005.htm
【7】基于TrustZone的内核完整性保护的研究与实现,夏常钧,2017,
https://cdmd.cnki.com.cn/Article/CDMD-10701-1017298143.htm
【8】vivo X Fold、X Note首发千镜可信引擎,提供反欺诈防护,vivo千镜,2022,
https://mp.weixin.qq.com/s/wBIqY9F-Tcl1i2dOgMxkDw
【9】什么是隐私沙盒?,
https://developer.chrome.com/zh/docs/privacy-sandbox/overview/
【10】android透明UI欺骗的简单实现,2016,
https://blog.csdn.net/shenmegui_32/article/details/51566712
精彩文章推荐