基于机器学习的防御无声指令控制语音助手的方法转让专利

申请号 : CN201711374668.2

文献号 : CN108172224B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐文渊冀晓宇张国明闫琛张天晨张泰民

申请人 : 浙江大学

摘要 :

本发明公开了一种基于机器学习的防御无声指令控制语音助手的方法,步骤如下1)采集正负样本的数据,2)对正负样本数据进行数据切分;3)样本特征选取与归一化;4)选取分类器进行训练并生成用来对恶意语音指令的检测模型;5)利用得到的检测模型对待检测语音指令进行检测。本发明选取独创的特征选取方法,针对不同型号的智能设备,需要通过该类型的智能设备获取正常的语音命令和恶意的语音命令,并作为正负样本训练一个特定的针对该类型设备的分类器。通过这种定制化的方式,可以很好的解决跨设备无法进行检测和防御的难题。

权利要求 :

1.一种基于机器学习的防御无声指令控制语音助手的方法,其特征在于包括如下步骤:

1)采集正负样本的数据,

2)对采集到的正负样本数据进行数据切分;

3)样本特征选取与归一化;

对语音数据进行特征特取,特征包括,最小值、平均值、能量、偏度、峰度、频谱均值、频谱方差、频谱标准差、不规律性、均方根振幅、频谱质心,将选取的11个特征构成特征向量,特征向量代替采集到的语音数据,将其作为之后过程中的输入信息,其中各特征定义如下:

平均值:

能量:

偏度:

峰度:

频谱均值:

频谱方差:

频谱标准差:

不规律性:

均方根振幅:

频谱质心:

其中,N为样本数据点数,xn是第n个点的功耗值,σ是标准差,an是进行频域变换后第n个频率fn处的能量大小,是频谱均值,Vs是频谱方差,z(n)是加权频率值,y(n)代表样本点的中心频率;

对样本特征向量进行归一化处理,每个样本特征最大值设定为1,归一化处理的输入为每个样本的时域频域特征,输出为归一化的时域频域特征;

最后,将归一化后的时频域特征贴上标签,正常语音指令特征的标签为1,恶意语音特征标签为0;

4)使用归一化后并贴上标签的时域频域特征作为模型输入,选取SVM分类算法进行训练并生成一个检测模型用来对恶意语音指令的检测;

5)利用步骤4)训练得到的检测模型对待检测语音指令进行检测。

2.如权利要求1所述的基于机器学习的防御无声指令控制语音助手的方法,其特征在于所述步骤1)采集的负样本的产生方式为:使用信号发生器将正样本的语音调制到超声波频段,通过超声波扬声器播放出来,所述的调制为调幅,调制深度:100%,载波频率范围20-

45kHz,录下这些声音得到解调后的恶意语音信号并作为负样本数据。

3.如权利要求1所述的基于机器学习的防御无声指令控制语音助手的方法,其特征在于数据切分方法为:将得到的声音数据以20ms的长度进行切分,如果连续的4个片段的信号强度 大于一个阈值,其中xi为第i个数据点的值,即可确定第一个片段开始位置为整个语句的开始位置;同理,连续4个片段信号强度小于一个阈值,即可确定第一个片段的开始位置为整体语句的结束位置,根据开始位置和结束位置就可以对语音指令进行切分。

说明书 :

基于机器学习的防御无声指令控制语音助手的方法

技术领域

[0001] 本发明属于人工智能语音助手安全领域,具体涉及一种基于机器学习的防御无声指令控制语音助手的方法。

背景技术

