DE202017106575U1 - Verhindern von Audioangriffen - Google Patents

Verhindern von Audioangriffen Download PDF

Info

Publication number
DE202017106575U1
DE202017106575U1 DE202017106575.8U DE202017106575U DE202017106575U1 DE 202017106575 U1 DE202017106575 U1 DE 202017106575U1 DE 202017106575 U DE202017106575 U DE 202017106575U DE 202017106575 U1 DE202017106575 U1 DE 202017106575U1
Authority
DE
Germany
Prior art keywords
hotword
audio data
command
output
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202017106575.8U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE202017106575U1 publication Critical patent/DE202017106575U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L15/222Barge in, i.e. overridable guidance for interrupting prompts
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Computerprogrammprodukt, das Anweisungen beinhaltet, die, wenn sie durch einen oder mehrere Computer ausgeführt werden, den einen oder die mehreren Computer veranlassen, ein Verfahren auszuführen, das Verfahren umfassend:Empfangen, an einem Verarbeitungsmodul eines Geräts, von Ausgabeaudiodaten, die eine Audioausgabe durch das Gerät repräsentieren;Empfangen, durch das Verarbeitungsmodul, von Eingabeaudiodaten, die eine Audioaufzeichnung repräsentieren, die über ein Mikrofon erfasst wurde;Bestimmen, durch das Verarbeitungsmodul, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten, wobei das Hotword ein Wort oder ein Satz ist, das oder der zuvor festgelegt wurde, um einem Sprachbefehl vorauszugehen; undauf Grundlage von dem Bestimmen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, Blockieren, durch das Verarbeitungsmodul, der Nutzung der Eingabeaudiodaten, um einen Befehl einzuleiten.

