任意手机应用无需授权可窃听用户语音:加速度计与麦克风的天作之合

本文主要是介绍任意手机应用无需授权可窃听用户语音:加速度计与麦克风的天作之合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

任意手机应用无需授权可窃听用户语音,准确率近90%

 

美国西部时间25日,在国际信息安全界顶级会议“网络与分布式系统安全会议(NDSS 2020)”上,将发布一项来自浙江大学网络空间安全学院任奎团队、加拿大麦吉尔大学、多伦多大学学者团队的最新研究成果——

当前智能手机App可在用户不知情、无需系统授权的情况下,利用手机内置加速度传感器采集手机扬声器所发出声音的震动信号,实现对用户语音的窃听。

也就是说,用户很可能在毫无感知的情况下泄露隐私,而攻击者并不违法。

手机内置加速度传感器,俗称“加速度计”,是一种探测手机自身移动的传感器,常用于任何跟手机运动相关的测量,比如计步、测速、手机姿态测量等等。

在人们的普遍认知里,手机加速度计无法像麦克风、摄像头、地理位置一样,轻易获得或推断敏感的个人信息,因此App调用手机加速度计读数或是获取相应权限几乎不会遇到任何阻力

也正因为这样,通过手机加速度计发起的攻击不仅隐蔽,而且“合法”。

 

基于加速度计的智能手机语音窃听攻击流程图。受访者供图

研究团队发现,由于手机中的扬声器和加速度计被安装在同一块主板上,且距离十分接近,扬声器在播放声音时所产生的震动可以显著地影响加速度计的读数。加速度计收集到震动信号后,可进而识别甚至还原手机所播放的声音信号

他们将这种攻击方式命名为“AccelEve”(加速度计窃听)——一种基于深度学习加速度传感器信号的新型“侧信道”智能手机窃听攻击。

“无论手机开不开免提,一方的人声都是先转换为电信号,通过网络传输到另一方,再通过扬声器发出来,引发主板震动,而加速度计能够感知这种震动”,研究团队成员、浙江大学网络空间安全学院院长任奎告诉南都记者。

通过深度学习算法,研究团队实现了语音识别与语音还原两大类窃听攻击。

攻击者可以识别出智能手机播放过的不同用户语音中包含的所有数字、字母和敏感词信息,准确率均接近90%,即使环境嘈杂,也可以达到80%。这样一来,如果用户语音中涉及密码、身份证号、银行卡号、省份、城市,都可能被窃取。

此外,该技术还可以通过学习加速度计数据与音频数据之间的映射和关联,将加速度计采集到的震动信号还原为原始的音频信号。

尽管囿于加速度计采样率的限制,目前的语音重构模型仅能重构1500Hz以下的音频数据,但重构出的音频已经包含了成人语音中的所有元音信息,进而被人工轻易识别出来。

和其他深度学习模型一样,语音还原模型监测同一个人说的话越多,准确率就越高。不过,任奎指出,在大多数情况下,80%以上的准确率已经足够用了。

“从犯罪分子的角度来说,他的目标并不是100%还原人声”,他强调,“只要里边的敏感信息能被攻击者提取出来,就足以产生潜在效益,对吧?可以说,攻击者监控用户是没有成本的。”

比如用户下载了一款伪装成棋牌游戏的间谍App,只要接通电话,攻击者无需任何授权就能拿到对方的语音数据,并传送到自己的后台。接下来,攻击者只需要把数据加入机器学习模型,就可以识别或还原语音。整个过程不冒任何违法风险。

事实上,目前监管部门出台的App相关法律法规更多针对的是摄像头、麦克风、短信等敏感权限,App需要详细说明获取上述权限的目的和用途,否则涉嫌违规。加速度计这类“低端”权限则处于灰色地带。

南都记者梳理发现,从2013年开始,就陆续有与手机加速度计窃取隐私相关的研究。

2014年,有研究发现,手机陀螺仪可以捕获同一张桌子上扬声器播放语音引起的震动,从而识别语音信息,但可行性和识别精度都较差。

2018年,有研究发现,在所有测试的音频源和媒介中,只有放在桌子上的扬声器才具有足够的功率和传播路径将振动传递给运动传感器。

“可以说,我们的研究结果是目前已发表的论文中,使用深度学习算法唯一在现实场景中切实可行的基于加速度计数据语音准确识别和重建的窃听攻击技术。”任奎说。

他希望,这一新攻击路径与技术的发现,可以让更多人关注移动端传感器安全,研究排查软硬件两方面的手机安全漏洞,减少信息泄露所导致的国家安全与社会经济损失。

来源: https://www.toutiao.com/a6797331213552976397/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1582688255&app=news_article&utm_source=weixin&utm_medium=toutiao_ios&req_id=2020022611373401013107613105057461&group_id=6797331213552976397

 

小结:由于手机中的扬声器和加速度计被安装在同一块主板上,且距离十分接近,扬声器在播放声音时所产生的震动可以显著地影响加速度计的读数。加速度计收集到震动信号后,可进而识别甚至还原手机所播放的声音信号,上述是能够利用加速度计来获取声音信号的基本技术支撑,这是很有意思的。

扬声器播放声音的频率不同,导致加速度计的读数变化不同。根据处理,找到声音频率变化与加速度计读数变化的对应关系,进而获取手机的音频信号。(这涉及到声音信号的处理和分析)

基于这个有趣的研究,可以结合智能移动设备内置的各类传感器来感知周围环境,即感知和分析环境,从周围环境中发现有价值的信息。

这篇关于任意手机应用无需授权可窃听用户语音:加速度计与麦克风的天作之合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/232180

相关文章

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa