从系统层到应用层,vivo 已在安全生态层
你每隔多久就会使用一次手机?调研结果也许会让你大吃一惊。
权威报告数据显示,2022年,24.9%的受访者每日使用手机时长超过10小时,其中3.8%的受访者“机不离手”,每日使用时长超过15小时。而真正让手机化身为时间吞金兽的则是种类丰富的APP,无论是线上购物、移动支付还是远程会议、在线网课,都无法离开APP或小程序来实现。
随着APP数量爆发式增长,个人隐私泄露、资金盗刷、电信诈骗等安全事件高频发生,给用户安全带来严峻挑战,进而对APP自身的安全性提出了更高要求。此外,APP安全合规要求呈现出日益严格的趋势,低安全性的APP很有可能触及合规红线,从而导致被通报、下架等严重后果。
因此,APP安全建设已经成为开发者资源投入最多,优先级最高的工作内容之一,在很多用户看似简单的安全问题背后,往往需要开发者耗费大量的时间、精力与资源。
APP闪退就是其中之一,我们今天的故事,从闪退开始说起。
闪退“逼疯”开发者
作为APP最常见的安全问题之一,几乎每一个用户都曾遭遇过APP闪退。闪退或许只会让用户感到“莫名奇妙”,但此类内存安全问题却在已经实实在在成为捆绑开发者的“枷锁”,以及时间与资源消耗的无底洞。
为什么一次简单的闪退会让APP开发者感到崩溃?这可能是大多数人的疑惑。那么我们就先行解释一下,以往开发者是如何解决APP中出现的内存安全问题。
首先,当APP发生闪退后,开发者需要在后台定位该问题,并收集该问题的相关信息,包括发生闪退的手机系统型号、APP版本等;开发者还需要在测试机上复现这一问题,以便掌握其真实情况。
其次,当内存安全问题确认之后,开发者需要将APP从release版本编译至debug版本(专门用来排查问题的APP版本)来检查APP出现的安全问题。对于一个大型APP来说,一次版本编译至少需要消耗开发者几十分钟的时间,不仅降低了问题解决效率,而且消耗了宝贵的人力资源。
另外还有一种常见的内存安全问题排查手段是HWASan,但同样需要将APP和ROM编译成HWAsan版本,不仅流程繁琐,还有资源消耗较大可能导致性能相关测试用例无法正常执行,给安全测试与修复工作带来影响。
综上,开发者每解决一个内存安全问题都需要投入大量的资源,而“发现问题——解决问题”的串行工作流导致其检测效率低下,且一旦涉及第三方代码将更复杂,甚至会造成测试流程阻塞。
对于当下动辄百万级、千万级用户体量的APP来说,由于存在高使用时长、碎片化设备等因素,很有可能出现一个可怕的后果:内存安全问题出现概率不断上升,偶发性崩溃将会大量存在。
这也就意味着开发者会陷入内存安全问题的汪洋大海之中,换句话说,以闪退为代表的内存安全问题正在“逼疯”开发者。为了满足用户多样化的使用需求,APP所包含的功能越来越丰富,业务场景也越来越复杂,存在的隐性内存安全风险也越来越多。而在这些安全问题尚未被检测出来时,APP版本就已经迎来下一轮的迭代,故而导致那些潜藏的安全问题被埋藏在系统版本之中,并将在未来直接影响用户使用体验。
值得一提的是,内存安全问题的危害远不止这些。谷歌的数据统计表明,应用内存安全问题在各类安全问题中占比达51%,安卓0Day漏洞中超过50%都和内存安全相关,著名的OpenSSL心脏滴血漏洞也和内存安全问题直接相关。
近几十年来,内存安全一直是困扰开发者的顽疾。日常工作中发现的内存安全问题不过是冰山一角,大量内存安全问题依旧潜藏在系统中,如何化被动为主动,高效定位、解决内存安全问题极为关键 。
基于这一背景,vivo在2023 vivo开发者大会重磅发布千镜内存安全检测平台,并将其所包含的安全能力全部免费和开发者共享,为开发者提供一个一站式、自动化内存安全问题检测工具,具有自动检测、错误分析、形成报告的完整流程,大大降低了使用门槛,便于广大开发者无障碍应用。输入网址(https://developers.vivo.com/product/d/memSec),立即体验千镜内存安全检测平台。

具体来说,千镜内存安全检测平台融入了硬件支持的检测能力,已实现无需重新编译即可动态开启检测,此举将免去版本编译的性能消耗,降低检测所需的时间和资源。同时该平台可对安卓框架层进行定制,专注自研代码的问题检测,目前已实现遭遇安全问题不中断测试,提升了内存安全问题的检测效率和精准度。
通过千镜内存安全检测平台,开发者可进行自动化内存安全测试。千镜内存安全检测平台已免费开放给开发者,以便他们全面了解APP是否存在内存安全问题,并给出相应的修改建议,直接提升APP的内存安全水平。同时vivo也推出OTA服务,开发者可在自己的手机上使用千镜内存安全检测平台的核心能力。
千镜可信引擎+“看见”安全风险
内存安全是开发者所面临安全问题的典型代表,那么对于用户来说,面临的安全风险将更加庞大且复杂。如果说内存安全问题是漂浮在海面上的冰山,那么移动安全所面临的风险就是隐藏在海面之下的巨大部分,而能否“看见”这些隐藏的风险,直接决定了用户安全的上限。
此外数据显示,2023年上半年全国移动安全风险呈现上升趋势,Android平台成为重灾区,存在大量涉及钓鱼网站、恶意广告和勒索软件等。高频出现的安全事件倒逼用户安全意识觉醒,“安全性”已经成为用户购买手机等移动设备时重要考虑因素。
早在去年,vivo便发布了千镜可信引擎,它能够通过对手机各层级要素进行综合计算,判断手机的安全性,给出可信度量指标,支撑上层应用进行风险识别和风险控制。截至目前,千镜可信引擎已累积守护交易超20亿笔,挽回资损超4000万人民币,并斩获数博会国家级优秀科技成果奖。
为了更加高效“看见”安全风险,提升用户使用体验,vivo在2023年开发者大会上带来了全新升级的千镜可信引擎+,新增三大核心安全能力,并将其与合作伙伴共享。

第一,设备风险检测能力。通过各层级不同维度的综合计算给出可信分,不同等级的风险分数,对应不同的威胁程度,安全风险及其危害程度一目了然。结合不同业务场景,还可进行业务逻辑的定制化交互。
第二,设备真实活跃度判断能力。是否真实活跃是判断黑灰产的重要指标,根据千镜可信引擎+的可信判断,安全人员可针对非真实活跃设备进一步强化安全分析,或对其账号执行不同的安全策略。当下,黑灰产盘踞在各个应用平台,给企业和用户带来了严重危害,集中有限的安全资源,有的放矢打击黑灰产不失为一个好办法。
第三,诈骗剧本识别能力。通过对手机上的典型诈骗特征进行全方位识别和综合计算,判断是否存在诈骗风险,给出可信度量指标,支撑上层应用进行风险识别和控制。
需要强调的是,千镜可信引擎是vivo行业首发的端侧系统级风险检测引擎。何为端侧?即该引擎部署在用户所使用的移动端,而非是在云端/服务器上。在云端/服务器上部署是行业常见做法,可有效节省安全资源的投入,降低相应的技术难度。
之所以在端侧部署,最核心的原因是在用户数据保护方面,端侧具有天然的优势,可将用户的隐私数据限制在设备之中,即使服务器被黑客攻击也无法直接获取用户数据。随着网络攻击方式复杂化,云上数据安全面临着严峻挑战,端侧部署可有效避免数据存储在云端的诸多风险,真正实现“用户数据资产掌握在用户手中”。
事实上,vivo作为智能终端厂商,一直致力于构建端侧可信OS。2021年,vivo率先发布vivo千镜安全架构,提供全场景全链路的安全保护;2022年,再次发布千镜可信引擎,着重端侧可信环境的研究与部署,2023年继续发力可信OS的构建,持续保障用户数据资产安全。
vivo全方位布局安全生态
当我们以为,vivo安全的重点是在应用层(千镜内存安全检测平台)时,千镜可信引擎已在芯片层、内核层、框架层和应用层深耕许久,让用户更安全地使用手机。而随着vivo将上述两大安全能力与合作伙伴共享,我们才猛然发现,vivo的安全战略其实已经到了生态层(构建行业安全生态)。

套用一句网络热门语录:你以为vivo在应用层,其实他已经在生态层。很明显,vivo正在下一盘名为“用户安全”大棋。
随着移动安全互联网的快速发展,黑灰产业同样蓬勃发展并已经形成一条完整的产业链,上下游分工明确,彼此协作。而在这场黑与白的对抗中,防守方天然处于劣势,因此唯有通过行业的力量来赋能开发者与合作伙伴,才能真正守护用户安全。
基于上述的分析与预测,vivo在此之前就已经确定安全生态大战略,并持续为之投入更多的资源。2023年,为了进一步聚焦用户数字资产保护,构建可信OS,强化安全生态建设,vivo着重发力硬件可信根建设,深度夯实安全基础。
例如在芯片层,vivo选择SPU安全处理单元作为可信根实体,以此更强和更安全的可信根能力,提升系统安全的底层支撑。在内核层,vivo基于可信根构建了内核完整性度量框架vIMA,对内核中的系统服务、安卓框架、特权服务、特权应用进行完整性度量,并将度量值传递到可信根中进行验证,评估系统的可信状态。
换句话说,vivo正在建设一座安全大厦,希望可以大庇天下开发者俱欢颜,更希望可以为用户遮风挡雨,屏蔽风险。而当下要做的就是把地基打得更牢,让这座大厦更坚固。
vivo安全之路没有尽头
无论是千镜内存安全检测平台、千镜可信引擎+还是行业安全生态,vivo在移动安全领域的动作一直在变,但其最早确立的核心目标始终没有发生任何改变——持续改善和提高用户基础安全体验,或者说让用户更便捷、更安全地享受数字世界。
用户安全永远是第一位,这是vivo多年来一以贯之的态度,无安全即无体验。这一态度已经贯穿其产品设计之中,即便是在2023年推出自研AI大模型,vivo依旧先一步针对AIGC安全打造了全链路的解决方案,通过开展安全左移建设、打造端侧内容安全过滤模型等,全面解决AI内生、生成内容、产品运行、用户使用等风险,为用户提供安心、省心、放心的AIGC产品。

当下AI大模型百花齐放,未来我们的生活也将更加智能化、数字化,然而科技与风险总是相伴相生,那时用户必定面临更加严峻的安全风险。
因此,保障用户隐私安全将无止境,所以,vivo安全之路亦没有尽头。
相关文章:
从系统层到应用层,vivo 已在安全生态层
你每隔多久就会使用一次手机?调研结果也许会让你大吃一惊。 权威报告数据显示,2022年,24.9%的受访者每日使用手机时长超过10小时,其中3.8%的受访者“机不离手”,每日使用时长超过15小时。而真正让手机化身为时间吞金兽…...
微信公众号历史文章采集教程思路
大家好,我是淘小白! 今天来说下微信公众号历史记录文章采集的教程和思路,希望能够帮助的到大家~ 1、历史消息入口 现在新版本的微信已经找不到历史记录的入口了,需要对这个入口进行拼接,方法如下: 随便…...
大模型应用--prompt工程实践
在使用大模型进行prompt 训练时,自己做的相关笔记。 本文以openai<1.0版为例。 1.调用大模型 定义调用openai大模型的函数 get_completion() def get_completion(prompt, model"gpt-3.5-turbo"):messages [{"role": "user", …...
新零售时代,传统便利店如何转型?
在零售批发业,如何降低各环节成本、提高业务运转效率、更科学地了解客户服务客户,是每家企业在激烈竞争中需要思考的课题。 对零售批发企业来说,这些问题或许由来已久: (1)如何对各岗位的员工进行科学的考…...
openEuler 系统使用 Docker Compose 容器化部署 Redis Cluster 集群
openEuler 系统使用 Docker Compose 容器化部署 Redis Cluster 集群 Redis 的多种模式Redis-Alone 单机模式Redis 单机模式的优缺点 Redis 高可用集群模式Redis-Master/Slaver 主从模式Redis-Master/Slaver 哨兵模式哨兵模式监控的原理Redis 节点主客观下线标记Redis 节点主客观…...
C# ZXing 二维码,条形码生成与识别
C# ZXing 二维码条形码生成识别 安装ZXing使用ZXing生成条形码生成二维码生成带Logo的二维码识别二维码、条形码 安装ZXing NuGet搜索ZXing安装ZXing.Net包 使用ZXing using ZXing; using ZXing.Common; using ZXing.QrCode; using ZXing.QrCode.Internal; 生成条形码 //…...
[vim]Python编写插件学习笔记1 - 开始
0 环境 Windows 11 22H2gVim82 (D:/ProgramFiles/Vim)Python311 (D:/ProgramFiles/Python311)Vundle v0.10.2 1 Vim 支持 Python gVim82 默认配置中,使用的是 Python3.8。 但我的环境安装的是 Python3.11,且不是安装在默认路径下。虽然添加了 PATH 环…...
深入理解JVM虚拟机第二十篇:静态变量和局部变量的对比以及栈帧对垃圾回收的意义以及JVM中栈帧与堆内对象的应用关系图示
大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻JVM 本文章简介:话不多说,让我们讲清楚静态变量和局部变量的对比 文章目录…...
【计算机网络基础实验】实验二 有线IP互通网络实践
任务一 IP路由协议实现企业路由器通信 目录如下: 任务一 IP路由协议实现企业路由器通信2.1.1 任务描述2.1.2 任务目的2.1.3 任务实施实验需求实验步骤步骤1:更改每台设备的名称步骤2: 给R1接口配置相应IP地址步骤3: 给R2接口配置相…...
【Orangepi Zero2 全志H616】驱动串口实现Tik Tok—VUI(语音交互)
一、编程实现语音和开发板通信 wiringpi库源码demo.c 二、基于前面串口的代码修改实现 uartTool.huartTool.cuartTest.c 三、ADB adb控制指令 四、手机接入Linux热拔插相关 a. 把手机接入开发板 b. 安装adb工具,在终端输入adb安装指令: sudo apt-g…...
【Spring】静态代理
例子: 租房子 角色: 我 (I ) 中介( Proxy ) 房东( host ) Rent 接口 package org.example;public interface Rent {void rent(); }房东 package org.example;public class Host implements Rent{Overridepublic void rent() …...
tomcat web.xml文件中servlet的load-on-startup
先看一个例子: <servlet><description>JAX-WS endpoint - restful</description><display-name>restful</display-name><servlet-name>restful-addnumbers</servlet-name><servlet-class>com.sun.xml.ws.transpor…...
记chrome打不开网址,无法搜索问题
打开网址解决办法 2023关于chrome谷歌浏览器无法正常上网问题,解决办法,亲测有效 下载插件,解压后拖入chrome的扩展程序中,可以打开国内网址 google引擎搜索解决办法 打开无痕浏览 (不知道什么原理,可…...
Spring面试题:(五)Spring注解开发@Component,@Autowired,@Bean,@Configuration
Bean基本注解 spring提供注解的版本 Component注解替代bean标签 bean其它属性的相关注解: scope 替代scopelazy 替代lazy-initPostConstruct 替代init-methodPreDestroy 替代destroy-method 使用Component注解的前提是开启注解扫描 衍生注解Repository,Servi…...
【Qt-23】ui界面设计-ToolBar
1、ToolBar 右击主窗体添加工具栏 新建动作,可设置图标,图标有本地文件和资源两种方式。 修改toolButtonStyle的属性,可设置图标与汉字显示的方式。 页面跳转: connect(ui->action, SIGNAL(triggered()), this, SLOT(openWid…...
nodejs 异步架构
nodejs的核心之一就是非阻塞的异步IO,于是想知道它是怎么实现的,挖了下nodejs源码,找到些答案,在此跟大家分享下。首先,我用了一段js代码test-fs-read.js做测试,代码如下: var path require(pa…...
腾讯云优惠券介绍、作用、领取方法及使用教程
随着云计算技术的发展,越来越多的企业和个人选择使用云服务进行数据存储、计算等业务。腾讯云作为国内知名的云服务商,提供了一整套完善的云解决方案,并不定期发放优惠券以吸引更多的客户。本文将为大家详细介绍腾讯云优惠券的作用、领取方法…...
浅谈智能变电站自动化系统的应用与产品选型
安科瑞电气股份有限公司 上海嘉定 201801 摘要:现如今,智能变电站发展已经成为了电力系统发展过程中的内容,如何提高智能变电站的运行效率也成为电力系统发展的一个重要目标,为了能够更好地促进电力系统安全稳定运行,…...
适用于初学者的 .NET MAUI
适用于初学者的 .NET MAUI | Microsoft Learn 记录微软Learn中用到的代码。文章比较粗糙,大部分是项目代码粘贴。想详细学习的可到上面的链接学习,代码可以从这里复制后直接运行。 练习中一共有两个页面: 1、MainPage.xaml 用于添加列表中的…...
Web3项目灵魂所在之智能合约编写(Web3项目一实战之二)
正如标题所言,为什么将智能合约称为Web3项目的灵魂所在呢?其实,智能合约好比是传统App的服务器端,若服务器端宕机了,App也就僵死了。 假使您正在浏览本篇文章时,对智能合约还不是很了解,或者说是只知其名不知其意的话,那么,烦请您移步我另外一篇关于 区块链中的智能合…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...
