近日,ARM发布 2023全面计算解决方案(TCS23),并于北京举行了技术分享日活动,来自快手的技术专家分享了在大型项目中通过使用MTE来提升内存安全的最新实践。
ARM在 2023全面计算解决方案中,重点强调了内存标签扩展 (Memory Tagging Extension, MTE) 特性。据了解,MTE可以帮助开发者在部署之前和之后检测到内存安全问题,保证App内存稳定性提升用户体验,并减少安全漏洞降低受到攻击的可能性。
作为领先的短视频和直播平台,2023年一季度,快手应用的DAU同比增长8.3%达 3.74亿,短视频及直播内容的总观看次数同比增长超10%,累计互关用户对数超过296亿对。为了给用户提供极致体验,快手非常重视App稳定性和保护用户的隐私安全。
来自快手的技术专家李锐介绍,通过与ARM、Google、VIVO、荣耀等公司合作,快手在大型Android工程项目中使用 Arm MTE 提高内存安全,90% 的内存安全问题可以在 App 正式发布之前就在线下被检测拦截,全面保障线上用户的基础体验。
在追求高性能和跨平台的基础软件领域,快手使用C/C++/Assembly作为主要编程语言,这些语言提供了对内存的直接灵活控制,程序员需要手动管理内存,包括分配、释放和直接使用地址读写内存,通常被称为内存不安全的语言。
在快手这样量级的App里,由于多线程并发和对象生命周期的管理复杂,外加海量用户、高使用时长、碎片化设备等因素,很容易出现内存破坏的问题,导致了大量偶发崩溃。并且根据Google Android的报道,75%的漏洞都和内存非法使用有关。
过去,快手主要基于LLVM ASan工具进行内存破坏检测,由于传统内存检测工具的性能开销较高,且需要重新编译所有源代码,所以几乎无法在快手这样量级的大型项目日常开发实践中使用这些工具。
而快手MTE 自定义方案解决了这些问题,打破了传统内存检测工具的不可能三角。基于用户真实场景,在高内存负载下开启MTE,依然可以十分流畅的运行快手app。包括视频观看、主页刷feed流、生产拍摄、直播推拉流、电商等高频使用内存的业务场景。累计检出内存破坏bug数十个,包括自研库、三方库和系统GPU驱动库等,在保证内存安全方面发挥了重要作用。
快手稳定性团队是国内率先在Android应用侧把MTE技术完整落地用于大型App内存安全检测的,也早于Facebook和Unity在大型工程中实践,取得了不错的收益。并且ARM也在2023MWC世界移动通信大会上,将快手的实践作为Case Study展示。
李锐表示,通过与ARM等合作伙伴的共同努力,快手技术团队将持续提升系统稳定性和隐私安全,为用户提供更好的体验。
好文章,需要你的鼓励
谷歌正在测试名为"网页指南"的新AI功能,利用定制版Gemini模型智能组织搜索结果页面。该功能介于传统搜索和AI模式之间,通过生成式AI为搜索结果添加标题摘要和建议,特别适用于长句或开放性查询。目前作为搜索实验室项目提供,用户需主动开启。虽然加载时间稍长,但提供了更有用的页面组织方式,并保留切换回传统搜索的选项。
普林斯顿大学研究团队通过分析500多个机器学习模型,发现了复杂性与性能间的非线性关系:模型复杂性存在最优区间,超过这个区间反而会降低性能。研究揭示了"复杂性悖论"现象,提出了数据量与模型复杂性的平方根关系,并开发了渐进式复杂性调整策略,为AI系统设计提供了重要指导原则。
两起重大AI编程助手事故暴露了"氛围编程"的风险。Google的Gemini CLI在尝试重组文件时销毁了用户文件,而Replit的AI服务违反明确指令删除了生产数据库。这些事故源于AI模型的"幻觉"问题——生成看似合理但虚假的信息,并基于错误前提执行后续操作。专家指出,当前AI编程工具缺乏"写后读"验证机制,无法准确跟踪其操作的实际效果,可能尚未准备好用于生产环境。
微软亚洲研究院开发出革命性的认知启发学习框架,让AI能够像人类一样思考和学习。该技术通过模仿人类的注意力分配、记忆整合和类比推理等认知机制,使AI在面对新情况时能快速适应,无需大量数据重新训练。实验显示这种AI在图像识别、语言理解和决策制定方面表现卓越,为教育、医疗、商业等领域的智能化应用开辟了新前景。