[0002] 作为一种方便有效的人机交互方法,Siri,Google Now,Alexa,Cortana,S Voice,Hi Voice等语音助手在人们的生活中变得越来越流行,几乎所有的智能设备(智能手机,平板电脑,可穿戴设备以及智能音响)都搭载着相应的语音助手。
[0003] 然而,语音助手也面临着各种各样的安全隐患,例如有一种名为“海豚音攻击”的方法[Zhang,G.,Yan,C.,Ji,X.,Zhang,T.,Zhang,T.,&Xu,W.(2017).DolphinAtack:Inaudible Voice Commands.arXiv preprint arXiv:1708.09537.],利用智能设备麦克风电路的漏洞,可以无声地控制语音助手从而命令智能设备执行相应的指令,例如:无声的开启语音助手,拨打付费电话或者监听电话,视频通话,发送付费短信,将手机切换到飞行模式,操作奥迪汽车的导航系统,购物,甚至能够无声解锁Nexus 7等。因此,攻击者可以在用户不知道的情况下操纵其智能设备,造成隐私泄露,财产损失等一系列的安全问题。攻击实现的过程如图1,攻击者首先将普通可听见的语音信号通过调幅的方式将其调制到超声波频段然后再通过超声波发送器发送出去,此时人耳是听不到。而智能设备的麦克风电路能够听到并且能够将该调幅信号进行解调,恢复出调制之前的语音信号,此时语音助手识别到该语音信号,并控制智能设备执行恶意的操作。
[0004] 虽然各种搭载语音助手的智能设备的功能有细微差异,但攻击者能够完成的恶意操作有:
[0005] 1.访问恶意网站:然后进行路过式下载攻击,然后使用0day漏洞攻击用户设备。
[0006] 2.监控:攻击者可以拨打语音或者视频电话,从而获取到用户周围的声音和图像。
[0007] 3.植入虚假信息:攻击者可以使用用户设备发送虚假短信、邮件、发布假的博文,或者把虚假的事件添加到日程。
[0008] 4.拒绝服务:攻击者可以打开飞行模式,让设备断网。
[0009] 5.隐蔽攻击:屏幕显示以及语音反馈都可能暴露攻击,但是黑客可以降低屏幕亮度或者音量,达到隐藏的目的。
[0010] “海豚音攻击”是利用智能设备的硬件漏洞而发起的一种新型攻击,目前还没有具体可行的防御方案,现有技术[Zhang,G.,Yan,C.,Ji,X.,Zhang,T.,Zhang,T.,&Xu,W.(2017).DolphinAtack:Inaudible  Voice Commands.arXiv preprint arXiv:1708.09537.]提出两种防御方案:基于硬件的防御方案和基于软件的防御方案。
[0011] 其中基于硬件的解决方案是建议生产厂商重新设计麦克风电路使得高频声音不能被麦克风接受,或者硬件电路识别到高频的声音后将其滤除。
[0012] 基于软件的防御方案是利用可听声音和不可听声音之间的差异,通过机器学习的方法,区分正常指令和不可听指令。现有技术利用支持向量机(Support Vector Machine,SVM)成功区分出了正常的声音和不可听的声音指令“Hey”。具体操作如下[0013] 第一步:用手机录下5个可听的语音指令‘Hey’作为正样本,然后录下不可听的语音指令“Hey”作为负样本。
[0014] 第二步:使用这些正负样本训练SVM分类器。
[0015] 第三步:使用训练好的分类器识别可听与不可听语音指令。
[0016] 3)分析2)中提及的现有技术存在什么样的不足,即发明所要解决的技术问题。
[0017] 现有技术提出的基于软硬件的防御方案的不足之处在于:
[0018] 1.厂家是无法对已经出售的智能设备进行硬件上的改进或者说召回成本是厂家无法承受的。
[0019] 2.麦克风电路能够接受超声波是一直存在的问题,尽管随着技术,工艺的进步和发展,也未能有效的解决,因此基于硬件的防御方案是一种高成本,难度大,周期长的防御方案,不能有效的解决目前存在的问题。
[0020] 3.现有技术中基于软件的方案只在一台智能设备,测试了一句语音指令“Hey”,因此不能确定该方法能否在不同智能设备,不同语音指令,不同人声的防御效果。

发明内容

