输入法重大漏洞曝光,仅华为幸免,近10亿用户受影响

1714028049_6629fe1196a0072e6d3ac.png!small?1714028049970

近日,Citizenlab研究人员调查了多家厂商的输入法应用安全漏洞并报告称:除华为以外,百度、荣耀、科大讯飞、OPPO、三星、腾讯、Vivo和小米等供应商的九款应用程序中有八款均存在安全漏洞。

随着用户规模的不断增长,云输入法应用的后端技术正变得越来越复杂,人们对此类应用的潜在安全风险也越来越重视。其中,用户数据在云服务器上是否安全;信息从用户设备传输到云服务器的过程中是否安全是研究人员关注的两个重点问题。

为此,研究人员分别测试了腾讯、百度、讯飞、三星、华为、小米、OPPO、vivo和荣耀输入法的多个平台版本(安卓、iOS和Windows版本)。

其中腾讯、百度和科大讯飞是键盘输入法应用的开发者;三星、华为、小米、OPPO、vivo和荣耀是手机制造商,它们要么自己开发了键盘输入法,要么预装了上述三个输入法产品。

为了更好地了解这些厂商的键盘应用是否安全地实现了其云推荐功能,研究者对这些输入法进行了安全分析以确定它们是否充分加密了用户的输入按键记录。

对九家厂商的输入法进行分析后,研究者发现只有华为的输入法应用在传输用户按键记录时未发现任何安全问题。其余八家厂商的每一家至少有一款应用发现了漏洞,黑客可以利用该漏洞完全窃取用户输入的内容。

1714016801_6629d2215e482a9c631f9.png!small?1714016801004

1714016785_6629d2111686d847b14b0.png!small

1714016772_6629d204c928158e86784.png!small?1714016772351

图源:The Citizen Lab

去年 8 月,多伦多大学跨学科实验室发现了腾讯搜狗输入法中的加密漏洞,此次披露的信息建立在该实验室此前研究的基础上。

据估计,有近十亿用户受到这类漏洞的影响,其中搜狗、百度和 iFlytek 的输入法编辑器(IME)占据了很大的市场份额。

已发现出现漏洞的输入法应用如下:

  • 腾讯QQ拼音易受CBC padding oracle攻击,可恢复明文
  • 百度输入法,由于 BAIDUv3.1 加密协议中的错误,允许网络窃听者解密网络传输并提取 Windows 上键入的文本
  • iFlytek IME,其安卓应用程序允许网络窃听者恢复未充分加密的网络传输明文 安卓系统上的三星键盘,通过未加密的纯 HTTP 传输按键数据
  • 小米手机,预装了百度、iFlytek 和搜狗的键盘应用程序
  • OPPO,预装了百度和搜狗的键盘应用程序
  • vivo,预装搜狗 IME
  • 荣耀,预装百度 IME

由于输入法安全漏洞可导致个人财务信息、登录账号和隐私泄露。因此研究人员建议使用这些键盘的用户及时更新应用程序和操作系统,并改用完全在设备上操作的键盘应用程序,以减少这些隐私问题。

隐私专家建议手机用户应保持应用程序和操作系统更新到最新版本。如果用户担心云输入法的隐私问题,建议考虑切换到完全在设备上运行的本地输入法应用。

同时,应用程序开发人员应注意使用经过严格测试的标准加密协议,而不是开发可能存在安全问题的自制版本。此外,研究人员还敦促应用程序商店运营商不要对安全更新进行地理封锁,并允许开发者证明所有数据都是通过加密传输的。

以下是研究人员给广大用户的建议:

  • 荣耀预装键盘的用户或QQ拼音用户应立即切换键盘。
  • 任何搜狗、百度或科大讯飞键盘的用户,包括操作系统上捆绑或预装的版本,都应确保其键盘和操作系统是最新的。
  • 任何百度输入法输入法键盘的用户都应考虑切换到其他键盘或禁用“基于云”的功能。
  • 有隐私顾虑的用户不应在其键盘或 IME 上启用“基于云”的功能,或者应切换到不提供“基于云”预测的键盘。
  • 有隐私顾虑的 iOS 用户不应为其键盘或 IME 启用“完全访问权限”。

