Cool-Y.github.io/2021/01/08/Dolphin-Attack/index.html
2021-04-11 04:13:11 +08:00

1234 lines
95 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="theme-next muse use-motion" lang="zh-Hans">
<head><meta name="generator" content="Hexo 3.8.0">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="theme-color" content="#222">
<script src="/lib/pace/pace.min.js?v=1.0.2"></script>
<link href="/lib/pace/pace-theme-center-atom.min.css?v=1.0.2" rel="stylesheet">
<meta http-equiv="Cache-Control" content="no-transform">
<meta http-equiv="Cache-Control" content="no-siteapp">
<link href="/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css">
<link href="/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css">
<link href="/css/main.css?v=5.1.4" rel="stylesheet" type="text/css">
<link rel="apple-touch-icon" sizes="180x180" href="/images/hackerrank.png?v=5.1.4">
<link rel="icon" type="image/png" sizes="32x32" href="/images/hackerrank.png?v=5.1.4">
<link rel="icon" type="image/png" sizes="16x16" href="/images/hackerrank.png?v=5.1.4">
<link rel="mask-icon" href="/images/logo.svg?v=5.1.4" color="#222">
<meta name="keywords" content="硬件攻击,传感器,语音助手,">
<meta name="description" content="算是进入安全领域以来第一篇看懂的论文QAQ">
<meta name="keywords" content="硬件攻击,传感器,语音助手">
<meta property="og:type" content="article">
<meta property="og:title" content="Dolphin Attack 论文翻译">
<meta property="og:url" content="https://cool-y.github.io/2021/01/08/Dolphin-Attack/index.html">
<meta property="og:site_name" content="混元霹雳手">
<meta property="og:description" content="算是进入安全领域以来第一篇看懂的论文QAQ">
<meta property="og:locale" content="zh-Hans">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_23.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_24.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610080973/Dolphin%20Attack/image_25.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610080973/Dolphin%20Attack/image_26.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_271.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_281.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_27.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_28.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_29.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_30.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_31.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_32.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_33.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_34.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_35.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_36.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_37.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_38.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_39.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_40.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_41.png">
<meta property="og:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_42.png">
<meta property="og:updated_time" content="2021-04-10T13:42:46.870Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Dolphin Attack 论文翻译">
<meta name="twitter:description" content="算是进入安全领域以来第一篇看懂的论文QAQ">
<meta name="twitter:image" content="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_23.png">
<script type="text/javascript" id="hexo.configurations">
var NexT = window.NexT || {};
var CONFIG = {
root: '/',
scheme: 'Muse',
version: '5.1.4',
sidebar: {"position":"left","display":"always","offset":12,"b2t":false,"scrollpercent":true,"onmobile":true},
fancybox: true,
tabs: true,
motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
duoshuo: {
userId: '0',
author: '博主'
},
algolia: {
applicationID: '',
apiKey: '',
indexName: '',
hits: {"per_page":10},
labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
}
};
</script>
<link rel="canonical" href="https://cool-y.github.io/2021/01/08/Dolphin-Attack/">
<title>Dolphin Attack 论文翻译 | 混元霹雳手</title>
</head>
<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">
<div class="container sidebar-position-left page-post-detail">
<div class="headband"></div>
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
<div class="header-inner"><div class="site-brand-wrapper">
<div class="site-meta ">
<div class="custom-logo-site-title">
<a href="/" class="brand" rel="start">
<span class="logo-line-before"><i></i></span>
<span class="site-title">混元霹雳手</span>
<span class="logo-line-after"><i></i></span>
</a>
</div>
<p class="site-subtitle">Battle⚔ 2 the world🌎</p>
</div>
<div class="site-nav-toggle">
<button>
<span class="btn-bar"></span>
<span class="btn-bar"></span>
<span class="btn-bar"></span>
</button>
</div>
</div>
<nav class="site-nav">
<ul id="menu" class="menu">
<li class="menu-item menu-item-home">
<a href="/" rel="section">
<i class="menu-item-icon fa fa-fw fa-home"></i> <br>
首页
</a>
</li>
<li class="menu-item menu-item-about">
<a href="/about/" rel="section">
<i class="menu-item-icon fa fa-fw fa-user"></i> <br>
关于
</a>
</li>
<li class="menu-item menu-item-tags">
<a href="/tags/" rel="section">
<i class="menu-item-icon fa fa-fw fa-tags"></i> <br>
标签
</a>
</li>
<li class="menu-item menu-item-categories">
<a href="/categories/" rel="section">
<i class="menu-item-icon fa fa-fw fa-th"></i> <br>
分类
</a>
</li>
<li class="menu-item menu-item-archives">
<a href="/archives/" rel="section">
<i class="menu-item-icon fa fa-fw fa-archive"></i> <br>
归档
</a>
</li>
<li class="menu-item menu-item-bookmarks">
<a href="/bookmarks/" rel="section">
<i class="menu-item-icon fa fa-fw fa-map"></i> <br>
书签
</a>
</li>
<li class="menu-item menu-item-hack之外">
<a href="/hack之外/" rel="section">
<i class="menu-item-icon fa fa-fw fa-heartbeat"></i> <br>
HACK之外
</a>
</li>
</ul>
</nav>
</div>
</header>
<main id="main" class="main">
<div class="main-inner">
<div class="content-wrap">
<div id="content" class="content">
<div id="posts" class="posts-expand">
<article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
<div class="post-block">
<link itemprop="mainEntityOfPage" href="https://cool-y.github.io/2021/01/08/Dolphin-Attack/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="Cool-Y">
<meta itemprop="description" content>
<meta itemprop="image" content="/images/avatar.png">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="混元霹雳手">
</span>
<header class="post-header">
<h1 class="post-title" itemprop="name headline">Dolphin Attack 论文翻译</h1>
<div class="post-meta">
<span class="post-time">
<span class="post-meta-item-icon">
<i class="fa fa-calendar-o"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建于" itemprop="dateCreated datePublished" datetime="2021-01-08T11:58:55+08:00">
2021-01-08
</time>
</span>
<span class="post-category">
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-folder-o"></i>
</span>
<span class="post-meta-item-text">分类于</span>
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="/categories/顶会论文/" itemprop="url" rel="index">
<span itemprop="name">顶会论文</span>
</a>
</span>
</span>
<span id="/2021/01/08/Dolphin-Attack/" class="leancloud_visitors" data-flag-title="Dolphin Attack 论文翻译">
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-eye"></i>
</span>
<span class="post-meta-item-text">阅读次数&#58;</span>
<span class="leancloud-visitors-count"></span>
</span>
<div class="post-wordcount">
<span class="post-meta-item-icon">
<i class="fa fa-file-word-o"></i>
</span>
<span title="字数统计">
15.9k 字
</span>
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-clock-o"></i>
</span>
<span title="阅读时长">
56 分钟
</span>
</div>
<div class="post-description">
算是进入安全领域以来第一篇看懂的论文QAQ
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<h1 id="海豚音攻击"><a href="#海豚音攻击" class="headerlink" title="海豚音攻击"></a>海豚音攻击</h1><p><a href="https://acmccs.github.io/papers/p103-zhangAemb.pdf" target="_blank" rel="noopener">https://acmccs.github.io/papers/p103-zhangAemb.pdf</a><br><a href="https://github.com/USSLab/DolphinAttack" target="_blank" rel="noopener">https://github.com/USSLab/DolphinAttack</a><br><a href="https://zhuanlan.zhihu.com/p/29306026" target="_blank" rel="noopener">https://zhuanlan.zhihu.com/p/29306026</a></p>
<h2 id="Abstract"><a href="#Abstract" class="headerlink" title="Abstract"></a>Abstract</h2><p>诸如Siri或Google Now之类的语音识别SR系统已经成为一种越来越流行的人机交互方法并将各种系统转变为语音可控系统VCS。先前对VCS进行攻击的工作表明人们无法理解的隐藏语音命令可以控制系统。隐藏的语音命令尽管是“隐藏的”但还是可以听到的。在这项工作中我们设计了一个完全听不见的攻击DolphinAttack它可以调制超声载波上的语音命令例如f&gt; 20 kHz以实现听不清。通过利用麦克风电路的非线性特性语音识别系统可以成功地解调恢复调制的低频音频命令并对其进行更重要的解释。我们在流行的语音识别系统上验证了DolphinAttack包括SiriGoogle Now三星S Voice华为HiVoiceCortana和Alexa。通过注入一系列听不见的语音命令我们展示了一些概念验证攻击包括激活Siri以在iPhone上发起FaceTime通话激活Google Now以将手机切换为飞行模式甚至操纵导航系统在奥迪汽车上。我们提出了硬件和软件防御解决方案。我们验证通过使用支持向量机SVM对音频进行分类来检测DolphinAttack是可行的并建议重新设计语音可控系统以应对听不见的语音命令攻击。</p>
<p>关键字语音可控系统语音识别MEMS麦克风安全分析防御</p>
<h2 id="1-Introduction"><a href="#1-Introduction" class="headerlink" title="1 Introduction"></a>1 Introduction</h2><p>语音识别SR技术允许机器或程序识别口语单词并将其转换为机器可读格式。 由于它的可访问性,效率以及最近在识别精度方面的进步,它已成为越来越流行的人机交互机制。 结果语音识别系统已将各种各样的系统变成语音可控系统VCSApple Siri [5]和Google Now [21]允许用户通过语音发起电话呼叫; Alexa [4]已使用户能够指示Amazon Echo订购外卖安排Uber骑行等。随着研究人员将大量精力投入到改善SR系统的性能上人们对语音识别和语音的了解程度却鲜为人知。 可控系统在故意和偷偷摸摸的攻击下表现良好。<br>先前的工作[10、61]已经表明SR系统可以理解人类难以理解的混淆语音命令因此可以控制系统而不会被检测到。 这些语音命令虽然是“隐藏的”,但仍然可以听见并且仍然很明显。 本文旨在研究难以检测到的攻击的可行性,并且本文受到以下关键问题的驱动:语音命令是否可以被人听不见,而仍然可以被设备听见,并且可以被语音识别系统理解? 注入一系列听不见的语音命令是否会导致语音可控系统出现未注意到的安全漏洞? 为了回答这些问题我们设计了DolphinAttack这是一种通过利用超声通道即f&gt; 20 kHz和基础音频硬件的漏洞在VCS处注入听不见的语音命令的方法。<br>由于以下疑问,听不见的语音命令似乎不可行。<br>a设备如何听到听不到的声音人类声音和听力的上限频率为20 kHz。因此大多数具有音频功能的设备例如电话采用低于44 kHz的音频采样率并应用低通滤波器来消除高于20 kHz的信号[32]。先前的工作[61]认为不可能接收20 kHz以上的声音。<br>bSR系统如何理解听不见的声音即使超声被硬件接收并正确采样SR系统也不会识别与人的音调特征不匹配的信号因此无法解释命令。<br>c听不见的声音如何导致VCS发生未注意到的安全漏洞控制VCS的第一步是激活它们。许多VCS例如智能手机和智能家居设备实现了始终在线功能该功能可通过依赖于说话者的唤醒词来激活它们此类系统利用语音识别来认证用户。随机语音命令不会通过语音识别。<br>我们解决了所有这些问题并且我们证明了DolphinAttack语音命令虽然完全听不见因此对于人类来说是听不见的但是它们可以被设备的音频硬件接收并且可以被语音识别系统正确理解。我们在主要的语音识别系统上验证了DolphinAttack包括SiriGoogle Now三星S Voice [43]华为HiVoice [65]Cortana [37]和Alexa。<br>无法听见的语音命令质疑通用设计假设即对手最多只能尝试以语音方式操纵VCS并且可以被警报用户检测到。 此外我们通过询问以下内容来表征这种假设的安全后果一系列听不见的语音命令可以在多大程度上危害VCS的安全性。 为了说明这一点我们展示了DolphinAttack可以完全通过一系列听不见的语音命令来实现以下偷偷摸摸的攻击<br>1访问恶意网站。 该设备可以打开一个恶意网站该网站可以发起按下载驱动器攻击或利用具有0天漏洞的设备。<br>2间谍。 攻击者可以使受害设备发起视频/电话呼叫,因此可以访问设备周围的图像/声音。<br>3注入虚假信息。 攻击者可以指示受害设备发送虚假的文本消息和电子邮件,发布虚假的在线帖子,向日历中添加虚假的事件等。<br>4拒绝服务。 对手可能会注入命令以开启飞行模式,从而断开所有无线通信。<br>5隐藏攻击。 屏幕显示和语音反馈可能会暴露攻击。 对手可以通过调暗屏幕和降低音量来降低失败率。<br>我们已经在16种VCS型号上测试了这些攻击包括Apple iPhoneGoogle NexusAmazon Echo和汽车。 每次攻击至少在一个SR系统上成功。 我们认为该列表到目前为止还不够全面。 尽管如此,它还是一个预警,可以重新考虑在语音可控系统中应支持哪些功能和人类交互级别。<br>总而言之,我们的贡献如下:<br>•我们展示了DolphinAttack它可以利用无法听见的声音和音频电路的特性在最先进的语音识别系统中注入隐蔽的语音命令。 我们在16个常见的语音可控系统平台上的7种流行语音识别系统例如SiriGoogle NowAlexa上验证了DolphinAttack。<br>•我们证明了对手可以注入一系列听不见的语音命令来激活始终在线的系统并实现各种恶意攻击。 经过测试的攻击包括在iPhone上启动Facetime在Amazon Echo上播放音乐以及操纵奥迪汽车中的导航系统。<br>•我们建议同时使用基于硬件和基于软件的防御策略来减轻攻击,并提供增强语音可控系统安全性的建议。</p>
<h2 id="2-背景和威胁模型"><a href="#2-背景和威胁模型" class="headerlink" title="2 背景和威胁模型"></a>2 背景和威胁模型</h2><p>在本节中我们介绍流行的语音可控系统并以MEMS麦克风为重点讨论它们的体系结构。<br><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_23.png" alt></p>
<h3 id="2-1-语音可控系统VCS"><a href="#2-1-语音可控系统VCS" class="headerlink" title="2.1 语音可控系统VCS"></a>2.1 语音可控系统VCS</h3><p>一个典型的语音可控系统由三个主要子系统组成语音捕获语音识别和命令执行如图1所示。语音捕获子系统记录环境语音这些环境语音在被传递到 语音识别子系统之前被放大,过滤和数字化。然后,首先对原始捕获的数字信号进行预处理,以去除超出声音范围的频率,并丢弃包含声音太弱而无法识别的信号段。 接下来,处理后的信号进入语音识别系统。<br>通常语音识别系统在两个阶段工作激活和识别。在激活阶段系统无法接受任意语音输入但会等待激活。要激活系统用户必须说出预定义的唤醒词或按特殊键。例如Amazon echo将“ Alexa”作为激活唤醒词。按住主屏幕按钮约一秒钟可以激活Apple Siri如果启用了“ Allow Hey Siri”功能则可以通过“ Hey Siri”激活。要识别唤醒词麦克风会继续录制环境声音直到发出声音为止。然后系统将使用与说话者无关或与说话者无关的语音识别算法来识别语音。例如只要声音清晰且响亮Amazon Echo就会采用与说话者无关的算法并接受任何人说的“ Alexa”。相比之下Apple Siri取决于扬声器。 Siri需要接受用户培训并且仅接受同一个人的“ Hey Siri”。激活后SR系统将进入识别阶段通常将使用与说话者无关的算法将语音转换为文本即本例中的命令。<br>请注意与说话者相关的SR通常在本地执行与说话者无关的SR通过云服务执行[28]。 要使用云服务已处理的信号将发送到服务器服务器将提取特征通常为Mel频率倒谱系数[10、27、62])并通过机器学习算法(例如,隐马尔可夫模型或神经网络)识别命令 网络)。 最后,命令被发回。<br>给定已识别的命令,命令执行系统将启动相应的应用程序或执行操作。 可接受的命令和相应的动作取决于系统,并且是预先定义的。 流行的语音可控系统包括智能手机,可穿戴设备,智能家居设备和汽车。 智能手机允许用户通过语音命令执行广泛的操作,例如拨打电话号码,发送短信,打开网页,将手机设置为飞行模式等。现代汽车接受一系列精心设计的语音命令来激活 并控制一些车载功能例如GPS娱乐系统环境控制和手机。 例如如果识别出“呼叫1234567890”则汽车或智能手机可能会开始拨打电话号码1234567890<br>关于语音可控系统的许多安全性研究都集中于攻击语音识别算法[10]或命令执行环境(例如恶意软件)。 本文针对语音捕获子系统,将在下一部分中对其进行详细介绍。</p>
<h3 id="2-2-麦克风"><a href="#2-2-麦克风" class="headerlink" title="2.2 麦克风"></a>2.2 麦克风</h3><p>语音捕获子系统记录可听见的声音并且主要是麦克风其是将空气传播的声波即声音转换为电信号的换能器。最古老和最受欢迎的麦克风之一是电容式麦克风它通过容量变化将声波转换为电信号。驻极体电容式麦克风ECM和微机电系统MEMS[2、3、29、52、53]版本都可以在市场上购买。由于微型封装尺寸和低功耗MEMS麦克风主导了语音可控设备包括智能手机可穿戴设备。因此本文主要关注MEMS麦克风并将简要报告有关ECM的结果。不过MEMS和ECM的工作原理相似。如图2b所示MEMS麦克风包含薄膜可移动板和互补的带孔背板固定板[54]。在存在声波的情况下,由声波引起的气压穿过背板上的孔并到达隔膜,该隔膜是一种薄的固体结构,可响应气压的变化而弯曲[64]。这种机械变形导致电容变化。由于电容器上保持几乎恒定的电荷因此电容变化将产生交流信号。这样气压被转换成电信号以进行进一步处理。类似地如图2a所示ECM麦克风利用由柔性膜和固定板形成的电容来记录声波。<br><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_24.png" alt><br>语音捕获子系统中的麦克风低通滤波器LPF和ADC旨在捕获可听声音所有这些功能都旨在抑制超出可听声音频率范围即20 Hz至20 kHz的信号。 根据数据表麦克风的灵敏度频谱在20 Hz至20 kHz之间理想情况下应过滤任何其他频率范围内的信号。 即使麦克风记录了高于20 kHz的信号LPF也应将其删除。 最后ADC的采样率通常为44.1 kHz根据奈奎斯特采样定理数字化信号的频率被限制在22 kHz以下。</p>
<h3 id="2-3-威胁模型"><a href="#2-3-威胁模型" class="headerlink" title="2.3 威胁模型"></a>2.3 威胁模型</h3><p>攻击者的目标是在用户不知情的情况下将语音命令注入到语音可控系统中,并执行未经身份验证的操作。我们假设对手无法直接访问目标设备,拥有自己的传输声音信号的设备,并且无法要求所有者执行任何任务。</p>
<ul>
<li>没有目标设备访问权限。我们假设对手可以针对她选择的任何语音可控系统,但她无法直接访问目标设备。她无法实际触摸它们,更改设备设置或安装恶意软件。但是,我们假设她完全了解目标设备的特性。可以通过首先获取设备模型,然后在发起攻击之前分析相同模型的设备来获得此类知识。</li>
<li>没有所有者交互。我们假设目标设备可能在所有者附近但可能没有在使用中并且不引起注意例如在桌子的另一侧屏幕遮盖的地方或放在口袋中。此外设备可能无人看管这可能在所有者暂时不在时例如将Amazon Echo留在房间中发生。或者设备可能被盗对手可能会尝试各种可能的方法来解锁屏幕。但是对手不能要求所有者执行任何操作例如按下按钮或解锁屏幕。</li>
<li>听不见。由于对手的目标是在不被检测到的情况下注入语音命令因此她将使用人类听不到的声音即超声波f&gt; 20 kHz。请注意我们没有使用高频声音18 kHz &lt;f &lt;20 kHz因为它们仍然可以被孩子听到。</li>
<li>攻击装备。我们假设对手既可以获取用于发射超声波的扬声器,也可以获取用于播放声音的商品设备。攻击者在目标设备附近。例如,她可能会在受害人的桌子或家附近秘密地留下一个可远程控制的扬声器。或者,她可能在受害者走动时携带便携式扬声器。</li>
</ul>
<h2 id="3-可行性分析"><a href="#3-可行性分析" class="headerlink" title="3 可行性分析"></a>3 可行性分析</h2><p>DolphinAttack的基本思想是a在空中传输之前在超声载波上调制低频语音信号即基带以及b在接收器处用语音捕获硬件对调制后的语音信号进行解调。由于我们无法控制语音捕获硬件因此我们必须以一种可以使用语音捕获硬件将其解调为基带信号的方式来调制信号。假设麦克风模块始终利用LPF抑制不想要的高频信号则解调应在LPF之前完成。<br>由于语音捕获硬件的信号路径从麦克风一个或多个放大器LPF到ADC开始因此解调的潜在组件是麦克风和放大器。我们研究了完成DolphinAttack的原理。尽管诸如放大器之类的电子组件被设计为线性的但实际上它们表现出非线性。利用这种非线性特性电子元件能够创建新的频率[25]。尽管已经报道并利用了放大器模块的非线性但包括ECM麦克风和MEMS麦克风在内的麦克风是否具有这种特性仍是未知的。<br>为了进行研究,我们首先在理论上对麦克风模块的非线性建模,然后显示非线性对实际麦克风模块的影响。</p>
<h3 id="3-1非线性效应建模"><a href="#3-1非线性效应建模" class="headerlink" title="3.1非线性效应建模"></a>3.1非线性效应建模</h3><p>麦克风将机械声波转换为电信号。 从本质上讲,麦克风可以粗略地视为在输入/输出信号传输特性中具有平方律非线性的组件[1、13]。 众所周知,放大器具有非线性特性,可以产生低频范围内的解调信号[20]。 在本文中,我们研究了麦克风的非线性,可以将其建模如下。 假设输入信号为sint输出信号soutt</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610080973/Dolphin%20Attack/image_25.png" alt><br>其中A是输入信号的增益B是二次项s2 in的增益。线性分量采用频率为f的正弦输入信号并输出具有相同频率f的正弦信号。 相比之下电气设备的非线性会产生谐波和叉积2。尽管通常将它们视为不希望的失真[31],但具有非线性的设备能够生成新的频率,并且通过精心设计的输入信号,它们可以将信号下变频为 以及恢复基带信号。<br>假设所需的语音控制信号为mt我们选择中心频率为fc的载波上的调制信号为</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610080973/Dolphin%20Attack/image_26.png" alt><br>即,使用幅度调制。 不失一般性设mt为简单基调即mt= cos2πfmt。 应用等式后。 21并进行傅立叶变换我们可以确认输出信号包含预期的频率分量fm以及sin的基本频率分量即fc-fmfc + fm和fc谐波和其他交叉 乘积即fm2fc-fm2fc + fm2fc2fc + fm和2fc-fm。 经过LPF后所有高频成分将被删除而fm频率成分将保留下来从而完成了下变频如图3所示。</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_271.png" alt></p>
<h3 id="3-2-非线性效应评估"><a href="#3-2-非线性效应评估" class="headerlink" title="3.2 非线性效应评估"></a>3.2 非线性效应评估</h3><p>考虑到麦克风模块非线性效应的理论计算及其对调制后输入信号的影响在本节中我们将验证对真实麦克风的非线性效应。我们测试两种类型的麦克风ECM和MEMS麦克风。</p>
<h4 id="3-2-1-实验设置"><a href="#3-2-1-实验设置" class="headerlink" title="3.2.1 实验设置"></a>3.2.1 实验设置</h4><p>实验设置如图5所示。我们使用iPhone SE智能手机生成2 kHz语音控制信号即基带信号。然后将基带信号输入到矢量信号发生器[57]该信号发生器将基带信号调制到载波上。经功率放大器放大后调制信号由高质量的全频带超声扬声器Vifa传输[9]。请注意我们选择的载波范围为9 kHz至20 kHz因为信号发生器无法生成低于9 kHz频率的信号。<br><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_281.png" alt>在接收器端我们测试了从耳机中提取的ECM麦克风和ADMP401 MEMS麦克风[16]。如图5所示ADMP401麦克风模块包含一个前置放大器。为了了解麦克风的特性我们测量了麦克风而不是前置放大器输出的信号。</p>
<h4 id="3-2-2-结果"><a href="#3-2-2-结果" class="headerlink" title="3.2.2 结果"></a>3.2.2 结果</h4><p>我们使用两种信号来研究非线性:单音和多音语音。<br>单音: 图4显示了当我们使用20 kHz载波时的结果这证实了麦克风的非线性有助于解调基带信号。前两个图显示了来自扬声器的原始信号的时域和频域从而很好地显示了载波频率20 kHz和上边带以及下边带20±2 kHz。第二行中的两个图显示了来自MEMS麦克风的输出信号下面两个图显示了来自ECM麦克风的输出信号。即使信号被衰减尤其是对于ECM麦克风两个麦克风在频域中的基带2 kHz仍能证实解调成功。请注意频域图包含多个高频谐波这些谐波将被LPF过滤并且不会影响语音识别。</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_27.png" alt><br>声音: 尽管我们可以成功地解调出信号音,但语音是各种频率下无数音调的混合,并且未知解调后的语音信号是否仍与原始信号相似。因此,我们计算了三个“ Hey”声音片段中的Mel频率倒谱系数MFCC这是声音使用最广泛的功能之一a由文本语音转换TTS引擎生成的原始语音b三星Galaxy S6 Edge以iPhone 6 plus录制的语音播放了原始TTS语音以及c三星S6 Edge以TTS语音调制的语音由全频带超声扬声器调制和播放Vifa [9]。如图6所示这三种情况的MFCC都是相似的。为了量化相似度我们计算了原始和记录之间的梅尔倒谱失真MCD情况b为3.1情况c为7.6。 MCD量化两个MFCC之间的失真数值越小越好。通常如果两个语音的MCD值小于8 [23]则认为它们可以被语音识别系统接受因此结果鼓励我们对DolphinAttack针对语音可控系统进行进一步的研究。</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_28.png" alt></p>
<h2 id="4-攻击设计"><a href="#4-攻击设计" class="headerlink" title="4 攻击设计"></a>4 攻击设计</h2><p>DolphinAttack利用听不见的语音注入来静默控制VCS。由于攻击者几乎无法控制VCS因此成功进行攻击的关键是在攻击发送方生成听不见的语音命令。特别是DolphinAttack必须为VCS的激活和识别阶段生成语音命令的基带信号对基带信号进行调制以便可以在VCS上对其进行有效解调并设计一种可以在任何地方启动DolphinAttack的便携式发射机。 DolphinAttack的基本构建模块如图7所示我们将在以下小节中讨论这些细节。在不失一般性的前提下我们通过使用Siri作为案例研究来讨论设计细节并且该技术可以轻松地应用于其他SR系统例如Google NowHiVoice</p>
<h3 id="4-1-语音命令生成"><a href="#4-1-语音命令生成" class="headerlink" title="4.1 语音命令生成"></a>4.1 语音命令生成</h3><p>Siri的工作分为两个阶段激活和识别。它在接受语音命令之前需要激活因此我们生成两种类型的语音命令激活命令和常规控制命令。为了控制VCSDolphinAttack必须在注入常规控制命令之前生成激活命令。</p>
<h4 id="4-1-1-激活命令生成"><a href="#4-1-1-激活命令生成" class="headerlink" title="4.1.1 激活命令生成"></a>4.1.1 激活命令生成</h4><p>成功的激活命令必须满足两个要求a包含唤醒词“ Hey Siri”以及b调成接受Siri训练的用户的特定语音。创建具有这两个要求的激活命令具有挑战性除非攻击者在附近并设法创建清晰的记录时用户碰巧说“ Hey Siri”。实际上攻击者最多可以偶然记录任意单词。如果可能的话使用现有的语音合成技术[38]和从录音中提取的特征来生成特定语音的“嘿Siri”是极其不同的因为目前尚不清楚Siri使用哪些特征集进行语音识别。因此我们设计了两种方法来分别针对两种情况生成激活命令a攻击者找不到Siri的所有者例如攻击者获得了被盗的智能手机以及b攻击者可以获得一些录音主人的声音。<br>1基于TTS的蛮力。 TTS技术的最新进展使将文本转换为语音变得容易。 因此即使攻击者没有机会从用户那里获得任何语音记录攻击者也可以通过TTS文本到语音系统生成一组包含唤醒词的激活命令。 观察到的启发是具有相似声调的两个用户可以激活另一个人的Siri。 因此只要集合中的激活命令之一具有与所有者足够接近的声音就足以激活Siri。 在DolphinAttack中我们借助现有的TTS系统如表1所示准备了一组具有各种音调和音色的激活命令其中包括Selvy SpeechBaiduGoogle等。总共我们获得了90种类型的TTS 声音。 我们选择Google TTS语音来训练Siri其余的用于攻击</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_29.png" alt><br>2级联综合。当攻击者可以录制来自Siri所有者的几个单词但不是必需的“嘿Siri”时我们建议通过从可用录制中的其他单词中搜索相关的音素来合成所需的语音命令。英文大约有44个音素而唤醒字“嘿Siri”使用6个音素即HHEYSIHRIY。许多单词的发音与“ Hey”或“ Si”或“ ri”相同可以将它们拼接在一起。例如我们可以将“ he”和“ cake”连接起来以获得“ Hey”。同样“ Siri”可以是“城市”和“携带”的组合。如图8所示我们首先在记录的句子中搜索单个或组合的音素然后如果找到匹配项则提取感兴趣的片段。最后将匹配的音素组合在一起。为了评估该方案的可行性我们进行了以下实验。我们使用Google TTS生成用于训练SR系统的“ Hey Siri”并生成两组候选语音以合成“ Hey Siri”1.“ he”“ cake”“ city”“ carry” 2.“he is a boy”, “eat a cake”, “in the city”, “read after me”。合成激活命令后我们使用如图5所示的相同实验设置在iPhone 4S上对其进行测试。两个合成的“ Hey Siri”都可以成功激活Siri。</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_30.png" alt></p>
<h4 id="4-1-2-通用控制命令生成"><a href="#4-1-2-通用控制命令生成" class="headerlink" title="4.1.2 通用控制命令生成"></a>4.1.2 通用控制命令生成</h4><p>常规控制命令可以是启动应用程序例如“拨打911”“打开<a href="http://www.google.com”或配置设备例如“开启飞行模式”的任何命令。与激活命令不同SR系统不会验证控制命令的身份。因此攻击者可以选择任何控制命令的文本并利用TTS系统生成命令。" target="_blank" rel="noopener">www.google.com”或配置设备例如“开启飞行模式”的任何命令。与激活命令不同SR系统不会验证控制命令的身份。因此攻击者可以选择任何控制命令的文本并利用TTS系统生成命令。</a></p>
<h4 id="4-1-3-评估"><a href="#4-1-3-评估" class="headerlink" title="4.1.3 评估"></a>4.1.3 评估</h4><p>我们测试激活和控制命令。在不失一般性的前提下我们通过利用Tab中总结的TTS系统生成激活和控制命令。 1.特别是我们从这些TTS系统的网站上下载了两个语音命令“ Hey Siri”和“ call 1234567890”。对于激活我们使用Google TTS系统中的“ Hey Siri”来训练Siri其余的用于测试。我们通过iPhone 6 Plus和台式设备播放语音命令如图5所示并在iPhone 4S上进行测试。选项卡中汇总了这两个命令的激活和识别结果。结果表明SR系统可以识别来自任何TTS系统的控制命令。在89种类型的激活命令中有35种可以激活Siri成功率为39</p>
<h3 id="4-2-语音命令调制"><a href="#4-2-语音命令调制" class="headerlink" title="4.2 语音命令调制"></a>4.2 语音命令调制</h3><p>生成语音命令的基带信号后,我们需要在超声载波上对其进行调制,以使它们听不到。 为了利用麦克风的非线性DolphinAttack必须利用幅度调制AM</p>
<h4 id="4-2-1-AM调制参数"><a href="#4-2-1-AM调制参数" class="headerlink" title="4.2.1 AM调制参数"></a>4.2.1 AM调制参数</h4><p>在AM中载波的幅度与基带信号成比例地变化并且幅度调制产生一个信号其功率集中在载波频率和两个相邻的边带上如图9所示。 描述如何在DolphinAttack中选择AM参数。<br>1深度调制深度m定义为m M / A其中A是载波幅度M是调制幅度M是幅度从其未调制值起的峰值变化。 例如如果m = 0.5则载波幅度在其未调制电平之上或之下变化50。 调制深度与麦克风非线性效应的利用直接相关我们的实验表明调制深度与硬件有关在第5节中有详细介绍<br>2载波频率。载波频率的选择取决于几个因素超声波的频率范围基带信号的带宽低通滤波器的截止频率以及VCS上麦克风的频率响应以及频率攻击者的回应。调制信号的最低频率应大于20 kHz以确保听不见。假设语音命令的频率范围为w则载波频率fc必须满足fc-w&gt; 20 kHz的条件。例如假设基带的带宽为6 kHz则载波频率必须大于26 kHz以确保最低频率大于20 kHz。人们可能会考虑使用20 kHz以下的载波因为这些频率对于大多数人来说是听不到的除了小孩。但是这样的载波例如20kHz将无效。这是因为当载波频率和下边带低于低通滤波器的截止频率时它们将不会被滤波。因此恢复的语音不同于原始信号并且语音识别系统将无法识别命令。 类似于许多电子设备麦克风是频率选择性的例如各种频率下的增益会变化。为了提高效率载波频率应是扬声器和VCS麦克风上增益最高的乘积。为了发现最佳载波频率我们测量扬声器和麦克风的频率响应在相同的激励下我们测量各种频率下的输出幅度。图10显示了Samsung Galaxy S6 Edge 3上的ADMP 401 MEMS麦克风和扬声器的频率响应。麦克风和扬声器的增益不一定随频率的增加而降低因此有效载波频率可能不会单调。<br>3语音选择。 各种声音映射到各种基带频率范围。 例如女性语音通常具有比男性语音更宽的频带这导致在可听频率范围内频率泄漏的可能性更大调制信号的最低频率可以小于20kHz。 因此,如果可能,应选择带宽较小的语音以创建基带语音信号<br><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_31.png" alt></p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_32.png" alt></p>
<h3 id="4-3-语音命令发送器"><a href="#4-3-语音命令发送器" class="headerlink" title="4.3 语音命令发送器"></a>4.3 语音命令发送器</h3><p>我们设计了两个发射器a由专用信号发生器驱动的强大发射器如图5所示以及b由智能手机驱动的便携式发射器如图11所示。 我们利用第一个来验证和量化DolphinAttack可以完成各种听不见的语音命令的程度而我们使用第二个来验证步行攻击的可行性。 这两个发射机均由三个组件组成:信号源,调制器和扬声器。 信号源产生原始语音命令的基带信号并输出到调制器该调制器以幅度调制AM的形式将语音信号调制到频率为fc的载波上。 最后扬声器将调制后的信号转换成声波并请注意扬声器的采样率必须大于2fc + w以避免信号混叠。</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_33.png" alt></p>
<h4 id="4-3-1-具有信号发生器的强大变送器"><a href="#4-3-1-具有信号发生器的强大变送器" class="headerlink" title="4.3.1 具有信号发生器的强大变送器"></a>4.3.1 具有信号发生器的强大变送器</h4><p>我们将智能手机用作信号源并将图5中描述的矢量信号发生器用作调制器。请注意信号发生器的采样范围为300 MHz远大于超声频率并且可以使用预定义的参数调制信号。功能强大的发射器的扬声器是名为Vifa [9]的宽带动态超声扬声器。</p>
<h4 id="4-3-2-带有智能手机的便携式变送器"><a href="#4-3-2-带有智能手机的便携式变送器" class="headerlink" title="4.3.2 带有智能手机的便携式变送器"></a>4.3.2 带有智能手机的便携式变送器</h4><p>便携式发射器利用智能手机来发射调制信号。因为我们发现许多设备的最佳载波频率都大于24 kHz如表3所示。 大多数智能手机无法完成任务。大多数智能手机最多支持48 kHz采样率并且只能发送载波频率最高为24 kHz的调制窄带信号。为了构建适用于各种VCS的便携式发射器我们购买了三星Galaxy S6 Edge它支持高达192 kHz的采样率。不幸的是三星Galaxy S6的车载扬声器会衰减频率大于20 kHz的信号。为了减轻这个问题我们使用窄带超声换能器[56]作为扬声器并在超声换能器之前添加了一个放大器如图11所示。这样有效的攻击范围得以扩展。<br><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_34.png" alt></p>
<h2 id="5-VCS的可行性实验"><a href="#5-VCS的可行性实验" class="headerlink" title="5 VCS的可行性实验"></a>5 VCS的可行性实验</h2><p>我们在16种流行的语音可控系统和7种语音识别系统上通过实验验证了DolphinAttack并寻求以下三个问题的答案a攻击是否会针对各种操作系统和硬件平台上的不同语音识别系统起作用 b不同的软件和硬件如何影响攻击的性能 c成功实施攻击的关键参数是什么 本部分详细介绍了实验设计,设置和结果。</p>
<h3 id="5-1-系统选择"><a href="#5-1-系统选择" class="headerlink" title="5.1 系统选择"></a>5.1 系统选择</h3><p>我们检查了针对各种先进的语音识别系统和现成的VCS的DolphinAttack攻击这些攻击已在Tab 3.中列出。 该列表并非旨在详尽无遗而是提供了一组具有代表性的VCS可以尽我们最大的努力进行实验。<br>我们选择目标系统的方法是双重的-软件和硬件。首先我们选择可公开使用的主要语音识别系统例如SiriGoogle NowAlexaCortana等。与普通软件不同SR系统尤其是专有系统高度依赖硬件和操作系统。例如只能在Apple产品上找到和使用Siri。 Alexa仅限于Amazon设备 Cortana仅在Windows计算机上运行。尽管如此我们还是选择了与SR系统兼容的硬件并进行了实验。为了探究硬件对攻击性能的影响我们检查了运行同一SR系统的不同硬件模型例如各代iPhone上的Siri受到的攻击。<br>总而言之我们选择在活跃用户的消费市场上流行的VCS和SR系统并涵盖各种应用领域和使用场景。在标签页中。参见Tab 3.我们总结了用于实验的所选VCS可以将其分为三类-个人设备(可穿戴设备,智能手机,平板电脑,计算机),智能家居设备和车辆。</p>
<h3 id="5-2-实验设置"><a href="#5-2-实验设置" class="headerlink" title="5.2 实验设置"></a>5.2 实验设置</h3><p>我们使用相同的实验设置和设备测试对所选语音可控系统和语音识别系统的攻击,并在注入具有三个目标的不可听的语音命令时报告其行为:</p>
<ul>
<li>检查攻击的可行性。</li>
<li>量化参数以调整成功的攻击。</li>
<li>测量攻击性能。</li>
</ul>
<p>设备: 除非另有说明否则所有实验均使用默认的实验设备如图5所示的功能强大的发射器其中包括智能手机作为信号源信号发生器作为调制器以及名为Vifa的宽带动态超声扬声器[9]。 作为扬声器播放听不见的语音命令。 由于功能强大的发射器能够以多种载波从9 kHz到50 kHz发射信号因此我们将其用于可行性研究。 相比之下,便携式发射机使用窄带扬声器,其传输频率受到可用的窄带扬声器的限制。 在我们的情况下我们的便携式发射机可以以23 kHz25 kHz33 kHz40 kHz和48 kHz的频率发送信号。</p>
<p>设定除非受到设备尺寸的限制否则我们会将选定的设备放在台式攻击设备前面并且桌子上的距离各不相同并且设备麦克风朝向扬声器。将设备和扬声器都升高到相同的高度即在桌子上方10厘米以避免机械耦合。除带有汽车的测试外所有实验均在我们的实验室中进行平均背景噪声为55 dB SPL声压级并且我们确认在测试频段20 kHz 50 kHz中没有干扰声。我们通过功能强大的发射器播放听不见的语音命令并在设备屏幕或设备声学响应中观察结果。通常设备上安装了多个麦克风以拾取来自各个方向的声音。通常所有麦克风都用于语音识别。在我们的实验中我们专门测试了显示最佳解调效果的设备。</p>
<p>语音命令: 针对两种类型的攻击(激活和识别)准备了两种语音命令。 对于那些支持语音激活的系统,我们尝试使用听不见的唤醒单词命令激活它们。 要检查语音识别系统是否可以正确识别听不见的语音命令我们选择了一些可以理解的英语命令如Tab 2中所示。 由于所有设备均不支持任何命令,因此我们准备了一组命令来覆盖所有设备。 对于每个命令我们尝试两种音频来源来自TTS引擎的合成声音以及作者所说的真实人类声音。</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_35.png" alt><br>声压级:尽管为攻击而产生的声音是人类无法听到的,但是我们仍然使用自由场测量麦克风[50]以分贝为单位测量声压级SPL。 在距Vifa [9]扬声器10 cm处测量的超声接收声压级为125 dB。</p>
<p>攻击在识别攻击中SR系统是事先手动激活的。 在激活攻击中,不允许与设备进行物理交互。 仅当从SR系统识别的文本与攻击命令完全匹配时才认为攻击成功并且仅记录距离。</p>
<p>调制参数: 我们认为调制参数可能会影响攻击性能。 我们考虑幅度调制中的两个因素载波频率fc和调制深度。 为了量化其影响我们使用Google TTS引擎作为基带音频源将设备放置在距宽带超声扬声器Vifa [9] 10 cm处并测量三个值afc range-载波范围 成功进行识别攻击且100准确的频率。 b素数fc 解调后展现最高基带4幅度的fc。 cAM深度—成功进行识别攻击且100准确时在原始fc处的调制深度。</p>
<h3 id="5-3-可行性结果"><a href="#5-3-可行性结果" class="headerlink" title="5.3 可行性结果"></a>5.3 可行性结果</h3><p>Tab. 3总结实验结果。 从Tab. 3所示我们可以得出结论DolphinAttack可与几乎所有经过检查的SR系统和设备一起使用。 特别是SR系统可以在所有经过测试的硬件上正确解释听不到的语音命令并且在需要激活的所有VCS上都可以成功激活。 但是,结果确实表明,设备和系统需要各种参数才能实现相同的攻击效果。 我们讨论以下结果:<br><strong>硬件依赖性:</strong>DolphinAttack的基本原理是在数字化组件之前注入听不见的语音命令。 因此DolphinAttack的可行性在很大程度上取决于音频硬件而不是语音识别系统。 例如运行Siri的同一制造商的各种设备在攻击成功率最大攻击距离和调制参数方面显示出很大的差异。 这是因为各种型号采用不同的硬件例如麦克风放大器滤波器这导致输入到相同SR系统的数字化音频发生变化。 我们在两个相同设备iPhone SE上的实验显示出相似的攻击参数和结果。 因此,攻击者事先研究硬件以获得令人满意的攻击结果是可行的。<br><strong>SR系统依赖性</strong>我们发现各种SR系统可能会以不同方式处理相同的音频。 我们在运行iPhone SE的Google Chrome中测试了语音搜索。 表3中的结果表明Google Chrome的fc范围与Siri实验中的fc范围重叠这表明我们的攻击取决于硬件。 但是fcAM深度和识别距离的差异是由SR系统引起的<br><strong>识别与激活:</strong>根据攻击距离各种设备和SR系统对识别和激活攻击的反应可能不同。 对于某些设备8个设备可以比识别攻击更大的距离实现激活攻击而对于其他设备6个设备成功激活攻击的有效范围要比识别攻击小。 此外,我们观察到,对于许多设备而言,在控制命令之前附加激活命令(例如“ Hey Siri”可能会增加正确识别的可能性这可能是因为SR系统专门对激活命令进行了训练使之成为可能。 在常开模式下识别。<br><strong>命令很重要:</strong> 语音命令的长度和内容会影响成功率和最大攻击距离。 在实验中,我们严格要求要求正确识别命令中的每个单词,尽管某些命令可能不需要这样做。 例如,“呼叫/ FaceTime 1234567890”和“打开dolphinattack.com”比“打开飞机模式”或“今天的天气如何”更难被识别。 在前一种情况下,必须正确识别执行字“ call”“ open”和内容数字url。 但是,对于后一种情况,仅识别诸如“飞机”和“天气”之类的关键字就足以执行原始命令。 如果攻击命令简短且对于SR系统通用则可以提高攻击性能。<br><strong>载波频率:</strong> fc是影响攻击成功率的主要因素并且在各个设备之间也显示出很大的差异。对于某些设备成功进行识别攻击的fc范围可以宽至20-42 kHz例如iPhone 4s也可以窄至几个单个频率点例如iPhone 5s。我们将这种多样性归因于这些麦克风的频率响应和频率选择性的差异以及音频处理电路的非线性。例如Nexus 7的fc范围是从24到39 kHz这可以从两个方面进行解释。 fc不高于39 kHz因为Vifa扬声器在39 kHz以上的频率响应较低而Nexus 7麦克风之一也较低。因此结合起来高于39 kHz的载波不再足够有效以注入听不见的语音命令。由于麦克风频率响应的非线性fc不能小于24 kHz。我们观察到当基带谐波的幅度大于基带之一时无法听到的语音命令对于SR系统变得不可接受。例如在给定400 Hz音调的基带的情况下我们测量Nexus 7上的解调信号即400 Hz基带并观察800 Hz2次谐波1200 Hz3次谐波甚至更高的谐波这可能是由于音频处理电路的非线性所致。如图12所示当fc小于23 kHz时第二和第三谐波要强于第一谐波这会使基带信号失真并使SR系统难以识别。导致最佳攻击性能的Prime fc是既显示高基带信号又显示低谐波的频率。在Nexus 7上Prime fc为24.1 kHz<br><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_36.png" alt><br><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_37.png" alt><br><strong>调制深度:</strong> 调制深度会影响解调后的基带信号的幅度及其谐波如图13所示。随着调制深度从0逐渐增加到100解调后的信号会变得更强进而提高SNR和攻击成功率 除少数例外例如当谐波使基带信号失真的程度大于AM深度较低的情况时。 我们在Tab 3 中报告了对每台设备成功进行识别攻击的最小深度。<br>攻击距离: 攻击距离从2厘米到最大175厘米不等并且跨设备差异很大。 值得注意的是我们在Amazon Echo上两次攻击都可以达到的最大距离为165厘米。 我们认为,可以使用可以产生更高压力水平的声音并表现出更好的声音指向性的设备来增加距离,或者使用更短和更易于识别的命令来增加距离。<br><strong>努力与挑战:</strong>在进行上述实验时,我们面临挑战。 除了获取设备以外,由于缺少音频测量反馈界面,因此测量每个参数非常耗时且费力。 例如为测量Prime fc我们使用不同平台上的音频频谱分析软件在各种设备上分析解调结果iOS [30]macOS [34]Android [41]和Windows [35]。 对于不支持安装频谱软件的设备例如Apple Watch和Amazon Echo我们利用呼叫和命令日志回放功能并在另一台中继设备上测量音频。</p>
<h3 id="5-4-小结"><a href="#5-4-小结" class="headerlink" title="5.4 小结"></a>5.4 小结</h3><p>我们将实验总结如下。 1我们验证了跨越16种不同设备和7种语音识别系统的识别和激活攻击并在几乎所有设备上均获得了成功。 2我们测量了所有设备的攻击性能其中一些设备足以应付日常情况下的实际攻击。 例如我们可以在距离iPhone 2s和Amazon Echo约2米的地方启动DolphinAttack。 3我们测量检查并讨论了与攻击性能有关的参数包括SR系统设备硬件语音命令fcAM深度等。</p>
<h2 id="6-影响定量"><a href="#6-影响定量" class="headerlink" title="6 影响定量"></a>6 影响定量</h2><p>在本节中我们将使用功能强大的发射器图5中所示的台式机设置根据语言背景噪声声压级和攻击距离评估DolphinAttack的性能。 此外,我们评估了使用便携式设备进行的漫游攻击的有效性。</p>
<h3 id="6-1-语言的影响"><a href="#6-1-语言的影响" class="headerlink" title="6.1 语言的影响"></a>6.1 语言的影响</h3><p>为了检查DolphinAttack在语言方面的有效性我们选择了五种语言中的三个语音命令。语音命令包括激活命令“ Hey Siri”和两个控制命令“ Call 1234567890”和“ Turn onplane mode”代表针对SR系统的三种攻击激活SR系统启动对用户的监视和拒绝服务攻击。每个语音命令分别以英语中文德语法语和西班牙语进行测试。我们针对与运行iOS 10.3.1的iPhone 6 Plus配对的Apple Watch推出DolphinAttack。对于每种语言的每种语音命令我们将其重复10次并计算平均成功率。距离设置为20 cm测得的背景噪声为55 dB。我们利用25 kHz载波频率和100AM深度。图14示出了给定语言的三个语音命令的识别结果。我们可以看到各种语言和语音命令的识别率几乎相同。特别地英语和西班牙语中所有语音命令的识别率均为100并且三种语音命令在所有语言中的平均识别率分别为10096和98。此外用于激活的识别率“嘿Siri”高于控制命令“呼叫1234567890”和“打开飞机模式”之一。这是因为激活命令的长度比控制命令的长度短。无论如何结果表明我们的方法对于各种语言和语音命令都是有效的。</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_38.png" alt></p>
<h3 id="6-2-背景噪声的影响"><a href="#6-2-背景噪声的影响" class="headerlink" title="6.2 背景噪声的影响"></a>6.2 背景噪声的影响</h3><p>众所周知语音识别对背景噪声敏感建议在安静的环境中使用。因此我们在以下三种情况下检查了通过DolphinAttack发出的听不见的语音命令注入在办公室咖啡馆在街上。为确保实验可重复我们通过以选定的SPL播放背景声音来模拟这三种情况并评估它们对识别率的影响。我们选择Apple Watch作为攻击目标并通过迷你声级计测量背景噪音。从表4可以看出激活命令的识别率在所有三个场景中均超过90而控制命令“飞机飞行模式”的识别率则随着环境噪声水平的提高而降低。这是因为激活命令比控制命令短。随着控制命令的单词数增加由于无法识别任何单词可能导致命令识别失败因此识别率迅速下降。</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_39.png" alt></p>
<h3 id="6-3-声压级的影响"><a href="#6-3-声压级的影响" class="headerlink" title="6.3 声压级的影响"></a>6.3 声压级的影响</h3><p>对于可听和不可听的声音较高的SPL会导致录制的语音质量更高从而识别率也更高。这是因为对于给定的噪声水平较高的SPL始终意味着较大的信噪比SNR。为了探索SPL对DolphinAttack的影响我们在Apple Watch和Galaxy S6 Edge智能手机上测试了控制命令“ Call 1234567890”。在所有实验中将扬声器放置在距目标设备10厘米的位置并将迷你声级计放置在扬声器旁边以测量环境噪声。我们用两种粒度来量化SPL的影响句子识别率和单词识别率。句子识别率计算成功识别的命令的百分比。只有正确识别了命令中的每个单词才认为命令已被识别。单词识别率是正确解释的单词的百分比。例如如果命令“ call 1234567890”被识别为“ call 1234567”则单词识别率为63.67/11。图15ab显示了SPL对两种识别率的影响。毫不奇怪给定相同的SPL单词识别率始终大于句子识别率直到两者都达到100。对于Apple Watch一旦SPL大于106.2 dB两种识别率都将变为100。相比之下Galaxy S6 Edge达到100识别率的最低SPL为113.96 dB高于Apple Watch的最低声压级。这是因为在解调听不见的语音命令方面Apple Watch胜过Galaxy S6 Edge。<br><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_40.png" alt></p>
<h3 id="6-4-攻击距离的影响"><a href="#6-4-攻击距离的影响" class="headerlink" title="6.4 攻击距离的影响"></a>6.4 攻击距离的影响</h3><p>在本节中,将使用激活命令(“ Hey Siri”或“ Hi Galaxy”和控制命令“ Call 1234567890”来测试各种距离下的识别率。 我们评估了Apple Watch和Galaxy S6 Edge上两个命令的识别率并在图16中进行了描述。通常激活命令的识别率高于控制命令的识别率因为激活 该命令包含的单词数少于控制命令。 可以在100厘米远的地方以100的成功率激活Apple Watch从25厘米处以100的成功率激活Galaxy S6 Edge。 我们认为这两种设备之间的差异是因为Apple Watch戴在手腕上并且可以接受比智能手机更长的语音命令。</p>
<h3 id="6-5-便携式设备攻击评估"><a href="#6-5-便携式设备攻击评估" class="headerlink" title="6.5 便携式设备攻击评估"></a>6.5 便携式设备攻击评估</h3><p>在本节中我们评估便携式设备攻击的有效性。设定。我们将运行Android 6.0.1的Galaxy S6 Edge智能手机用作攻击设备将Apple Watch作为受害者设备并将其与iPhone 6 Plus配对使用。攻击声音命令是“打开飞行模式”。我们将fc分别设置为{20、21、22、23、24} kHz。 AM深度为100采样率为192 kHz。基带信号的最大频率为3 kHz。结果如表5所示我们成功地在Apple Watch上以23 kHz载波频率“开启了飞行模式”。请注意20 kHz和21 kHz也成功。但是频率泄漏低于20 kHz听起来像可以听到。单词和句子的识别率是100。随着fc的增加由于扬声器的频率选择性Apple Watch无法识别语音命令。为了扩展攻击距离我们利用低功率音频放大器3瓦模块来驱动超声换能器如图11所示。使用放大器模块有效攻击的最大距离增加到27厘米。请注意使用专业设备和功能更强大的放大器可以进一步扩大攻击距离。攻击者可以使用受害者的设备发起远程攻击。例如对手可以上传音频或视频剪辑其中语音命令嵌入在网站中例如YouTube。当受害者的设备播放音频或视频时可能会无意识地触发周围的语音可控系统例如Google Home AssistantAlexa和手机。</p>
<p><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_41.png" alt></p>
<h2 id="7-防御"><a href="#7-防御" class="headerlink" title="7 防御"></a>7 防御</h2><p>在本节中,我们将从硬件和软件角度讨论针对上述攻击的防御策略。</p>
<h3 id="7-1-基于硬件的防御"><a href="#7-1-基于硬件的防御" class="headerlink" title="7.1 基于硬件的防御"></a>7.1 基于硬件的防御</h3><p>我们提出了两种基于硬件的防御策略:麦克风增强和基带消除。</p>
<ul>
<li>麦克风增强语音命令听不到的根本原因是麦克风可以感应到高于20 kHz的频率的声音而理想的麦克风则不能。默认情况下当今移动设备上的大多数MEMS麦克风都允许20 kHz以上的信号[2、3、29、52、53]。因此应增强麦克风并设计其抑制任何频率在超声范围内的声音信号。例如iPhone 6 Plus的麦克风可以很好地抵抗听不见的语音命令。</li>
<li>语音命令取消听不见。在使用传统麦克风的情况下我们可以在LPF之前添加一个模块以检测调制后的语音命令并使用调制后的语音命令取消基带。特别是我们可以检测到具有AM调制特性的超声频率范围内的信号并对信号进行解调以获得基带。例如在存在不可听见的语音命令注入的情况下除了已解调的基带信号mt之外记录的模拟语音信号还应包括原始调制信号vt= Amtcos2πfc t+ cos2πfc t其中A是输入信号mt的增益。通过下变频vt以获得Amt并调整幅度我们可以减去基带信号。请注意这样的命令取消过程不会影响麦克风的正常操作因为捕获的可听语音信号与超声范围内的噪声之间将不存在相关性。</li>
</ul>
<h3 id="7-2-基于软件的防御"><a href="#7-2-基于软件的防御" class="headerlink" title="7.2 基于软件的防御"></a>7.2 基于软件的防御</h3><p>基于软件的防御研究调制语音命令的独特功能这些功能与真正的语音命令不同。如图17所示恢复的解调的攻击信号在500到1000Hz的高频范围内显示出与原始信号和记录信号的差异。原始信号由Google TTS引擎产生调制的载波频率为25 kHz。因此我们可以通过分析500至1000 Hz频率范围内的信号来检测DolphinAttack。特别是基于机器学习的分类器将对其进行检测。为了验证检测DolphinAttack的可行性我们利用支持的矢量机SVM作为分类器并从音频中提取了时域和频域中的15个特征。我们生成了12种语音命令即“ Hey Siri”NeoSpeech TTS引擎提供了8种语音Selvy TTS引擎提供了4种语音。对于每种类型我们获得了两个样本一个被记录另一个被恢复。总共有24个样本。为了训练SVM分类器我们使用5个录制的音频作为正样本并使用5个恢复的音频作为负样本。其余14个样本用于测试。分类器可以以100真实肯定率7/7和100真实否定率7/7区分恢复的音频和录制的音频。使用简单SVM分类器的结果表明可以使用基于软件的防御策略来检测DolphinAttack。<br><img src="https://res.cloudinary.com/dozyfkbg3/image/upload/v1610079044/Dolphin%20Attack/image_42.png" alt></p>
<h2 id="8-相关工作"><a href="#8-相关工作" class="headerlink" title="8 相关工作"></a>8 相关工作</h2><ul>
<li>语音可控系统的安全性。越来越多的研究工作投入于研究语音可控系统的安全性[10、18、28、38、61]。 Kasmi等。 [28]通过在耳机电缆上施加有意的电磁干扰,对现代智能手机引入了语音命令注入攻击,而在本文中,我们通过利用超声波上的麦克风非线性来注入语音命令。 Mukhopadhyay等。 [38]展示了对最先进的自动说话人验证算法的语音模仿攻击。他们根据受害者的样本建立了受害者声音的模型。 [18]设计了一种权限绕过来自零许可Android应用程序通过电话扬声器的攻击。隐藏的语音命令和Cocaine noodles[1061]使用可听和扭曲的音频命令来攻击语音识别系统。在这些攻击下,受害者有时可以观察到混淆的语音命令。 DolphinAttack受这些攻击的动机但是完全听不见且听不到我们展示了可以使用便携式设备启动DolphinAttack</li>
<li>配备传感器的设备的安全性。配备有各种传感器的商业设备(例如,智能手机,可穿戴设备和平板电脑)正在逐渐普及。随着无处不在的移动设备的增长趋势,安全性成为人们关注的焦点。许多研究人员[14、15、46、60]专注于研究对智能设备上的传感器的可能攻击。其中,传感器欺骗(即,将恶意信号注入受害者传感器)引起了广泛关注,并被认为是对配备传感器的设备的最严重威胁之一。 Shin等。将传感器欺骗攻击[46]分为三类:常规信道攻击(重放攻击)[19、26、66],传输信道攻击和侧信道攻击[11、14、15、47、49]。 Dean等。 [1415]证明当声频分量接近陀螺仪传感质量的共振频率时MEMS陀螺仪容易受到大功率高频声噪声的影响。利用机载传感器Gu等。 [24]设计了一种使用振动马达和加速度计的加密密钥生成机制。我们的工作重点是麦克风,可以将其视为一种传感器。</li>
<li>通过传感器泄露隐私。 Michalevsky等。 [36]利用MEMS陀螺仪来测量声学信号从而揭示扬声器信息。 Schlegel等。 [44]设计了一种木马程序,可以从智能手机的音频传感器中提取高价值数据。 Owusu等。 [40]利用加速度计的读数作为副通道,在智能手机触摸屏键盘上提取输入文本的整个序列,而无需特殊的特权。 Aviv等。 [6]证明了加速度传感器可以揭示用户的点击和基于手势的输入。 Dey等。 [17]研究了如何利用车载加速度计的缺陷对智能手机进行指纹识别,并且指纹可以用作识别智能手机所有者的标识符。西蒙等。 [48]利用摄像机和麦克风来推断在智能手机的仅数字软键盘上输入的PIN。 Li等。文献[33]可以根据照片中的阴影和相机的传感器读数,通过估计太阳位置来验证照片的捕获时间和位置。 Sun等。 [55]提出了一个视频辅助按键推论框架,以从平板电脑动作的秘密视频记录中推断出平板电脑用户的输入。 Backes等。 [7]显示,可以根据打印机的声音恢复处理英语的点阵打印机正在打印的内容。同样,我们研究了如何利用麦克风漏洞来破坏安全和隐私。罗伊等。 [42]提出了BackDoor它在超声频带上的两个扬声器和麦克风之间建立了一个声音但听不见通信通道。特别是BackDoor利用两个超声波扬声器传输两个频率。通过麦克风的非线性振膜和功率放大器后这两个信号在可听频率范围内产生一个“阴影”可以携带数据。但是“阴影”是单一音调而不是由丰富音调集组成的语音命令。相比之下我们表明可以使用一个扬声器向SR系统注入听不见的命令从而引起各种安全和隐私问题。</li>
</ul>
<h2 id="9-海豚攻击”的局限性分析"><a href="#9-海豚攻击”的局限性分析" class="headerlink" title="9 海豚攻击”的局限性分析"></a>9 海豚攻击”的局限性分析</h2><p>上面谈到了“海豚攻击”实现的基本原理。但是经过我们的分析,这种“漏洞”虽然理论上存在风险,但是实现代价较大,且整体可行性较低,大家不必过于恐惧。下面我们再来分析一下它能实现的效果的局限性:</p>
<p>局限性1 测试设备发射要求高,不易隐藏作案。<br>首先该系统需要一个大功率且大尺寸的信号发生器来生成高质量的超声信号同时目前的普通麦克风对20KHz以上的信号频响衰减非常大这就要求超声信号的发射功率有相当大的发射功率。<br>这篇文章中使用的超声发射器可以支持到300MHz的频率范围超声播放的声压级达到了125dBL这种情况下普通的简化装置的放大器和喇叭是实现不了的。</p>
<p>局限性2 攻击距离很短,智能家居产品不受影响。<br>同样是由于目前普通麦克风对20KHz以上的信号频响衰减非常大在声压级是125dBL的播放的超声信号下这个音量已经需要非常专业播放设备了实验的最远冲击距离只有1.75m对于大部分设备超过0.5m就没有响应了,再加上超声信号没有穿墙能力,因此对于放在家中的智能硬件设备是没有任何影响的。对于携带到公共场所的手机和可穿戴设备则有一定的“风险”。</p>
<p>局限性3 攻击语音质量很低,效果和单个硬件相关。<br>如前面我们的分析由于解调后的信号毕竟是经过低通滤波器导致各频带都是有不同程度衰减的且大部分ADC都有抗混叠滤波因此最终设备端解调进来的Baseband信号失真很严重信噪比也不会很高。<br>攻击效果也跟硬件本身相关比如麦克风型号、低通滤波器的实现方式和效果、ADC抗混叠效果和采样频率都是相关的。想要达到好的效果必须根据实际的硬件来调节载波频率信号强度等参数这对于公共场所游走作案且不知道被攻击者使用的什么设备的情况下是比较难以实现的。</p>
<h2 id="10-结论"><a href="#10-结论" class="headerlink" title="10 结论"></a>10 结论</h2><p>在本文中我们提出了DolphinAttack这是对SR系统的听不见的攻击。 DolphinAttack利用AM振幅调制技术来调制超声载波上的可听语音命令从而使人无法感知命令信号。攻击者可以使用DolphinAttack攻击主要的SR系统包括SiriGoogle NowAlexa等。为避免实际滥用DolphinAttack我们从硬件和软件两个方面提出了两种防御解决方案。</p>
</div>
<div>
<div style="padding: 10px 0; margin: 20px auto; width: 90%; text-align: center;">
<div>您的支持将鼓励我继续创作!</div>
<button id="rewardButton" disable="enable" onclick="var qr = document.getElementById('QR'); if (qr.style.display === 'none') {qr.style.display='block';} else {qr.style.display='none'}">
<span>打赏</span>
</button>
<div id="QR" style="display: none;">
<div id="wechat" style="display: inline-block">
<img id="wechat_qr" src="/images/Wechatpay.png" alt="Cool-Y 微信支付">
<p>微信支付</p>
</div>
<div id="alipay" style="display: inline-block">
<img id="alipay_qr" src="/images/Alipay.png" alt="Cool-Y 支付宝">
<p>支付宝</p>
</div>
</div>
</div>
</div>
<div>
<ul class="post-copyright">
<li class="post-copyright-author">
<strong>本文作者:</strong>
Cool-Y
</li>
<li class="post-copyright-link">
<strong>本文链接:</strong>
<a href="https://cool-y.github.io/2021/01/08/Dolphin-Attack/" title="Dolphin Attack 论文翻译">https://cool-y.github.io/2021/01/08/Dolphin-Attack/</a>
</li>
<li class="post-copyright-license">
<strong>版权声明: </strong>
本博客所有文章除特别声明外,均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/3.0/" rel="external nofollow" target="_blank">CC BY-NC-SA 3.0</a> 许可协议。转载请注明出处!
</li>
</ul>
</div>
<footer class="post-footer">
<div class="post-tags">
<a href="/tags/硬件攻击/" rel="tag"># 硬件攻击</a>
<a href="/tags/传感器/" rel="tag"># 传感器</a>
<a href="/tags/语音助手/" rel="tag"># 语音助手</a>
</div>
<div class="post-widgets">
<div id="needsharebutton-postbottom">
<span class="btn">
<i class="fa fa-share-alt" aria-hidden="true"></i>
</span>
</div>
</div>
<div class="post-nav">
<div class="post-nav-next post-nav-item">
<a href="/2020/10/16/coremail/" rel="next" title="DataCon Coremail邮件安全第三题 Writeup">
<i class="fa fa-chevron-left"></i> DataCon Coremail邮件安全第三题 Writeup
</a>
</div>
<span class="post-nav-divider"></span>
<div class="post-nav-prev post-nav-item">
<a href="/2021/01/08/dolphin-attack-practice/" rel="prev" title="Dolphin Attack 论文复现">
Dolphin Attack 论文复现 <i class="fa fa-chevron-right"></i>
</a>
</div>
</div>
</footer>
</div>
</article>
<div class="post-spread">
</div>
</div>
</div>
<div class="comments" id="comments">
<div id="gitalk-container"></div>
</div>
</div>
<div class="sidebar-toggle">
<div class="sidebar-toggle-line-wrap">
<span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
<span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
<span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
</div>
</div>
<aside id="sidebar" class="sidebar">
<div id="sidebar-dimmer"></div>
<div class="sidebar-inner">
<ul class="sidebar-nav motion-element">
<li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap">
文章目录
</li>
<li class="sidebar-nav-overview" data-target="site-overview-wrap">
站点概览
</li>
</ul>
<section class="site-overview-wrap sidebar-panel">
<div class="site-overview">
<div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
<img class="site-author-image" itemprop="image" src="/images/avatar.png" alt="Cool-Y">
<p class="site-author-name" itemprop="name">Cool-Y</p>
<p class="site-description motion-element" itemprop="description">Juice is temporary but Sauce is forever</p>
</div>
<nav class="site-state motion-element">
<div class="site-state-item site-state-posts">
<a href="/archives/">
<span class="site-state-item-count">30</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
<div class="site-state-item site-state-categories">
<a href="/categories/index.html">
<span class="site-state-item-count">7</span>
<span class="site-state-item-name">分类</span>
</a>
</div>
<div class="site-state-item site-state-tags">
<a href="/tags/index.html">
<span class="site-state-item-count">55</span>
<span class="site-state-item-name">标签</span>
</a>
</div>
</nav>
<div class="links-of-author motion-element">
<span class="links-of-author-item">
<a href="https://github.com/Cool-Y" target="_blank" title="GitHub">
<i class="fa fa-fw fa-github"></i>GitHub</a>
</span>
<span class="links-of-author-item">
<a href="mailto:cool.yim@whu.edu.cn" target="_blank" title="E-Mail">
<i class="fa fa-fw fa-envelope"></i>E-Mail</a>
</span>
<span class="links-of-author-item">
<a href="https://www.instagram.com/yan__han/" target="_blank" title="Instagram">
<i class="fa fa-fw fa-instagram"></i>Instagram</a>
</span>
</div>
<div id="music163player">
<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width="330" height="110" src="//music.163.com/outchain/player?type=4&id=334277093&auto=1&height=90"></iframe>
</div>
</div>
</section>
<!--noindex-->
<section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active">
<div class="post-toc">
<div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#海豚音攻击"><span class="nav-text">海豚音攻击</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#Abstract"><span class="nav-text">Abstract</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#1-Introduction"><span class="nav-text">1 Introduction</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#2-背景和威胁模型"><span class="nav-text">2 背景和威胁模型</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#2-1-语音可控系统VCS"><span class="nav-text">2.1 语音可控系统VCS</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-2-麦克风"><span class="nav-text">2.2 麦克风</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-3-威胁模型"><span class="nav-text">2.3 威胁模型</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#3-可行性分析"><span class="nav-text">3 可行性分析</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#3-1非线性效应建模"><span class="nav-text">3.1非线性效应建模</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#3-2-非线性效应评估"><span class="nav-text">3.2 非线性效应评估</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#3-2-1-实验设置"><span class="nav-text">3.2.1 实验设置</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#3-2-2-结果"><span class="nav-text">3.2.2 结果</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#4-攻击设计"><span class="nav-text">4 攻击设计</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#4-1-语音命令生成"><span class="nav-text">4.1 语音命令生成</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#4-1-1-激活命令生成"><span class="nav-text">4.1.1 激活命令生成</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#4-1-2-通用控制命令生成"><span class="nav-text">4.1.2 通用控制命令生成</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#4-1-3-评估"><span class="nav-text">4.1.3 评估</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#4-2-语音命令调制"><span class="nav-text">4.2 语音命令调制</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#4-2-1-AM调制参数"><span class="nav-text">4.2.1 AM调制参数</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#4-3-语音命令发送器"><span class="nav-text">4.3 语音命令发送器</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#4-3-1-具有信号发生器的强大变送器"><span class="nav-text">4.3.1 具有信号发生器的强大变送器</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#4-3-2-带有智能手机的便携式变送器"><span class="nav-text">4.3.2 带有智能手机的便携式变送器</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#5-VCS的可行性实验"><span class="nav-text">5 VCS的可行性实验</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#5-1-系统选择"><span class="nav-text">5.1 系统选择</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#5-2-实验设置"><span class="nav-text">5.2 实验设置</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#5-3-可行性结果"><span class="nav-text">5.3 可行性结果</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#5-4-小结"><span class="nav-text">5.4 小结</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#6-影响定量"><span class="nav-text">6 影响定量</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#6-1-语言的影响"><span class="nav-text">6.1 语言的影响</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#6-2-背景噪声的影响"><span class="nav-text">6.2 背景噪声的影响</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#6-3-声压级的影响"><span class="nav-text">6.3 声压级的影响</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#6-4-攻击距离的影响"><span class="nav-text">6.4 攻击距离的影响</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#6-5-便携式设备攻击评估"><span class="nav-text">6.5 便携式设备攻击评估</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#7-防御"><span class="nav-text">7 防御</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#7-1-基于硬件的防御"><span class="nav-text">7.1 基于硬件的防御</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#7-2-基于软件的防御"><span class="nav-text">7.2 基于软件的防御</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#8-相关工作"><span class="nav-text">8 相关工作</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#9-海豚攻击”的局限性分析"><span class="nav-text">9 海豚攻击”的局限性分析</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#10-结论"><span class="nav-text">10 结论</span></a></li></ol></li></ol></div>
</div>
</section>
<!--/noindex-->
</div>
</aside>
</div>
</main>
<footer id="footer" class="footer">
<div class="footer-inner">
<div class="copyright">&copy; 2019 &mdash; <span itemprop="copyrightYear">2021</span>
<span class="with-love">
<i class="fa fa-user"></i>
</span>
<span class="author" itemprop="copyrightHolder">Cool-Y</span>
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-area-chart"></i>
</span>
<span title="Site words total count">104.8k</span>
</div>
<div class="powered-by"><a class="theme-link" target="_blank" href="https://hexo.io">Hexo</a> 强力驱动</div>
<div class="busuanzi-count">
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<span class="site-uv">
<i class="fa fa-user"></i>
<span class="busuanzi-value" id="busuanzi_value_site_uv"></span>
</span>
<span class="site-pv">
<i class="fa fa-eye"></i>
<span class="busuanzi-value" id="busuanzi_value_site_pv"></span>
</span>
</div>
</div>
</footer>
<div class="back-to-top">
<i class="fa fa-arrow-up"></i>
<span id="scrollpercent"><span>0</span>%</span>
</div>
<div id="needsharebutton-float">
<span class="btn">
<i class="fa fa-share-alt" aria-hidden="true"></i>
</span>
</div>
</div>
<script type="text/javascript">
if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
window.Promise = null;
}
</script>
<script type="text/javascript" src="/lib/jquery/index.js?v=2.1.3"></script>
<script type="text/javascript" src="/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>
<script type="text/javascript" src="/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>
<script type="text/javascript" src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
<script type="text/javascript" src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
<script type="text/javascript" src="/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
<script type="text/javascript" src="/js/src/utils.js?v=5.1.4"></script>
<script type="text/javascript" src="/js/src/motion.js?v=5.1.4"></script>
<script type="text/javascript" src="/js/src/scrollspy.js?v=5.1.4"></script>
<script type="text/javascript" src="/js/src/post-details.js?v=5.1.4"></script>
<script type="text/javascript" src="/js/src/bootstrap.js?v=5.1.4"></script>
<!-- LOCAL: You can save these files to your site and update links -->
<link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>
<!-- END LOCAL -->
<script type="text/javascript">
function renderGitalk(){
var gitalk = new Gitalk({
owner: 'Cool-Y',
repo: 'gitment-comments',
clientID: '180955a2c3ae3d966d9a',
clientSecret: '1c5db4da72df5e6fc318d12afe5f4406f7c54343',
admin: 'Cool-Y',
id: decodeURI(location.pathname),
distractionFreeMode: 'true'
});
gitalk.render('gitalk-container');
}
renderGitalk();
</script>
<script src="https://cdn1.lncld.net/static/js/av-core-mini-0.6.4.js"></script>
<script>AV.initialize("EWwoJgHNdlj6iBjiFlMcabUO-gzGzoHsz", "x8FxDrYG79C8YFrTww9ljo8K");</script>
<script>
function showTime(Counter) {
var query = new AV.Query(Counter);
var entries = [];
var $visitors = $(".leancloud_visitors");
$visitors.each(function () {
entries.push( $(this).attr("id").trim() );
});
query.containedIn('url', entries);
query.find()
.done(function (results) {
var COUNT_CONTAINER_REF = '.leancloud-visitors-count';
if (results.length === 0) {
$visitors.find(COUNT_CONTAINER_REF).text(0);
return;
}
for (var i = 0; i < results.length; i++) {
var item = results[i];
var url = item.get('url');
var time = item.get('time');
var element = document.getElementById(url);
$(element).find(COUNT_CONTAINER_REF).text(time);
}
for(var i = 0; i < entries.length; i++) {
var url = entries[i];
var element = document.getElementById(url);
var countSpan = $(element).find(COUNT_CONTAINER_REF);
if( countSpan.text() == '') {
countSpan.text(0);
}
}
})
.fail(function (object, error) {
console.log("Error: " + error.code + " " + error.message);
});
}
function addCount(Counter) {
var $visitors = $(".leancloud_visitors");
var url = $visitors.attr('id').trim();
var title = $visitors.attr('data-flag-title').trim();
var query = new AV.Query(Counter);
query.equalTo("url", url);
query.find({
success: function(results) {
if (results.length > 0) {
var counter = results[0];
counter.fetchWhenSave(true);
counter.increment("time");
counter.save(null, {
success: function(counter) {
var $element = $(document.getElementById(url));
$element.find('.leancloud-visitors-count').text(counter.get('time'));
},
error: function(counter, error) {
console.log('Failed to save Visitor num, with error message: ' + error.message);
}
});
} else {
var newcounter = new Counter();
/* Set ACL */
var acl = new AV.ACL();
acl.setPublicReadAccess(true);
acl.setPublicWriteAccess(true);
newcounter.setACL(acl);
/* End Set ACL */
newcounter.set("title", title);
newcounter.set("url", url);
newcounter.set("time", 1);
newcounter.save(null, {
success: function(newcounter) {
var $element = $(document.getElementById(url));
$element.find('.leancloud-visitors-count').text(newcounter.get('time'));
},
error: function(newcounter, error) {
console.log('Failed to create');
}
});
}
},
error: function(error) {
console.log('Error:' + error.code + " " + error.message);
}
});
}
$(function() {
var Counter = AV.Object.extend("Counter");
if ($('.leancloud_visitors').length == 1) {
addCount(Counter);
} else if ($('.post-title-link').length > 1) {
showTime(Counter);
}
});
</script>
<script>
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
<link rel="stylesheet" href="/lib/needsharebutton/needsharebutton.css">
<script src="/lib/needsharebutton/needsharebutton.js"></script>
<script>
pbOptions = {};
pbOptions.iconStyle = "box";
pbOptions.boxForm = "horizontal";
pbOptions.position = "bottomCenter";
pbOptions.networks = "Weibo,Wechat,Douban,QQZone,Twitter,Facebook";
new needShareButton('#needsharebutton-postbottom', pbOptions);
flOptions = {};
flOptions.iconStyle = "box";
flOptions.boxForm = "horizontal";
flOptions.position = "middleRight";
flOptions.networks = "Weibo,Wechat,Douban,QQZone,Twitter,Facebook";
new needShareButton('#needsharebutton-float', flOptions);
</script>
<script type="text/javascript" src="/js/src/js.cookie.js?v=5.1.4"></script>
<script type="text/javascript" src="/js/src/scroll-cookie.js?v=5.1.4"></script>
</body>
</html>