Description

  • HINTERGRUND
  • Diese Spezifikation bezieht sich im Allgemeinen auf die Sicherheit von Geräten, beinhaltend internetverbundene Geräte. Einige dieser Geräte sind dabei in der Lage, Sprachbefehle zu empfangen, zu verarbeiten und auszuführen. In einigen Fällen gehen den Sprachbefehlen Anzeigewörter oder -sätze voraus, die als Hotwords bekannt sind.
  • KURZDARSTELLUNG
  • Internetverbundene Geräte können durch böswillige Angreifer geschädigt werden. Gleichzeitig haben diese Geräte häufig Zugriff auf Nutzerdaten und andere verbundene Geräte. Einige Geräte sind dabei in der Lage, Sprachbefehle zu empfangen, zu parsen und auszuführen. Beispielsweise kann ein internetverbundenes Gerät in ein Modul integriert sein, das Sprachbefehle für das Gerät empfängt und verarbeitet. Um die Ausführung nicht beabsichtigter Befehle zu verhindern, kann ein Hotword benutzt werden, um den Beginn eines Befehls zu signalisieren. Hotwords können dem Modul melden, dass eine Audioeingabe nach dem Hotword als Nutzer-Sprachanfrage, z. B. als Befehl, Abfrage usw., verarbeitet werden soll. In einigen allgemeinen Implementierungen können Hotwords als Authentisierungsmaßnahmen eingesetzt werden. Beispielsweise können bestimmte Sprachbefehle nur von einem Gerät ausgeführt werden, wenn ein spezifisches Hotword vor der Erteilung des Befehls ausgesprochen wird. Module für das Empfangen und Verarbeiten von Befehlen für internetverbundene Geräte beinhalten häufig Spracherkennungs- und Audioverarbeitungsmodelle, die spezifische Wörter, beinhaltend Hotwords und Befehle, erkennen.
  • Wenn ein internetverbundenes Gerät, das Sprachbefehle empfangen und ausführen kann, kompromittiert wird, kann der Angreifer potenziell betrügerische Befehle im Namen eines autorisierten Gerätenutzers erteilen. Beispielsweise kann ein Angreifer veranlassen, dass ein aufgezeichneter Audiobefehl über den Lautsprecher des Geräts ausgegeben wird. Die Audioeingabe könnte dann vom Mikrofon des Geräts erfasst werden und das Gerät kann den Befehl erkennen und annehmen. Solche Angriffe sind besonders gefährlich für Nutzer, da die Angreifer möglicherweise Befehle erteilen können, die vom Diebstahl der persönlichen Nutzerdaten (z. B. den Befehl an das Gerät, Anthonys Kalenderereignisse aufzulisten) über Diebstahl (z. B. den Befehl an das Gerät, Geld von Sarahs Bankkonto für betrügerische Einkäufe zu überweisen) bis hin zu physischer Gefährdung (z. B. den Befehl an das Gerät, Connors Haustür zu öffnen) reichen können.
  • Im Allgemeinen sind Geräte, die Sprachbefehle empfangen und ausführen können, in der Lage, das Risiko, dass ein Gerätemikrofon die Ausgabe eines Gerätelautsprechers abhört, mithilfe einer „Lösch“-Funktion für die Audioeingabe zu verringern. Die Löschvorrichtung bezieht sich auf entweder über Software oder physische Komponenten implementierte Funktionen, die den Umfang der Audioausgaben aus einem Gerät verringern, die von dem Gerät empfangen werden. Beispielsweise kann die Audio-Löschvorrichtung versuchen, ein Geräusch zu löschen, indem sie die Ausgabeaudiosignale von der Eingabe abzieht, die von einem Mikrofon des Geräts erfasst wird. Die Löschvorrichtung löscht jedoch die Audioausgaben des Geräts häufig nicht vollständig, und so kann das Gerät immer noch in der Lage sein, einen fingierten Sprachbefehl aufzufangen, der aus dem Lautsprecher des Geräts abgegeben wird, was einen Gerätenutzer angreifbar macht, wenn ein böswilliger Befehl erteilt wird.
  • In einigen Implementierungen nutzt das Gerät ein Audioverarbeitungsmodell, um Hotwords zu erfassen, die an der Audioausgabe eines Geräts auftreten. Beispielsweise kann das Gerät ein Hotword-Erfassungsmodell nutzen, um Hotwords in den Audioausgabesignalen zu erfassen, die ein Gerät einem Audiolautsprechergerät bereitstellt. Durch Überwachen seiner eigenen Audioausgabe kann sich ein Gerät vor betrügerisch erteilten Sprachbefehlen schützen. Wenn ein gefälschter Sprachbefehl erkannt wird, blockiert das Modell die Standardverarbeitung der Sprachbefehle, um die Ausführung des betrügerischen Befehls zu verhindern. Beispielsweise kann das Modell mit einem oder mehreren Befehlsverarbeitungsmodulen kommunizieren und diese anweisen, ein Hotword oder einen Befehl, das oder der empfangen wird, zu löschen oder nicht zu beachten.
  • Das Modell, das die Audioausgabedaten analysiert, um Hotwords zu erkennen, wird im Allgemeinen als Hotword-Löschmodell bezeichnet. In einigen Implementierungen ist das Hotword-Löschmodell, das eine Audioausgabe eines Geräts analysiert, ein separates Modell aus einem allgemeinen Hotword-Erkennungsmodell, das eine Audioausgabe analysiert, die über ein Mikrofon empfangen wurde. In einigen Implementierungen kann ein einzelnes Hotword-Modell beide Funktionen ausführen. Das Hotword-Löschmodell kann erkennen, dass ein Hotword über einen Lautsprecher des Geräts ausgegeben wurde, und kann die Information nutzen, um die Funktion des Haupt-Audioverarbeitungsmoduls des Geräts zu steuern. In einigen Implementierungen kann das Hotword-Löschmodell ein Hotword-Erkennungsmodell des Geräts deaktivieren, um zu verhindern, dass das Gerät einen Sprachbefehl akzeptiert, der dem betrügerischen Hotword folgt.
  • Zusätzlich können Geräte mit einem Server und in einem lokalen Netzwerk kommunizieren, um Geräte in der Nähe über die betrügerischen Hotwords zu informieren. Ein Gerät mit einem Hotword-Löschmodell kann erkennen, wenn das Gerät das betrügerische Hotword ausgibt. Andere Geräte in der Nähe können dabei jedoch nicht feststellen, dass das Hotword betrügerisch war. Wenn demzufolge ein Gerät ein betrügerisches Hotword erkennt, kann es andere informieren, sodass diese das Hotword und alle damit verbundenen Befehle ebenfalls nicht mehr beachten. Beispielsweise kann ein Gerät so konfiguriert sein, dass es eine Meldung an ein Serversystem sendet, wenn ein betrügerisches Hotword erkannt wird. Der Server kann gespeicherte Daten eines Benutzerkontos verwenden, um andere Geräte zu identifizieren, die demselben Nutzer gehören, und Meldungen an diese Geräte senden, um diese zu informieren, dass ein bestimmter Hotword-Vorgang ignoriert werden soll. Wenn Geräte versuchen, eine Aktion nach einem betrügerischen Hotword auszuführen, kann das Serversystem die Anfragen zur Ausführung eines Sprachbefehls zurückweisen, der zu dem Hotword gehört. Darüber hinaus kann das Gerät, das das betrügerische Hotword erkennt, direkt oder über ein lokales Netzwerk kommunizieren, z. B. unter Verwendung von BLUETOOTH oder WLAN, um Geräte zu informieren, dass sie einen bestimmten Hotword-Vorgang ignorieren sollen. Auf diese Weise kann die Sicherheit, die von einem Hotword-Löschmodell gewährt wird, auf andere Geräte ausgedehnt werden.
  • Im Allgemeinen kann ein innovativer Aspekt des in dieser Spezifikation beschriebenen Gegenstands in ein Computerprogrammprodukt eingebunden werden, das Anweisungen beinhaltet, die, wenn sie von einem oder mehreren Computern ausgeführt werden, den einen oder die mehreren Computer veranlassen, ein Verfahren auszuführen, das das Empfangen, in einem Verarbeitungsmodul des Geräts, von Ausgabeaudiodaten, die eine Audioausgabe durch das Gerät repräsentieren, das Empfangen, durch das Verarbeitungsmodul, von Eingabeaudiodaten, die Audioeingaben repräsentieren, die von einem Mikrofon erfasst wurden, das Bestimmen, durch das Verarbeitungsmodul, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten, wobei das Hotword ein Wort oder ein Satz ist, das/der zuvor festgelegt wurde, um einem Sprachbefehl vorauszugehen, und auf Grundlage von dem Bestimmen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, das Blockieren, durch das Verarbeitungsmodul, der Nutzung der Eingabeaudiodaten beinhaltet, um einen Befehl einzuleiten.
  • Beispielsweise können Ausführungsformen der Erfindung Computerprogrammprodukte und -vorrichtungen für die Steuerung der Hotword-Nutzung für die Auslösung einer automatischen Verarbeitung eines Sprach- oder Stimmbefehls, der einem Hotword folgt, bereitstellen, beinhaltend das Verwenden eines Mikrofons zum Erzeugen von Eingabeaudiodaten als erstes Audiosignal, beinhaltend Sprache, und das Empfangen von Ausgabeaudiodaten, als zweites abgehörtes Audiosignal, von einer Ausgabe an einen Lautsprecher, gleichzeitig mit der Erzeugung des ersten Audiosignals unter Verwendung eines Mikrofons. Wenn das Hotword im ersten Audiosignal als vorhanden und im zweiten Audiosignal, gleichzeitig mit dem erkannten Hotword im ersten Audiosignal, als nicht vorhanden erkannt wird, kann der Sprachbefehl, der dem Hotword des ersten Audiosignals folgt, ausgeführt werden, wenn aber das Hotword in gleichzeitigen Teilen der beiden erkannt wird, kann der Sprachbefehl auf unterschiedliche Weise blockiert werden.
  • Implementierungen können zudem eine oder mehrere der folgenden Funktionen beinhalten. Beispielsweise kann das Hotword ein vorbestimmtes Wort sein, das festgelegt wurde, um den Beginn einer Sprachabfrage oder eines Sprachbefehls zu signalisieren, die oder der dem Hotword unmittelbar folgt. In einigen Beispielen beinhaltet das Verarbeitungsmodul ein Hotword-Eingabeerfassungsmodell, das bestimmt, dass die Eingabeaudiodaten eine Repräsentation des Hotwords beinhalten, und ein Hotword-Ausgabeerfassungsmodell, das bestimmt, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten.
  • In einigen Beispielen beinhaltet Bestimmen, dass die Ausgabeaudioaufzeichnung eine Repräsentation eines Hotwords beinhaltet, das Erstellen, durch das Hotword-Ausgabeerfassungsmodell, einer Hotword-Punktzahl für die Ausgabeaudiodaten, das Vergleichen, durch das Hotword-Ausgabeerfassungsmodell, der Hotword-Punktzahl mit einem vorbestimmten Grenzwert und das Bestimmen, durch das Hotword-Ausgabeerfassungsmodell und auf Grundlage des Vergleichs, dass die Ausgabeaudioaufzeichnung eine Repräsentation eines Hotwords beinhaltet. In einigen Beispielen beinhaltet das Verfahren das Erzeugen, durch das Hotword-Eingabeerfassungsmodell, einer separaten Hotword-Punktzahl für die Ausgabeaudiodaten, das Vergleichen, durch das Hotword-Eingabeerfassungsmodell, der separaten Hotword-Punktzahl mit einem separaten vorbestimmten Grenzwert, das Bestätigen, durch das Hotword-Eingabeerfassungsmodell und auf Grundlage des Vergleichs, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten, das Blockieren, durch das Verarbeitungsmodul, der Nutzung der Eingabeaudiodaten, um einen Befehl einzuleiten. In einigen Beispielen unterscheidet sich der vorbestimmte Grenzwert von dem separaten vorbestimmten Grenzwert. In einigen Beispielen ist das Hotword-Ausgabeerfassungsmodell ein geschultes neuronales Netz, wobei das Hotword-Eingabeerfassungsmodell auch ein geschultes neuronales Netz ist. In einigen Beispielen wird der vorbestimmte Grenzwert durch das Hotword-Ausgabeerfassungsmodell während des Trainings festgelegt, wobei der separate vorbestimmte Grenzwert durch das Hotword-Ausgabeerfassungsmodell während des Trainings festgelegt wird. In einigen Beispielen hat das Hotword-Ausgabeerfassungsmodell weniger Parameter als das Hotword-Eingabeerfassungsmodell.
  • In einigen Beispielen laufen das Hotword-Ausgabeerfassungsmodell und das Hotword-Eingabeerfassungsmodell parallel. In einigen Beispielen erzeugt das Hotword-Eingabeerfassungsmodell die separate Hotword-Punktzahl nach dem Bestimmen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten. In einigen Beispielen beinhaltet das Blockieren, durch das Verarbeitungsmodul, der Verwendung der Eingabeaudiodaten, um einen Befehl einzuleiten, das Blockieren der Ausführung des Befehls. In einigen Beispielen beinhaltet das Blockieren, durch das Verarbeitungsmodul, der Verwendung der Eingabeaudiodaten, um einen Befehl einzuleiten, das Deaktivieren des Hotword-Eingabeerfassungsmodells, um zu verhindern, dass das Verarbeitungsmodul ein Hotword erkennt. In einigen Beispielen beinhaltet das Blockieren, durch das Verarbeitungsmodul, der Verwendung der Eingabeaudiodaten, um einen Befehl einzuleiten, das Verhindern einer Ausführung einer lokalen Aktion durch das Gerät. In einigen Beispielen beinhaltet das Blockieren, durch das Verarbeitungsmodul, der Verwendung der Eingabeaudiodaten, um einen Befehl einzuleiten, das Verhindern, dass das Gerät die Eingabeaudiodaten als Befehl an einen Remote-Server überträgt. In einigen Beispielen beinhaltet das Blockieren, durch das Verarbeitungsmodul, der Verwendung der Eingabeaudiodaten, um einen Befehl einzuleiten, das Ignorieren, durch das Hotword-Eingabemodul, der Eingabeaudiodaten. In einigen Beispielen beinhaltet das Verfahren das Ausgeben, durch das Verarbeitungsmodul, von Daten, die anzeigen, dass das Gerät kompromittiert wurde.
  • In einigen Beispielen beinhaltet das Verarbeitungsmodul ein Hotword-Erfassungsmodell, das Audiodaten empfängt und bestimmt, dass die empfangenen Audiodaten eine Repräsentation eines Hotwords beinhalten, wobei das Hotword-Erfassungsmodell Vorgänge ausführt, die das Erzeugen einer Hotword-Punktzahl für die Ausgabeaudiodaten, das Vergleichen der Hotword-Punktzahl mit einem vorbestimmten Grenzwert, das Bestimmen, auf Grundlage des Vergleichs, dass die Ausgabeaudioaufzeichnung eine Repräsentation eines Hotwords beinhaltet, das Erzeugen, nach dem Bestimmen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, einer separaten Hotword-Punktzahl für die Ausgabeaudiodaten, das Vergleichen der separaten Hotword-Punktzahl mit einem separaten vorbestimmten Grenzwert, das Bestätigen, auf Grundlage des Vergleichs, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten, und auf Grundlage von dem Bestätigen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, das Blockieren, durch das Verarbeitungsmodul, der Nutzung der Eingabeaudiodaten beinhalten, um einen Befehl einzuleiten.
  • In einem weiteren allgemeinen Aspekt beinhaltet ein Gerät ein unabhängiges sicheres Verarbeitungsmodul und ein oder mehrere Speichergeräte, die Anweisungen speichern, die ausführbar sind, wenn sie von dem einen oder den mehreren Computern ausgeführt werden, um zu veranlassen, dass das unabhängige sichere Verarbeitungsmodul Vorgänge ausführt. Diese Vorgänge beinhalten das Empfangen, am unabhängigen sicheren Verarbeitungsmodul des Geräts, von Ausgabeaudiodaten, die eine Audioausgabe durch das Gerät repräsentieren, das Empfangen, durch das unabhängige sichere Verarbeitungsmodul, von Eingabeaudiodaten, die eine von einem Mikrofon erkannte Audioaufzeichnung repräsentieren, das Bestimmen, durch das unabhängige sichere Verarbeitungsmodul, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten, wobei das Hotword ein Wort oder ein Satz ist, das/der zuvor festgelegt wurde, einem Sprachbefehl voranzugehen, und auf Grundlage von dem Bestimmen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, das Blockieren, durch das Verarbeitungsmodul, der Nutzung der Eingabeaudiodaten, um einen Befehl einzuleiten.
  • In einem weiteren allgemeinen Aspekt, speichert ein computerlesbares Speichergerät Software, die durch einen oder mehrere Computer ausführbare Anweisungen beinhaltet, die bei ihrer Ausführung den einen oder die mehreren Computer veranlassen, Vorgänge auszuführen. Diese Vorgänge beinhalten das Empfangen, in einem Verarbeitungsmodul des Geräts, von Ausgabeaudiodaten, die eine Audioausgabe durch das Gerät repräsentieren, das Empfangen, durch das Verarbeitungsmodul, von Eingabeaudiodaten, die Audioaufzeichnungen repräsentieren, die von einem Mikrofon erkannt wurden, das Bestimmen, durch das Verarbeitungsmodul, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten, wobei das Hotword ein Wort oder ein Satz ist, das/der zuvor festgelegt wurde, einem Sprachbefehl voranzugehen, und auf Grundlage von dem Bestimmen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, das Blockieren, durch das Verarbeitungsmodul, der Nutzung der Eingabeaudiodaten, um einen Befehl einzuleiten.
  • In einem weiteren allgemeinen Aspekt beinhaltet ein Verfahren zur Steuerung der Hotword-Nutzung für das Auslösen einer automatischen Verarbeitung eines Sprachbefehls, der einem solchen Hotword folgt, das Verwenden eines Mikrofons, um ein erstes Audiosignal zu erzeugen, das eine Spracheingabe umfasst, das Empfangen eines zweiten abgehörten Audiosignals von einer Eingabe in einen Lautsprecher gleichzeitig mit dem ersten Audiosignal, das unter Verwendung eines Mikrofons erzeugt wird, das Erfassen des Hotwords als vorhanden im ersten Audiosignal; das Erfassen des Hotwords als vorhanden im ersten Audiosignal, das Erfassen des Hotwords als abwesend im zweiten Audiosignal gleichzeitig mit dem erfassten Hotword im ersten Audiosignal und das Ausführen eines Sprachbefehls, der dem Hotword im ersten Audiosignal folgt, als Reaktion auf das Erfassen des Hotwords als vorhanden im ersten Audiosignal, nur wenn das Hotword als abwesend im zweiten Audiosignal erfasst wird.
  • In einem allgemeinen Aspekt wird ein Verfahren von Computergeräten ausgeführt, das das Empfangen, durch das eine oder die mehreren Computergeräte, einer ersten Meldung, die anzeigt, dass ein unzulässiger Sprachbefehl von einem ersten Gerät erfasst wurde, das Identifizieren, durch das eine oder die mehreren Computergeräte, eines Benutzerkontos, das mit dem ersten Gerät auf Grundlage der ersten Meldung verbunden ist, das Identifizieren, durch das eine oder die mehreren Computergeräte, eines zweiten Geräts, das mit dem Benutzerkonto verbunden ist, und als Reaktion auf das Empfangen der ersten Meldung, die anzeigt, dass der vom ersten Gerät empfangene Sprachbefehl unzulässig ist, das Senden, durch das eine oder die mehreren Computergeräte, einer zweiten Meldung an das zweite Gerät beinhaltet, wobei die zweite Meldung anzeigt, dass der Sprachbefehl nicht ausgeführt werden darf.
  • Implementierungen können zudem eine oder mehrere der folgenden Funktionen beinhalten. Beispielsweise kann die erste Meldung anzeigen, dass der unzulässige Sprachbefehl gefälscht war. In einigen Beispielen zeigt die erste Meldung an, dass das erste Gerät den gefälschten Befehl ausgibt. In einigen Beispielen verhindert die zweite Meldung an das zweite Gerät die Ausführung des unzulässigen Sprachbefehls. In einigen Beispielen beinhaltet das Verfahren das Bestimmen, durch das eine oder die mehreren Computergeräte, einer Position des ersten Geräts auf Grundlage zumindest eines der folgenden Elemente: Geräteregistrierungsdaten, die zuvor von einem Remote-Server gespeichert wurden, Netzwerkverbindungsdaten oder Standortdaten, die vom ersten Gerät gesendet wurden, und das Identifizieren, durch das eine oder die mehreren Computergeräte und auf Grundlage des Standorts des ersten Geräts, des zweiten Geräts.
  • In einigen Beispielen beinhaltet das Verfahren das Bestimmen, durch das eine oder die mehreren Computergeräte, einer Gruppe mehrerer Geräte, die mit dem Benutzerkonto auf Grundlage mindestens eines der folgenden Elemente verbunden sind: eines Standorts jedes Geräts der Gruppe der mehreren Geräte, eines Labels, das von einem Nutzer des Benutzerkontos erzeugt wurde, oder einer Gruppierung, die von dem Nutzer erzeugt wurde, und das Senden, durch das eine oder die mehreren Computergeräte, einer dritten Meldung an das jeweilige Gerät der Gruppe der mehreren Geräte. In einigen Beispielen ist die Gruppe der mehreren Geräte, die mit dem Benutzerkonto verbunden sind, eine geeignete Untergruppe der mehreren Geräte, die mit dem Benutzerkonto verbunden sind, wobei jedes Gerät der Gruppe der mehreren Geräte für die Aufnahme in die Gruppe der mehreren Geräte auf Grundlage mindestens eines der folgenden Elemente ausgewählt wird: einem Standort jedes Geräts der Gruppe der mehreren Geräte, einem Label, das von einem Nutzer des Benutzerkontos erzeugt wird, oder einer Gruppierung, die von dem Nutzer erzeugt wird. In einigen Beispielen beinhaltet das Verfahren das Bestimmen, durch das eine oder die mehreren Computergeräte, eines Standorts des ersten Geräts auf Grundlage mindestens eines der folgenden Elemente: Geräteregistrierungsdaten, die zuvor von einem Remote-Server gespeichert wurden, Netzwerkverbindungsdaten oder Standortdaten, die vom ersten Gerät gesendet wurden, das Identifizieren, durch das eine oder die mehreren Computergeräte und auf Grundlage des Standorts des ersten Geräts, einer Gruppe mehrerer Geräte, die mit dem Benutzerkonto verbunden sind, jedes Gerät der Gruppe mehrerer Geräte, die einen Standort innerhalb einer maximalen Distanz des Standorts des ersten Geräts haben, und das Senden, durch das eine oder die mehreren Computergeräte, einer dritten Meldung an jedes Gerät der Gruppe der mehreren Geräte, wobei die dritte Meldung anzeigt, dass der Sprachbefehl nicht ausgeführt werden soll. In einigen Beispielen wird die dritte Meldung an jedes Gerät der Gruppe mehrerer Geräte gesendet, ohne eine vierte Meldung von mindestens einem Gerät der Gruppe der mehreren Geräte zu empfangen, die vierte Meldung zeigt dabei an, dass das mindestens eine Gerät den Sprachbefehl empfangen hat. In einigen Beispielen beinhaltet das Verfahren das Senden, durch das eine oder die mehreren Computergeräte und als Reaktion auf das Empfangen der ersten Meldung, eine dritte Meldung an das erste Gerät, in der der Empfang der ersten Meldung bestätigt wird, wobei die erste Meldung vom ersten Gerät über ein Netzwerk an ein Serversystem gesendet wurde, das das eine oder die mehreren Computergeräte umfasst.
  • In einigen Beispielen beinhaltet das Verfahren das Empfangen, durch das eine oder die mehreren Computergeräte, von Audiodaten für einen Sprachbefehl, der vom zweiten Gerät erfasst wurde, das Bestimmen, durch das eine oder die mehreren Computergeräte, dass die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, Audiodaten für den unzulässigen Sprachbefehl entsprechen, der vom ersten Gerät erfasst wurde, und als Reaktion auf das Bestimmen, dass die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, den Audiodaten für den unzulässigen Sprachbefehl entsprechen, der vom ersten Gerät erfasst wurde, das Nichtausführen des Sprachbefehls, der vom zweiten Gerät erfasst wurde. In einigen Beispielen beinhaltet das Bestimmen, dass die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, den Audiodaten für den unzulässigen Sprachbefehl entsprechen, der vom ersten Gerät erfasst wurde, das Bestimmen, durch das eine oder die mehreren Computergeräte, dass die erste Meldung und die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, mit dem Benutzerkonto verbunden sind, das wiederum mit dem ersten Gerät verbunden ist. In einigen Beispielen beinhaltet das Bestimmen, dass die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, den Audiodaten für den unzulässigen Sprachbefehl entsprechen, der vom ersten Gerät erfasst wurde, das Bestimmen, durch das eine oder die mehreren Computergeräte, dass ein erster Zeitpunkt, an dem die Audiodaten für den unzulässigen Sprachbefehl, der vom ersten Gerät erfasst wurde, erkannt wurden und ein zweiter Zeitpunkt, an dem die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, erkannt wurden, innerhalb einer bestimmten Zeitspanne liegen. In einigen Beispielen beinhaltet das Bestimmen, dass die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, den Audiodaten für den unzulässigen Sprachbefehl entsprechen, der vom ersten Gerät erfasst wurde, das Bestimmen, durch das eine oder die mehreren Computergeräte, dass die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde und die Audiodaten für den unzulässigen Sprachbefehl, der vom ersten Gerät erfasst wurde, ein Mindestmaß an Ähnlichkeit haben. In einigen Beispielen beinhaltet das Bestimmen, dass die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, den Audiodaten für den unzulässigen Sprachbefehl entsprechen, der vom ersten Gerät erfasst wurde, das Bestimmen, durch das eine oder die mehreren Computergeräte, dass die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, und die Audiodaten für den unzulässigen Sprachbefehl, der vom ersten Gerät erfasst wurde, den gleichen Typ von Aktion erfordern. In einigen Beispielen beinhaltet das Bestimmen, dass die Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, den Audiodaten für den unzulässigen Sprachbefehl entsprechen, der vom ersten Gerät erfasst wurde, das Ausführen, durch das eine oder die mehreren Computergeräte, einer automatischen Spracherkennung in den Audiodaten für den Sprachbefehl, der vom zweiten Gerät erfasst wurde, um ein erstes verarbeitetes Audiosegment zu erzeugen, das Ausführen, durch das eine oder die mehreren Computergeräte, einer automatischen Spracherkennung in den Audiodaten für den Sprachbefehl, der vom ersten Gerät erfasst wurde, um ein zweites verarbeitetes Audiosegment zu erzeugen, und das Bestimmen, durch das eine oder die mehreren Computergeräte, dass das erste verarbeitete Audiosegment und das zweite verarbeitete Audiosegment ein Mindestmaß an Ähnlichkeit haben.
  • In einigen Beispielen beinhaltet das Verfahren das Senden, durch das eine oder die mehreren Computergeräte, einer dritten Meldung an ein Mobilgerät eines Nutzers des Benutzerkontos. In einigen Beispielen beinhaltet das Verfahren das Verhindern, durch das eine oder die mehreren Computergeräte, der Ausführung eines Sprachbefehls für einen bestimmten Zeitraum nach Empfang der ersten Meldung, als Reaktion auf den Empfang der ersten Meldung.
  • In einem weiteren allgemeinen Aspekt beinhaltet ein System ein erstes Gerät, ein zweites Gerät und einen Remote-Server, der einen oder mehrere Computer beinhaltet und mit dem ersten Gerät und dem zweiten Gerät über ein Netzwerk verbunden ist. Der Remote-Server kann Vorgänge ausführen, beinhaltend das Empfangen, durch das eine oder die mehreren Computergeräte, einer ersten Meldung, die anzeigt, dass ein unzulässiger Sprachbefehl von einem ersten Gerät erfasst wurde, das Bestimmen, durch das eine oder die mehreren Computergeräte, eines Benutzerkontos, das mit dem ersten Gerät auf Grundlage der ersten Meldung verbunden ist, das Identifizieren, durch das eine oder die mehreren Computergeräte eines zweiten Geräts, das mit dem Benutzerkonto verbunden ist, und als Reaktion auf das Empfangen der ersten Meldung, die anzeigt, dass der vom ersten Gerät empfangene Sprachbefehl unzulässig ist, das Senden, durch den einen oder die mehreren Computer, einer zweiten Meldung an das zweite Gerät, wobei die zweite Meldung anzeigt, dass der Sprachbefehl nicht ausgeführt werden darf.
  • In einem weiteren allgemeinen Aspekt, speichert ein computerlesbares Speichergerät Software, die durch einen oder mehrere Computer ausführbare Anweisungen beinhaltet, die bei einer Ausführung den einen oder die mehreren Computer veranlassen, Vorgänge auszuführen. Die Vorgänge beinhalten das Empfangen, durch den einen oder die mehreren Computer, einer ersten Meldung, die anzeigt, dass ein unzulässiger Sprachbefehl von einem ersten Gerät erfasst wurde, das Bestimmen, durch den einen oder die mehreren Computer, eines Benutzerkontos, das mit dem ersten Gerät auf Grundlage der ersten Meldung verbunden ist, das Identifizieren, durch den einen oder die mehreren Computer, eines zweiten Geräts, das mit dem Benutzerkonto verbunden ist, und als Reaktion auf das Empfangen der ersten Meldung, die anzeigt, dass der vom ersten Gerät empfangene Sprachbefehl unzulässig ist, das Senden, durch den einen oder die mehreren Computer, einer zweiten Meldung an das zweite Gerät, wobei die zweite Meldung anzeigt, dass der Sprachbefehl nicht ausgeführt werden darf.
  • In einem weiteren allgemeinen Aspekt kann das Verfahren unter Verwendung eines Lautsprechers und eines Mikrofons ausgeführt werden. In einigen Implementierungen sind der Lautsprecher und das Mikrofon in demselben Gerät untergebracht. In weiteren Implementierungen sind der Lautsprecher und das Mikrofon in getrennten Geräten untergebracht und das Verfahren wird zwischen den separaten Geräten ausgeführt.
  • Der in dieser Spezifikation beschriebene Gegenstand kann in besonderen Ausführungsformen implementiert werden, um einen oder mehrere der folgenden Vorteile zu realisieren. Beispielsweise kann die Sicherheit der Geräte erhöht werden, indem das Risiko verringert wird, dass darauf betrügerische Sprachbefehle ausgeführt werden. Statt sich auf akustische Geräuschunterdrückung zu verlassen, um die Risiken von Audioangriffen zu reduzieren, erfassen die offengelegten Techniken aktiv betrügerische Fälle von Hotwords und verhindern die Ausführung von Befehlen, die nach den betrügerischen Hotwords ausgegeben werden. Die Sicherheit eines Sprachbefehlsystems kann durch geeignete Erfassungs- und Filtersteuerung potenzieller Angreiferbefehle verbessert werden.
  • Zusätzlich können die Techniken eingesetzt werden, um festzustellen, wann ein Gerät wahrscheinlich kompromittiert wurde. Mit diesem Wissen können Schutzmaßnahmen eingeleitet werden. Beispielsweise kann in einem Server das Vertrauens-, Genehmigungs- oder Zugriffslevel für das Gerät herabgesetzt werden. Es können weitere Maßnahmen ergriffen werden, beispielsweise können Sprachbefehle für das Gerät blockiert werden, bis das Gerät ein Sicherheitsupdate erhalten hat. In einigen Fällen kann der Server in der Lage sein, die Ausführung sensitiver Befehle zu blockieren, die Entgegennahme von Befehlen vollständig zu stoppen oder Präventivmaßnahmen zu ergreifen, um das Risiko weiter zu reduzieren.
  • Die Details einer oder mehrerer Implementierungen des in dieser Spezifikation beschriebenen Gegenstands sind in den zugehörigen Zeichnungen und der nachfolgenden Beschreibung dargelegt. Andere potenzielle Funktionen, Aspekte und Vorteile des Gegenstands werden aus der Beschreibung, den Zeichnungen und den Ansprüchen deutlich.
  • Figurenliste
    • 1 ist eine Darstellung eines Beispielprozesses für das Verhindern von Audioangriffen.
    • 2 ist ein Blockdiagramm eines Beispielgeräts, das ein Audioangriff-Präventions system beinhaltet.
    • 3 und 5 sind Flussdiagramme, die Beispielprozesse für das Verhindern eines Audioangriffs darstellen.
    • 4A-4B sind Systemdiagramme, die Beispielprozesse für das Verhindern eines Audioangriffs darstellen.
  • In den unterschiedlichen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In einigen Implementierungen beinhaltet ein internetverbundenes Gerät, oder Host-Gerät, wie ein Smartphone oder ein Smartthermostat, ein separates Hardwaremodul, das Sprachbefehle für das Host-Gerät empfängt und verarbeitet. Dieses Hardwaremodul wird hier als Sprachunterstützungsmodul oder VAM bezeichnet. Das VAM kann ein oder mehrere Audioverarbeitungsmodelle verwenden, um die empfangenen Rohaudiodaten von einem Mikrofon des Host-Geräts zu verarbeiten. Beispielsweise kann das VAM ein Modell nutzen, um Hotwords zu erfassen, die einer Audioaufzeichnung vorausgehen, die als Sprachbefehl vorgesehen ist. In einigen Beispielen werden Hotwords verwendet, um die Sprachbefehle zu authentifizieren. Beispielsweise kann ein Host-Gerät nur dann auf einen Sprachbefehl reagieren, wenn ein bestimmtes Hotword bereitgestellt wird, bevor ein Nutzer den Befehl erteilen kann.
  • Zusätzlich kann das VAM Audioangriffe verhindern, unter Verwendung eines oder mehrerer Audioverarbeitungsmodelle für die Analyse von Audiodaten, die die Ausgabe aus einem Lautsprecher des Host-Geräts repräsentieren. Beispielsweise kann das VAM ein Hotword-Löschmodell beinhalten, das die Audioausgabedaten oder Audiosignale analysiert, die ein Gerät einem Lautsprechergerät bereitstellt. Das Hotword-Löschmodell kann vom Hotword-Erkennungsmodell getrennt sein, das verwendet wird, um gültige Hotwords zu erfassen, die in Eingabeaudiodaten, die von einem Mikrofon aufgenommen werden, erkannt werden. Das Hotword-Löschmodell kann verwendet werden, um zu erfassen, dass ein Hotword und ein nachfolgender Befehl vom Lautsprecher des Host-Geräts, wie auch ein betrügerisches Hotword und ein betrügerischer Befehl, ausgegeben wurden, z. B. solche die kein von einem Nutzer gesprochenes gültiges Hotword und keinen gültigen Befehl repräsentieren. Beispielsweise kann sich eine böswillige Person aus der Ferne Zugang zum Steuersystem des Host-Geräts verschaffen und das Host-Gerät veranlassen, eine Audioaufzeichnung eines erkannten Hotwords und eines Befehls abzuspielen, z. B. um die Haustür zu entriegeln, Geld auf ein bestimmtes Konto zu überweisen usw. Diese Angriffe, die ein internetverbundenes Gerät nutzen, können besonders schädlich sein, da die Auswirkungen der Befehle nicht auf das Gerät selbst beschränkt sind. Beispielsweise haben solche Geräte häufig Zugriff auf persönliche und private Informationen über das Leben des autorisierten Nutzers, und die Sprachbefehle können Aktionen in Bezug auf unterschiedliche Benutzerkonten und Bankkonten erlauben. Beispielsweise können autorisierte Nutzer ihre Stromzähler mit ihrem Bankkonto verbinden, damit die Rechnungen abgebucht werden. Wenn das Gerät kompromittiert wurde, kann der Stromzähler des autorisierten Nutzers einer böswilligen Person oder einem Programm Zugriff auf die Bankdaten des autorisierten Nutzers verschaffen und unautorisierte Belastungen vornehmen.
  • Das VAM kann erfassen, wenn ein Hotword und Befehl aus dem Lautsprecher des Host-Geräts ausgegeben werden, und bestimmen, dass das Hotword und der Befehl betrügerisch sind. Das VAM blockiert dann das betrügerische Hotword und es wird nicht mehr anerkannt oder darauf reagiert. Beispielsweise kann das VAM die Audioverarbeitungsmodelle deaktivieren oder ausschalten, die für das Erkennen der Hotwords in Audiodaten verwendet werden, die über das Mikrofon des Host-Geräts empfangen wurden. In einigen Beispielen verhindert das VAM die Reaktion durch das Host-Gerät auf den Befehl. Beispielsweise kann das VAM dem Steuerungssystem des Host-Geräts die Audiodaten bereitstellen und die Audiodaten als bösartig kennzeichnen. Das VAM kann die verarbeiteten Audiodaten verschlüsseln und die verschlüsselten Daten dem Steuerungssystem des Host-Geräts bereitstellen.
  • 1 zeigt eine Darstellung eines Beispielprozesses 100, in dem ein Audioangriff verhindert wird. Ein Bad Actor 102 kann auf einen gefährdeten Abschnitt eines Host-Geräts 120 zugreifen. Der Bad Actor 102 kann eine böswillige Person, eine Schadsoftware usw. sein. Es können zusätzlich oder alternativ noch andere Bad Actors eingesetzt werden. Beispielsweise kann ein Hacker Zugriff auf das Host-Gerät 120 gewinnen und parallel mit einem Virus arbeiten, um einen Angriff auf das Host-Gerät 120 auszuführen. Das Host-Gerät 120 ist ein internetverbundenes Gerät, das mit einem oder mehreren autorisierten Nutzern verbunden ist. Das Host-Gerät 120 kann Sprachbefehle empfangen und ausführen. Das Host-Gerät 120 kann eines aus einer Reihe verschiedener Geräte sein, wie eine Anwendung, ein Spielzeug, Mobilgerät, ein stationäres oder ortsgebundenes Gerät. In diesem speziellen Beispiel ist das Host-Gerät 120 ein Lautsprecher. Das Host-Gerät 120 beinhaltet ein Mikrofon, das Audiodateneingaben empfängt, und Lautsprecher, die die Audiodaten ausgeben.
  • Der Bad Actor 102 kann auf einen kompromittierten Abschnitt eines Host-Geräts 120 über ein Netzwerk 110 zugreifen. Das Netzwerk 110 kann ein lokales Netzwerk (LAN), ein Großraumnetzwerk (WAN), das Internet oder eine Kombination daraus sein. Das Netzwerk 110 kann vom Bad Actor 102 genutzt werden, um auf das Host-Gerät 120 zuzugreifen. Das Netzwerk kann ein 802.11 „WLAN“ drahtloses Ethernet (z. B. mit WLAN-Chipsätzen für den Nahbereich), Bluetooth, ein Netzwerk, das über eine AC-Verkabelung betrieben wird, oder ein Kategorie 5 (CAT5) oder Kategorie 6 (CAT6) drahtgebundenes Ethernet-Netzwerk beinhalten. In einigen Beispielen kann das Netzwerk 220 ein Maschennetz sein, das auf Grundlage der mit dem Maschennetz verbundenen Geräte aufgebaut ist.
  • Der Bad Actor 102 kann einen Befehl oder Daten 112 ausgeben, die eine Aktion anzeigen, die vom Host-Gerät 120 ausgeführt wird. Beispielsweise können die Daten 112 einen Befehl beinhalten, um ein Hotword, das vom Host-Gerät 120 erkannt wird, und einen Befehl über einen Lautsprecher des Host-Geräts 120 auszugeben. In einigen Beispielen beinhalten die Daten 112 Rohaudiodaten, die über den Lautsprecher des Host-Geräts 120 ausgegeben werden sollen. Die Rohaudiodaten können in verschiedenen Formaten übertragen werden, beinhaltend analoge Daten, digitale Daten, Wellenformen usw. Ein Hotword ist ein vorbestimmtes Wort oder ein Satz, das/der festgelegt wurde, um den Beginn einer Sprachabfrage oder eines Sprachbefehls zu signalisieren, die oder der dem Hotword unmittelbar folgt. Das Hotword kann ein Wort oder ein Satz sein. In einigen Beispielen kann das Hotword von einem autorisierten Nutzer ausgewählt oder geändert werden. Beispielsweise kann ein autorisierter Nutzer ein benutzerdefiniertes Hotword für jedes der Geräte festlegen.
  • Die Datenübertragung 112 ist ein Verfahren zur Ausführung eines Audioangriffs. Beispielsweise kann der Befehl, der dem erkannten Hotword folgt, ein Befehl zur Ausführung eines schädlichen Vorgangs sein, wie die Entriegelung der Haustür eines autorisierten Nutzers des Host-Geräts, die Deaktivierung eines Sicherheitssystems im Haus des autorisierten Nutzers, die Herausgabe von Passwörtern des autorisierten Nutzers an den Bad Actor 102 usw. In diesem besonderen Beispiel lautet der Befehl $1000 an den Bad Actor 102 Bob zu überweisen.
  • Das Host-Gerät 120 kann die Daten 112 empfangen und den Befehl ausführen. Beispielsweise kann das Host-Gerät 120 eine Audioaufzeichnung 122 ausgeben, die ein erkanntes Hotword beinhaltet, das von einem vom Bad Actor 102 ausgewählten Befehl gefolgt wird. In diesem speziellen Beispiel ist das Hotword der Satz „Hey, good-looking,“ und der Befehl lautet, $1000 an eine Person mit dem Namen Bob zu überweisen. In einer Nahaufnahme 130 eines Mikrofons des Host-Geräts 120, wird die Ausgabeaudioaufzeichnung 122 vom Lautsprecher des Host-Geräts 120 vom Mikrofon des Host-Geräts 120 erkannt. Die Rohaudiodaten vom Mikrofon des Host-Geräts 120 werden einem separaten VAM bereitgestellt, das in das Host-Gerät 120 eingebunden ist, und verarbeitet, um den Audioangriff zu erkennen und zu verhindern, dass er erfolgreich ausgeführt wird.
  • 2 stellt ein Systemdiagramm als Beispiel eines Audioangriff-Präventionssystems 200 dar. Das System 200 beinhaltet ein Host-Gerät 202, ein Netzwerk 230 und einen Remote-Server 240. Ein Bad Actor 208 greift auf einen kompromittierten Abschnitt eines Host-Geräts 202 zu. Der Bad Actor 208 kann dem Bad Actor 102, wie oben in Bezug auf 1 beschrieben, ähnlich sein. Das Host-Gerät 202 kann eine Implementierung des Host-Geräts 120 sein, wie oben in Bezug auf 1 beschrieben. Das Host-Gerät 202 beinhaltet ein Mikrofon 204, einen Lautsprecher 206, ein Sprachunterstützungsmodul oder VAM 210, und ein Host-Steuermodul 220 ein.
  • Das Mikrofon 204 empfängt eine Roheingabe-Audioaufzeichnung. Die Roheingabe-Audioaufzeichnung kann in unterschiedlichen Formaten vorliegen, einschließlich analog, digital, komprimiert, wellenförmig, mit extrahierten Funktionen usw. Das Mikrofon 204 ist ein Sensor, der Schall in ein elektrisches Signal umwandelt, und jedes einer Reihe unterschiedlicher Verfahren nutzen kann, um die Luftdruckänderungen einer Schallwelle in ein elektrisches Signal umzuwandeln. Beispielsweise kann das Mikrofon 204 ein dynamisches Mikrofon sein, das einen Drahtbund nutzt, der in ein Magnetfeld gestellt ist, ein Kondensatormikrofon, das eine schwingende Membran als Kondensatorplatte nutzt, ein piezoelektrisches Mikrofon, das piezoelektrische Materialien nutzt, usw. In einigen Beispielen ist das Mikrofon 204 eine integrierte Komponente des Host-Geräts 202. In einigen Beispielen ist das Mikrofon 204 ein externes Mikrofon, das kommunikationsfähig mit dem Host-Gerät 202 verbunden ist. Das Mikrofon 204 kann mit dem Host-Gerät 202 über verschiedene Anschlüsse verbunden sein, einschließlich über einen drahtgebundenen Anschluss, einen drahtlosen Anschluss usw. Beispielsweise kann das Mikrofon 204 ein drahtgebundenes Mikrofon sein, das in das Host-Gerät 202 über einen 3,5-mm-Audiostecker des Host-Geräts 202 eingesteckt ist.
  • Der Lautsprecher 206 gibt die Audioaufzeichnung aus. Der Lautsprecher 206 ist ein Signalumformer, der elektrische Signale in Klang umwandelt. Der Lautsprecher 206 kann Befehle empfangen, um Audioaufzeichnungen über das Host-Steuermodul 220 auszugeben. In einigen Beispielen empfängt der Lautsprecher 206 Rohaudiodaten, die er in Klang umwandelt. Der Lautsprecher 206 kann jedes einer Reihe verschiedener Verfahren nutzen, um elektrische Signale in Klang zu verwandeln. In einigen Beispielen nutzt der Lautsprecher 206 dieselben Grundprinzipien wie das Mikrofon 204, nur umgekehrt. Beispielsweise kann der Lautsprecher 206 ein dynamischer Lautsprecher sein, der ein elektrisches Signal auf einen Drahtbund anwendet, der in ein Magnetfeld gestellt ist, um eine Membran zum Schwingen zu bringen und einen Klang zu produzieren. In einigen Beispielen ist der Lautsprecher 206 eine integrierte Komponente des Host-Geräts 202. In einigen Beispielen ist der Lautsprecher 206 ein externer Lautsprecher, der kommunikationsfähig mit dem Host-Gerät 202 verbunden ist. Der Lautsprecher 206 kann mit dem Host-Gerät 202 über verschiedene Anschlüsse verbunden sein, beinhaltend einen drahtgebundenen Anschluss, einen drahtlosen Anschluss usw. Beispielsweise kann der Lautsprecher 206 ein drahtloser Lautsprecher sein, der an das Host-Gerät 202 über eine Bluetooth-Verbindung angeschlossen ist.
  • Das VAM 210 ist ein gesichertes Hardware-Modul, separat vom Host-Gerät 202, das in das Host-Gerät 202 integriert ist. Das VAM 210 beinhaltet eine Löschvorrichtung 212, ein Hotword-Löschmodell oder EHM, 214, ein Hotword-Modell oder HM, 216, ein Verschlüsselungsmodul 218 und eine VAM ID 219. Das VAM 210 kann eine Implementierung des VAM, wie oben beschrieben, sein. Das VAM 210 kann Audioverarbeitungsmodelle, z. B. das EHM 214 und/oder das HM 216, nutzen, um empfangene Rohaudiodaten vom Mikrofon 204, durch Erfassen von Hotwords, die den Audiodaten vorausgehen, die als Sprachbefehl verarbeitet werden sollen, zu verarbeiten.
  • Während des Standardvorgangs empfängt das VAM 210 Rohaudiodaten vom Mikrofon 204 und führt eine Löschverarbeitung an den Rohaudiodaten aus, um die Geräusche zu reduzieren und eine Echounterdrückung bereitzustellen. Die gelöschten Daten werden dann an ein Hotword-Erfassungsmodell geschickt, das bestimmt, ob die gelöschten Daten einen Hotword-Vorgang beinhalten, der anzeigt, dass die folgenden Audiodaten einen auszuführenden Befehl beinhalten. Wenn das Hotword erkannt wird, verschlüsselt das VAM 210 die verarbeiteten Audiodaten und stellt die verschlüsselten Daten dem Host-Steuermodul 220 bereit. Das Host-Steuermodul 220 stellt die verschlüsselten Daten dem Remote-Server 240 über das Netzwerk 230 bereit. Bei Empfang der verschlüsselten Daten erkennt der Remote-Server 240 einen Befehl in den empfangenen Daten und erstellt die Steueranweisungen auf Grundlage des erfassten Befehls. Der Remote-Server 240 stellt dem Host-Gerät 202 dann die Steueranweisungen über das Netzwerk 230 bereit.
  • Während der Standardvorgang des VAM 210 dem Host-Gerät 202 einen Sprachbefehl und eine Löschfunktion bereitstellt, ist das Host-Gerät 202 angreifbar für Attacken Dritter, wie durch den Bad Actor 208. In einigen Situationen kann der Bad Actor 208 das Host-Steuermodul 220 kompromittieren und durch das Bereitstellen eines Befehls oder von Rohaudiodaten, die vom Lautsprecher 206 ausgegeben werden sollen, einen Angriff auf das Host-Gerät 202 ausführen. In einigen Beispielen kann sich der Bad Actor 208 Zugang zum Host-Steuermodul 220 über das Netzwerk 230 verschaffen und den Angriff über das Netzwerk 230 ausführen. Der Angriff kann das Host-Steuermodul 220 anweisen, eine Audioaufzeichnung, beinhaltend ein Hotword, das vom VAM 210 erkannt wird, und einen Befehl, über den Lautsprecher 206 auszugeben. Die Audioausgabe über den Lautsprecher 206 wird dann vom Mikrofon 204 aufgenommen, das die Audiodaten dem VAM 210 bereitstellt. Während des Standardvorgangs würde das VAM 210 das unerlaubt bereitgestellte Hotword als erkanntes Hotword erfassen, die Audiodaten verschlüsseln und die verschlüsselten Daten dem Host-Steuermodul 220 bereitstellen. Das Host-Steuermodul 220 stellt dann die verschlüsselten Audiodaten dem Remote-Server über das Netzwerk 230 bereit und der Remote-Server 240 erstellt die Steueranweisungen für das Host-Steuermodul 220 oder führt den Befehl aus.
  • Um solche Angriffe zu verhindern, führt das VAM 210 zusätzliche Löschverarbeitungen unter Verwendung eines Hotword-Erfassungsmodells, des EHM 214, getrennt vom Hotword-Modell HM 216, aus. Der Prozess zur Verhinderung eines Audioangriffs wird mit Bezug auf die Phasen (A)-(E) in 2 beschrieben.
  • Während der Phase (A) führt der Bad Actor 208 den Angriff aus, indem er Daten oder einen Befehl an das Host-Steuermodul 220 über das Netzwerk 230 liefert. In einigen Beispielen kann der Angriff Rohdaten beinhalten, die über den Lautsprecher 206 ausgegeben werden sollen. Beispielsweise kann der Angriff Rohaudiodaten beinhalten, die, wenn sie vom Lautsprecher 206 ausgegeben werden, ein gesprochenes Hotword abspielen, das das VAM 210 erkennt und dem ein Befehl folgt. Das Host-Steuermodul 220 kann dem Lautsprecher 206 die Rohaudiodaten für die Ausgabe bereitstellen. In einigen Beispielen beinhalten die Daten einen Befehl für das Host-Steuermodul 220, um die Daten zu verarbeiten und die Rohaudiodaten für die Ausgabe durch den Lautsprecher 206 zu erzeugen. Das Host-Steuermodul 220 stellt ebenfalls die Rohaudiodaten oder die erzeugte Rohaudioaufzeichnung der Löschvorrichtung 212 und dem EHM 214 zur Löschverarbeitung bereit.
  • Der Prozess wird mit Phase (B) fortgesetzt, in der der Lautsprecher 206 die Rohdaten ausgibt, die vom Host-Steuermodul 220 bereitgestellt werden. Die Ausgabeaudiodaten werden vom Mikrofon 204 in Phase (C) erfasst. Das Mikrofon 204 liefert die erfassten Audiodaten als Rohaudioeingabe der Löschvorrichtung 212.
  • Die Löschvorrichtung 212 bietet Funktionen, wie Geräusch- und Echounterdrückung. Die Löschvorrichtung 212 versucht, die Geräusche aus dem Lautsprecher 206 des Host-Geräts 202 zu unterdrücken, die am Mikrofon 204 empfangen werden. Die Löschvorrichtung 212 kann über Software oder Hardware implementiert werden. Beispielsweise kann die Löschvorrichtung 212 ein Filterkreislauf sein, der in das VAM 210 beinhaltet ist. In einigen Beispielen kann die Löschvorrichtung 212 ein Softwaremodul sein, das die Audioeingabedaten verarbeitet. In einigen Beispielen arbeitet die Löschvorrichtung 212 als Kombination aus Mikrofoneingabe und Rohaudioausgabe. Beispielsweise subtrahiert die Löschvorrichtung 212 im Wesentlichen die Schallwellen der Rohdatenausgabe am Lautsprecher 206 von der Eingabeaudioaufzeichnung, die über das Mikrofon 204 empfangen wurde. Die Löschvorrichtung 212 kann die Audiodaten unter Berücksichtigung zusätzlicher Verflechtungen, wie Zeiteinteilungen und Umweltfaktoren, verarbeiten. Beispielsweise kann die Löschvorrichtung 212 die Verzögerung zwischen dem Empfangen der Eingabe am Mikrofon 204 und dem Bereitstellen der Ausgabe am Lautsprecher 206 berücksichtigen, wenn das Mikrofon 204 physisch entfernt vom Lautsprecher 206 platziert ist, oder Umweltfaktoren, wie Hintergrundgeräusche von einem Kühlschrank.
  • Die Löschvorrichtung 212 empfängt die Rohaudioeingabe in Phase (C). Die Löschvorrichtung empfängt auch Rohaudioausgaben, die dem Lautsprecher 206 für die Ausgabe bereitgestellt werden. Während der Phase (D) des Prozesses für die Verhinderung von Audioangriffen, stellt das Host-Steuermodul 220 der Löschvorrichtung 212 und dem EHM 214 Rohaudioausgaben für die Löschverarbeitung bereit. Die Löschvorrichtung 212 führt eine Geräusch- und Echounterdrückung an der Kombination der Rohaudioeingabe von Mikrofon 204 und der Rohaudioausgabe, die an den Lautsprecher 206 gesendet wird, aus. Die Löschvorrichtung 212 liefert die gelöschten Audiodaten an das HM 216.
  • Während der Phasen (D) und (E) kann das VAM 210 Audioangriffe verhindern, durch Verwendung separater Audioverarbeitungsmodelle, z. B. des EHM 214 und des HM 216, die Audiodaten direkt vom Lautsprecher 206 empfangen und diese verarbeiten. Während der Phase (D) empfängt das EHM 214 die Rohaudiodaten vom Host-Steuermodul 220 und kann erfassen, dass ein Hotword und ein Befehl, die über den Lautsprecher 206 abgespielt werden, betrügerisch sind. Während der Phase (E) empfängt HM 216 die gelöschten Audioeingabedaten von der Löschvorrichtung 212 und kann ein Hotword in den gelöschten Audioeingabedaten erfassen. In einigen Beispielen treten die Phasen (D) und (E) in Reihe auf. Wenn in diesen Beispielen, während der Phase (D) das EHM 214 ein betrügerisches Hotword in der Rohaudioausgabe erfasst, kann das EHM 214 das HM 216 während der Phase (E) deaktivieren, um zu verhindern, dass das HM 216 das Hotword erkennt. In einigen Beispielen treten die Phasen (D) und (E) parallel auf. Wenn in diesen Beispielen, während der Phase (D), das EHM 214 ein betrügerisches Hotword in der Rohaudioausgabe erfasst, kann das EHM 214 eine Meldung an das Host-Steuermodul 220 und/oder den Remote-Server 240 übertragen, dass das von HM 216 erfasste Hotword betrügerisch ist. Wenn in einigen Beispielen von HM 216 kein Hotword erkannt wird, ergreift das EHM 214 keine Maßnahmen.
  • Die beiden Hotword-Erfassungsmodelle des VAM—ein Eingabe-HDM, z. B. das HM 216, und ein Ausgabe-HDM, z. B. das EHM 214—arbeiten parallel. In einigen Beispielen arbeiten die Hotword-Erfassungsmodelle in Reihe. In einigen Beispielen sind das EHM 214 und das HM 216 Maschinenlernmodelle. Beispielsweise können das EHM 214 und das HM 216 neuronale Netze sein, die Audiodaten als Eingaben akzeptieren. In einigen Beispielen können das EHM 214 und das HM 216 jedes einer Vielzahl von Modellen nutzen, wie Entscheidungsbäume, lineare Regression, neuronale Netze, Bayessche Netze usw. und können geschult werden, eine Vielzahl von Ansätzen zu nutzen, wie Deep Learning, induktive Logik, Support Vector Machines, Clustering usw.
  • In einigen Beispielen sind das EHM 214 und das HM 216 dieselben neuronalen Netze und werden während der Schulung vorbelastet. Beispielsweise kann das EHM 214 so eingestellt werden, dass es weniger betrügerische negative Hotwords erkennt. In anderen Worten kann das EHM 214 während der Schulung so vorbelastet werden, dass es Audioeingaben eher akzeptiert, wenn sie ein Hotword beinhalten, und weniger Gewissheit erfordern, um festzustellen, dass die Eingabe das Hotword beinhaltet. Beispielsweise kann das EHM 214 ein 50%iges Vertrauen haben, dass die empfangene Eingabe ein Hotword enthält, wenn die Bestimmung ausgeführt wird, ob die Eingabe das Hotword enthält, während das HM 216 eine 80%iges Vertrauen haben kann bevor dieselbe Bestimmung ausgeführt wird.
  • Die Vorbelastung während der Schulung kann durch die Auswahl der in der Schulung verwendeten Parameter gesteuert werden. Die in EHM 214 und HM 216 verwendeten Parameter können über Software oder Hardware definiert werden. Beispielsweise können die verwendeten Parameter über Software definiert werden. Die für die Modelle 214 und 216 verwendeten Parameter können mit den Modellen in einem Speicher des VAM 210 gespeichert werden. In einigen Beispielen können Updates der Modelle 214 und 216 über ein Firmware-Update ausgeführt werden. In einigen Beispielen sind die Parameter im Silikon für die Modelle 214 und 216 definiert und können nur durch Austausch der Hardware, die die Modelle 214 und 216 definiert, ersetzt werden.
  • In einigen Beispielen ist das EHM 214 ein kleineres Modell als das HM 216. Beispielsweise kann das EHM 214 weniger Parameter beinhalten als das HM 216. In einem solchen Fall kann das EHM 214 schneller sein als das HM 216, da das EHM 214 weniger Parameter hat, die in seinem neuronalen Netz verarbeitet werden müssen. Das EHM 214 kann weniger Schichten haben als das HM 216, was es dem EDM 214 erlaubt, eine Ausgabe schneller als das HM 216 zu erzeugen. In einigen Beispielen hat das EHM 214 insgesamt weniger Knoten als das HM 216. Das EHM 214 kann rechnerisch effizienter sein, da es weniger Schichten und/oder Knoten hat. Die Größe eines Modells kann während der Schulung des Modells bestimmt werden.
  • In einigen Beispielen können das EHM 214 und das HDM 216 unter Verwendung eines einzelnen Hotword-Erfassungsmodells implementiert werden, das die Verarbeitung abwechselnd ausführt. Beispielsweise kann das einzelne Hotword-Erfassungsmodell zwischen der Verarbeitung von Audiodaten, die es am Mikrofon 204 empfängt, und der Verarbeitung von Audiodatenausgaben am Lautsprecher 206 hin- und herwechseln. In einigen Beispielen kann das einzelne Hotword-Erfassungsmodell mit verschiedenen Parametern für die verschiedenen Audiodaten betrieben werden. Beispielsweise kann das einzelne Hotword-Erfassungsmodell mit mehr Schichten für die Audiodateneingabe am Mikrofon 204 betrieben werden.
  • Das EHM 214 und das HM 216 bestimmen, dass die entsprechenden Audiodaten ein Hotword beinhalten, indem sie eine Punktzahl unter Verwendung geschulter neuronaler Netze erzeugen und die Punktzahl mit einem Grenzwert vergleichen. In einigen Beispielen wird der Grenzwert von einem autorisierten Nutzer des Host-Geräts 202 bestimmt. In einigen Beispielen wird der Grenzwert durch den Remote-Server 240 bestimmt und an das EHM 214 und das HM 216 über das Netzwerk 230 kommuniziert. In einigen Beispielen wird der Grenzwert durch das Host-Steuermodul 220 bestimmt. Der Grenzwert kann durch das Host-Gerät 202 auf Grundlage der historischen Hotword-Erfassungsdaten am Host-Gerät 202 bestimmt werden. Der Grenzwert kann noch auf andere Weise bestimmt werden, wie beispielsweise mit einem separaten Audioverarbeitungsmodell, mit Standardwerten, die von einem Hersteller des Host-Geräts 202 oder vom VAM 210 festgelegt werden, usw.
  • Das EHM 214 kann Ausgabeaudioaufzeichnungen auf unterschiedliche Weise empfangen. In einigen Beispielen kann das EHM 214 Ausgabeaudioaufzeichnungen, durch Anzapfen einer analogen Ausgabe in Lautsprecher 206, empfangen. Das VAM 210 würde dann einen analogen zu digitalen Signalumformer beinhalten, über den die Daten laufen, bevor sie vom EHM 214 verarbeitet werden. In einigen Beispielen kann das EHM 214 digitale Daten empfangen, die die Ausgabe an den Lautsprecher 206 repräsentieren. Beispielsweise kann das EHM 214 digitale Daten vom Host-Steuermodul 220 oder über das Netzwerk 230 empfangen, die die Ausgabe an den Lautsprecher 206 repräsentieren.
  • Das HM 216 kann Eingabeaudios auf unterschiedliche Weise empfangen. In einigen Beispielen empfängt das HM 216 Roheingabe-Audiodaten direkt vom Mikrofon 204. In einigen Beispielen kann das HM 216 digitale Daten empfangen, die die Eingabe am Mikrofon 204 repräsentieren. Beispielsweise kann das HM 216 digitale Daten vom Host-Steuermodul 220 empfangen. In einigen Beispielen empfängt das HM 216 gelöschte Audioeingaben von der Löschvorrichtung 212.
  • Wie oben beschrieben können das EHM 214 und das HM 216 parallel oder in Reihe betrieben werden. In einigen Beispielen werden das EHM 214 und das HM 216 parallel betrieben, dadurch reduziert sich die Latenzzeit für das Erzeugen von Ausgaben und das Bestimmen, durch das VAM, dass ein betrügerisches Hotword vom Lautsprecher 206 erkannt wurde. In einigen Beispielen werden das EHM 214 und das HM 216 in Reihe betrieben und das VAM 210 nutzt das HM 216, um die Ausgabe des EHM 214 zu bestätigen. In diesen Beispielen wird die Sicherheit durch das Bereitstellen einer zweiten Schutzschicht über die Anforderung einer Bestätigung erhöht. Wenn das EHM 214 ein Hotword in der Ausgabe von Lautsprecher 206 erfasst, kann das HM 216 prüfen, ob ein Hotword in der Eingabe von Mikrofon 204 vorhanden ist, und den folgenden Befehl blockieren. Wenn das EHM 214 ein Hotword in der Ausgabe von Lautsprecher 206 erkennt und das HM 216 kein Hotword erkennt, kann das EHM 214 die Computerressourcen sparen, indem es keine Maßnahme ergreift, um das Eingabeaudio zu blockieren. In diesen Beispielen kann das VAM 210 den normalen Betrieb wieder aufnehmen. In einigen Beispielen erkennt das HM 216 kein Hotword, wenn das EHM 214 kein Hotword erfasst, da das EHM 214 offener für Hotwords ist.
  • Das VAM 210 kann die Audiodaten mit dem Verschlüsselungsmodul 218 verschlüsseln und dem Host-Steuermodul 220 verschlüsselte Daten bereitstellen. Das Verschlüsselungsmodul 218 verschlüsselt Audiodaten, die von VAM 210 verarbeitet werden. Beispielsweise kann das Verschlüsselungsmodul 218 einen Algorithmus auf die Audiodaten anwenden, um Daten zu erzeugen, die nur gelesen werden können, wenn sie entschlüsselt sind. Das Verschlüsselungsmodul 218 kann einen oder mehrere verschiedene Verschlüsselungstypen nutzen, wie ein symmetrisches oder Public-Key Kryptosystem. Beispielsweise kann das Verschlüsselungsmodul 218 einen symmetrischen Verschlüsselungsalgorithmus nutzen, wie den Advanced Encryption Standard (AES). Das Verschlüsselungsmodul 218 kann jede einer Reihe verschiedener Techniken, wie RSA, YAK, S/MIME, SSH usw. nutzen.
  • Die VAM ID 219 erkennt das spezifische VAM 210. In einigen Beispielen erkennt die VAM ID 219 den autorisierten Nutzer des Host-Geräts 202. In einigen Beispielen ist die VAM ID 219 ein alphanumerischer Identifikationscode. Die VAM ID 219 kann verschiedene andere Zeichen beinhalten, beinhaltend ASCII-Zeichen, Unicode-Zeichen usw. In einigen Beispielen ist die VAM ID 219 ein Header, der in alle Daten, die vom VAM 210 verarbeitet werden, beinhaltet ist. Die VAM ID 219 kann automatisch mit Daten übertragen werden, die vom VAM 210 verarbeitet wurden. In einigen Beispielen wird die VAM ID 219 übertragen, wenn es angefordert wurde. Wenn beispielsweise der Remote-Server 240 die VAM ID 219 vom Host-Gerät 202 abfragt, kann das VAM 210 die VAM ID 219 an den Remote-Server 240 über das Netzwerk 230 übertragen.
  • Das VAM 210 kann ein Kommunikationsmodul oder eine Datenverbindung beinhalten, über die das VAM 210 die verarbeiteten, verschlüsselten Audiodaten überträgt. Das VAM 210 liefert die verschlüsselten Audiodaten an das Host-Steuermodul 220. In einigen Beispielen umgeht das VAM 210 das Host-Steuermodul 220 und liefert die verschlüsselten Audiodaten an das Netzwerk 230 zur Übertragung an den Remote-Server 240.
  • Das Host-Steuermodul 220 steuert das Host-Gerät 202. Das Host-Steuermodul 220 beinhaltet eine Konfiguration 222. Das Host-Steuermodul 220 kann ein Prozessor sein, der verschlüsselten Audiodaten vom VAM 210 empfängt und einen auszuführenden Befehl erfasst. Beispielsweise kann das VAM 210 die verarbeiteten, verschlüsselten Audiodaten, einschließlich des identifizierten Befehls, an das Host-Steuermodul 220 übertragen. Das Host-Steuermodul 220 kann den Befehl erfassen und, auf Grundlage der Konfiguration 222, einen Befehl ausführen.
  • In einigen Beispielen leitet das Host-Steuermodul 220 die verschlüsselten Daten an den Remote-Server 240 über das Netzwerk 230 weiter. In einigen Beispielen empfängt es eine Steueranweisung. Beispielsweise kann das Host-Steuermodul 220 die verschlüsselten Audiodaten an den Remote-Server 240 übertragen, um den Befehl zu verarbeiten und zu erfassen. Der Remote-Server 240 kann dann eine für das Host-Gerät 202 spezifische Steueranweisung dem Host-Steuermodul 220 über das Netzwerk 230 bereitstellen.
  • In einigen Beispielen wird der Befehl direkt vom Bad Actor 208 über das Netzwerk 230 an das Host-Steuermodul 220 erteilt. Beispielsweise kann der Befehl dazu dienen, den Bad Actor 208 mit allen Kontakten eines autorisierten Nutzers zu versorgen. Das Host-Steuermodul 220 kann den Befehl an den Remote-Server 240 übertragen und der Remote-Server 240 kann eine Steueranweisung an das Host-Steuermodul 220 erteilen, um Audio an den Lautsprecher 206 auszugeben. In einigen Beispielen kann der Remote-Server 240 Audiodaten direkt an die Ausgabe des Lautsprechers 206 übertragen. Die auszugebenden Audiodaten können abgehört und in die Löschvorrichtung 212 eingegeben und an das EHM 214 zur Verarbeitung und Erfassung betrügerischer Hotwords weitergeleitet werden.
  • In einigen Beispielen erfordert der Befehl eine Verbindung mit oder eine Steuerung von anderen Geräten als dem Host-Gerät 202. Beispielsweise kann der Bad Actor 208 einen Befehl erteilen oder einen Angriff über das Netzwerk 230 ausführen, um die Haustür des autorisierten Nutzers zu entriegeln. In diesem besonderen Beispiel ist die Haustür das Gerät, auf das eingewirkt werden muss. Das Host-Gerät 202 kann den Befehl an den Remote-Server 240 über das Netzwerk 230 zur Verarbeitung und/oder Verteilung übertragen. Beispielsweise kann das Host-Gerät 202 den Befehl an den Remote-Server 240 übertragen, um diesen an die Haustür weiterzugeben.
  • Die Konfiguration 222 definiert eine Konfiguration des Host-Steuermoduls 220 und des Host-Geräts 202. In einigen Beispielen wird die Konfiguration 222 in einem Speicher des Host-Steuermoduls 220 abgelegt. In einigen Beispielen wird die Konfiguration 222 im Remote-Server 240 abgelegt. In einigen Beispielen beinhaltet die Konfiguration 222 autorisierte Nutzerdaten. Beispielsweise kann die Konfiguration 222 eine Liste von Nutzern und Befehlen, die diese autorisiert sind zu erteilen, führen. In einigen Beispielen beinhaltet die Konfiguration 222 betriebliche Daten. Beispielsweise kann die Konfiguration 222 die Aktionen definieren, die vom Host-Steuermodul 220 in spezifischen Situationen auszuführen sind. In einigen Beispielen definiert die Konfiguration 222 Aktionen, die vom Host-Steuermodul 220 im Standardbetrieb auszuführen sind. Beispielsweise kann die Konfiguration 222 gültige Befehle, die dem Host-Steuermodul 220 bereitgestellt werden, oder autorisierte Nutzer definieren, die Befehle an das Host-Steuermodul 220 liefern. In einigen Beispielen nutzt das Host-Steuermodul 220 die Konfiguration 222, um zu bestimmen, welche Daten an den Server 240 übertragen werden sollen.
  • In einigen Beispielen kann die Konfiguration 222 aktualisiert werden. In einigen Beispielen kann ein autorisierter Nutzer die Konfiguration aktualisieren. In einigen Beispielen kann ein Hersteller des Host-Geräts 202 ein Update für die Konfiguration 222 ausführen. In einigen Beispielen kann die Konfiguration 222 automatisch aktualisiert werden. Beispielsweise kann die Konfiguration 222 automatisch, auf Grundlage der historischen Daten, die vom Remote-Server 240 gesammelt wurden, aktualisiert werden. In einigen Beispielen kann die Konfiguration 222 durch das Empfangen von Daten vom Remote-Server 240 über das Netzwerk 230 aktualisiert werden. Die Konfiguration 222 kann über Software oder Hardware implementiert werden. Beispielsweise kann die Konfiguration 222 als Datei, Dokument usw. in einem Speicher des Host-Steuermoduls 222 abgelegt werden. In einigen Beispielen kann die Konfiguration 222 als Hardware-Schaltkreis des Host-Steuermoduls geführt werden. Beispielsweise kann die Konfiguration 222 als Gruppe von Schaltern am Host-Steuermodul 222 festgelegt werden.
  • In einigen Beispielen ist die Konfiguration 222 mit der VAM ID 219 verbunden. Beispielsweise kann eine bestimmte Konfiguration 222 mit einer bestimmten VAM ID 219 im Remote-Server 240 geplant werden.
  • Das Beispiel des Präventionssystems 200 für Audioangriffe beinhaltet das Netzwerk 230. Das Netzwerk 230 kann dem Netzwerk 110, wie oben in Bezug auf 1 beschrieben, ähnlich sein. Das Netzwerk 230 verbindet das Host-Gerät 202 mit dem Remote-Server 240. Der Bad Actor 208 kann auf das Host-Gerät über das Netzwerk 230 zugreifen, um betrügerische und/oder unautorisierte Befehle bereitzustellen.
  • Der Remote-Server 240 empfängt und verarbeitet Befehle von Netzwerk 230. In einigen Beispielen empfängt und verarbeitet der Remote-Server 240 Befehle, die er vom Netzwerk 230 und von einem oder mehreren Host-Geräten 202 empfangen hat. Beispielsweise kann der Remote-Server 240 ein dedizierter Server sein, der Befehle für alle Host-Geräte 202 empfängt und verarbeitet, die ein VAM 210 beinhalten. Der Remote-Server 240 kann bestimmen, dass ein Host-Gerät 202 ein VAM 210 in jedem einer Reihe verschiedener Verfahren beinhaltet. Beispielsweise kann der Remote-Server 240 bestimmen, aus einem Befehl, der über das Netzwerk 230 vom Host-Gerät 202 empfangen wurde, dass eine VAM ID 219 beinhaltet war. In einigen Beispielen empfängt und verarbeitet der Remote-Server 240 Sprachbefehle von verschiedenen Geräten.
  • Der Remote-Server 240 kann Befehle auf unterschiedliche Weise verarbeiten, beinhaltend das Blockieren eines Befehls, das Ausführen eines Befehls, das Weiterleiten eines Befehls usw. Beispielsweise kann der Remote-Server 240 Daten vom Host-Gerät 202 empfangen, dass ein Angriff in einer bestimmten Audioeingabe erkannt wurde, und den Befehl, der mit dieser Eingabe verbunden ist, blockieren. In einigen Beispielen kann der Remote-Server 240 einen Befehl an ein anderes Host-Gerät 202 weiterleiten. Wenn beispielsweise ein Befehl zum Einschalten eines Lüfters über dem Kochfeld der Küche eines autorisierten Nutzers von einem Kühlschrank der Küche des autorisierten Nutzers empfangen wird, kann der Remote-Server 240 den über das Netzwerk 230 empfangenen Befehl an den Lüfter weiterleiten.
  • Der Remote-Server 240 kann eine Zeitsynchronisierung der empfangenen Befehle vornehmen, um sicherzustellen, dass die empfangenen Befehle blockiert, ausgeführt, verzögert, weitergeleitet usw. und mit den korrekten Audiodaten verbunden werden. Beispielsweise kann der Remote-Server 240 einen Befehl empfangen, der anzeigt, dass eine um 1304 EST empfangene Audioeingabe ein betrügerisches Hotword enthält. In dieser bestimmten Situation kann der Remote-Server 240 jeden Befehl verarbeiten, um einen Zeitstempel der begleitenden Audiodaten zu bestimmen. Dann kann der Remote-Server 240 den Befehl und die verbundenen Audiodaten verarbeiten. Der Remote-Server 240 kann einen Zeitpunkt für den Empfang eines Befehls bestimmen, zu einem Zeitpunkt, an dem das Hotword erfasst wurde, um zu ermitteln, dass die korrekte Maßnahme ergriffen wird. Beispielsweise kann der Remote-Server 240 bestimmen, dass ein korrekter Befehl um 1140 PST empfangen wurde, und bestimmen, dass die verbundenen Audiodaten, beinhaltend das authentifizierte Hotword, am 1139PST empfangen wurden.
  • 3 ist ein Flussdiagramm eines Beispielprozesses 300 für die Verhinderung von Audioangriffen. Der Prozess 300 kann von einem System, wie dem Audioangriff-Präventionssystem 200, ausgeführt werden.
  • Ein Sprachsteuerungsmodul empfängt die Ausgabeaudiodaten, die eine Audioausgabe des Geräts (302) repräsentieren. Beispielsweise kann in Bezug auf 2 das VAM 210 Ausgabeaudiodaten empfangen, die eine Audioausgabe an den Lautsprecher 206 des Host-Geräts 202 repräsentieren. Nehmen Sie für dieses spezielle Beispiel an, dass das Host-Gerät 202 ein internetverbundenes Pfannkucheneisen ist.
  • Das Sprachsteuerungsmodul empfängt die Eingabeaudiodaten, die eine Audioaufzeichnung repräsentieren, die über ein Mikrofon (304) erfasst wurde. Beispielsweise kann das VAM 210 Eingabeaudiodaten empfangen, die eine Audioaufzeichnung repräsentieren, die an Mikrofon 204 des Pfannkucheneisens 202 erfasst wurde. In diesem speziellen Beispiel können die Eingabeaudiodaten einen Befehl beinhalten, um Geld an eine Person mit dem Namen Joe zu überweisen.
  • Das Sprachsteuerungsmodul bestimmt, ob die Ausgabeaudiodaten eine Repräsentation des Hotwords beinhalten, wobei das Hotword ein Wort oder ein Satz ist, das/der zuvor festgelegt wurde, um einem Sprachbefehl (306) vorauszugehen. Beispielsweise kann das VAM 210 bestimmen, dass die Ausgabeaudiodaten ein Hotword „Pfannkuchen Sonntag“ beinhalten, das vom Hersteller des Pfannkucheneisens 202 festgelegt wurde.
  • Auf Grundlage der Bestimmung, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, blockiert das Sprachsteuerungsmodul die Nutzung der Eingabeaudiodaten für die Einleitung eines Befehls (308). Beispielsweise kann das VAM 210 bestimmen, dass die Ausgabeaudiodaten den Fall von „Pfannkuchen Sonntag“ beinhalten, und da die Audiodaten vom Lautsprecher 206 des Pfannkucheneisens 202 ausgegeben werden, kann das VAM 210 erkennen, dass die Audiodaten betrügerisch sind. Das VAM 210 kann dann die Nutzung der Eingabeaudiodaten, die an Mikrofon 204 empfangen wurden, blockieren, damit der Befehl zur Geldüberweisung an Joe nicht ausgeführt wird.
  • Das VAM 210 kann die Nutzung des Eingabeaudios zum Einleiten des Befehls auf unterschiedliche Weise blockieren. Beispielsweise kann das VAM 210 das HM 216 deaktivieren, um zu verhindern, dass das Hotword erkannt wird. Das VAM 210 kann Daten an den Remote-Server 240 über das Netzwerk 230 senden, die anzeigen, dass ein betrügerisches Hotword in der Audiodatenausgabe von Lautsprecher 206 erfasst wurde, und dass auf eine Audiodateneingabe an Mikrofon 204, die zur Audiodatenausgabe gehört, nicht reagiert werden soll. In einigen Beispielen überträgt das VAM 210 die verschlüsselten Audiodaten, beinhaltend den Befehl, zusammen mit der VAM ID 219, um festzustellen, welches Host-Gerät 202 kompromittiert wurde.
  • 4A ist ein Systemdiagramm, das einen Beispielprozess 400 für das Verhindern von Audioangriffen darstellt. Der Prozess 400 kann von einem System, wie dem Audioangriff-Präventionssystem 200, ausgeführt werden. Im Prozess 400 werden mehrere Host-Geräte mit einem Remote-Server verbunden und sind gefährdet, durch Entgegennahme eines betrügerischen Befehls von einem Lautsprecher eines anderen Host-Geräts kompromittiert zu werden.
  • Der Prozess 400 umfasst die Phasen (A) bis (H). Die Phasen (A) bis (H) können in der dargestellten Sequenz oder in einer geeigneten Sequenz auftreten, die sich von der dargestellten Sequenz unterscheidet. In einigen Beispielen wird der Prozess 400 wiederholt. In einigen Beispielen werden nur bestimmte Phasen des Prozesses 400 wiederholt.
  • Der Prozess 400 beinhaltet einen Bad Actor 402, ein Netzwerk 404, die Host-Geräte 410, 420, 430 und 440 und einen Remote-Server 450. Der Bad Actor 402 kann die Implementierung des Bad Actor 208 sein, wie oben in Bezug auf 2 beschrieben. Das Netzwerk 404 kann die Implementierung des Netzwerks 230 sein, wie oben in Bezug auf 2 beschrieben. Die Host-Geräte 410, 420, 430 und 440 können Implementierungen der Host-Geräte 202 sein, wie oben in Bezug auf 2 beschrieben. In diesem speziellen Beispiel ist das Host-Gerät 410 ein Lautsprecher, das Host-Gerät 420 ist ein Baby-Monitor, das Host-Gerät 430 ist ein Fernseher und das Host-Gerät 440 ist ein Thermostat. Jedes der Host-Geräte 410, 420, 430 und 440 beinhaltet ein separates VAM. Die Host-Geräte 410-440 können sich alle an demselben physischen Standort befinden. In diesem speziellen Beispiel sind die Host-Geräte 410-440 im Haus eines autorisierten Nutzers platziert. In einigen Beispielen sind nicht alle der Host-Geräte 410-440 an demselben Standort platziert. Die Host-Geräte 410-440 sind mit demselben autorisierten Nutzer verbunden. In einigen Beispielen hat der autorisierte Nutzer ein Benutzerkonto, das jedem der VAMs entspricht, die in die Host-Geräte 410-440 integriert sind. Der Remote-Server 450 kann eine Implementierung des Remote-Servers 240 sein, wie oben in Bezug auf 2 beschrieben.
  • Der Prozess 400 beginnt mit der Phase (A), in der der Bad Actor 402 einen Angriff über das Netzwerk 404 auf das Host-Gerät 410 unternimmt. In diesem speziellen Beispiel beinhaltet der Angriff einen Befehl, um den Hotword-Satz „Hey, good-looking“ und einen Befehl „TRANSFER $1000 TO BOB ($1000 AN BOB ÜBERWEISEN)“ über einen Lautsprecher des Host-Geräts 410 auszugeben.
  • Der Prozess 400 wird mit Phase (B) fortgesetzt, in der das Host-Gerät 410 den Hotword-Satz und den Befehl über seinen Lautsprecher ausgibt. In einigen Beispielen liegt das Host-Gerät 410 innerhalb der Mikrofon-Erfassungsreichweite eines oder mehrerer anderer Host-Geräte. In diesem speziellen Beispiel liegt das Host-Gerät 410 innerhalb der Mikrofon-Erfassungsreichweite des Host-Geräts 430.
  • Der Prozess 400 wird mit Phase (C) fortgesetzt, in der das Host-Gerät 410 die Audiodatenausgabe über seinen Lautsprecher verarbeitet. Das Host-Gerät 410 kann die Audiodaten, wie oben in Bezug auf 2 und 3 beschrieben, verarbeiten. Beispielsweise kann das Host-Gerät 410 bestimmen, unter Verwendung eines Hotword-Löschmodells und eines separaten Hotword-Modells, dass die Audiodatenausgabe von seinem Lautsprecher das Hotword „Hey, good-looking“ beinhaltet und dass der Befehl, der dem Hotword folgt, nicht ausgeführt werden darf.
  • Der Prozess 400 wird mit Phase (D) fortgesetzt, in der die verschlüsselten Audiodaten und eine VAM ID des VAM des Host-Geräts 410 vom Host-Gerät 410 an das Netzwerk 404 übertragen wird. In diesem speziellen Beispiel können die verschlüsselten Audiodaten eine Anzeige beinhalten, dass das empfangene Hotword von seinem Lautsprecher ausgegeben wurde und dass der begleitende Befehl betrügerisch ist und nicht ausgeführt werden darf. Die verschlüsselten Audiodaten können Informationen beinhalten, wie einen Zeitstempel dafür, wann das Hotword aufgetreten ist, die Dauer der Ausgabeaudiodaten, der Rohaudiodaten usw. In einigen Beispielen werden die Rohaudiodaten in den verschlüsselten Audiodaten bereitgestellt, um es dem Remote-Server 450 zu erlauben, den betrügerischen Befehl genau zu lokalisieren und den Befehl für die zukünftige Bezugnahme zu speichern. Die Anzeige kann von einem Host-Steuermodul des Host-Geräts 410 bereitgestellt werden.
  • Der Prozess 400 wird mit Phase (E) fortgesetzt, in der die verschlüsselten Audiodaten und die VAM ID an den Remote-Server 450 über das Netzwerk 404 übertragen werden. Der Remote-Server 450 empfängt die verschlüsselten Audiodaten und die VAM ID und der Prozess 400 wird in Phase (F) fortgesetzt.
  • Während der Phase (F) verarbeitet der Remote-Server 450 die empfangenen verschlüsselten Audiodaten und die VAM ID. Der Remote-Server 450 kann, aus den verschlüsselten Audiodaten und die VAM ID, das Benutzerkonto bestimmen, das zu dem VAM des Host-Geräts 410 gehört. In einigen Beispielen zeigt die VAM ID das Benutzerkonto an. Der Remote-Server 450 kann auch, aus den verschlüsselten Audiodaten und der VAM ID, bestimmen, dass die Ausgabedaten vom Lautsprecher des Host-Geräts 410 ein betrügerisches Hotword enthalten haben, und dass das Eingabeaudio, das am Mikrofon des Host-Geräts 410 erfasst wurde, nicht benutzt werden darf, um den Befehl TRANSFER $1000 TO BOB ($1000 DOLLAR AN BOB ÜBERWEISEN) einzuleiten.
  • Der Prozess 400 wird mit Phase (G) fortgesetzt, in der der Remote-Server 450 eine Meldung an alle gefährdeten Host-Geräte weiterleitet. In einigen Beispielen wird die Meldung mit einer Liste der Host-Geräte übermittelt, die nach Standort gefiltert wurden. Beispielsweise kann die Meldung nur an solche Geräte übertragen werden, die innerhalb des Mikrofon-Erfassungsbereichs des gefährdeten Host-Geräts 410 liegen. In einigen Beispielen haben die gefährdeten Host-Geräte den betrügerischen Befehl nicht erkannt. In einigen Beispielen haben ein oder mehrere der gefährdeten Host-Geräte den betrügerischen Befehl erkannt und können mit der Verarbeitung des Eingabeaudios beginnen.
  • Die Meldung kann verschiedene Steueranweisungen, als Reaktion auf das Erkennen beinhalten, dass das Host-Gerät 410 kompromittiert wurde. Beispielsweise kann die Meldung eine Steueranweisung beinhalten, um die Befehlsverarbeitung für einen bestimmten Zeitraum zu blockieren. Beispielsweise kann die Meldung die gefährdeten Host-Geräte anweisen, die Befehle für die nächsten 30 Sekunden nicht mehr auszuführen. In einigen Beispielen kann die Meldung eine Steueranweisung beinhalten, um einen Status der gefährdeten Host-Geräte zu ändern. Beispielsweise kann die Meldung die gefährdeten Host-Geräte anweisen, in eine hohe Alarmbereitschaft zu wechseln, die die Konfiguration jedes der Host-Geräte ändern kann. In einigen Beispielen kann die Meldung Parameter der separaten Hotword-Erfassungsmodelle jedes der gefährdeten Host-Geräte einstellen. Beispielsweise kann die Meldung veränderte Parameter für das Hotword-Löschmodell und das Hotword-Modell jedes der gefährdeten Host-Geräte beinhalten. In einigen Beispielen sind die veränderten Parameter für jedes Host-Gerät individuell angepasst. In einigen Beispielen sind die veränderten Parameter in allen gefährdeten Host-Geräten einheitlich.
  • In einigen Beispielen beinhaltet die Meldung eine Steueranweisung, um den betrügerischen Befehl zu untersagen. Beispielsweise kann die Meldung die Audiodaten für den betrügerischen Befehl und eine Anweisung beinhalten, die Ausführung des Befehls zu blockieren. In einigen Beispielen kann die Meldung das Hotword und den Zeitstempel dafür, wann das Hotword aufgetreten ist, beinhalten, sodass die VAMs der gefährdeten Geräte bestimmen können, welcher Fall oder welche Fälle der Hotwords ignoriert werden sollen. In einigen Beispielen zeigt die Meldung an, dass ein Angriff aufgetreten ist. In einigen Beispielen kann eine Bestätigungsmeldung an das VAM des kompromittierten Host-Geräts übermittelt werden. Beispielsweise kann eine Meldung vom Remote-Server 450, der den Empfang der verschlüsselten Audiodaten bestätigt, und die VAM ID zurück zum Host-Gerät 410 über das Netzwerk 404 übermittelt werden.
  • Die Meldung kann vom Remote-Server 450 über das Netzwerk 404 an jedes der VAMs der gefährdeten Host-Geräte übermittelt werden. In einigen Beispielen wird die Meldung an jedes der Host-Steuermodule der gefährdeten Host-Geräte übermittelt.
  • In einigen Beispielen kann der Remote-Server 450 einen Befehl an den autorisierten Nutzer übertragen. Beispielsweise kann der Remote-Server 450 eine Meldung an das Mobilgerät des autorisierten Nutzers übertragen, in der angezeigt wird, dass ein betrügerischer Befehl erteilt wurde. Dies erlaubt es dem autorisierten Nutzer, eine Maßnahme zur Verhinderung der Audioangriffe zu ergreifen.
  • In einigen Beispielen kann der Remote-Server 450 einen Standort des kompromittierten Host-Geräts 410 bestimmen und nur solche Host-Geräte benachrichtigen, die innerhalb einer Reichweite des Standorts liegen. Beispielsweise kann der Remote-Server 450 die postalische Adresse des Host-Geräts 410 bestimmen und nur die Host-Geräte unter dieser postalischen Adresse benachrichtigen. In einigen Beispielen kann der Remote-Server 450 den Standort des Host-Geräts 410 bis auf die Zimmerebene bestimmen. Beispielsweise kann der Remote-Server 450 bestimmen, dass sich das Host-Gerät im Wohnzimmer des autorisierten Nutzers befindet.
  • In einigen Beispielen kann der Remote-Server 450 den Standort des Host-Geräts 410 über die verschlüsselten Audiodaten und die VAM ID, die er in Phase (E) empfangen hat, bestimmen. Beispielsweise kann die VAM ID die Standortdaten beinhalten. In einigen Beispielen kann der Remote-Server 450 auf gespeicherte Host-Gerätedaten zugreifen. Beispielsweise können die Host-Geräte über einen Registrierungsprozess eingestellt worden sein, in dem Informationen, wie Benutzerkonto, Geräte-ID, Gerätetyp, Standort, VAM ID usw. eingegeben und gespeichert werden. Der Remote-Server 450 kann Host-Geräteinformationen über verschiedene Verfahren bestimmen. Beispielsweise kann der Remote-Server 450 Netzwerkverbindungsdaten, die einen Standort eines Host-Geräts anzeigen, durch Kommunikation mit einem Router erhalten. In einigen Beispielen kann der Remote-Server 450 auf GPS-Daten des Mobilgeräts des autorisierten Nutzers zum Zeitpunkt der Installation des Host-Geräts zugreifen. Beispielsweise kann der Remote-Server 450 bestimmen, dass sich das Mobilgerät des autorisierten Nutzers innerhalb des Betriebs des autorisierten Nutzers befand als das Host-Gerät 410 eingerichtet wurde. In einigen Beispielen bestimmt der Remote-Server 450 die Standortinformationen der Host-Geräte über aktuelle oder kürzliche Kommunikationen mit anderen Geräten. Wenn beispielsweise das Host-Gerät 410 kürzlich mit einem anderen vom autorisierten Nutzer registrierten Host-Gerät kommuniziert hat, das sich in der Küche des autorisierten Nutzers befindet, kann der Remote-Server 450 bestimmen, dass sich das Host-Gerät 410 in der Küche des autorisierten Nutzers befindet. In einigen Beispielen können die Host-Geräte, die mit dem Konto des autorisierten Nutzers verbunden sind, auf der Grundlage bestimmter Attribute der Host-Geräte, gruppiert werden. Beispielsweise werden alle Host-Geräte, die sich im Schlafzimmer befinden, mit „Schlafzimmer“ gekennzeichnet und alle Host-Geräte in Form von Kochutensilien mit „Kochen“ gekennzeichnet. Die Host-Geräte können mehr als eine Kennzeichnung haben.
  • In einigen Beispielen befindet sich mehr als ein autorisierter Nutzer in demselben Bereich und es werden mehrere Konten autorisierter Nutzer in diesem Bereich erfasst. Beispielsweise kann Henry ein autorisiertes Benutzerkonto haben, das mit vier Host-Geräten verbunden ist, während Sarah ein autorisiertes Benutzerkonto haben kann, das mit zwei Host-Geräten verbunden ist. Henry und Sarah sind verheiratet und leben in demselben Haus. In diesen Situationen kann, wenn eines von Sarahs Geräten kompromittiert wurde, der Remote-Server 450 eine Meldung nur an Sarahs Geräte schicken. Wenn in einigen Beispielen Henry und Sarah ähnliche oder identische Hotwords benutzen, kann der Remote-Server 450 eine Meldung sowohl an Henrys als auch Sarahs Host-Geräte übermitteln.
  • In einigen Beispielen kann das kompromittierte Host-Gerät 410 zusätzlich ein lokales Signal, oder alternativ dazu, die Meldung, die vom Remote-Server 450 übermittelt wurde, schicken. In diesen Situationen kann das Host-Gerät 410 das lokale Signal unter Verwendung eines lokalen Netzwerks oder eines Kurzstrecken-Kommunikationsprotokolls übermitteln. Beispielsweise kann das Host-Gerät 410 Bluetooth, ZigBee, ein LAN usw. nutzen. In einigen Beispielen kann das Host-Gerät 410 das lokale Signal über eine drahtgebundene Verbindung übermitteln. In einigen Beispielen überträgt das Host-Gerät 410 ein lokales Warnsignal, wenn Verbindungen zum Netzwerk 404 oder ein anderes Netzwerk ausfallen.
  • In einigen Beispielen ist das lokale Signal nicht verschlüsselt. Beispielsweise kann das Host-Gerät 410 bestimmte unverschlüsselte Meldungen lokal übermitteln. In diesen Situationen müssen die Phasen (D)-(H) vor der Phase (I) ablaufen. In einigen Beispielen bestimmt das Host-Gerät 410, ob die lokale Meldung auf Grundlage bestimmter Parameter verschlüsselt werden soll. Beispielsweise darf das Host-Gerät 410 die lokale Meldung für bestimmte Geräte, die offline sind, nicht verschlüsseln, oder wenn die Internetverbindung ausgefallen ist.
  • Der Prozess 400 wird mit Phase (H) fortgesetzt, in der die gefährdeten Host-Geräte 420-440 die Meldung empfangen. In einigen Beispielen treten die Phasen (D)-(H) parallel mit den Phasen (B)-(C) und vor Phase (I) auf. In einigen Beispielen tritt Phase (H) gleichzeitig oder nach Phase (I) auf.
  • Der Prozess 400 wird mit Phase (I) fortgesetzt, in der das eine oder die mehreren Host-Geräte 420-440 den betrügerischen Befehl erfassen. In diesem speziellen Beispiel erfasst das Host-Gerät 430 den betrügerischen Befehl. Wenn Phase (H) vor Phase (I) aufgetreten ist, wird das Host-Gerät 430 darauf vorbereitet, einen betrügerischen Befehl zu empfangen und verarbeitet diesen Befehl nicht. Wenn in einigen Beispielen die Phase (H) parallel zu oder nach Phase (I) auftritt, kann das Host-Gerät 430 die Verarbeitung anhalten oder den Prozess soweit verwerfen.
  • Wenn ein Mikrofon eines Host-Geräts einen betrügerischen Befehl aufnimmt, der von einem zweiten Gerät erteilt wurde, würde ein separates Hotword-Erfassungsmodell alleine nicht ausreichen, um einen Angriff zu verhindern. Das Hotword-Erfassungsmodell, das die Ausgabeaudiodaten vom eigenen Lautsprecher des Host-Geräts empfängt, würde nicht erkennen, dass ein Hotword vom Lautsprecher ausgegeben wurde. Der Prozess 400 bietet eine zusätzliche Sicherheitsschicht gegen Audioangriffe, indem andere Host-Geräte gewarnt werden, dass ein erstes Host-Gerät kompromittiert wurde und einen betrügerischen Befehl ausgegeben hat. Die anderen Host-Geräte können dann die empfangenen Audiodaten verwerfen, die mit dem Ausgabeaudio vom Lautsprecher des ersten Host-Geräts übereinstimmen.
  • Durch die Benachrichtigung des autorisierten Nutzers erlaubt es der Prozess 400 dem autorisierten Nutzer, bei der Verhinderung der Angriffe zu helfen. Der autorisierte Nutzer kann, sobald er sich des Angriffs bewusst wird, aufgefordert werden, die Sicherheitspraktiken zu ändern, in die die internetverbundenen Geräte eingebunden sind. Der autorisierte Nutzer kann die Positionierung der Host-Geräte einstellen, das Hotword ändern, eine Konfiguration eines oder mehrerer Host-Geräte aktualisieren usw.
  • Die Übertragung eines lokalen Signals reduziert die Abhängigkeit von der Verfügbarkeit und Verbindungsstärke eines Netzwerks. Wenn eine drahtgebundene Verbindung verwendet wird, besteht ein verringertes Risiko, dass der betrügerische Befehl ausgeführt wird, auch wenn die Netzwerke ausgefallen sind. Das lokale Signal bietet auch Schutz für Offline-Geräte. Zusätzlich kann die Nutzung eines lokalen Signals die Latenzzeit verringern. Beispielsweise reduziert die Verwendung eines lokalen Signals die Distanz, die das Signal überwinden muss, und die Verwendung einer drahtgebundenen Verbindung verringert das Risiko verlorener Pakete. Die Verwendung eines lokalen Signals kann den Datenschutz, durch die Reduzierung der Informationsverbreitung, erhöhen. Wenn beispielsweise ein sicheres lokales Netzwerk verwendet wird, verlässt das Signal den lokalen Bereich nicht.
  • 4B ist ein Systemdiagramm, das einen Beispielprozess 460 für das Verhindern von Audioangriffen darstellt. Der Prozess 460 kann von einem System, wie dem Audioangriff-Präventionssystem 200, ausgeführt werden. Im Prozess 460 werden mehrere Host-Geräte mit einem Remote-Server verbunden und sind gefährdet, durch Entgegennahme eines betrügerischen Befehls von einem Lautsprecher eines anderen Host-Geräts kompromittiert zu werden.
  • Der Prozess 460 teilt die Phasen (A)-(E) mit dem Prozess 400. Statt der Phasen (F)-(I) des Prozesses 400, fährt der Prozess 460 von Phase (E) zu Phase (J) fort.
  • Während der Phase (J) erfassen das eine oder die mehreren Host-Geräte 420-440 den betrügerischen Befehl. In diesem besonderen Beispiel erkennt das Host-Gerät 420 den betrügerischen Befehl. Das Host-Gerät 420 verarbeitet den Befehl, wie oben in Bezug auf 2-3 beschrieben. In diesem speziellen Beispiel kann das Host-Gerät 420 nicht erkennen, dass das Hotword vom eigenen Lautsprecher ausgegeben wurde, da das Hotword über den Lautsprecher des Host-Geräts 410 ausgegeben wurde. Das Host-Gerät 420 fährt dann so fort, als wenn der empfangene Befehl zulässig wäre.
  • Der Prozess 460 wird mit Phase (K) fortgesetzt, in der das Host-Gerät 420 die verschlüsselten Audiodaten, beinhaltend den betrügerischen Befehl, an den Remote-Server 450 über das Netzwerk 404 überträgt. Der Prozess 460 wird dann mit Phase (L) fortgesetzt.
  • Während der Phase (L) empfängt der Remote-Server 450 den betrügerischen Befehl vom Host-Gerät 420 und blockiert die Ausführung des Befehls. Der Remote-Server 450 prüft jeden von den Host-Geräten 420-440 empfangenen Befehl, um zu bestimmen, ob einer der Befehle dem Befehl entspricht, der mit dem betrügerischen Hotword vom Host-Gerät 410 bereitgestellt wurde. In diesem speziellen Beispiel bestimmt der Remote-Server 450, dass der vom Host-Gerät 420 empfangene Befehl dem betrügerischen Befehl von Host-Gerät 410 entspricht, und blockiert den Befehl.
  • In einigen Beispielen blockiert der Remote-Server 450 die Ausführung des Befehls. Beispielsweise führt der Remote-Server 450 die Aktion nicht aus, die durch den Befehl TRANSFER $1000 TO BOB ($1000 AN BOB ÜBERWEISEN) angezeigt wird. In einigen Beispielen blockiert der Remote-Server 450 den Befehl durch Anweisung an die anderen Host-Geräte, die Audioeingabe, die mit dem betrügerischen Befehl übereinstimmt, der als Hotword erfasst wurde, zu ignorieren. In einigen Beispielen blockiert der Remote-Server 450 den Befehl durch Deaktivieren oder Ausschalten des primären Hotword-Erfassungsmodells in anderen Host-Geräten.
  • Der Remote-Server 450 darf keine Sprachbefehle ausführen, die mit dem spezifischen Fall des betrügerischen Hotwords verbunden sind. In einigen Beispielen bestimmt der Remote-Server 450 die Verbindung mit dem Vorgang des betrügerischen Hotwords durch Vergleichen der Zeitstempel, wann das Hotword aufgetreten ist, wann der Befehl empfangen wurde usw. Beispielsweise kann der Remote-Server 450 bestimmen, ob die Zeitstempel innerhalb eines bestimmten Zeitraums voneinander liegen, wie beispielsweise zwei Sekunden, zehn Sekunden, drei Minuten usw. In einigen Beispielen bestimmt der Remote-Server 450 die Verbindung mit dem Fall des betrügerischen Hotwords durch Vergleich der verschlüsselten Audiodaten mit dem empfangenen Befehl. Beispielsweise kann der Remote-Server 450 bestimmen, ob die verschlüsselten Audiodaten und der Befehl wenigstens ein Mindestmaß an Ähnlichkeit haben. In einigen Beispielen führt der Remote-Server 450 eine automatische Spracherkennung oder ASR an den verschlüsselten Audiodaten und am empfangenen Befehl durch. In einigen Beispielen nutzt der Remote-Server 450 Audioverarbeitungsmodelle, wie Maschinenlernmodelle, die geschulte neuronale Netze beinhalten, um die ASR durchzuführen. Der Remote-Server 450 kann dann bestimmen, ob die Audiosegmente eine Übereinstimmung ergeben oder mindestens einen Grenzwert an Ähnlichkeit erreichen. In einigen Beispielen bestimmt der Remote-Server 450, ob die Aktionstypen, die von den verschlüsselten Audiodaten und dem empfangenen Befehl angefordert werden, übereinstimmen. Beispielsweise kann der Remote-Server 450 bestimmen, ob beide Audiosegmente eine Geldüberweisung anfordern.
  • Durch Blockieren des betrügerischen Befehls auf der Serverseite, kann der Prozess 460 die Latenzzeit während der Verarbeitung und Übertragung von Meldungen an jedes der Host-Geräte verringern. Der Prozess 460 erlaubt dem Server, die endgültige Entscheidung zu treffen, und verlässt sich nicht darauf, den betrügerischen Befehl abzufangen bevor er von den anderen Host-Geräten verarbeitet wird.
  • 5 ist ein Flussdiagamm eines Beispielprozesses 500 für das Verhindern von Audioangriffen. Der Prozess 500 kann von einem System, wie dem Audioangriff-Präventionssystem 200, wie oben in Bezug auf 2 beschrieben, ausgeführt werden.
  • Ein Remote-Server, der Sprachbefehle verarbeitet, empfängt eine Meldung, die anzeigt, dass ein gefälschter Sprachbefehl von einem ersten Gerät (502) erfasst wurde. Beispielsweise kann der Remote-Server 450 eine Meldung von einem VAM des Host-Geräts 410 empfangen, dass ein gefälschter Sprachbefehl vom VAM, wie oben mit Bezug auf 4A und die Phasen (A)-(E) beschrieben, erfasst wurde.
  • Der Server kann ein Benutzerkonto bestimmen, das mit dem ersten Gerät (504) verbunden ist. Beispielsweise kann der Remote-Server 450 ein autorisiertes Benutzerkonto bestimmen, das mit dem Host-Gerät 410, wie oben in Bezug auf 4A und die Phasen (D)-(F) beschrieben, verbunden ist.
  • Der Server kann ein zweites Gerät erkennen, das mit Nutzer (506) verbunden ist. Beispielsweise kann der Remote-Server 450 eines der Host-Geräte 420-440 erkennen, das mit dem autorisierten Benutzerkonto, wie oben in Bezug auf 4A und Phase (F) beschrieben, verbunden ist.
  • Der Server kann eine Meldung an das zweite Gerät (508) senden. Beispielsweise kann der Remote-Server 450 eine Meldung an die Host-Geräte 420-440, wie oben in Bezug auf 4A und die Phasen (G)-(H) beschrieben, senden.
  • Der Begriff „Datenverarbeitungsvorrichtung“ umfasst alle Arten von Vorrichtungen, Geräten und Maschinen zum Verarbeiten von Daten, beinhaltend beispielsweise einen programmierbaren Prozessor, einen Computer oder mehrere Prozessoren oder Computer. Das Gerät kann eine Special Purpose Logic Circuitry wie z. B. ein FPGA (Field Programmable Gate Array) oder ein ASIC (Application Specific Integrated Circuit) beinhalten. Der Apparat kann neben der Hardware auch einen Code beinhalten, der eine Ausführungsumgebung für das betreffende Computerprogramm erstellt, z. B. einen Code, der Prozessor-Firmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination einer oder mehrerer der genannten erzeugt.
  • Ein Computerprogramm (das auch als Programm, Software, Softwareanwendung, Modul, Softwaremodul, Script oder Code bezeichnet oder beschrieben werden kann) kann in einer beliebigen Programmiersprachenform geschrieben sein, einschließlich kompilierter oder interpretierter Sprachen, deklarativer oder verfahrensorientierter Sprachen, und es kann in jeder beliebigen Form eingesetzt werden, darunter als unabhängiges Programm oder als Modul, Komponente, Subroutine oder eine sonstige Einheit, die zur Benutzung in einer Rechenumgebung geeignet ist. Ein Computerprogramm kann, muss jedoch nicht einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert sein, die andere Programme oder Daten enthält, wie z. B. eine oder mehrere Scripts, die in Markup-Sprache in einem Dokument, in einer einzelnen Datei speziell für das betreffende Programm oder in mehreren koordinierten Dateien, z. B. Dateien gespeichert sind, die ein oder mehrere Module, Unterprogramme oder Teile von Code speichern. Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort oder an mehreren Standorten verteilt befinden und über ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Die in dieser Spezifikation beschriebenen Prozesse und Logikabläufe können von einem oder mehreren programmierbaren Prozessoren durchgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen durch das Verarbeiten von Eingabedaten und das Erzeugen von Ausgaben auszuführen. Die Prozesse und Logikabläufe können auch durch eine Logikschaltung für spezielle Zwecke, wie z. B. ein FPGA (feldprogrammierbares Gate-Array) oder eine ASIC (anwendungsspezifische integrierte Schaltung) oder eine GPGPU (General Purpose Graphics Processing unit) ausgeführt und die Vorrichtung in Form derselben implementiert werden.
  • Computer, die zur Ausführung eines Datenverarbeitungsprogramms geeignet sind, können beispielsweise allgemeine oder spezielle Mikroprozessoren oder beides oder jede andere Art von Zentraleinheit beinhalten. Im Allgemeinen nimmt eine zentrale Recheneinheit Befehle und Daten von einem Nur-Lese-Speicher oder einem Direktzugriffsspeicher oder von beiden entgegen. Die wesentlichen Elemente eines Computers sind eine zentrale Recheneinheit zum Durchführen bzw. Ausführen von Befehlen und ein oder mehrere Speichergeräte zum Speichern von Befehlen und Daten. Im Allgemeinen beinhaltet ein Computer außerdem ein oder mehrere Massenspeichergeräte zum Speichern von Daten, wie z. B. Magnet-, magneto-optische oder optische Disketten, um Daten zu empfangen und/oder zu senden, oder ist operativ an ein solches Speichergerät gekoppelt. Ein Computer muss jedoch nicht über diese Geräte verfügen. Des Weiteren kann ein Computer in einem anderen Gerät, unter anderem z. B. in einem Mobiltelefon, einem persönlichen digitalen Assistenten (PDA), einem mobilen Audio- oder Videoplayer, einer Spielekonsole, einem globalen Positionsbestimmungssystem (GPS) oder einem tragbaren Speichergerät, z. B. in einem USB-Stick, integriert sein.
  • Computerlesbare Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, beinhalten alle Formen von nicht flüchtigen Speichern, Medien und Speichergeräten, darunter auch beispielsweise Halbleiterspeichergeräte, wie z. B. EPROM, EEPROM und Flash-Speichergeräte, Magnetplatten, wie z. B. eingebaute Festplattenlaufwerke oder Wechselplatten, magneto-optische Platten sowie CD-ROMs und DVD-ROMs. Der Prozessor und der Speicher können durch eine Spezial-Logikschaltung ergänzt oder in dieselbe integriert werden.
  • Um die Interaktion mit einem Benutzer zu ermöglichen, können in dieser Spezifikation beschriebene Ausführungsformen des Gegenstandes auf einem Computer mit einem Anzeigegerät, wie z. B. einem CRT-(Kathodenstrahlröhren) oder LCD-(Flüssigkristallanzeigen) Monitor, mit welchem dem Benutzer Informationen angezeigt werden, sowie einer Tastatur und einem Zeigegerät, z. B. einer Maus oder einer Steuerkugel (Trackball), mit denen der Benutzer Eingaben an den Computer vornehmen kann, implementiert werden. Darüber hinaus können andere Geräte verwendet werden, um die Interaktion mit einem Benutzer zu ermöglichen; zum Beispiel kann es sich bei der Rückmeldung an den Benutzer um jegliche Art von sensorischer Rückmeldung, wie z. B. visuelle, akustische oder taktile Rückmeldungen, handeln; ebenso können die Eingaben des Benutzers in beliebiger Form, d. h. unter anderem auch akustisch, sprachlich oder taktil, empfangen werden. Außerdem kann ein Computer durch das Senden von Dokumenten an ein Gerät und das Empfangen von Dokumenten von einem Gerät, das vom Benutzer verwendet wird, mit einem Benutzer interagieren, beispielsweise durch das Senden von Webseiten an einen Webbrowser auf dem Client-Gerät des Benutzers in Reaktion auf die vom Webbrowser empfangenen Anfragen.
  • Die in dieser Spezifikation beschriebenen Ausführungsformen des Gegenstands können in einem Datenverarbeitungssystem implementiert werden, das eine Backend-Komponente, wie z. B. einen Datenserver oder eine Middleware-Komponente, wie z. B. einen Anwendungsserver oder eine Frontend-Komponente, wie z. B. einen Client-Computer mit einer grafischen Benutzeroberfläche, oder eine beliebige Kombination einer oder mehrerer der besagten Backend-, Middleware- oder Frontend-Komponenten oder einen Webbrowser beinhaltet, durch den ein Benutzer mit einer in dieser Spezifikation beschriebenen Implementierung des Gegenstands interagieren kann. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein. So beinhalten beispielsweise Kommunikationsnetzwerke ein lokales Netzwerk („LAN“), ein Fernnetz („WAN“), z. B. das Internet.
  • Das Computersystem kann Clients und Server beinhalten. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung zwischen Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern laufen und die eine Client-Server-Beziehung zueinander aufweisen.
  • Zwar enthält diese Spezifikation viele spezifische Implementierungsdetails, jedoch sollten diese nicht als Beschränkungen des Umfangs oder des Anspruchs ausgelegt werden, sondern vielmehr als Beschreibungen spezifischer Funktionen bestimmter Ausführungsformen bestimmter Erfindungen. Bestimmte Funktionen, die in dieser Spezifikation im Kontext der unterschiedlichen Ausführungsformen beschrieben werden, können auch in Kombination in einer einzelnen Ausführungsform implementiert werden. Andererseits können verschiedene Funktionen, die im Kontext einer einzelnen Ausführungsform beschrieben werden, in mehreren Ausführungsformen oder in einer geeigneten Teilkombination implementiert werden. Außerdem können, auch wenn die Funktionen vorstehend ggf. als in bestimmten Kombinationen wirkend beschrieben und zunächst auch als solche beansprucht werden, in einigen Fällen ein oder mehrere Funktionen einer beanspruchten Kombination aus der Kombination herausgenommen und die beanspruchte Kombination auf eine Teilkombination oder eine Variante einer Teilkombination gerichtet werden.
  • Gleichermaßen soll dies, obwohl die Vorgänge in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, nicht so verstanden werden, dass die besagten Vorgänge in der dargestellten Reihenfolge oder in fortlaufender Reihenfolge durchgeführt werden müssen bzw. alle veranschaulichten Vorgänge durchgeführt werden müssen, um die erwünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung von Vorteil sein. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den vorstehend beschriebenen Ausführungsformen nicht als in allen Ausführungsformen erforderlich aufgefasst werden, und es versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zusammen in ein einziges Softwareprodukt integriert oder in mehrere Softwareprodukte aufgeteilt werden können.
  • Es wurden bestimmte Ausführungsformen des Gegenstands beschrieben. Weitere Ausführungsformen liegen innerhalb des Umfangs der folgenden Ansprüche. Die in den Ansprüchen aufgezählten Vorgänge können beispielsweise in einer anderen Reihenfolge ausgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Die in den beigefügten Abbildungen dargestellten Verfahren erfordern beispielsweise nicht notwendigerweise die dargestellte Reihenfolge oder sequenzielle Reihenfolge, um erwünschte Ergebnisse zu erzielen. Bei bestimmten Implementierungen können Multitasking und eine Parallelverarbeitung vorteilhaft sein.