研究人员表示,在大多数情况下,攻击者只需要是网络上的被动窃听者即可利用这些漏洞。但是,在某种情况下,针对使用腾讯搜狗API的应用,攻击者还需要能够向云服务器发送网络流量,但他们不必一定是中间人(MitM)或在网络第3层欺骗来自用户的流量。在所有情况下,攻击者都必须能够访问客户端软件的副本。

由于苹果和谷歌的键盘输入法应用都没有将按键记录传输到云服务器以进行云推荐,因此没有(也无法)分析这些键盘的安全功能。

研究者表示,虽然业界一直在推动开发能够保密用户数据的隐私感知云输入法,但目前并未得到广泛使用。

对此,研究人员分析了大量中文键盘应用程序,发现它们几乎普遍存在用户按键被网络窃听者解密的漏洞。然而,造成这些漏洞的既没有通用的库,也没有单一的实施缺陷。虽然有些键盘应用程序确实从其他公司获得了代码授权,但目前只能解释为大量开发者独立地犯了同样的错误。

公民实验室推断,中国的应用程序开发商大概率不会使用“"西方"加密标准,因为他们担心这些标准可能包含后门。事实上,这并非杞人忧天,有太多类似的事件被曝光,不少国外的标准在里面埋下了安全风险。

参考来源:

Major Security Flaws Expose Keystrokes of Over 1 Billion Chinese Keyboard App Users

输入法重大漏洞曝光,仅华为幸免,近10亿用户受影响

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

kubernetes中DaemonSet控制器

一、概念 使用DaemonSet控制器,相当于在节点上启动了一个守护进程。通过DaemonSet控制器可以确保在每个节点上运行Pod的一个副本。如果有心的node节点加入集群,则DaemonSet控制器会自动给新加入的节点增加一个Pod的副本;反之,当有…

GPT的全面历史和演变:从GPT-1到GPT-4

人工智能新篇章:GPT-4与人类互动的未来! 本文探讨了生成式预训练 Transformer (GPT) 的显着演变,提供了从开创性的 GPT-1 到复杂的 GPT-4 的旅程。 每次迭代都标志着重大的技术飞跃,深刻影响人工智能领域以及我们与技术的互动。 我…

vmware虚拟机网络“桥接模式”与“NAT模式”的联网原理及linux环境下IP配置指引

一、vmware虚拟机网络“桥接模式”与“NAT模式”的区别 选中虚拟机》设置》网络适配器,打开虚拟机设置面板 我们看到网络连接处有多个选项,今天良哥通过试验告诉你“桥接模式”和“NAT模式”的联网原理、区别及两种模式下IP地址配置的详细方法。 桥接模…

YOLOv9改进策略 | 添加注意力篇 | LSKAttention大核注意力机制助力极限涨点 (附多个位置添加教程)

一、本文介绍 本文给大家带来的改进机制是LSKAttention大核注意力机制应用于YOLOv9。它的主要思想是将深度卷积层的2D卷积核分解为水平和垂直1D卷积核,减少了计算复杂性和内存占用。接着,我们介绍将这一机制整合到YOLOv9的方法,以及它如何帮…

面试经典150题——路径总和

​ 1. 题目描述 2. 题目分析与解析 2.1 思路一 注意题目的关键点:判断该树中是否存在 根节点到叶子节点 的路径,起点是root,终点是叶子节点。 那么我们就可以从根节点按照层序遍历的方式,从根节点从根到 叶子不断对路径进行加…

MPC的横向控制与算法仿真实现

文章目录 1. 引言2. 模型预测控制(MPC)2.1 基础知识2.2 MPC的整体流程2.3 MPC的设计求解 3. 车辆运动学MPC设计4. 算法和仿真实现 1. 引言 随着智能交通系统和自动驾驶技术的发展,车辆的横向控制成为了研究的热点。横向控制指的是对车辆在行…

vue3环境搭建

环境准备: node环境(node.js官网)npm环境 上述两个环境存在版本要求所以安装最新的靠谱(旧的环境存在不支持现象) windows电脑 安装完node.js会带有npm mac电脑本身自带node和npm,但是需要升级 进入到你想创建前端项目的文件夹:…

C++初识内存管理和模版

目录 前言 1.C/C内存分布 2. C的内存管理方式 2.1 new/delete操作内置类型 2. new和delete操作自定义类型 3. operator new和operator delete函数 4. new和delete的实现原理 4.1 内置类型 4.2 自定义类型 5. malloc/free和new/delete的区别 6. 初识模版 6.1 泛型编…