[0021] 为了抵御“海豚音攻击”,本发明提出了一种基于机器学习防御“海豚音攻击”的方法,这种方法可以有效的识别接收到的语音指令是恶意的还是正常的指令,进而取消恶意指令的识别和执行,从软件层面杜绝了“海豚音攻击”的可能。
[0022] 本发明的技术方案具体如下:
[0023] 首先进行分类器的训练阶段。
[0024] 步骤一,采集样本数据。正常语音数据和恶意语音数据作为正负样本。
[0025] 步骤二,语音信号预处理,将采集到的语音数据进行归类(分为两类正常语音数据和恶意语音数据)和语音数据切分。语音数据切分包括:找到每句语音信号的开始和结束部分,进行数据切分。
[0026] 步骤三,计算样本特征,归一化与贴标签。从切分样本数据中计算出样本特征,我们需要计算每个样本所有数据点的最小值、平均值、能量、偏度、峰度、频谱均值、频谱方差、频谱标准差、不规律性、均方根振幅、频谱质心,11个特征。这一部分输入为样本数据,输出为每个样本数据的时频域特征文件。
[0027] 为了使我们的分类算法分类准确率更高,样本特征的归一化是需要的。我们需要对这些样本特征做归一化处理,每个样本特征最大值设定为1。这一部分输入为每个样本的时域频域特征,输出为归一化的时域频域特征。
[0028] 最后,将归一化后的时频域特征贴上标签,正常语音指令的特征为1,恶意语音特征为0.
[0029] 步骤四,训练支持向量机(SVM)分类器。SVM的分类算法为我们检测的核心。在使用SVM之前需要根据正负样本数据训练一个SVM分类器。
[0030] 以上四个步骤是SVM分类器的训练阶段。以下是利用SVM分类器检测恶意语音命令,在语音助手接收到待识别的语音命令之前,需要经过SVM分类器的检测,只有检测结果为正常指令时,才进行语音识别,否则发出报警或者丢弃掉该语音命令。
[0031] 步骤五,将麦克风电路接收并解调后的语音信号进行预处理,见步骤二。
[0032] 步骤六,计算特征,归一化,见步骤三,但是不包括贴标签的操作。
[0033] 步骤七,将归一化的样本数据输入到SVM分类器进行识别。
[0034] 其中各特征定义如下:
[0035] 平均值:
[0036] 能量:
[0037] 偏度:
[0038] 峰度:
[0039] 频谱均值:
[0040] 频谱方差:
[0041] 频谱标准差:
[0042] 不规律性:
[0043] 均方根振幅:
[0044] 频谱质心:
[0045] 其中,N为样本数据点数,xn是第n个点的功耗值,σ是标准差,an是进行频域变换后第n个频率fn处的能量大小,是频谱均值,Vs是频谱方差,z(n)是加权频率值,y(n)代表样本点的中心频率;所述的最小值即为所有点的功耗最小值。
[0046] 利用SVM分类算法我们可以根据时域频域特征判断当前样本是否为正样本。这一部分输入为归一化的时域频域特征,输出为SVM分类预测结果,即当前语音是否为恶意语音指令。
[0047] 自此,就实现了恶意语音命令的检测和对语音助手的防御。
[0048] (1)经过对正常语音信号和恶意语音信号的分析发现,恶意语音信号在高频段是被抑制的。即,从不可听的语音命令还原出来的恶意语音指令在较高频段的强度比较小。不同的手机,不同语音命令,不同说话者在这一点上都是一样的,这是一个普遍的现象。因此,通过机器学习的方式可以进行区分和检测。
[0049] (2)对于任何一种机器学习方法,最终的识别精确度与可靠性很大程度上取决于特征向量的选取以及分类器的选取。特征向量的选取决定了分类器分类能力的上限,分类器的训练方法很大程度上决定了进行分类的速率。考虑到语音信号特征提取的重要性,我们首先通过分析语音指令的特点,选取能反映正常语音指令和恶意语音指令之间差异的特征向量,并在此基础上选择了合适的机器学习算法。
[0050] (3)经过测试我们发现,不同智能设备的麦克风电路的非线性作用有很大的差异,对于同一个不可听的语音信号,不同智能设备解调出来的恶意语音信号是有一定的差异的。如果想要建立一个统一的检测模型是不可能或者是低效的而且也没有必要建立一个统一的模型。
[0051] 针对不同型号的智能设备,需要通过该类型的智能设备获取正常的语音命令和恶意的语音命令,并作为正负样本训练一个特定的针对该类型设备的分类器。通过这种定制化的方式,可以很好的解决跨设备无法进行检测的难题。