Claims (21)

  1. Computerprogrammprodukt, das Anweisungen beinhaltet, die, wenn sie durch einen oder mehrere Computer ausgeführt werden, den einen oder die mehreren Computer veranlassen, ein Verfahren auszuführen, das Verfahren umfassend: Empfangen, an einem Verarbeitungsmodul eines Geräts, von Ausgabeaudiodaten, die eine Audioausgabe durch das Gerät repräsentieren; Empfangen, durch das Verarbeitungsmodul, von Eingabeaudiodaten, die eine Audioaufzeichnung repräsentieren, die über ein Mikrofon erfasst wurde; Bestimmen, durch das Verarbeitungsmodul, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten, wobei das Hotword ein Wort oder ein Satz ist, das oder der zuvor festgelegt wurde, um einem Sprachbefehl vorauszugehen; und auf Grundlage von dem Bestimmen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, Blockieren, durch das Verarbeitungsmodul, der Nutzung der Eingabeaudiodaten, um einen Befehl einzuleiten.
  2. Computerprogrammprodukt nach Anspruch 1, wobei das Hotword ein vorbestimmtes Wort ist, das bestimmt wurde, um den Beginn einer Sprachabfrage oder eines Sprachbefehls zu signalisieren, die oder der dem Hotword unmittelbar folgt.
  3. Computerprogrammprodukt nach Anspruch 1-2, wobei das Verarbeitungsmodul umfasst: ein Hotword-Eingabeerfassungsmodell, das bestimmt, dass die Eingabeaudiodaten eine Repräsentation eines Hotwords beinhalten; und ein Hotword-Ausgabeerfassungsmodell, das bestimmt, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten.
  4. Computerprogrammprodukt nach Anspruch 3, wobei Bestimmen, dass die Ausgabeaudioaufzeichnung eine Repräsentation eines Hotwords beinhaltet, umfasst: Erzeugen, durch das Hotword-Ausgabeerfassungsmodell, einer Hotword-Punktzahl für die Ausgabeaudiodaten; Vergleichen, durch das Hotword-Ausgabeerfassungsmodell, der Hotword-Punktzahl mit einem vorbestimmten Grenzwert; und Bestimmen, durch das Hotword-Ausgabeerfassungsmodell und auf Grundlage des Vergleichs, dass die Ausgabeaudioaufzeichnung eine Repräsentation eines Hotwords beinhaltet.
  5. Computerprogrammprodukt nach Anspruch 4, wobei das Verfahren ferner umfasst: Erzeugen, durch das Hotword-Eingabeerfassungsmodell, einer separaten Hotword-Punktzahl für die Ausgabeaudiodaten; Vergleichen, durch das Hotword-Eingabeerfassungsmodell, der separaten Hotword-Punktzahl mit einem separaten vorbestimmten Grenzwert; Bestätigen, durch das Hotword-Eingabeerfassungsmodell und auf Grundlage des Vergleichs, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten; auf Grundlage von dem Bestätigen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, Blockieren, durch das Verarbeitungsmodul, der Nutzung der Eingabeaudiodaten, um einen Befehl einzuleiten.
  6. Computerprogrammprodukt nach Anspruch 5, wobei sich der vorbestimmte Grenzwert von dem separaten vorbestimmten Grenzwert unterscheidet.
  7. Computerprogrammprodukt nach einem der Ansprüche 3-5, wobei das Hotword-Ausgabeerfassungsmodell ein geschultes neuronales Netz ist und wobei das Hotword-Eingabeerfassungsmodell ein geschultes neuronales Netz ist.
  8. Computerprogrammprodukt nach einem der Ansprüche 5-7, wobei der vorbestimmte Grenzwert durch das Hotword-Ausgabeerfassungsmodell während des Trainings bestimmt wird und wobei der separate vorbestimmte Grenzwert durch das Hotword-Ausgabeerfassungsmodell während des Trainings bestimmt wird.
  9. Computerprogrammprodukt nach einem der Ansprüche 3-8, wobei das Hotword-Ausgabeerfassungsmodell weniger Parameter hat als das Hotword-Eingabeerfassungsmodell.
  10. Computerprogrammprodukt nach einem der Ansprüche 3-9, wobei das Hotword-Ausgabeerfassungsmodell und das Hotword-Eingabeerfassungsmodell parallel ablaufen.
  11. Computerprogrammprodukt nach einem der Ansprüche 4-10, wobei das Hotword-Eingabeerfassungsmodell die separate Hotword-Punktzahl nach Bestimmen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, erstellt.
  12. Computerprogrammprodukt nach einem der Ansprüche 3-11, wobei Blockieren, durch das Verarbeitungsmodul, der Verwendung der Eingabeaudiodaten, um einen Befehl einzuleiten, das Deaktivieren des Hotword-Eingabeerfassungsmodells umfasst, um zu verhindern, dass das Verarbeitungsmodul ein Hotword erkennt.
  13. Computerprogrammprodukt nach einem der Ansprüche 3-12, wobei Blockieren, durch das Verarbeitungsmodul, der Verwendung der Eingabeaudiodaten, um einen Befehl einzuleiten, das Ignorieren, durch das Hotword-Eingabemodul, der Eingabeaudiodaten umfasst.
  14. Computerprogrammprodukt nach einem der Ansprüche 1-13, wobei Blockieren, durch das Verarbeitungsmodul, der Verwendung der Eingabeaudiodaten, um einen Befehl einzuleiten, das Blockieren der Ausführung des Befehls umfasst.
  15. Computerprogrammprodukt nach einem der Ansprüche 1-14, wobei Blockieren, durch das Verarbeitungsmodul, der Verwendung der Eingabeaudiodaten, um einen Befehl einzuleiten, das Verhindern umfasst, dass das Gerät eine lokale Aktion ausführt.
  16. Computerprogrammprodukt nach einem der Ansprüche 1-15, wobei Blockieren, durch das Verarbeitungsmodul, der Verwendung der Eingabeaudiodaten, um einen Befehl einzuleiten, das Verhindern umfasst, dass das Gerät die Eingabeaudiodaten als Befehl an einen Remote-Server überträgt.
  17. Computerprogrammprodukt nach einem der Ansprüche 1-16, wobei das Verfahren darüber hinaus das Ausgeben, durch das Verarbeitungsmodul, von Daten umfasst, die anzeigen, dass das Gerät kompromittiert wurde.
  18. Computerprogrammprodukt nach einem der Ansprüche 1-17, wobei das Verarbeitungsmodul ein Hotword-Erfassungsmodell umfasst, das Audiodaten empfängt und bestimmt, dass die empfangenen Audiodaten eine Repräsentation eines Hotwords beinhalten, wobei das Hotword-Erfassungsmodell Vorgänge ausführt, umfassend: Erzeugen einer Hotword-Punktzahl für die Ausgabeaudiodaten; Vergleichen der Hotword-Punktzahl mit einem vorbestimmten Grenzwert; Bestimmen, basierend auf dem Vergleich, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten; Erzeugen, nach Bestimmen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, einer separaten Hotword-Punktzahl für die Ausgabeaudiodaten; Vergleichen der separaten Hotword-Punktzahl mit einem separaten vorbestimmten Grenzwert; Bestätigen, basierend auf dem Vergleich, dass die Ausgabeaudiodaten eine Repräsentation eines Hotwords beinhalten; und auf Grundlage von dem Bestätigen, dass die Ausgabeaudiodaten die Repräsentation des Hotwords beinhalten, Blockieren, durch das Verarbeitungsmodul, der Nutzung der Eingabeaudiodaten, um einen Befehl einzuleiten.
  19. Gerät, das ein sicheres Verarbeitungsmodul umfasst, wobei das sichere Verarbeitungsmodul angeordnet ist, um die Vorgänge jedes beliebigen Computerprogrammprodukts nach einem der Ansprüche 1-18 auszuführen.
  20. Gerät nach Anspruch 19, das darüber hinaus mindestens ein Mikrofon, das angeordnet ist, um diese Audioaufzeichnung, die durch die Eingabeaudiodaten repräsentiert wird, zu erfassen, und mindestens einen Lautsprecher umfasst, der angeordnet ist, um diese Ausgabeaudiodaten wiederzugeben.
  21. Computerlesbares Speichergerät, das Software speichert, die Anweisungen umfasst, die durch einen oder mehrere Computer ausführbar sind und die bei einer Ausführung den einen oder die mehreren Computer veranlassen, die Vorgänge eines der Computerprogrammprodukte nach einem der Ansprüche 1-18 auszuführen.