【python笔记】datafram的时间动态可视化 pyecharts地图

import pandas as pd# 假设DataFrame是这样的: df pd.DataFrame({ year: [2014, 2015, 2016, 2014, 2015, 2016, 2014, 2015, 2016], province: [广东省, 广东省, 河南省, 湖南省, 北京市, 北京市, 上海市, 新疆维吾尔自治区, 上海市], values: [100, 150, 75…

井字棋源码(网络线程池版)

源码链接&#xff1a;game 效果可能没有那么好&#xff0c;大家可以给点建议。 效果展示 game.h #include <stdio.h> #include <stdlib.h> #include <time.h>#define ROW 3 #define COL 3void InitBoard(char board[ROW][COL], int row, int col) {int i…

如何在linux服务器上用Nginx部署Vue项目,以及如何部署springboot后端项目

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、打包Vue项目二、安装Nginx1.更新系统的软件包信息&#xff1a;2.安装Nginx&#xff1a;3.启动 Nginx 服务&#xff1a;安装完成后&#xff0c;Nginx 服务会…

C语言进阶:指针的进阶(上)

首先 在学习新知识之前 我们先来回顾下之前的学习的内容 1 指针是个变量 用来存放地址 地址唯一标识的一块内存空间 2 指针的大小是固定的4/8字节&#xff08;32位平台/64位平台&#xff09; 3 指针有类型的 指针的类型决定了两点 一个是指针操作的权限以及整数的步长 4 指针的…

「deepin生态共建小组」正式启动招募!三大生态共建项目,速来 !

基于社区开源精神&#xff0c;为提高大家对deepin生态建设的参与感&#xff0c;应用商店将正式开放众多软件给广大开源爱好者进行维护。参与小组工作可获得多项专属小组福利&#xff0c;工作项目分为玲珑格式迁移、wine应用打包、deb原生应用维护。 招募条件 1&#xff09;不限…

vivado Versal 串行 I/O 硬件调试流程、使用 Vivado Serial I/O Analyzer 来调试设计

Versal 串行 I/O 硬件调试流程 Versal ™ ACAP 无需再生成 IBERT IP &#xff0c; 因为使用系统内串行 I/O 调试所需的必要逻辑现已集成到 GTY 收发器架构内。使 用 GTY 收发器的任何设计均可用于串行 I/O 硬件调试。 Versal 串行 I/O 硬件调试流程具有 2 个不同阶…

蓝桥杯python考级整理

4_1:算术运算符 4_2:基本语法 4_3:基本语法 4_4:列表 4_5:函数 4_6:字符串 4_7:列表 4_8:逻辑运算符 4_9:字典 4_10:函数

CSS中的 5 类常见伪元素详解!

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web 开发工具合…

InternLM2-lesson5

目录 大模型部署挑战常用大模型部署方式模型剪枝(Pruning)知识蒸馏量化 LMDeploy核心功能性能表现支持部署的模型 作业配置 LMDeploy 运行环境以命令行方式与 InternLM2-Chat-1.8B 模型对话 大模型部署 大模型部署就是将大模型在特定的环境种运行&#xff01;可以部署到服务器…

day13 ts后端持久层框架(java转ts全栈/3R教室)

简介&#xff1a;如果说TS全栈后端开发最重要的两个框架&#xff0c;除了nestjs就是持久层框架了&#xff0c;这里主要看下Typeorm&#xff08;java中常用的就是mybatis&#xff0c;springdatajpa&#xff0c;hebernite了&#xff09; 先回顾下ORM的概念&#xff1a;ORM就是建…

好用的在线客服系统PHP源码(开源代码+终身使用+安装教程) 制作第一步

创建一个在线客服系统是一个涉及多个步骤的过程&#xff0c;包括前端界面设计、后端逻辑处理、数据库设计、用户认证、实时通信等多个方面。以下是使用PHP制作在线客服系统的第一步&#xff1a;需求分析和系统设计。演示&#xff1a;ym.fzapp.top 第一步&#xff1a;需求分析 确…

Linux:进程创建 进程终止

Linux&#xff1a;进程创建 & 进程终止 进程创建fork写时拷贝 进程终止退出码strerrorerrno 异常信号exit 进程创建 fork fork函数可以用于在程序内部创建子进程&#xff0c;其包含在头文件<unistd.h>中&#xff0c;直接调用fork()就可以创建子进程了。 示例代码&…