附图说明

[0052] 图1为语音助手能够接受到恶意语音信号的示意图。
[0053] 图1的上半部分为信号的频谱示意,下半部分位是智能设备的麦克风电路示意。
[0054] 攻击者可以将可听的低频信号调制到超声波频段发送出来,此时人耳是听不到的,频谱图中只有高频信号,智能设备上的麦克风电路接收到该信号后,会将调制之前可听的低频信号解调出来,此时从频谱图可以看到,有低频的信号产生,而这一现象是由于麦克风电路的非线性作用产生的,也正是这一硬件上的漏洞,使得语音助手能够识别到“不可听的语音指令”。
[0055] 图2为正常语音信号和恶意语音信号在时频域的对比图;
[0056] 此语音指令为“HeySiri”,上半部分为正常可听的语音信号,下半部分为麦克风电路解调出来的语音信号,从右半部分的频域图中可以看到,解调后的信号在高频段的强度相比于正常语音信号在高频段的强度低很多。
[0057] 图3为检测器SVM的训练以及恶意语音指令的检测过程图。
[0058] 图4为改进后的语音控制流程图,SVM分类器作为新增模块,用来检测恶意语音信号。

具体实施方式

[0059] 下面对本发明的优选实施方式做出详细的说明。
[0060] 图2为正常语音信号和恶意语音信号在时频域的对比图;通过图2,可以发现,手机录到的普通语音信号和恶意信号(解调出来的信号)在高频段是有明显差异的。因此,可以通过机器学习算法识别恶意语音命令。如图3和4所示,本发明针对“海豚音攻击”进行针对性的防御,能够检测出”海豚音攻击”的无声语音指令,从而从根本上解决了语音助手,智能设备被无声语音指令控制的可能性。
[0061] 以下实施例为基于机器学习的防御无声指令控制语音助手的方法,测试的防御设备为iPhone SE。其它不同类型智能设备的防御与该方法一致,不再做进一步说明。
[0062] 分类器训练阶段:
[0063] 正负样本的数据采集。
[0064] 为了使训练后的分类器能够检测不同人声,语音命令的无声攻击,正负样本的获取上就应该考虑到不同人声和不同语音指令。
[0065] 因此,我们选用了TIMIT语音库,该数据库含有630个说话人语音,他们说的语言包括美国英语的八大方言,并且每个人阅读10个语音丰富的句子。
[0066] 正样本的产生方式:我们从TIMIT语音库中选取10个人的语音(共包括100句话)作为正样本。
[0067] 负样本的产生方式:使用信号发生器(Keysight Technologies.2017.N5172B EXG X-Series RF Vector Signal Generator,9kHz to 6GHz.http://www.keysight.com/en/pdx-x201910-pn-N5172B.(2017).)将正样样本的语音调制到超声波频段,通过超声波扬声器[Avisoft Bioacoustics.2017.Ultrasonic Dynamic Speaker Vifa.http://www.avisoft.com/usg/vifa.htm.(2017).]播放出来(调制方式为:调幅,调制深度:100%,载波频率:20-45kHz),并用iPhone SE手机录下这些人耳不可听的声音得到解调后的恶意语音信号并作为负样本(共包括10个说话者,100句话)。
[0068] 1.数据预处理。
[0069] 采集到以上数据后,首先进行正负样本的划分。然后是语音数据切分。
[0070] 我们使用了如下语音数据切分算法:
[0071] 为了检测出每句指令的何时开始和结束,使用阈值来检测,将得到的声音数据以20ms的长度进行切分,如果连续的4个片段的信号强度 (xi为第i个数据点的值)大于一个阈值,即可确定第一个片段开始位置为整个语句的开始位置。同理,连续4个片段信号强度小于一个阈值,即可确定第一个片段的开始位置为整体语句的结束位置。根据开始位置和结束位置就可以对语音指令进行切分。
[0072] 2.样本特征选取,计算与归一化。
[0073] 考虑到语音信号的特点,首先能想到的特征有平均值,最小值这类指标,但是这些指标不能够完全的反映出正常语音信号和恶意语音信号之间的差异,我们需要经过统计分析,选取更多能够有效反应正常,异常语音信号之间差异的特征。经过一系列优化,我们对语音数据进行特征提取之后,从计算得到的大量时频特征中,选取了最能反映正常和恶意语音之间差异性的11个指标。我们使用这些特征代替采集到的语音数据,将其作为下一步机器学习过程中的输入信息。特征向量包括:最小值、平均值、能量、偏度、峰度、频谱均值、频谱方差、频谱标准差、不规律性、均方根振幅、频谱质心。
[0074] 为了使我们的分类算法分类准确率更高,需要对样本特征进行归一化处理。每个样本特征最大值设定为1。这一部分输入为每个样本的时域频域特征,输出为归一化的时域频域特征。
[0075] 最后,将归一化后的时频域特征贴上标签,正常语音指令特征的标签为1,恶意语音特征标签为0.
[0076] 3.在确定所需提取的特征信息之后,我们进行了机器学习算法的选取。我们使用正常语音和恶意语音数据作为机器学习的训练样本,而对于有限样本学习问题的SVM机器学习算法能够很好的适用于我们这一应用场景。
[0077] 我们选用SVM机器学习算法有以下三个好处:
[0078] (1)由于SVM算法具有非常快的训练速度以及决策速度,使我们能够很快对恶意语音指令做出识别。
[0079] (2)由SVM算法本身的特点所决定,该算法对输入数据的维数不敏感,这个优点使我们可以在以后的工作中,寻找新的体现信息差异的特征,在对系统进行改进的同时而不会影响系统的效率。
[0080] (3)使用SVM算法还可以使得系统具有自学习功能,随着用于训练的数据增加,可以在分类器训练过程中不断修正各个参数的值,从而在此基础上构造一个较为完善的检测系统。
[0081] 选取了SVM分类器后进行分类器的训练并生成一个检测模型用来对恶意语音指令的检测。
[0082] 恶意语音指令检测过程:
[0083] 训练好的SVM检测模型可以移植到系统中的语音助手上,在这里,我们在电脑上进行的测试。首先将录制到的正常的,恶意的语音指令进行预处理和特征提取等操作,然后使用训练好的SVM分类器进行检测。
[0084] 为了验证该方法的可行性,我们首先通过实验的方式测试了该方法对于正常语音命令和恶意语音命令的区分能力。
[0085] 待测正常语音的产生过程:我们从TIMIT语音数据库中选取10个人的语音作为待测的正常语音。
[0086] 待 测 恶 意 语 音 的 产 生 过 程 :使 用 信 号 发 生 器 ( K e y s i g h t Technologies.2017.N5172B EXG X-Series RF Vector Signal Generator,9kHz to 6GHz.http://www.keysight.com/en/pdx-x201910-pn-N5172B.(2017).)将正样样本的语音调制到超声波频段,通过超声波扬声器[Avisoft Bioacoustics.2017.Ultrasonic Dynamic Speaker Vifa.http://www.avisoft.com/usg/vifa.htm.(2017).]播放出来(调制方式为:调幅,调制深度:100%,载波频率:25kHz),并用iPhone SE手机录下这些人耳不可听的声音得到解调后的恶意语音信号并作为待测恶意语音。
[0087] 我们测试了10个人,100句正常的语音和100句恶意的语音,最终实验结果显示,无论说话者以及语音指令是怎样的,分类器都能够以98%的准确率区分正常语音指令,以94%的准确率区分恶意语音指令。
[0088] 通过最终的检测结果可以确定,针对不同的说话者,不同的命令,我们的方法对“海豚音攻击”都是有效的。因此,智能设备的生产厂商只需要升级系统或软件就可以快速,有效地解决目前各个智能设备存在的安全问题。