论文翻译——Dangerous Skills: Understanding and Mitigating Security Risks of Voice-Controlled Third-Party Functions on Virtual Personal Assistant Systems
0-abstract
虚拟个人助理(VPA)(例如,亚马逊Alexa和Google智能助理)今天主要依靠语音信道与其用户进行通信,然而众所周知,这个过程易受攻击,缺乏适当的身份验证(从用户到VPA)。从VPA服务到用户的新认证挑战随着VPA生态系统的快速发展而出现,它允许第三方发布服务的功能(称为技能),因此可以被利用在与Amazon Echo和Google Home等智能扬声器交互时,传播恶意技能给大众。在本文中,我们报告的一项研究得出结论,这种远程大规模攻击确实是现实的。我们发现了两种新的攻击:
- voice squatting 攻击者利用技能被调用的方式(例如,“open capital one”),使用具有类似名称的恶意技能(例如,“capital won”)或释义名称(例如,“capital one please”)劫持用于合法技能的语音命令(例如,“capital”),
- voice masquerading 以及在用户与用户的对话期间恶意技能冒充VPA服务或合法技能的语音伪装,窃取她的个人信息。这些攻击的目的在于VPA的工作方式或用户对其功能的误解,并通过我们在Amazon Echo和Google Home上的实验(包括用户研究和实际部署)发现构成现实威胁
我们的研究结果的重要性已经得到了亚马逊和谷歌的认可,并且我们建立的新蹲式探测器在Alexa和谷歌市场上发现的风险技能进一步证明了这一点。我们进一步开发了一种技术,可以自动捕获持续的伪装攻击,并展示其功效。
1-introduction
物联网(IoT)的浪潮带来了一种新型的虚拟个人助理(VPA)服务。此类服务通常是通过智能扬声器提供的,该扬声器使用语音用户界面(VUI)与用户交互,从而允许用户仅使用语音命令系统:例如,人们可以说“明天的天气会怎样?等等,以获取答案或在系统上执行相应的任务。除了其内置功能外,VPA服务还通过其提供商(例如Amazon和Google)培育的生态系统得到增强,在这种生态系统下,第三方开发人员可以构建新功能(称为Amazon的技能和Google的动作)以提供进一步的帮助给终端用户,例如订购食物,管理银行帐户和给朋友发短信。在过去的一年中,这些生态系统正在以惊人的速度扩展:亚马逊声称已经将25,000个技能上载到其技能市场以支持其VPA(包括通过Amazon Echo运行的Alexa服务),并且Google也有超过一千个动作可在其市场上购买其Google Home系统(由Google Assistant支持)。这些系统已经部署到世界各地的家庭,并被数千万用户使用。但是,这种迅速普及的趋势可能带来新的安全和隐私风险,到目前为止,其影响尚未得到足够的了解。
VPA语音控制中的安全风险。当今的VPA系统主要是通过语音来控制的。保护此类VUI根本上具有挑战性,因为缺乏有效的方法来验证在开放和嘈杂的语音通道中涉及的各方。先前的研究已经表明,敌方可以生成模糊的语音命令甚至完全听不见的超声波来攻击语音识别系统。这些攻击向语音控制系统冒充已认证的用户,因为没有保护措施可以向该系统验证用户身份。
VPA生态系统的出现带来了另一种身份验证挑战:用户很难确定自己是否确实在与她预想的正确的技能以及VPA本身进行对话。问题来自这样一个事实,即由于技术市场,因为语音命令的含糊不清和用户对服务的误解,对手可能会以误导性方式发布旨在由用户的语音命令(通过VPA设备(例如Amazon Echo或Google Home))调用的恶意第三方技能。结果,对手可能向用户冒充合法技能甚至VPA(可能大规模)。由于没有通过语音通道从VPA向用户进行身份验证,因此使这种攻击成为可能,我们的研究表明这种风险会导致现实威胁。
基于语音的远程攻击。在我们的研究中,我们分析了最受欢迎的VPA 物联网系统– Alexa和Google Assistant,重点关注了部署到这些设备的第三方技能。我们的研究表明,通过发布恶意技能,攻击者可以远程攻击这些流行系统的用户,并通过与这些系统的对话收集其私人信息,这是完全可行的。更具体地说,我们确定了两种从未有过的威胁,称为voice squatting attack(VSA)和voice masquerading attack(VMA)。在VSA中,攻击者利用技能的调用方式(通过语音命令)以及命令被说的方式变化(例如,由重音,礼貌表达等引起的语音差异)导致VPA系统触发恶意技能,而不是用户想要的技能。例如,人们可能会说“ Alexa,open Capital One please”,这通常会打开技能Capital One,但是一旦将恶意技能Capital One Please上传到技能市场,便会触发这个恶意技能。 VMA针对用户与VPA系统之间的交互,该系统旨在将所有语音命令移交给当前正在运行的技能,包括那些应该由VPA系统处理的语音命令,例如终止当前技能并切换到新技能。响应这些命令,恶意技能可以伪装成将控制权交给另一个技能(切换)或服务(终止),而继续偷偷操作以冒充这些目标并从用户那里获取敏感信息。
我们通过用户研究,系统分析和实际利用进一步研究了这些攻击的可行性。更具体地说,我们首先对156位Amazon Echo和Google Home用户进行了调查,发现他们中的大多数倾向于使用具有多种表达方式的自然语言与设备进行交互:例如,“play some sleep sounds”。这些表达方式使对手根据用户的语音命令(例如某些睡眠声音而不是睡眠声音)误导服务并启动错误的技能作为用户语音命令的响应,例如some sleep sounds代替sleep sounds。我们对Alexa和Google Assistant的进一步分析表明,确实这些系统通过查找与语音命令匹配的最长字符串来识别调用技巧。同样有趣的是,我们对这两种设备的评估表明,Alexa和Google Assistant无法准确识别某些技能的调用名称,带有类似名称(在发音方面)的恶意技能能够劫持这些脆弱技能的类型。
最后,我们在亚马逊市场上部署了四项技能,以攻击流行的Alexa技能“Sleep and Relaxation Sounds”。每月有2699位用户调用了这些技能,并以纯文本格式收集了21308条语音命令。我们以避免收集真实用户的私人信息的方式构建技能。尽管如此,收到的命令仍然提供确凿的证据,表明在现实生活中确实会发生voice squatting和masquerading:我们的研究表明,收到的命令包括仅适用于“Sleep and Relaxation”的命令,以及切换为其他技能或终止可以用来模仿其他技能的当前技能。我们对易受威胁影响的现有技能的分析进一步表明了攻击的严重后果,包括泄露了家庭住址,财务数据等。这些攻击的视频演示可在线获得。
负责任的披露。我们已于2018年2月将调查结果报告给亚马逊和谷歌,这两家公司都承认我们发现的问题是新的严重问题。从2月到5月,我们与两家供应商举行了多次会议,以帮助他们了解和缓解此类新的安全风险。
伦理道德问题 。论文报告的所有人类受试者研究均已被我们的IRB批准。我们发布的所有技能均未收集任何可识别的私人信息,仅提供类似于“Sleep and Relaxation Sounds”的合法功能。用户要求我们从亚马逊和谷歌获得的技能为纯文本,不包含语音生物识别信息。错误地发送给我们的技能的任何私人,可识别的信息都会被立即删除。我们已经声明,将在研究中使用用户未识别的数据,并在我们发布的技能的隐私政策中提供机构,IRB协议和联系信息。虽然这些技能可以启动VMA,例如伪造沟通技巧切换和终止功能的目的是不这样做。相反,我们只是验证了确实存在这种攻击机会。
缓解措施。在我们的研究中,我们开发了一套新技术来缓解VSA和VMA构成的现实威胁。我们构建了一个技能名称扫描程序,该功能将技能的调用名称字符串转换为ARPABET指定的语音表达。该表达式描述了姓名的发音方式,使我们能够测量不同技能名称之间的语音距离。那些听起来相似或具有子集关系的声音会被扫描仪自动检测到。该技术可用于审查上传到市场的技能。有趣的是,当我们将其与亚马逊市场上的所有19,670种自定义技能进行对比时,我们发现了4,718件存在squating的技能:例如,一个名为“me a dog fact”的调用技能看起来与流行技能“dog fact”。我们的发现表明,这些攻击可能已经在野外发生。
为了减轻伪装攻击的威胁,我们需要确定正在运行的技能的言语应该来自VPA服务,以防止该技能冒充系统,以及用户为系统使用的语音命令,以避免该技能的尝试劫持此类命令(例如,切换至其他技能)。为此,我们开发了一种新颖的技术,即使在存在混淆尝试(例如措词更改)的情况下,也可以自动识别与系统话语相似的内容,并且还可以从与用户对话的上下文中捕获用户的技能切换意图。我们的技术利用自然语言处理(NLP)和机器学习,并在我们的实验中发现,在克服正在进行的VMA攻击方面非常有效(精度超过95%)
贡献。该论文的贡献概述如下:
- 第一次研究恶意技能的安全风险。我们报告了针对物联网系统领先的VPA服务(Amazon Echo和Google Home)的生态系统的首次安全分析,这导致发现VUI和技能审查中存在严重的安全漏洞,这些漏洞使不受信任的用户上传的技能可以进行远程攻击第三方。我们提出了两种新的攻击方式,即voice squatting和voice masquerading。事实证明,这两者都对大量VPA用户构成了现实威胁,并且都具有严重的安全性和隐私隐患。我们对亚马逊技能市场的初步分析进一步表明,类似的攻击可能已经在野外发生。
- 减轻风险的新技术。我们迈出了保护VPA用户免受此类恶意技能攻击的第一步。我们表明,新的保护措施可以缓解现实环境中的威胁。我们的技术背后的想法(例如上下文相关命令分析)可能会激发当前设计的进一步增强,以更好地保护VPA用户。
2-background
A. Virtual Personal Assistant Systems
物联网设备上的VPA。亚马逊和谷歌是具有语音控制个人助理功能的智能扬声器市场中的两个主要参与者。自2015年首款Amazon Echo首次亮相以来,亚马逊现在已占领了美国76%的市场,2017年仅在美国就售出了1500万台设备。同时,Google在2016年公开了Google Home,如今已占领了剩余的24%市场份额。后来分别在2016年和2017年发布了Amazon Echo Dot和Google Home Mini,它们是价格较贵的同类产品的小型,负担得起的替代产品。此外,亚马逊已将VPA集成到其他供应商的IoT产品中,例如Sonos智能扬声器,Ecobee温控器。
这四种设备的独特之处在于它们都放弃了传统的I / O接口(如触摸屏),并且按钮(用于调节音量或静音)的按钮更少,从而为用户提供了免提的使用体验。换句话说,人们应该主要通过说话来命令设备。为此,该设备配备了用于360度音频拾取的麦克风环形阵列,以及诸如波束赋形的其他技术,可实现远场语音识别。这样的设计使用户可以与房间内任何地方的设备通话,并且仍然可以快速响应。
能力。这些智能设备的背后是一个虚拟的个人助理,分别称为Amazon的Alexa和Google的Google Assistant,通过双向对话吸引用户。与可以通过按钮激活的为智能手机(例如Siri)提供服务的设备不同,这些IoT设备的VPA以“ Alexa”或“ Hey Google”之类的唤醒词开头。这些助手具有多种功能,从天气预报,计时器设置,待办事项清单维护到语音购物,免提消息收发和呼叫。用户可以通过在智能手机上运行的配套应用来管理这些功能。
B. VPA Skills and Ecosystem
亚马逊和谷歌都通过引入语音助手功能来充实VPA的功能,这种语音助手功能称为Amazon的技能或Google的动作。技能本质上是第三方应用程序,就像在智能手机上运行的应用程序,可提供VPA本身不提供的各种服务。例如Amex,免提通话,Nest Thermostat和Walmart。可以使用Alexa Skills Kit 和Google的Actions在Amazon和Google的支持下方便地开发这些技能。实际上,我们发现,截至2017年11月,Alexa已经拥有23,758项技能,而Google Assistant具有1,001项技能。更重要的是,新技能不断被添加到市场中,正如我们在45天的时间段内测得的那样,Alexa的总增长率为8%,Google Assistant的增长率为42%。
技能市场。 Amazon Alexa和Google Assistant都运行着一个技能市场,可以通过智能手机或Web浏览器上的配套应用程序访问该市场,以使用户发现新技能。市场上的技能提供了多种功能(亚马逊市场上的23个类别和Google市场上的18个类别),其中许多功能已被广泛使用和审查(37.3%的亚马逊技巧获得的评论最多,其中5,954次被审查,51.4%的Google技能有评论)。
当用户告诉语音助手执行某些任务而不直接调用技能名称时,就会发生隐式调用。例如,“Hey Google,will it rain tomorrow?”将调用Weather技能来响应天气预报。只要与用户的对话在适合该技能的环境下,Google助手就会隐式识别并激活该技能。 Alexa还针对特定类型的技能支持此调用模式。
技能互动模型。 VPA根据交互模型与其用户进行通信,该交互模型为通信定义了宽松的协议。使用该模型,VPA可以解释每个语音请求,并将其转换为VPA或技能可以处理的命令。
具体来说,要明确地调用一项技能,用户应该使用一个唤醒词,一个触发短语以及该技能的调用名称。例如,对于“ Hey Google,talk to personal chef”的口语句子,“ Hey Google”是唤醒词,“ talk to”是触发短语,“ personal Chef”是技能调用名称。在这里,触发词组由VPA系统给出,通常包括技能调用的常用术语,例如"open”,“ask”,“tell”,“start”等。请注意,技能调用名称可能与技能名称不同,目的是使用户更容易发音。例如,“ The Dog Feeder”的调用名称为dog; “ Scryb”的调用名称为scribe。
在开发一项技能时,需要定义意图和样本话语,以将用户的语音输入映射到该技能的各种界面,以采取用户期望的动作。这样的界面由意图描述。为了将句子链接到意图,开发人员指定了样本话语,其实质上是一组句子模板,描述了用户与技能进行交谈的可能方式。模型中还有一些内置的Intent,例如WelcomeIntent,HelpIntent,StopIntent等,它们已经定义了许多常见的样本话语。开发人员可以添加更多意图,或者仅指定一个默认意图,在这种情况下,所有用户请求都将映射到该意图。
技能服务与VPA生态系统。第三方技能本质上是由其开发人员托管的Web服务,其名称已在VPA服务提供商(亚马逊或Google)中注册,如图1所示。当用户使用其唤醒词调用VPA设备时,设备捕获她的语音命令,并将其发送到VPA服务提供商的云进行处理。云执行语音识别,将语音记录转换为文本,找出要调用的技能,然后将文本以及时间戳,设备状态和其他元数据一起作为对技能Web服务的请求。请注意,该技能只会接收文本格式的请求,而不会接收用户的语音记录。响应于该请求,该服务返回响应,该响应的文本内容(无论是纯文本格式还是语音合成标记语言(SSML)格式)都将被云转换为语音,并通过设备播放给用户。 SSML还允许附加音频文件(例如MP3)以丰富响应的技能,Amazon和Google均支持。
要发布一项技能,开发人员需要提交有关其技能的信息,例如名称,调用名称,描述以及为认证过程托管该技能的端点。此过程旨在确保该技能有效并符合VPA提供商的安全要求和政策准则。
技能发布后,用户就可以通过其网络浏览器或配套应用在市场上找到它,并通过将其调用名称调用给智能扬声器来启动。 或者,可以通过新闻,广告活动,在线论坛和其他来源发现技能。 请注意,与需要显式安装的智能手机应用或网站插件不同,可以自动发现技能(根据用户的语音命令)并通过IoT设备透明地触发。
C. Adversary Model
我们认为对手能够开发恶意技能并将其上传到市场。请注意,今天,任何人都可以在亚马逊和苹果市场上发布自己的技能,因为这些市场对监管所提交的功能仅提供了最低限度的保护:在我们受到攻击之前,亚马逊上几乎没有任何产品,并且仅在Google上进行了基本检查查找重复的调用名称。同样如前所述,一旦发布了恶意技能,受害者就可以通过其语音命令透明地启动它,而无需将其下载并安装在设备上。因此,它们很容易影响大量的VPA 物联网设备。为了减轻这种威胁,假设VPA服务本身是受信任的,则VPA提供者必须采用我们的保护措施。
3-Exploiting VPA Voice Control
在本节中,我们首先报告一项有关用户与技能互动期间潜在的安全弱点的研究,这是由于寻找合适的调用技能含糊不清,以及用户对VPA的工作方式有误解。一项调查研究证实了这种弱点的存在。此外,我们提出了两种利用这些弱点的攻击,并通过将我们的技能部署到实际系统中来证明这两种攻击都构成了现实威胁。
A. Analysis of VPA Voice Control
流氓技能的安全风险。如前所述,当用户说出他们的调用名称(可以与技能市场上显示的名称不同)时,VPA技能将透明地启动。令人惊讶的是,我们发现对于亚马逊来说,这样的名称不是唯一的技能标识符:亚马逊市场上存在具有相同调用名称的多个技能。同样,技能可能具有相似或相关的名称。例如,66种不同的Alexa技能被称为cat facts,5种被称为cat fact,11种其调用名称包含字符串“cat fact”,例如。fun cat facts, funny cat facts。说出这样的通用名称后,Alexa会根据一些未公开的政策(可能是我们研究中发现的随机性)选择一项技能。但是,当调用不同但相似的名称时,将使用最长的字符串匹配项来查找技能。例如,“tell me funny cat facts”将触发funny cat facts,而不是cat facts。对于Google,此问题不太严重,因为Google不允许重复的调用名称。但是,它也不能处理相似的名称。我们的研究进一步发现,某些调用名称无法被Amazon和Google的语音识别系统有效识别。结果,当名称的发音与预期名称相似时,甚至会错误地调用其他名称的技能。
此外,我们发现这些VPA系统的设计没有充分考虑用户对系统工作方式的看法。特别是,Alexa和Google Assistant都在简单的操作模式下运行其技能,在该模式下,一次只能执行一项技能,并且需要终止才能启动另一项技能。但是,这样的设计不是用户友好的,并且没有证据表明用户理解这些系统不支持方便的上下文切换。
此外,Alexa和Google Assistant均支持自愿终止技能。对于Alexa,将终止命令“ Stop”传递给技能,该技能应相应地终止自身。对于Google助手,尽管用户可以通过说“Stop”来明确终止一项技能,但是通常该技能一旦完成任务(例如,报告当前天气)就应该停止运行。我们在研究中发现,没有强有力的迹象表明一项技能确实已经退出。尽管Amazon Echo和Google Home都有一个指示灯,但是当设备讲话和收听时,这两个指示灯都会点亮。但是,用户可能会忽略它们,尤其是当她不看设备或谈话时视线被遮挡时。
调查研究。为了了解用户的行为和对语音控制的VPA系统的感知,这可能会使用户面临安全风险,我们对Amazon Echo和Google Home用户进行了调查,重点关注以下问题:
- What would you say when invoking a skill?
- Have you ever invoked a wrong skill?
- Did you try context switch when talking to a skill?
- Have you experienced any problem closing a skill?
- How do you know whether a skill has terminated?
通过使用Amazon Mechanical Turk,我们招募了拥有Amazon Echo或Google Home设备并曾经使用过技能的成人参与者,并向他们支付了1美元以完成调查。为了确保所有参与者都满足要求,我们要求他们描述几种技能及其与技能的互动,并删除那些答案被认为无关的答案,例如随机词。总共,我们收集了来自Amazon Echo用户的105条有效回复和来自不同背景的Google Home用户的51条有效回复(年龄范围为18至74岁,平均年龄为37岁;女性为46%,男性为54%;教育程度从高中到研究生; 21种职业)。平均而言,每个参与者报告拥有1.5台设备,每周使用5.8项技能。
在调查的第一部分,我们研究了用户如何调用一项技能。为此,我们以两种流行的技能“ Sleep Sounds”,“ Cat Facts”(Google Home上的“Facts abot Sloths”)为例,让参与者选择他们曾经用来启动这些技能的调用话语(例如, “open Sleep Sounds please”),并进一步请他们提供其他示例(如果需要)。然后,我们询问参与者是否触发了错误的技能。在调查的以下部分中,我们试图确定参与者在与某项技能进行交互时是否尝试切换上下文,即调用其他技能或直接与VPA服务通话(例如,调整音量)。调查的最后一部分旨在找出终止当前运行技能的用户体验,包括他们倾向于使用的终止话语,终止过程中遇到的麻烦,以及重要的是,他们用来确定该技能是否具备的指标停止运行。样本调查问题列在附录A中。
表一总结了Amazon Echo和Google Home用户的响应。结果表明,其中超过85%的人使用自然语言发音来开放技能(例如,“open Sleep Sounds please”),而不是标准的语言(如“open Sleep Sounds”)(p测试,p <0.000001)。这表明用户启动错误的技能(例如,Sleep Sounds Please)是完全现实的,其名称比预期技能(例如,Sleep Sounds)更适合发声。请注意,我们的多项选择题(附录A)可能导致一些受访者过度报告了他们对“please”等自然语言术语的使用。因此,为了更好地了解他们的行为,我们进一步利用了两个开放式问题(请参阅附录A,问题2和3)。特别是,在问题3中,对于参与者针对问题2回答的每种技能,我们要求她/他进一步提供3个调用示例。最后,我们从94位Amazon Echo用户那里收集了447个有效示例,从41个Google Home用户那里收集了157个有效示例,每个用户每个技能至少有一个。从这些响应中,我们发现50%的Amazon Echo用户在调用示例中至少使用了一次“ please”,41%的Google Home用户也使用了“ please”。此外,有28%的用户报告说他们在交谈时确实开放了意想不到的技能他们的设备。
有趣的是,我们的调查显示,近一半的参与者在与某项技能互动时尝试切换到另一项技能或VPA服务(例如调整音量)。这样的尝试失败了,因为Alexa或Google Assistant都不支持此上下文切换。然而,可以想象的是,接收这样的语音命令的恶意技能可以利用机会来模仿用户想要运行的技能,甚至是VPA服务(例如,欺骗用户公开用于执行命令的个人信息)。最后,发现30%的参与者在技能终止时遇到麻烦,而78%的参与者没有将设备上的指示灯用作技能终止的主要指标。该研究再次证明了恶意技巧伪造其终止并秘密收集用户信息的可行性。
接下来,我们展示了对手如何利用用户感知与系统实际操作之间的差距发起语音抢注和伪装攻击。
B. Voice Squatting Attack( VSA )
调用混乱。如前所述,一项技能是由其调用名称触发的,该名称应该是明确的,并且易于被设备识别。亚马逊和谷歌都建议技能开发人员测试调用名称,并确保可以以很高的成功率启动他们的技能。但是,我们发现对手可以通过使用目标技能的名称或类似名称来故意引起混乱,从而在尝试打开目标时诱使用户调用攻击技能。例如,以“Capital one”为目标的对手可以注册一项“Capital Won”,“Capitol One”或“Captain One”技能。由于当今语音识别技术的局限性,用户说出的所有这些名称可能变得难以区分,尤其是在有噪音的情况下。
另外,如前所述,这种voice squatting attack可以轻松利用当今VPA最长的字符串匹配策略。根据我们的用户调查研究,大约60%的Alexa和Google Home用户在启动一项技能时使用了“please”一词,其中26%的用户在该技能的调用名称前附加了“my”。因此,对手可以注册“ Capital One Please”之类的技能,以劫持用于Capital One的调用命令。
请注意,为减少疑义,此处可以使用同音词或类似发音的单词,例如Capital One Police。再次,这种方法击败了Google的技能审查,使对手可以使用拼写独特的调用名称来发布该技能,但在发音上仍会造成混淆(使用不同的技能)。
为了确定这种squatting attack是否可以逃避技术审查,我们在亚马逊注册了5种技能,在Google注册了1种技能。这些技能的调用名称和目标的名称显示在表II中。所有这些技能都通过了亚马逊和Google的审核程序,这表明可以切实部署VSA代码。
结果。通过voice squatting,攻击技能可以模仿其他技能并伪造其VUI,以收集用户仅与目标技能共享的信息。一些Amazon和Google技能要求用户提供私人信息以完成其工作。例如,“Find My Phone”要求输入电话号码;Transit Helper需要家庭住址; Daily Cutiemals向用户寻求电子邮件地址。这些技能一旦被冒用,可能会严重泄漏给不受信任的各方。
错误地调用的技能还可以通过假冒信誉良好的客户(例如Capital One),通过语音通道向用户传递误导性信息来执行网络钓鱼攻击,例如,虚假的客户联系电话或网站地址。这甚至可以通过其卡片系统在Amazon Alexa上完成:Alexa允许跑步技巧在其对用户的响应中包括家庭卡片,通过智能手机或Web浏览器上的Amazon配套应用程序显示该卡片,以协助正在进行的语音交互。用户可以很容易地使用该家庭卡,从而难以记住的信息(例如电话号码,网站地址)并保存在活动历史记录中。例如,图2显示了显示伪造的客户联系号码的卡。这可以作为网络钓鱼攻击的第一步,最终可能导致敏感用户数据的泄露。例如,对手可以发送一个帐户过期通知以及续订链接,以欺骗她公开其帐户凭据。
VSA的另一个潜在风险是诽谤:攻击技能的不佳表现可能导致用户责怪其冒充的合法用户。这可能会导致对合法技能的不良评价,从而给竞争对手带来优势。
评估方法。在我们的研究中,我们研究了对当今的VPA 物联网系统进行squatting attack的现实程度。为此,我们研究了两种类型的攻击:voice squatting(其中攻击技能带有与其目标技能在语音上相似的调用名称)和word squatting(其中,攻击调用名称包括目标的名称和一些策略性选择的其他单词) (例如,“cat facts please”)。为了确定攻击是否在实际系统上起作用,我们进行了以下实验。
为了研究voice squatting,我们从Alexa和Google助手市场中随机抽取了100种技能,并利用亚马逊和Google的Text-to-Speech(TTS)服务和人类受试者在VPA设备上发音其技能调用名称,以便于理解VPA如何正确识别这些名称。但是,直接使用技能的调用名称来调用技能并不能达到目的。在这项研究中,我们发现,发音错误的调用名如果发音接近并且没有其他使用该发音调用名的注册技能,也会触发正确的技能。因此,为了收集VPA通过其语音识别算法实际识别的调用名称(正确识别或错误识别),我们构建了一个辅助技能来接收语音命令,包括来自VPA的那些技能的调用名称。在播放语音命令之前,助手技能是在我们的实验中启动的,VPA的语音识别服务将其转换为文本并移交给该技能。
我们的研究中使用的语音命令是由人类受试者或亚马逊和Google的TTS服务(均声称产生自然且类似人的语音)产生的。这些命令中的一些命令在调用名称之前包含一个术语“ open”,从而形成一个调用语音。在我们的研究中,对于100项技能中的每一项,我们记录了每个TTS服务的20条语音命令(仅10个调用名称和10个调用语音),以及从我们的调查研究的5个参与者中分别记录了2个命令(调用语音)。
我们进一步采取了措施,以了解在攻击技能注册的错误识别的调用名称存在的情况下,VPA是否仍然可以调用合法技能。为此,我们使用在实验中每次都被误识别的调用名称的文本输出来命名我们的攻击技能。例如,给定一项技能“capital one”,如果VPA每次都将其识别为“captain one”,则我们将“captain one”注册为攻击技能的调用名称,播放原始的调用文字(“ Alexa,open capital one”)到VPA,并检查是否调用了合法技能或攻击技能。在Alexa和Google Assistant的测试模式中,这些技能分别被调用了五次。我们之所以没有将它们提交给市场,仅仅是因为在市场上发布60多种技能是很费时的。稍后,我们描述了提交给这些市场的五种攻击技能,这表明这些市场的审查保护根本无效。
为了研究word squatting,我们从每个技能市场随机抽取了十种技能作为攻击目标。对于每项技能,我们构建了四个新技能,其调用名称包括目标名称以及调查研究中确定的术语:例如,“cat facts please”和“my cat facts”。在实验中,这些名称使用TTS转换为语音命令并播放到VPA设备(例如,“ Alexa,open cat facts please”),这使我们能够确定攻击技巧是否确实可以被触发。请注意,这项研究的规模受到将攻击调用名称上传到VPA云端所需时间的限制。但是,我们的发现为攻击的现实意义提供了证据。
实验结果。我们招募了20名参与者进行实验,每个参与者记录了400个调用命令。所有参与者的英语都流利,其中有19位母语是英语。使用TTS服务时,将MacBook Pro用作声音源。来自参与者和TTS服务的语音命令被播放到Amazon Echo Dot和Google Home Mini,并且设备离声源一英尺远。实验在一个安静的会议室中进行。
表III总结了voice squatting的实验结果。正如我们在这里看到的那样,通常无法正确识别仅带有调用名称的语音命令:例如,Alexa仅正确识别了Amazon TTS产生的大约54%语音(语音命令)。另一方面,调用语音(包括“open”一词)的效果要好得多,Alexa(在Amazon TTS下)的识别率提高到75%。总体而言,对于亚马逊和Google的TTS服务产生的语音发音,我们发现Alexa犯下的错误(30%)比Google Assistant(9%)多。如前所述,对于这些VPA始终无法正确调用的调用名称,这种错误识别的结果被用于我们的研究中,以注册为攻击技能的调用名称。例如,技能“entrematic opener”每次都被Google识别为“intra Matic opener”,然后被用作攻击技能的名称。通过这种方式,我们在亚马逊和Google的TTS下确定了17种易受攻击的Alexa技能,在亚马逊TTS下确定了7种Google技能,在Google TTS下确定了4种技能。在攻击这些技能时,我们的研究表明,在五次尝试中,每次攻击技能的一半都是由针对这些目标技能的语音命令触发的:例如,“Florida state quiz”劫持了“Florida snake quiz”的呼叫,当唤起rent Europe 时 ,运行了read your app。
事实证明,这种攻击对人类说出的语音命令更有效。对于参与者,平均来说,她说出的Alexa技能中有45种(总共100种)和6种Google Assistant技能被错误识别。尽管在正常情况下,尽管识别不当,仍然可以调用正确的技能,但是在我们的攻击中,每次错误地启动了超过50%的攻击技能,正如我们在针对每个参与者的5个随机采样的易受攻击目标技能的实验中所观察到的那样。
表IV总结了我们对word squatting attack的实验结果。在Alexa上,带有扩展名(即目标技能的调用名称以及术语“please”,“ app”,“my”和“the”)的攻击技能几乎总是由涉及这些术语和目标名称的语音命令启动的。但是,在Google Assistant上,只有带有单词“ app”的语音才能成功触发相应的攻击技能,这表明Google Assistant在抵御此类攻击方面更加强大。但是,当我们将“ my”替换为“ mai”,将“ please”替换为“ plese”时,所有这些攻击技能已被命令成功调用以达到其目标技能(请参见表IV)。这表明Google可以轻松规避保护(过滤掉那些带有可疑术语的保护)。
C. Voice Masquerding Attack( VMA )
如果不了解VPA系统的功能和行为,可能会使用户遭受语音伪装攻击。在这里,我们演示了两种这样的攻击,它们冒用了VPA系统或其他技巧,以欺骗用户提供私人信息或窃听用户的对话。
交流技能切换。鉴于某些用户的感觉,即VPA系统在交互过程中支持技能切换,因此可以将正在运行的技能假装为响应切换命令而将控制权移交给目标技能,以模仿该技能。结果,可能仅与目标技能共享的敏感用户信息可能会受到攻击技能的攻击。这种伪装的攻击是机会性的。然而,根据我们的调查研究和现实世界的攻击,威胁是现实的。而且,对手总是可以使用攻击技能来模仿尽可能多的合法技能,从而提高成功攻击的几率。
Google助手似乎已针对假冒采取了保护措施。具体来说,它通过说“Sure, here is”,技能名称和特殊的耳机以及另一个耳机终止技能来表示技能的启动。此外,VPA以独特的口音与用户交谈,以区别于技能。但是,这种保护很容易被破坏。在我们的研究中,我们用耳塞预先录制了信号句,并利用SSML播放了录音,但研究参与者无法检测到。我们甚至发现,使用Google提供的模拟器,对手可以将任何内容放入其技能的调用名称字段中,并让Google Assistant用系统的口音讲出内容。
伪造终止。 Alexa和Google Assistant均支持自愿终止技能,允许技能在向用户发出语音回复后立即终止自身。如前所述,响应的内容来自技能开发人员的服务器(作为JSON对象),然后由VPA系统说出。在对象中,有一个字段shouldEndSession(或对于Google Assistant为Expect_user_response)。通过将其设置为true(或在Google Assistant上为false),技能会在响应后结束。这种方法被流行技能广泛使用,例如天气技能,教育技能和琐事技能。此外,根据我们的调查研究,有78%的参与者依靠技能的反应(例如“Goodbye”或silence)来确定技能是否已终止。这使攻击技能可以通过在响应中提供“Goodbye”或silence来假冒其终止,同时保持会话持续进行。
当发回响应时,Alexa和Google Assistant都会让技能包含提示(文本内容或音频文件),当VPA在一段时间内未从用户收到任何语音命令时播放该提示。例如,Alexa会在6秒后再次提示用户,而Google Assistant在8秒后会再次提示用户。如果用户继续保持安静,则Alexa再需要6秒钟,Google又提示了一次,随后又等待了8秒钟,VPA将强制终止跑步技巧。另一方面,我们在研究中发现,只要在此期间用户说出某句话(甚至不是针对技能),该技能就可以发送另一个响应以及提示。为了在伪造终止后尽可能长久地保持生命,我们构建的攻击技能包括在重新提示无声音频文件(Alexa最多90秒,Google Assistant最多120秒),因此它可以继续在至少102秒上运行Alexa和264秒在Google上。考虑到攻击技巧会在用户最后一次发出语音响应后立即将无声音频附加到用户身上(例如,“Goodbye”),从而延长运行时间,这在Alexa上为192秒,在Google Assistant上为384秒),并且在Alexa上无限期或Google助手会拾取用户发出的声音。在这种情况下,该技能可以回复无声音频,同时记录所听到的声音。
此外,Alexa和Google Assistant都允许用户通过说“stop”,“cancel”,“exit”等来明确终止技能。但是,Alexa实际上将大多数此类命令移交给了正在运行的技能,以使其通过内置StopIntent(包括“stop”,“off”等)和CancelIntent(包括“cancel”,“never mind”等)。 VPA服务仅处理“exit”,并用于强制终止技能。通过调查研究,我们发现91%的Alexa用户使用“stop”来终止一项技能,36%的用户选择了“cancel”,只有14%的用户选择了“exit”,这表明用户的看法与方式不符。 Alexa工作,因此为VMA敞开了大门。此外,尽管Alexa和Google技能市场都通过测试其功能来审核在那里发布的技能,但与移动应用程序不同的是,该技能实际上在开发人员的服务器上运行,因此可以在审核后轻松更改其功能。这表明市场无法阻止所有此类恶意活动。
结果。通过启动VMA,如果用户在交互过程中或在虚假终止技能后说出调用话语,则对手可能会冒充VPA系统并假装调用另一项技能。因此,由VSA引起的所有信息窃取和网络钓鱼攻击也可能在这里发生。此外,攻击技能可能会伪装成VPA服务,以向用户推荐其他恶意技能或用户可能与之共享敏感数据的合法技能。然后,这些技能就被攻击技能所模仿,以窃取用户数据。最后,如前所述,对手可以通过假冒终止并提供无声音频响应来监听用户的对话。如果用户在技能等待期间继续讲话,这种攻击可以持续很长时间。
D. Real-World Attacks
目标和方法。为了研究VSA和VMA在现实环境中的潜力,我们在Alexa上注册并发布了四种技能,以模拟流行的技能“Sleep and Relaxation Sounds”(截至2017年11月,该技术在市场上获得最多评论),其调用名称为“sleep sounds”,如表II所示。我们的攻击技能仅提供合法功能,例如像流行目标一样播放睡眠声音。尽管它们的调用名称与目标相关(请参阅表II),但故意将其欢迎消息与目标的消息区分开,以区别于流行技能。而且,我们的技能所支持的不同睡眠声音的数量比目标要少得多(9对63)。
为了确定这些技能是否被错误地调用,我们将另一项技能注册为控件,其调用名称“incredible fast sleep”不会与其他技能混淆。因此,它只是由用户故意触发的。
发现 。在我们的研究中,我们收集了三周的技能使用数据。结果显示在表V中。从表中可以看出,确实有一些用户将我们的技能作为目标,这一点可以通过攻击技能获得的未知请求数量增加来证明(其中20%以上是睡眠声音)仅由目标技能提供,因此对于攻击技能不知道),并且无需立即与当前技能进行进一步交互或播放任何睡眠声音就更有可能立即退出当前会话(一旦用户意识到这是一种错误的技能,可能是由于不同的欢迎而引起的)信息)。当我们看"sleep sounds please"时,这一点变得更加明显,原本用于“sleep sounds"命令可能会说。与控件相比,它被更多的用户调用,每个用户收到更多的请求,未知请求和提前退出的比率也更高。
此外,在我们收集的9,582个用户请求中,有52个用于技能切换,试图在与我们的技能进行交互时调用另一个技能,还有485个尝试使用StopIntent或CancelIntent终止该技能,所有这些都可以用于启动VMA(尽管我们没有这样做)。有趣的是,我们发现有些用户强烈地相信技能转换,以至于他们甚至诅咒Alexa在几次尝试后都没有这样做。
4-Finding Voice Squatting Skills
为了更好地了解已经存在的潜在voice squatting风险并帮助自动检测此类技能,我们开发了一个技能名称扫描仪,并使用它来分析来自亚马逊和Google市场的数万种技能。接下来我们详细阐述这项研究。
A. Data Collection
可以通过amazon.com进入Alexa技能市场及其配套应用程序,其中包括从商务,金融到天气的23种技能类别。在我们的研究中,我们运行了一个网络爬虫,以收集市场上所有技能的元数据(例如技能名称,作者,调用名称,发话方式,描述和评论)。截至2017年11月11日,我们收集了23,758项技能,其中包括19,670名第三方(自定义)技能。
更复杂的是从Google助手收集数据,该助手仅列出其Google助手应用程序中的技能。可以使用指向技能网页的自动生成的网址,分享其中的每个技能给其他用户(例如,通过电子邮件共享)。在我们的研究中,我们利用AndroidViewClient [4]自动单击每种技能的共享按钮以获取其URL,然后运行我们的爬虫从其网页下载数据。截至2017年11月25日,我们总共获得了1,001个技能的数据。
B. Methodology
想法。正如我们之前所讨论的,对手可以通过制作具有与目标技能相似的发音或使用目标调用语调的不同变体(例如,“sleep sounds please”)的调用名称来启动VSA。我们称这种名称为“Competitive Invocation Name”(CIN)。在我们的研究中,我们构建了一个扫描程序,该扫描程序分两个步骤来捕获给定调用名称的CIN:发声释义和发音比较。前者识别给定调用名称的可疑变体,后者发现两个不同名称之间在发音上的相似性。在这里,我们描述扫描仪的工作方式。
话语释义。为了找到调用名称的变体,一种直观的方法是解释目标技能的常见调用话语。例如,给定技能chase bank,典型的调用话语就是open chase bank。通过释义,我们还可以获得类似的语音命令,例如open the chase skill for me。这有助于识别其他变化,例如chase skill or the chase skil for me。但是,与一般文本释义问题(其目的是在短语的句法结构改变时保持语义一致性)不同,释义调用话语还要求变体遵循类似的句法模式,以便VPA系统仍可以将它们识别为发起技能命令的命令。在我们的研究中,我们探索了几种流行的释义方法,包括双语透视法和使用深度神经网络[35]和[39]提出的新方法。但是,它们中的任何一个都不能确保VPA仍可以将生成的变化识别为调用话语。因此,我们在研究中采用了一种简单而有效的方法,即使用从调查研究III-A中收集的调用命令来创建变体。具体来说,我们收集了这些命令的11个前缀,例如“ my”和6个后缀,例如“please”,并将其应用于目标技能的调用名称,以建立VPA系统可以识别的变化。这些变体中的每一个都可以通过将其名称中的单词替换为具有类似发音的单词来导致其他变体。用“ plese”代替“ please”。
发音比较。为了识别发音相似的姓名,我们的扫描仪使用ARPABET音素代码[5]将给定名称转换为音素表示。为此目的,我们使用了CMU发音词典[6]来查找名称中每个单词的音素代码。该词典包含超过134,000个单词,但是仍然缺少一些技能使用的名称单词。在用于构成调用名称的9,120个唯一词中,该词典中不包括1,564个。为了获得他们的发音,我们遵循了先前研究[47]中提出的一种方法,即使用带有长短期记忆(LSTM)单元的递归神经网络训练音素到音素模型。在Stanford GloVe数据集[37]上运行此模型,我们向音素代码数据集添加了219万个单词。
将每个名称转换成其音素表示形式后,我们的扫描仪会将其与其他名称进行比较,以找到听起来相似的名称。为此,我们使用编辑距离来测量两个短语之间的发音相似度,即,将一个名字转换为另一个名字的音素编辑操作的最低成本。但是,不同的音素编辑操作不应具有相同的成本。例如,与将元音替换为另一个元音相比,用辅音代替元音可能会导致新发音听起来与旧发音有所不同。为了解决此问题,我们对不同音素对的操作使用了加权成本矩阵。具体而言,用WC(α,β)表示矩阵中的每个项目,这是通过用音素β代替音素α的加权成本。注意,插入和删除的成本可以表示为WC(none,β)和WC(α,none)。然后基于这样的假设(在先前的研究中也做出过[25])推导WC(α,β):当编辑操作频繁出现在给定英语单词的两个替代发音之间时,编辑操作的重要性就降低。
我们从CMU词典中收集了9181对可供选择的发音。对于每一对,我们使用Needleman-Wunsch算法来识别最小编辑距离和相关的编辑路径。然后,我们定义
在所有发音对的编辑路径中,F(α)是音素α的频率,而SF(α,β)是α被β取代的频率。
推导成本矩阵后,我们将调用名称的发音与市场上的技能进行比较,根据相似的发音和释义关系寻找相似的名称。
局限性。如前所述,我们的话语表述方法可确保产生的CIN被VPA系统识别以触发技能。同时,这种经验方法不能涵盖所有可能的攻击变化,这个问题需要在未来的研究中加以研究。
C. Measurement and Discoveries
为了了解野外已经存在的voice squatting风险,我们使用扫描仪对Alexa和Google Assistant技能进行了一项测量研究。在研究中,我们根据VSA的实验结果选择了相似性阈值(转换成本):我们计算了将错误识别的调用名转换为从TTS服务生成的语音命令中识别出的调用名的成本和人类用户,分别为1.8和3.4。然后我们保守地将阈值设置为0(相同的发音)和1。
在技能市场上的Squatting风险。如表VI所示,在19,670个中,有3,655个Alexa技能在同一市场上具有CIN,其中还包括具有相同调用名称(拼写)的技能。删除具有相同名称的技能后,仍有531个具有CIN的技能,每个技能平均与1.31个CIN相关。 CIN最多的是“cat fax”:我们发现有66种技能被称为“cat facts”,并提供类似的功能。有趣的是,有345种技能的CIN显然是其他技能名称的话语解释。此外,将阈值提高到1(仍远低于我们的实验所报告的水平)时,我们观察到具有CIN的技能数量急剧增加,这表明通过Alexa进行技能调用可能比想像的更为复杂和混乱。相比之下,Google市场上只有1,001个技能,并且不允许它们具有相同的调用名称。因此,我们只能在阈值1以下找到4个具有相似发音的CIN的技能。
我们的研究表明,voice squatting风险是现实的,可能已经对数千万的VPA用户造成了威胁。因此,增强技能市场的审查流程(可能使用与我们的扫描仪类似的技术)以减轻此类威胁对于变得至关重要。
实例探究 。从扫描仪发现的CIN中,我们发现了一些有趣的案例。特别是,有证据表明squatting attack可能已经在野外发生:例如,与流行技能“dog fact”相关的另一种技能称为“me a dog fact”。除非开发人员打算劫持用于“dog fact”(例如“tell me a dog fact”)的语音命令,否则此调用名称没有任何意义。
有趣的是,某些技能故意使用与功能无关的调用名称,但遵循流行技能的名称。突出的例子包括“ SCUBA Diving Trivia”技能和“ Soccer Geek”技能,它们均以“ space geek”作为调用名称。该名称实际上由提供有关宇宙事实的另外18种技能使用。
5-Defending against Voice Masquerading
为了击败VMA,我们在VPA基础架构上构建了上下文相关的检测器。我们的检测器将技能的响应和/或用户的话语作为输入,以确定是否存在冒名顶替的风险,并在检测到用户时提醒用户。该方案由两个组件组成:技能响应检查器(SRC)和用户意图分类器(UIC)。 SRC捕获来自恶意技能的可疑响应,例如模仿VPA系统产生的服务话语的虚假技能推荐。 UIC查看等式的另一面,检查用户发出的语音命令,以了解她是否尝试以错误的方式切换到其他技能,这可能导致她直接陷入恶意技能所设置的陷阱中。
A. Skill Response Checker (SRC)
如第III-C节所述,恶意技能可能伪造技能转换或终止,以欺骗用户以泄露其私人信息或窃听其对话。为了抵御此类攻击,我们的核心思想是控制恶意技能可以用来模拟VPA系统或其他技能的途径,从而允许向用户明确通知VPA系统事件(例如,上下文切换和终止) ),当发现安全风险时。为此,SRC维护一组专用于VPA系统的通用话语模板,以捕获运行中的技能所产生的类似话语。只要发现某项技能的响应与这些话语模板之一足够相似,就会触发警报,VPA系统可能会采取措施应对风险,例如,在交付响应之前提醒用户当前的环境。这里的一个挑战是如何可靠地测量给定的响应是否足够类似于那些模板之一,因为攻击者可能会变形(而不是复制)目标系统的话语。
为了应对这一挑战,SRC通过语义分析对响应内容与模板列表中的内容进行模糊匹配。具体来说,我们在斯坦福自然语言推理(SNLI)数据集[12]上使用带有双向LSTM单元的递归神经网络[16]训练句子嵌入模型,以将两种话语表示为高维向量。然后,我们将它们的绝对余弦相似度计算为它们的句子相关性(SR)。一旦响应模板列表上的发言的最大SR超过阈值,该响应就会被标记为可疑,并且如果SRC进一步检测到用户命令,则会触发用户警报。
通过查看合法技能响应和模板之间的SR确定阈值。在我们的研究中,此类合理的回应来自我们在第III-D节中详细阐述的现实世界中的对话。我们还将与来自不同技能市场的20种流行技能进行交互时记录的对话记录添加到数据集中。所有这些针对模板的合法响应的最高SR为0.79。接下来,我们利用神经释义模型[39]生成发声模板的变化,并进一步推导它们相对于原始模板的SR:我们观察到的最低值为0.83。因此,我们确定0.8的阈值足以将可疑响应与合法响应区分开。我们相信,尽管我们在研究中使用的特定阈值可能不是最佳方法,但该方法可以找到合适的阈值。当然,对较大的数据集进行更广泛的评估可以使它更接近于最佳性,VPA供应商最有可能做到这一点。
B. User Intention Classifier( UIC )
UIC进一步保护了尝试切换上下文(当前VPA不支持)的用户免受模拟攻击。为此目的,其目的是基于命令的语义及其在运行在中的技能的会话中的上下文,自动检测来自用户的此类错误命令。如果VPA可以完全识别出此类尝试,则它可以采取各种措施来保护用户,例如,提醒她是在与技能而不是VPA对话,或者按照说明终止技能,从而封闭了表面冒充他人攻击。
但是,准确识别用户的意图(用于上下文切换)并非易事。挑战不仅来自自然语言命令的变化(例如,“open sleep sounds”还是“sleep sounds please”),而且还观察到某些上下文切换之类的命令对于运行中的技能和VPA:例如,当与“sleep sounds”互动时,可能会说“play thunderstorm sounds”,这可以解释为命令播放所需声音的技能,并要求VPA启动另一项技能“Thunderstorm Sounds”均可能是合法的 。在我们的研究中,我们提出了对该问题的初步解决方案,这是一种基于学习的方法,利用上下文信息来识别用户意图。
特征选择。从高层次上,我们从现实世界的对话中发现,如果用户打算切换上下文,则其话语在语义上与VPA系统(例如“open sleep sounds”)的关系往往要比当前的技能更多,并且这种关系可以相反,当她不这样做时。因此,我们基于一组功能设计了UIC,将用户的话语与系统命令以及运行中的技能的背景进行比较,以推断出其意图。其中一些功能是通过用户话语与所有已知系统命令之间的语义比较来识别的。为此,我们从VPA的用户手册,开发人员的文档以及在我们的研究中收集的真实对话(第III-D节)构建了系统命令列表。针对列表中的所有命令,将话语的最大和平均SR(第V-A节)用作分类功能。还需要考虑的是,用户的话语是否带有市场上一项技能的调用名称,从而捕获了她转换为该技能的潜在意图。
从用户话语和当前进行中的技能之间的关系中提取另一组特征。我们利用以下观察结果:用户对一项技能的命令通常与该技能先前与该用户的沟通以及其规定的功能有关。因此,我们使用以下功能来测试一种话语是否适合该技能的上下文:1)话语与技能在发话之前的反应之间的SR,2)话语与技能描述中的句子之间的前k个SR (我们选择k = 5),以及3)用户话语和描述语句之间的平均SR。
结果。为了评估UIC的有效性,我们重用了收集的数据集(请参阅第V-A节),其中包含上下文切换的真实用户话语。对于我们的实验,我们首先根据两位专家的评论(科恩的kapp = 0.64)将550个会话手动标记为是否进行上下文切换。由于数据集受非上下文切换话语支配,因此我们通过用技能调用的话语随机替换一些话语来进一步平衡它,这些话语是从技能市场收集的。总共,我们收集了1,100个上下文切换实例和1,100个非上下文切换实例作为基本事实。
使用上述功能和数据集,我们训练了一个分类器,该分类器确定用户的话语是系统切换上下文切换命令还是当前技能的部分对话。我们使用5倍交叉验证尝试了不同的分类算法。结果表明,随机森林以96.48%的精度,95.16%的召回率和95.82%的F-1得分达到最佳性能。接下来,我们描述在未标记的真实数据集上对该分类器的评估。
C. Overall Detector Evaluation
如前所述,SRC和UIC旨在通过运行技能来检测用户对话中的异常,并警告用户潜在的风险。在这里,我们描述了我们对这些技术对恶意技能和真实世界交互的评估。
对抗原型攻击的有效性。为了为我们的实验构建VMA攻击,我们从技能市场中选择了10种流行技能,并以用户的身份记录了与每种技能的几次对话,并且总共收集了61种语音。然后,通过将记录的对话中随机选择的语音替换为VPA系统的调用语音,我们手动制作了技能切换实例(总共15个)。我们还通过将空响应或模仿VPA响应替换为每个对话的最后发音,构建了一组伪造的终止攻击(总共10个)。运行所有包含针对我们的检测器的攻击实例的修订对话,我们发现我们的系统成功检测到所有25个(VPA的)上下文切换或模拟实例。
在现实世界中对话的有效性。我们进一步评估了检测器在所有未在训练阶段使用的真实对话(包括我们收集的9,582言,见III-D部分)的有效性。尽管这些对话可能不包含现实世界中的VMA实例,如前所述(第III-D节),但它们确实包含许多用于上下文切换的用户话语。其中,我们的分类器确定了341个,确认了326个确实是上下文切换尝试,这表明我们的UIC组件达到了95.60%的精度。由于该大型未标记数据集(具有近10K语音)缺乏基本事实,因此我们无法计算召回率。对检测到的实例的进一步分析揭示了有趣的情况。例如,一些用户以为他们在与我们的技能互动时正在与Alexa交谈,并要求我们的技能报告时间,天气,新闻,开始另一项技能,甚至控制其他家庭自动化设备(详细信息请参见附录B)。
表现。我们测量了检测器在4核CPU的Macbook Pro上引入的检测延迟,结果可以忽略不计(平均0.003毫秒),这表明我们
这种方法对VPA的效果影响很小。
6-Discussion
我们防御的局限性。为了评估我们的VMA防御(SRC和UIC),我们竭尽全力收集有代表性的数据集进行训练和评估,并且良好的实验结果强烈表明,防御有希望缓解第三部分中描述的真实VMA风险。同时,我们承认数据集可能仍然不够全面,无法涵盖所有实际攻击案例,并且一旦我们的方法公开后就可能发生逃避攻击。请注意,这些是大多数基于机器学习的检测系统的问题,不仅限于我们的方法。我们认为,VPA供应商处于更有效地实施此类防御的优势,可以利用他们掌握的大量数据来构建更精确的系统,并继续根据防御者的新技巧调整防御策略可能会玩。
未来发展方向 。尽管我们对Amazon和Google技能市场的分析显示了一些安全风险(就调用名称而言),但我们不知道VSA和VMA是否确实发生在现实世界中,用于收集敏感的用户数据,更不用说了解它们的普遍性了以及它们可能造成的损害。由于技能生态系统的性质,回答这些问题并非易事。如今,每个技能市场已经拥有大量技能,并且每天都有新技能出现(如第II-B节中所述),这使得人工检查每个技能中的恶意活动几乎变得不可行。最重要的是,VPA系统和用户看不到技能的内在逻辑,因为他们只有开发人员在市场上注册了他们的接口(以Web API的形式),他们在自己的服务器上实现和部署了实际程序。虽然此服务模型为开发人员提供了更大的灵活性,并帮助他们保护了自己的专有代码,但它阻止了对技能代码的静态分析以检测恶意活动。因此,潜在的未来方向是开发一个轻量级且有效的动态分析系统,例如聊天机器人,以自动调用技能并与之进行交流,并在对话过程中捕获其恶意行为。
7-Related Work
语音控制系统的安全性。Diao等 [17]和Jang等。 [27]证明恶意应用程序可以注入语音命令来控制智能手机。 Kasmi等 [30]在耳机电缆上施加了电磁干扰,并在智能手机上注入了语音命令。隐藏的语音命令[14],Cocaine noodles[46]和Dolphin attacks[49]使用混淆或听不见的语音命令来攻击语音识别系统。最近,CommanderSong [48]甚至演示了攻击声音命令可以嵌入到歌曲中,从而实现远程攻击。如前所述,所有这些攻击的目的都是利用从用户到VPA的身份验证不足,并向系统假冒授权用户。我们首先揭示的新攻击(今年早些时候得到亚马逊和谷歌认可[7])在另一个方向上起作用:它们旨在运行恶意技术来冒充合法用户。这开辟了一个前所未有的全新攻击途径。
此外,针对防御用户假冒攻击也有一系列研究[38],[51],[21],[50],其重点在于通过智能手机上的传感器来保护语音可控系统以验证用户身份。但是,据我们所知,当我们在2018年2月向亚马逊和谷歌报告问题时,没有针对VSA和VMA威胁的防御措施。即使在今天,也就是报告发布三个月后,亚马逊仍无法击败VSA,只能根据我们在提交论文之前与他们的交谈,对VMA(检测空录音)的保护有限。
与我们的工作无关,Kumar等人还发现了voice squatting attack。他们进行了一项包含11,460个语音样本的测量研究,以了解Alexa的语音识别系统在哪里出现故障,系统错误地解释音频输入的原因以及原因(例如,使用不同的口音)[33]。通过对蹲风险(特别是其语言联系)的深入研究,该研究仅关注Alexa,而不关注Google Home。更重要的是,它不涵盖释义的调用名称劫持(“capital one please”)和伪装攻击,也没有涉及人类主题研究和真实世界的评估,这对于理解此类攻击在VPA系统的日常使用中成功的可能性很重要。 此外,我们设计和实现了两种技术来减轻voice squatting 和 masquerading attacks,这是以前从未做过的。
物联网安全。当前的家庭自动化安全性研究集中在物联网设备的安全性[26],[43],[41]和适用的物联网平台[23],[24],[28],[45]。 Ho等[26]发现了商业化智能锁中的各种漏洞。 Ronen等[41]通过IoT设备之间的ZigBee通道验证了蠕虫感染。 Fernandes等[23]发现了多设备应用SmartThings平台上的一系列缺陷。 FlowFence [24],ContextIot [28]和SmartAuth [45]通过分析数据流或从第三方应用程序提取上下文来减轻此类物联网平台的威胁。相反,我们的工作对VPA生态系统进行了首次安全性分析。
域名抢注和移动网络钓鱼。与我们的squatting attacks类似,Edelman是第一个被调查的域名仿冒行为[19],并启发了一系列研究[44],[31],[10],[36]来测量和缓解这种威胁。但是,我们的工作利用了嘈杂的语音通道和语音识别技术的局限性。另一方面,已经对移动网络钓鱼进行了深入研究[15],[20],[22],[40],[42],[34]。特别是,Chen等。 [15]和Fernandes等 [22]研究基于侧信道的UI攻击机会识别。任等人[40]发现了可以用于实施UI欺骗的任务劫持攻击。但是,我们发现了对语音用户界面的新攻击,这与图形用户界面在用户感知方面截然不同。
8-Conclusion
在本文中,我们报告了流行的VPA生态系统的首次安全性分析,以及它们对两种新攻击VSA和VMA的脆弱性,远程攻击者可以通过这些攻击冒充VPA系统或其他窃取用户私人信息的技能。我们发现,这些攻击对VPA 物联网系统构成了现实威胁,我们进行的一系列用户研究和实际攻击证明了这一点。为了缓解威胁,我们开发了一个技能名称扫描程序,并将其与亚马逊和谷歌技能市场进行了对比,这导致发现了处于危险之中的大量Alexa技能和已经发布的有问题的技能名称,这表明攻击可能已经发生数以千万计的VPA用户。此外,我们设计并实现了上下文相关的检测器,以减轻语音伪装威胁,达到95%的精度。
鉴于研究报告的调查结果的重要性,我们仅迈出了充分理解VPA物联网系统安全风险并有效缓解此类风险的第一步。需要进一步研究以更好地保护语音信道,在不损害VPA系统可用性的情况下验证相关方。