smarttube
smarttube
Bildquelle: ChatGPT

SmartTube-Schock auf Android TV

Wie der werbefreie YouTube-Client zur Gefahr wurde. SmartTube wurde bei diversen Android TV-Boxen zu einem Einfallstor für Schadsoftware.

SmartTube war die bequemste und einfachste Möglichkeit, YouTube auf Android TV, Fire TV und diversen TV-Boxen ohne Werbung zu nutzen. Genau diese App ist jetzt selbst zum Einfallstor geworden. Unbekannte Angreifer haben den Build-Rechner des Entwicklers übernommen. Sie stahlen den echten Signaturschlüssel und haben in die offiziell signierte Version eine zusätzliche Komponente eingebaut. Google Play Protect stufte SmartTube daraufhin als gefährliche Anwendung ein und deaktivierte sie vorerst auf unzähligen Geräten.

Was hinter SmartTube steckt

SmartTube ist ein freier YouTube-Client für Android TV, Fire TV, Chromecast mit Google TV und zahlreiche Android-basierte TV-Boxen. Die App ist so nützlich wie beliebt. Sie spielt Videos ohne nervige Werbeunterbrechungen ab, unterstützt hohe Auflösungen bis 8K und kommt mit wenig Ressourcen aus, sodass sie auch auf älteren Geräten problemlos läuft. Sie ist für uns Couchpotatoes quasi zum Standard im Wohnzimmer geworden. Dies geschah nicht zuletzt, weil sie ohne offizielle Google-Dienste auskommt und dank Sponsorblock auch nervige Werbeblocker innerhalb der Videos überspringen kann. Die Software ist auch unter dem Namen SmartTubeNext bekannt.

Installiert wird SmartTube meist per Sideload. Entweder direkt über GitHub, über die Projektseite oder über Downloader-Codes auf Fire TV, vorausgesetzt der Downloader ist auf dem Fire TV installiert. Nicht jede Version kann das. Amazon-Geräte mit Vega OS sind aufgrund der Struktur des Betriebssystems außen vor. Der Umweg um den Play Store herum gehört zum Konzept von SmartTube. Genau an dem Punkt zeigt sich, dass alles Vor- und Nachteile haben kann.

Wie der Schadcode in die App gelangte

Ende November tauchten erste Meldungen auf Reddit und im Git-Repo auf, dass SmartTube auf Android TV plötzlich nicht mehr startete. Play Protect stufte die App auf vielen Geräten als gefährlich ein, verschob sie in den Bereich der deaktivierten Anwendungen und blockierte eine einfache Reaktivierung. Golem und andere Seiten berichteten schnell von einem geleakten Signaturschlüssel des Entwicklers.

Kurz darauf bestätigte auch der Entwickler Yuriy Yuliskov den Vorfall. Sein Build-Rechner sei kompromittiert worden, wodurch den Angreifern der private Schlüssel zum Signieren der APKs in die Hände gefallen sei. Auf dem infizierten System haben Unbekannte offizielle Releases gebaut, wobei man zusätzlichen Schadcode in die App eingebaut hat.

Genau das macht den Vorfall besonders eklig. Erst wurde der Syncthing-Fork von einer suspekten Person übernommen, und nun wurde Smarttube kompromittiert. Ein kompromittierter Build-Rechner wäre an sich schon ein großes Problem. In Kombination mit einem gültigen Signaturschlüssel wird daraus jedoch eine eigentlich nachweislich verlässliche Quelle für zukünftige Updates. Genau dieses Worst-Case-Szenario ist hier eingetreten. Über die eingebaute Updatefunktion erhielt man eine neue Version aus einer vermeintlich sicheren Quelle – nur diesmal mit einer ungewünschten Beigabe.

smarttube

Was macht die eingeschleuste Bibliothek

Im Zentrum des Angriffs steht eine neue native Bibliothek namens libalphasdk.so. Sie taucht in den kompromittierten Builds auf, existiert aber nicht im öffentlichen Quellcode des Projekts. Sicherheitsforscher, die Version 30.51 analysiert haben, sehen darin die Ursache der Kompromittierung.

Die Bibliothek sammelt nach aktuell vorliegenden Analysen umfangreiche Informationen zum Gerät, auf dem sie läuft. Dazu gehören Modell und Hersteller, die Android-Version, installierte Anwendungen, IP-Adressen und Details zur Netzumgebung. Genau deshalb sollten Smart Devices in ein separates IoT-WLAN eingebunden werden, um das mögliche Angriffspotenzial so niedrig wie möglich zu halten.

Anschließend baut der Code eine verschlüsselte Verbindung zu einem externen Server auf, registriert das Gerät dort und lädt Konfigurationen nach. In einigen Berichten ist von einer möglichen Steuerung als Teil eines Botnetzes oder zumindest als Remote Access Device die Rede. Letzteres befindet sich dann im Botnetz und würde mit einem zukünftigen Update seine eigentliche Funktion als Teil des Botnetzes erfüllen.

Bis jetzt gibt es noch keine direkten Hinweise auf in den Zusammenhang übernommene Google-Konten. SmartTube nutzt die YouTube-Geräteanmeldung, damit man auf seine Playlisten etc. zugreifen kann. Dabei muss man weder Benutzername noch Passwort auf dem Fernseher eingeben, sondern bestätigt einen Code im Browser. Das senkt zwar das direkte Risiko für die Zugangsdaten, aber die Situation bleibt unangenehm. Besonders, weil die Bibliothek technisch in der Lage ist, beliebige Instruktionen vom Botnetz-Backend zu empfangen, sobald der Betreiber dies wünscht.

Welche Versionen betroffen sind

