从系统层到应用层,vivo 已在安全生态层

news2024/11/27 4:26:25

你每隔多久就会使用一次手机?调研结果也许会让你大吃一惊。

权威报告数据显示,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的安全战略其实已经到了生态层(构建行业安全生态)。

1699497112_654c4498553aab146832c.png!small?1699497112518

套用一句网络热门语录:你以为vivo在应用层,其实他已经在生态层。很明显,vivo正在下一盘名为“用户安全”大棋。

随着移动安全互联网的快速发展,黑灰产业同样蓬勃发展并已经形成一条完整的产业链,上下游分工明确,彼此协作。而在这场黑与白的对抗中,防守方天然处于劣势,因此唯有通过行业的力量来赋能开发者与合作伙伴,才能真正守护用户安全。

基于上述的分析与预测,vivo在此之前就已经确定安全生态大战略,并持续为之投入更多的资源。2023年,为了进一步聚焦用户数字资产保护,构建可信OS,强化安全生态建设,vivo着重发力硬件可信根建设,深度夯实安全基础。

例如在芯片层,vivo选择SPU安全处理单元作为可信根实体,以此更强和更安全的可信根能力,提升系统安全的底层支撑。在内核层,vivo基于可信根构建了内核完整性度量框架vIMA,对内核中的系统服务、安卓框架、特权服务、特权应用进行完整性度量,并将度量值传递到可信根中进行验证,评估系统的可信状态。

换句话说,vivo正在建设一座安全大厦,希望可以大庇天下开发者俱欢颜,更希望可以为用户遮风挡雨,屏蔽风险。而当下要做的就是把地基打得更牢,让这座大厦更坚固。

vivo安全之路没有尽头

无论是千镜内存安全检测平台、千镜可信引擎+还是行业安全生态,vivo在移动安全领域的动作一直在变,但其最早确立的核心目标始终没有发生任何改变——持续改善和提高用户基础安全体验,或者说让用户更便捷、更安全地享受数字世界。

用户安全永远是第一位,这是vivo多年来一以贯之的态度,无安全即无体验。这一态度已经贯穿其产品设计之中,即便是在2023年推出自研AI大模型,vivo依旧先一步针对AIGC安全打造了全链路的解决方案,通过开展安全左移建设、打造端侧内容安全过滤模型等,全面解决AI内生、生成内容、产品运行、用户使用等风险,为用户提供安心、省心、放心的AIGC产品。

图片

当下AI大模型百花齐放,未来我们的生活也将更加智能化、数字化,然而科技与风险总是相伴相生,那时用户必定面临更加严峻的安全风险。

因此,保障用户隐私安全将无止境,所以,vivo安全之路亦没有尽头。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1188481.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

黑豹程序员-架构师学习路线图-百科:Knife4j API接口文档管理

文章目录 由来:接口文档第一代:Swagger第二代:Knife4j界面 由来:接口文档 古老编程是一个语言前后端通吃,ASP、JSP、PHP都是如此。 但随着项目规模变大,项目团队也开始壮大,岗位职责开始细分&a…

使用Redis实现文章阅读量、收藏、点赞数量记录功能

目录 一、前言二、业务分析三、Redis数据结构选择分析和实现3.1、三个数据缓存都分别使用 字符串 结构计数器存储对应数量值3.2、三个数据缓存使用一个 Hash 结构存储3.3、阅读量使用字符串结构计算器,收藏和点赞分别使用 Set 集合存储 四、总结 一、前言 在博客中会…

HCIA-PPPOE原理与配置

