In diesem Jahr haben wir bereits den Amazon Echo und seinen Sprachassistenten Alexa getestet. Nun wird es Zeit, sich im Test auch Google Home als neuen Mitkonkurrenten zu widmen.

Google Home heißt Chromecast

Konzipiert wurde Google Home von Googles Chromecast-Team und kann deshalb auch als ein smartes Chromecast-Gerät mit einer Konfiguration aus Lautsprechern und zwei Mikrofonen beschrieben werden. Solche und weitere Hardware-Informationen findet man in dem sehr detaillierten Google Home Teardown von iFixit.

Wird der Sockel abgezogen, kommt eine Micro-USB-Schnittstelle auf der Rückseite des Geräts zum Vorschein. Drückt man den Mute-Knopf während des Bootvorgangs, wird ein „Bootloader Modus“ aktiviert, welcher dazu führt, dass das Gerät als „BG2CD” im Windows Gerätemanager angezeigt wird – allerdings nur für ein bis zwei Sekunden. Gemäß der kernel.org Dokumentation, handelt es sich bei BG2CD um den „Design Name” des Marvell SoC von Google Home, der besagte Boot-Modus kann also vermutlich für SoC-Updates genutzt werden. Außerdem verfügt das Gerät über einen USB OTG Support, beispielsweise geeignet für den Chromecast Ethernet Adapter (jedoch nicht offiziell). Auf der Unterseite des Geräts sind darüber hinaus noch vier Debug-Ports versteckt. Deren Funktion ist zwar nicht bekannt bzw. nicht dokumentiert, aber möglicherweise sind sie für Debugging- oder Herstellungsprozesse eingerichtet worden.