Beim genauen Umfang des aktuell entstandenen potenziellen Schadens gehen die Einschätzungen stark auseinander. BleepingComputer zitiert den Hauptentwickler mit der Aussage, dass mindestens die Versionen 30.43 und 30.47 von einem kompromittierten System stammen und mit der verdächtigen Bibliothek ausgeliefert wurden. Einige dieser Builds landeten zusätzlich auf APKMirror und wurden dort von Malware-Scannern als auffällig markiert.

Aus Community-Analysen geht hervor, dass das Problem nicht auf ein einzelnes Release beschränkt war, sondern dass über einen gewissen Zeitraum immer wieder neue, infizierte Versionspakete entstanden sind. Ghacks beschreibt den Schadcode als Faden, der sich durch mehrere Veröffentlichungen zieht und erst nach Hinweisen aus der Nutzerschaft ans Licht kam. In der Zwischenzeit waren schon unzählige Android TV-Boxen vom Schadcode betroffen.

smarttube, android tv

Was man jetzt machen sollten

Wer SmartTube in den vergangenen Wochen installiert oder aktualisiert hat, sollte sich nicht darauf verlassen, zufällig eine saubere Zwischenversion erwischt zu haben. Sicherheitsportale und Fachmedien sind sich selten so einig wie in diesem Fall. Die Versionen sind verseucht und gehören deinstalliert.

Alte Backups der App oder Konfigurationsdateien sollten nicht zurückgespielt werden, da sich der unerwünschte Code auch darin versteckt haben könnte.

Wer Wert auf Sicherheit legt, wirft zusätzlich einen Blick in die Aktivitäten des Google-Kontos und ändert zur eigenen Beruhigung das Passwort. Wenn 2FA aktiviert ist, ist dies natürlich nicht zwingend notwendig. In sensiblen Bereichen, in denen das Gerät nicht ordnungsgemäß in einem isolierten WLAN für IoT-Geräte ist, sollte man vielleicht doch einmal einen Werks-Reset des Geräts durchführen. Lieber sicher sein als weiter ein verseuchtes Gerät zu benutzen. Play Protect hat in diesem Fall immerhin den Alarm ausgelöst. Ironischerweise genau in dem Bereich, in dem sich viele bewusst für Sideloading entscheiden, um das System zu umgehen.

Was der SmartTube-Vorfall über Sideloading und das Ein-Mann-Projekt aussagt

Der SmartTube-Vorfall betrifft einen Dauerbrenner der Android-TV-Szene. Eine App, die Werbung und Tracking aus YouTube verbannt, bekommt selbst eine versteckte Komponente untergeschoben, die Nutzer und Geräte katalogisiert und zu einem Botnetz hinzufügt. Das wirft ein paar unbequeme Fragen auf.

Die erste betrifft das Vertrauen in die Signaturen. Android als Betriebssystem verlässt sich darauf, dass ein einmal gesetzter Schlüssel sicher bleibt. Wird dieser Schlüssel kompromittiert, bleibt dem Entwickler nur der radikale Schnitt. Alte Versionen sind aus Sicht des Systems nicht mehr gültig, es muss eine neue Signatur her. Alles Alte mit der kompromittierten Signatur bleibt verbrannte Erde.

Die zweite zentrale Frage betrifft die Abhängigkeit von nur einem Entwickler. SmartTube hängt von einem einzelnen Maintainer, einem Build-Rechner und einem Signaturschlüssel ab. Für ein Hobbyprojekt mag das normal sein. Für eine App, die im Alltag massenhaft auf Fire-TV-Sticks und Android-Fernsehern läuft, bedeutet es jedoch, dass am Ende alles an einer einzigen Person hängt – mit genau dem Risiko, das damit einhergeht, wie wir hier wieder einmal erleben durften.

Die dritte Frage dreht sich um das Sideloading. Tools direkt von GitHub zu laden, wirkt oft vertrauenswürdiger als ein anonymer Eintrag in einem App Store. Wenn aber ein böswilliger Mensch den Build-Prozess kontrolliert, hilft dieser Eindruck nur begrenzt. Der Quellcode kann offen einsehbar sein. Die Binärdatei, die die Nutzer installieren, ist dennoch nicht das, was auf GitHub liegt, sondern das, was auf einem gehackten Rechner gebaut wurde. Die Transparenz ist nur vorgeschoben.

Was von SmartTube bleibt

Der Entwickler hat das infizierte System inzwischen gelöscht, die alte Signatur für unbrauchbar erklärt und glücklicherweise eine Restrukturierung des Projekts angekündigt. Eine bereinigte Version ist bereits verfügbar, weitere Details zur Angriffskette sollen in den nächsten Tagen folgen. Wie offen diese Aufarbeitung am Ende ausfällt, wird darüber entscheiden, wie viel Vertrauen das Projekt SmartTube langfristig zurückgewinnen kann.

Kommentar

Für viele bleibt die Erkenntnis, dass auch der liebste Werbeblocker zur Schwachstelle werden kann, wenn jemand die Signatur erbeutet. Wer im Wohnzimmer auf solche Projekte setzt, sollte sich nicht nur auf die Oberfläche verlassen, sondern auch berücksichtigen, wer die App entwickelt. Und auch wie die Builds entstehen und wie schnell der Programmierer reagiert, wenn etwas schiefgeht. SmartTube liefert gerade ein Paradebeispiel dafür ab. Mir persönlich war es egal, da ich automatische Updates deaktiviert habe und die App nur bei auftretenden Problemen beim Abspielen von YouTube-Videos einschalte. Sponsorblock läuft über eine andere Infrastruktur und war deshalb in SmartTube auch nicht betroffen, weshalb die ganze Sache an mir spurlos vorbeigegangen ist. Da hatte ich wohl einfach Glück. Doch vielen ist es anders ergangen.