PPPOE原理与配置 实验拓扑图实现步骤家庭网关 AR201PPPOE客户端( ISP光猫)PPPOE服务器(ISP路由器) 实验拓扑图 实现步骤 家庭网关 AR201 E0/0/0-7为LAN口(二层接口)E0/0/8为WAN口(三层接口&am…

【每日一题】2258. 逃离火灾-2023.11.9

题目: 2258. 逃离火灾 给你一个下标从 0 开始大小为 m x n 的二维整数数组 grid ,它表示一个网格图。每个格子为下面 3 个值之一: 0 表示草地。1 表示着火的格子。2 表示一座墙,你跟火都不能通过这个格子。 一开始你在最左上角…

LeetCode【78. 子集】

78. 子集 中等 2.2K 相关企业 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出&…

Frp内网穿透部署

Frp内网穿透部署记录windows为例 A固定外网IP服务器一台(可以映射端口)B内网PC一台,可上外网 A固定外网IP服务器一台(可以映射端口) B内网PC一台,可上外网 GO语言:https://golang.org/doc/ins…

如何用CHAT 写会后总结

问CHAT:阐述参加IMS系统培训课程的收益和不学的损失。 CHAT 回复: 参加IMS系统培训课程的收益: 1. 提升技能和知识:通过参加IMS系统培训课程,你可以学习到刚新的信息技术和知识,增强你的技能和经验&…

UART编程(寄存器)

1. 串口编程步骤 1.1 看原理图确定引脚 有很多串口,使用哪一个?看原理图确定 1.2 配置引脚为UART功能 至少用到发送、接收引脚:txd、rxd 需要把这些引脚配置为UART功能,并使能UART模块 1.3 设置串口参数 有哪些参数&#xf…

Leecode刷题【hot100】盛最多水的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例…

linux生成code文件

1. 设置core文件路径在当前工作目录 echo "core-%e-%p-%t" > /proc/sys/kernel/core_pattern 具体参数 %s - insert signal that caused the coredump into the filename 添加导致产生core的信号 %t - insert UNIX time that the coredump occurred into filen…

使用 Wireshark 抓包工具快速分析 IoT 物联网终端设备的网络通信行为

当你进行 IoT 物联网开发过程中,终端-MQTT 服务器-业务系统-App 全链路联调时往往难以快速定位问题:终端可能未正常发出消息报文,也可能在网络传输中丢失,也可能被 MQTT 服务器限流丢弃,或者业务系统处理异常而丢失。此…

Centos7安装宝塔面板8.0.3并实现公网远程登录宝塔面板【内网穿透】

Centos7安装宝塔面板8.0.3并实现公网远程登录宝塔面板【内网穿透】 文章目录 Centos7安装宝塔面板8.0.3并实现公网远程登录宝塔面板【内网穿透】一、使用官网一键安装命令安装宝塔二、简单配置宝塔,内网穿透三、使用固定公网地址访问宝塔 宝塔面板作为建站运维工具&…

flink1.18.0 sql-client报错

报错 Flink SQL> select * from t1; [ERROR] Could not execute SQL statement. Reason: org.apache.flink.table.api.ValidationException: Could not find any factory for identifier kafka that implements org.apache.flink.table.factories.DynamicTableFactory in t…

如何搭建一个自定义UI框架的Playground(一)

文章目录 初衷需求技术选型详细设计(一)1.业务设计2.交互设计3.程序设计3.1 游戏生命周期设计3.2 UI界面管理设计 初衷 想要比较系统、深入地了解游戏UI框架的设计与开发,就需要自己实践去开发一个可以预览的UI项目,但是目前没有…

OpenTiny Vue 组件库支持 Vue2.7 啦!

之前 OpenTiny 发布了一篇 Vue2 升级 Vue3 的文章。 🖖少年,该升级 Vue3 了! 里面提到使用了 ElementUI 的 Vue2 项目,可以通过 TinyVue 和 gogocode 快速升级到 Vue3 项目。 有朋友评论替换button出错了,并且贴出了…

K8S篇之etcd数据备份与恢复

一、etcd备份与恢复 基本了解: 1、k8s 使用etcd数据库实时存储集群中的数据,安全起见,一定要备份。 2、备份只需要在一个节点上备份就可以了,每个节点上的数据是同步的;但是数据恢复是需要在每个节点上进行。 3、etcd…

性能测试从0到1

性能测试概念 我们经常看到的性能测试概念,有人或称之为性能策略,或称之为性能方法,或称之为性能场景分类,大概可以看到性能测试、负载测试、压力测试、强度测试等一堆专有名词的解释。 针对这些概念,我不知道你看到…

AppWeb 身份验证绕过漏洞 (CVE-2018-8715)漏洞复现

漏洞描述 AppWeb 是一个嵌入式 Web 服务器,基于由 Embedthis Software LLC 开发和维护的开源 GPL 协议。它是用C / C编写的,几乎可以在任何现代操作系统上运行。当然,它旨在为嵌入式设备提供一个 Web 应用程序容器。 AppWeb 可以配置为身份…

lua 时间差功能概略

简介 在进行程序设计过程中,经常需要对某些函数、某些程序片断从开始运行到运行结束所耗费的时间进行一些量化。这种量化实际上就是计算时间差。 获取函数耗时情景如下: function time_used() --开始计时-- do something at here. --结束计时--时间差&…

kubernetes集群编排——k8s资源监控

资源限制 上传镜像 [rootk8s2 limit]# vim limit.yaml apiVersion: v1 kind: Pod metadata:name: memory-demo spec:containers:- name: memory-demoimage: stressargs:- --vm- "1"- --vm-bytes- 200Mresources:requests:memory: 50Milimits:memory: 100Mi [rootk8s2…