Wie im Fall von Amazons Alexa läuft beim digitalen Assistenten von Google alles über die Cloud – nur die Verarbeitung des Aktivierungsbefehls „OK Google“ erfolgt offline. Der Assistent ist nahtlos in die Google-Dienste integriert und profitiert folglich von dem bei Google vorhandenen Wissen über Nutzer, beispielsweise deren Browser-, Such- und Standort-Historie, sofern der Besitzer seine Zustimmung erteilt hat. Im Gegensatz zu Alexa verfügt das Google-Gerät bereits über eine Multi-User-Unterstützung, wodurch es unterschiedliche Familienmitglieder erkennen kann. (Wir konnten diese Funktion jedoch nicht weiter untersuchen, da sie in Deutschland noch nicht verfügbar ist.) Mithilfe einer Funktion zur Stimmerkennung können mehrere Nutzer identifiziert werden, allerdings scheint die Erkennung noch nicht lückenlos zu funktionieren, wie der folgende Videoclip zeigt, bei dem ein Kind seine Stimme verstellt und als seine Mutter erkannt wird (https://www.youtube.com/watch?v=FfxhwKl9-2w).

Prüfung der App

Benötigt wird die Google Home App für die Ersteinrichtung sowie für die weitere Konfiguration, wenn beispielsweise zusätzliche Smart Home-Geräte hinzugefügt werden.

Verschleierte Pakete und Klassen
Verschleierte Pakete und Klassen

Dabei sind alle interessanten und relevanten Klassen obfuskiert. Die SharedPreferences der App werden sicher im privaten App-Speicher abgelegt, allerdings nicht in verschlüsselter Form. Trotz der aufgrund der Verschleierung bestehenden Hürde bei der Analyse des Quellcodes waren wir in der Lage, einige unverschlüsselte HTTP-Endpunkte von Google Home zu identifizieren und zu testen (siehe auch Abschnitt „Lokale Kommunikation“).

Online-Kommunikation

Eine Überprüfung der Online-Kommunikation von Google Home hat ergeben, dass selbige gut verschlüsselt ist. Verbindungen zu diversen Google Servern und auch zu Amazon Web Services (zum Online-Dienst TuneIn Radio) werden mit TLS 1.2 abgesichert.

Wie bereits bei unserem Amazon Alexa Test haben wir ein Szenario entwickelt, um den Einsatz des Geräts im eigenen Zuhause zu simulieren:

  1. Ca. 6 Sekunden Stille
  2. Laut gesprochen: „OK Google, erzähle mir einen Witz” und Abwarten der Antwort (ca. 13 Sekunden)
  3. Ca. 6 Sekunden Stille
  4. Laut gesprochen: „OK Google, erzähle mir einen Witz” und Abwarten der Antwort (ca. 13 Sekunden)
  5. Ein normales Gespräch ohne Erwähnung des Aktivierungsbefehls „OK Google“
Übertragene Bytes von Google Home
Übertragene Bytes von Google Home

Die Abbildung zeigt die übertragenen Bytes (während des Up- und Downloads) bei einer Auflösung von 100 ms. Wenn der Aktivierungsbefehl „OK Google“ ausgesprochen wird, steigt das Traffic-Volumen und verringert sich dann wieder einige Augenblicke, bevor das Gerät seine Antwort beendet hat. In Phasen der Stille oder während einer normalen Konversation ist kein signifikanter Datenverkehr zu beobachten. Folglich können wir die Möglichkeit ausschließen, dass private Gespräche auf Google Server geladen werden.

Sprachassistenten sind so konfiguriert, dass sie unverzüglich reagieren, wenn das Signal- bzw. Aktivierungswort laut gesprochen wird. Ihre Spracherkennung ist jedoch nicht gegen falsch verstandene Wörter (z. B. „Olé Google”) und Missverständnisse gefeit, denn die Reaktion auch auf Abweichungen ist technisch gesehen für ein Funktionieren des Geräts notwendig. Letztlich kann dies wiederum zu einer zufälligen Aufzeichnung von Gesprächen führen, die eigentlich nicht in die Cloud geladen werden sollten.

Lokale Kommunikation

Bei der Konfiguration von Google Home mithilfe der entsprechenden App wird – ähnlich wie bei Google Chromecast – die in Google Home integrierte HTTP-API über Port TCP/8008 verwendet. Auf diese unverschlüsselte API kann ohne Authentifizierung zugegriffen werden, und somit war es uns möglich, über POST-Anfragen Befehle auszuführen. Hier einige Beispiele:

curl – H ‘Content-Type: application/json’ \

 – H ‘User-Agent: com.google.android.apps.chromecast.app/1.24.37.7 (Linux; U; Android

6.0.1; Nexus 5 Build/M4B30Z)’ \

 – X POST – d ‘{“name”:”NewName”}’ http: //IPofGHome:8008/setup/set_eureka_info

Mit diesem Befehl können Nutzer den Display-Namen von Google Home ändern. Es sind aber auch noch spannendere Anfragen möglich, so kann man kann z. B.

  • die Lautstärke von Alarmen ändern
    • /setup/assistant/alarms/volume
    • {“volume”:0.17}
  • den Zugriff auf Beta-Firmware aktivieren
    • /setup/set_eureka_info
    • {“opt_in”:{“preview_channel”:true}}
  • Google Home rebooten
    • /setup/reboot
    • {“params”:”now”}
  • sich mit einem anderen WLAN-Netzwerk verbinden
    • /setup/connect_wifi
    • Request wasn’t successful (“500: Server Error”)
  • mit sofortiger Wirkung die WLAN-Zugangsdaten löschen
    • /setup/forget_wifi
    • {“wpa_id”:0}
HTTP-Verkehr zwischen App und Google Home
HTTP-Verkehr zwischen App und Google Home

Wir waren schon ziemlich überrascht, dass für diese Art von Befehlen keine Authentifizierung erforderlich war. Letztlich hat ein User Agent String als Kennung schon ausgereicht. Die „forget_wifi” Anfrage hat unser Gerät sogar unbrauchbar gemacht, und wir mussten es komplett auf Werkseinstellung zurücksetzen (durch Drücken des Mute-Knopfes für 15 Sekunden) und rekonfigurieren, um es wieder einsetzen zu können. Bei unserer Testarbeit haben wir es schon mit vielen Arten von Windows-Malware zu tun gehabt, die auf der Suche nach zusätzlichen Zielen für Infektionen Netzwerke scannen. Daher können wir uns auch ohne Weiteres die Möglichkeit vorstellen, dass ein Windows-Schädling ganz einfach alle Google Homes löschen kann, die sich über ein WLAN-Netzwerk finden lassen – oder dass er sogar Schlimmeres anrichten kann, wenn andere API-Befehle ebenfalls funktionieren.

Datenschutz

Google hat mit der Datenschutz-Übersicht für Google Home sehr gute Arbeit geleistet. Man findet darin einfache Erklärungen, welche Daten aufgezeichnet werden und auf welche Daten Google Home oder der Google Assistant zugreifen können.

Wie bereits erwähnt, kann Google Home auf die Browser-, Such- und Standort-Historie von Nutzern und auch auf Daten von anderen Google-Diensten wie z. B. YouTube zugreifen. Gleichermaßen kann Google Home Daten von integrierten Drittanbieter-Diensten wie Spotify sammeln.

Googles Datenschutzerklärung ist klar strukturiert und erlaubt Nutzern Zugriff auf alle seit 2001 veröffentlichten Versionen. Nach Auswertung der Lesbarkeit mithilfe der Flesch-Kincaid Reading Ease Metrik ist die Erklärung ab 19- bis 20 Jahren leicht verständlich.

Aufgrund der Tatsache, dass personenbezogene Daten verschlüsselt übertragen und gespeichert werden, würden wir einer Lösung normalerweise bescheinigen, dass ihre Anwendung auch sicher sei. Im Fall von Sprachassistenten erfassen die Hersteller sensible biometrische Daten, welche zur Identifizierung von Nutzern herangezogen werden können (das Gleiche gilt bei der Multi-User-Unterstützung), theoretisch sogar auf geräte- und standortübergreifende Weise. Bedenken hinsichtlich des Datenschutzes bestehen also durchaus, können jedoch nicht belegt werden. Letztlich sollten sich Nutzer immer darüber im Klaren sein, dass mehr und mehr Aspekte ihres Lebens von großen, global agierenden Konzernen nachverfolgt werden können.

Fazit

Google Home hat unseren Schnelltest bestanden, allerdings gibt es einige Bedenken hinsichtlich der lokalen Kommunikation. Auch wenn wir nicht in der Lage waren, uns ohne Wissen des Besitzers mit einem anderen WLAN-Netzwerk zu verbinden (beim Versuch, die „connect_wifi” Anfrage auszuführen, erhielten wir eine „500: Server Error” Fehlermeldung), ist es uns immerhin gelungen, die aktuellen WLAN-Credentials zu löschen, und wir mussten infolgedessen das Gerät auf Werkseinstellung zurücksetzen. Locker davon auszugehen, dass das lokale Netzwerk sicher, frei von Schädlingen und gefeit gegen Angriffe ist und somit der Zugriff auf kritische Dienste keiner Verschlüsselung bedarf, ist eine sehr gefährliche Herangehensweise. Wir sind der Ansicht, dass Google hier schnellstmöglich Abhilfe schaffen sollte.

Gerade in Hinblick auf Sprachassistenten, die in den eigenen vier Wänden und damit im privaten Bereich eingesetzt werden, sehen wir Sicherheitsmängel besonders kritisch. Im Ergebnis erhält Google Home also von uns zwei von drei möglichen Sternen. Diese Bewertung kann auf drei Sterne erhöht werden, sobald die lokale API-Lücke geschlossen ist.