DE202017106575.8U 2016-12-07 2017-10-30 Verhindern von Audioangriffen Active DE202017106575U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/371,907 2016-12-07
US15/371,907 US10242673B2 (en) 2016-12-07 2016-12-07 Preventing of audio attacks using an input and an output hotword detection model

Publications (1)

Publication Number Publication Date
DE202017106575U1 true DE202017106575U1 (de) 2018-03-08

Family

ID=58794156

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202017106575.8U Active DE202017106575U1 (de) 2016-12-07 2017-10-30 Verhindern von Audioangriffen

Country Status (3)

Country Link
US (1) US10242673B2 (de)
DE (1) DE202017106575U1 (de)
WO (1) WO2018106283A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110853638A (zh) * 2019-10-23 2020-02-28 吴杰 语音交互过程中实时打断语音机器人的方法及设备

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10134396B2 (en) 2016-12-07 2018-11-20 Google Llc Preventing of audio attacks
US10593328B1 (en) * 2016-12-27 2020-03-17 Amazon Technologies, Inc. Voice control of remote device
US10580405B1 (en) * 2016-12-27 2020-03-03 Amazon Technologies, Inc. Voice control of remote device
US10831923B2 (en) * 2018-06-08 2020-11-10 The Toronto-Dominion Bank System, device and method for enforcing privacy during a communication session with a voice assistant
US10839811B2 (en) 2018-06-08 2020-11-17 The Toronto-Dominion Bank System, device and method for enforcing privacy during a communication session with a voice assistant
WO2020005202A1 (en) * 2018-06-25 2020-01-02 Google Llc Hotword-aware speech synthesis
US10978063B2 (en) * 2018-09-27 2021-04-13 The Toronto-Dominion Bank Systems, devices and methods for delivering audible alerts
US11023200B2 (en) 2018-09-27 2021-06-01 The Toronto-Dominion Bank Systems, devices and methods for delivering audible alerts
US11132990B1 (en) * 2019-06-26 2021-09-28 Amazon Technologies, Inc. Wakeword and acoustic event detection
US11043218B1 (en) * 2019-06-26 2021-06-22 Amazon Technologies, Inc. Wakeword and acoustic event detection
US10896664B1 (en) * 2019-10-14 2021-01-19 International Business Machines Corporation Providing adversarial protection of speech in audio signals
US11798530B2 (en) * 2020-10-30 2023-10-24 Google Llc Simultaneous acoustic event detection across multiple assistant devices
US11557278B2 (en) * 2020-12-10 2023-01-17 Google Llc Speaker dependent follow up actions and warm words
US11991232B2 (en) * 2021-05-28 2024-05-21 Spotify Ab Command buffering

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1291324A (zh) 1997-01-31 2001-04-11 T-内提克斯公司 检测录制声音的系统和方法
US6496581B1 (en) 1997-09-11 2002-12-17 Digisonix, Inc. Coupled acoustic echo cancellation system
US6507653B1 (en) 2000-04-14 2003-01-14 Ericsson Inc. Desired voice detection in echo suppression
US6741874B1 (en) 2000-04-18 2004-05-25 Motorola, Inc. Method and apparatus for reducing echo feedback in a communication system
US6928161B1 (en) 2000-05-31 2005-08-09 Intel Corporation Echo cancellation apparatus, systems, and methods
AU2001280023A1 (en) 2000-07-17 2002-01-30 Richard O'connell System and methods of validating an authorized user of a payment card and authorization of a payment card transaction
US7447321B2 (en) 2001-05-07 2008-11-04 Harman International Industries, Incorporated Sound processing system for configuration of audio signals in a vehicle
WO2003079721A1 (en) 2002-03-13 2003-09-25 Harman International Industries, Incorporated Audio feedback processing system
US6904146B2 (en) 2002-05-03 2005-06-07 Acoustic Technology, Inc. Full duplex echo cancelling circuit
US7418392B1 (en) 2003-09-25 2008-08-26 Sensory, Inc. System and method for controlling the operation of a device by voice commands
US20050273626A1 (en) 2004-06-02 2005-12-08 Steven Pearson System and method for portable authentication
US20080312934A1 (en) 2007-03-07 2008-12-18 Cerra Joseph P Using results of unstructured language model based speech recognition to perform an action on a mobile communications facility
US8099289B2 (en) 2008-02-13 2012-01-17 Sensory, Inc. Voice interface and search for electronic devices including bluetooth headsets and remote systems
US9111538B2 (en) * 2009-09-30 2015-08-18 T-Mobile Usa, Inc. Genius button secondary commands
US8996381B2 (en) 2011-09-27 2015-03-31 Sensory, Incorporated Background speech recognition assistant
US8452597B2 (en) 2011-09-30 2013-05-28 Google Inc. Systems and methods for continual speech recognition and detection in mobile computing devices
KR20130133629A (ko) 2012-05-29 2013-12-09 삼성전자주식회사 전자장치에서 음성명령을 실행시키기 위한 장치 및 방법
US9875741B2 (en) 2013-03-15 2018-01-23 Google Llc Selective speech recognition for chat and digital personal assistant systems
CN104956436B (zh) 2012-12-28 2018-05-29 株式会社索思未来 带有语音识别功能的设备以及语音识别方法
US11393461B2 (en) 2013-03-12 2022-07-19 Cerence Operating Company Methods and apparatus for detecting a voice command
US9058805B2 (en) 2013-05-13 2015-06-16 Google Inc. Multiple recognizer speech recognition
US20140343949A1 (en) 2013-05-17 2014-11-20 Fortemedia, Inc. Smart microphone device
US8719039B1 (en) 2013-12-05 2014-05-06 Google Inc. Promoting voice actions to hotwords
US9318112B2 (en) * 2014-02-14 2016-04-19 Google Inc. Recognizing speech in the presence of additional audio
US9240183B2 (en) * 2014-02-14 2016-01-19 Google Inc. Reference signal suppression in speech recognition
KR20160148009A (ko) 2014-07-04 2016-12-23 인텔 코포레이션 자동 화자 검증 시스템에서의 리플레이 공격 검출
EP3107052A1 (de) 2015-06-15 2016-12-21 Tata Consultancy Services Limited Verfahren und system zur durchführung sicherer banktransaktionen
US9747926B2 (en) * 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US10134396B2 (en) 2016-12-07 2018-11-20 Google Llc Preventing of audio attacks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110853638A (zh) * 2019-10-23 2020-02-28 吴杰 语音交互过程中实时打断语音机器人的方法及设备

Also Published As

Publication number Publication date
US10242673B2 (en) 2019-03-26
WO2018106283A1 (en) 2018-06-14
US20180158453A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
DE202017106575U1 (de) Verhindern von Audioangriffen
US10134396B2 (en) Preventing of audio attacks
DE102016125494B4 (de) Das sichere Ausführen von Sprachfunktionen unter der Verwendung kontextabhängiger Signale
EP2785009A1 (de) Verfahren und Vorrichtung zur Erkennung eines mehrstufigen Ereignisses
EP2785008A1 (de) Verfahren und Vorrichtung zur Erkennung eines mehrstufigen Ereignisses
CN106653008A (zh) 一种语音控制方法、装置及系统
CN103236094A (zh) 门禁系统及用移动终端解锁门禁设备的方法
EP2299650A1 (de) Verfahren zur Anomalie-Erkennung in einem Kontrollnetzwerk
CN106895553A (zh) 空调及其控制方法和装置、报警方法和装置
US20200364097A1 (en) Notification information output method, server and monitoring system
DE60315284T2 (de) Verfahren und Arrangement zum automatischen Steuern eines Zugriffs zwischen einem Computer und einem Kommunikationsnetzwerk
CN109697989B (zh) 音频数据处理方法、服务器及可读存储介质
EP3108477A1 (de) Verfahren und vorrichtung zur identifikation oder authentifikation einer person und/oder eines gegenstandes durch dynamische akustische sicherheitsinformationen
WO2019211190A1 (de) Verfahren zum anmelden eines zielgeräts an ein netzwerk
CN108320757B (zh) 配送信息提示方法、装置、智能音箱及存储介质
CN205140028U (zh) 门禁系统
CN106919855A (zh) 一种基于u盘的执法取证系统及其取证方法
DE102021207673A1 (de) Interrupt für geräuschunterdrückende audiovorrichtungen
JP6665590B2 (ja) 情報処理装置、情報処理方法、プログラム、及び情報処理システム
CN114727294A (zh) 一种通信用身份识别方法及其系统
CN109391537A (zh) 一种信息处理方法、装置和计算机存储介质
CN112422479B (zh) 一种设备绑定方法及装置、系统
CN108351940A (zh) 用于信息安全事件的高频启发式数据获取与分析的系统和方法
DE102016108013B3 (de) Verfahren für ein System zum sicheren Öffnen einer Türe sowie System zum sicheren Öffnen einer Türe
CN110084014A (zh) 信息输入方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years