Gefahren durch unbekannte PlugIns und Skins

Vor der Installation von Software am Computer überlegen sicherlich die Meisten, um was für ein Programm es sich handelt und dieses wirklich benötigt wird. Ist das auch bei Enigma2 so, wer macht sich konkret Gedanken über das Programm und die möglichen Gefahren?

Erst einmal vorab: Mir ist derzeit nicht bekannt, dass es ein verbreitetes PlugIn gibt, das die Dreambox und darin vorhandenen Dateien ausspioniert. Dieser Artikel soll lediglich dazu dienen, die Aufmerksamkeit auf dieses Thema zu lenken um die Sensibilität etwas zu erhöhen. Denn die Gefahren sind vielfältig und können theoretisch auch weitreichende Folgen haben. Ferner betrifft dieser Artikel nicht explizit Dreamboxen — diese Problematik besteht auf allen Linux-basierenden Receivern.

Enigma2 ist ein auf Linux basierendes System und stellt, wenn wir die Definition streng interpretieren, nur eine GUI, also ein graphisches Benutzerinterface dar. Jedes Plugin das installiert wird, ist ein eigenständiges Programm und wird innerhalb dieses Systems ausgeführt — und speichert auch die für den Betrieb des jeweiligen Programms nötigen Konfigurationsdateien im Dateisystem.

Nun ist die Installation von PlugIns, Skins und anderen Tools auf Enigma2-Systemen ziemlich einfach und kann ganz gemütlich über die Fernbedienung erfolgen — ganz ohne technisches Hintergrundwissen. Dies verleitet sicherlich dazu, beliebige Erweiterungen zu installieren, egal aus welcher Quelle. Denn selbst die Einbindung externer Quellen ist bei jedem Enigma2-Image problemlos möglich und kann ebenfalls über die Fernbedienung oder durch andere PlugIns geschehen. Dadurch sinkt die Hemmschwelle vor der Installation verschiedenster PlugIns. Dabei sind die Gefahren besonders groß, vor allem wenn Erweiterungen aus unbekannten Quellen geladen werden.

Mögliche Angriffsszenarien

Rein theoretisch kann ein PlugIn oder sogar ein Skin für die Spionagezwecke genutzt werden. Alle PlugIns bestehen bei Enigma2 aus *.py-Dateien, die den Quellcode beinhalten. Diese werden beim Enigma2-Start in *.pyo-Dateitypen umgewandelt, wobei es sich um ausführbaren Maschinencode handelt. Sind in einem Installationspaket nur die *.pyo-Dateien enthalten, lässt sich demnach nicht ohne weiteres überprüfen, was die Erweiterung wirklich macht — schließlich fehlen die *.py-Dateien mit dem darin enthaltenen Quelltext. Ich stelle euch an dieser Stelle mal vier mögliche Szenarien vor, wie eine Erweiterung den Receiver angreifen und manipulieren kann.

Auslesen von Konfigurationsdateien

Das PlugIn kann sich nun Zugang verschaffen zu allen Dateien im System und auch Befehle ausführen. So könnte, falls entgegen der AGB des jeweiligen Anbieters eine PayTV-Smartcard im Receiver betrieben wird, problemlos die Seriennummer dieser Smartcard ausgelesen werden. Und es geht noch weiter: Auch Konfigurationsdateien von Softcams oder E-Mail-Clients können ausgelesen werden, da die offen im Dateisystem von Enigma2 gespeichert werden. Ferner können diese Dateien nicht nur ausgelesen, sondern auch manipuliert werden, in dem ein zusätzlicher Zugang zum System eingerichtet wird. Alle ausgelesenen Daten lassen sich bspw. auf einen entfernten Server im Internet übertragen oder schlicht per E-Mail versenden.

Manipulation von Paketquellen

In Enigma2 bzw. grundsätzlich bei Linux basierenden Betriebssystemen sind Paketquellen definiert, die für das Aktualisieren des Systems dienen. Bei jeder Softwareaktualisierung wird auf eben diesen Paketquellen nach neuen Versionen des Systems und installierten PlugIns gesucht. Die URLs der Paketquellen sind ebenfalls in bestimmten Konfigurationsdateien definiert. Es wäre sicherlich denkbar, diese Konfiguration zu manipulieren und bspw. durch eine unsichere Quelle zu ersetzen. Beim nächsten Update könnten so unsichere Programme den Weg auf den Receiver finden.

Zugang zu privaten Daten

Wer Mountpunkte eingerichtet hat, um bspw. auf die lokale Netzwerkfestplatte über den Receiver zugreifen zu können, reißt hierdurch eine weitere Lücke auf, die ausgenutzt werden kann. Alle über den Receiver erreichbaren Daten können genauso wie die lokalen Konfigurationsdateien problemlos ausgelesen werden. Sofern auf dem Server auch Schreibrechte vorhanden sind, können natürlich auch Manipulationen vorgenommen werden. Dabei lässt sich auch der Inhalt auf einen Server o.ä. übertragen. Sensible Daten sind genauso wenig sicher wie möglicherweise illegal getätigte Downloads.

Receiver wird zum Bot verwandelt

Botnetze sind in aller Munde und natürlich kann auch ein Receiver durch entsprechende Programme zu einem Teil eines Botnetzes werden. Der Receiver könnte nun dazu genutzt werden, Angriffe auf andere Seiten und Server zu fahren. Das brisante dabei: Es geschieht stets über die eigene IP-Adresse und ist so natürlich problemlos zurückverfolgbar. Zudem kann ein Bot auch Angriffe auf das lokale Netzwerk fahren und sich so Zugang zu weiteren Computersystemen im Heimnetzwerk verschaffen. Auch der Versuch auf diese Weise Zugangsdaten o.ä. mitzuloggen, die unverschlüsselt über das Netzwerk übertragen werden, ist denkbar.

Jedes PlugIn wird mit Root-Rechten ausgeführt

Die berechtige Frage an dieser Stelle ist, wieso die PlugIns auf einem Linux-Receiver überhaupt so weitreichende Rechte haben und sich den Zugang zu allen Daten verschaffen können.

Das liegt daran, dass jedes PlugIn, Skin und andere Programme mit Root-Rechten, also mit Administrator-Rechten ausgeführt werden. Das ist vergleichbar mit der von Windows XP bekanntgewordenen Problematik und waren einer der entscheidenden Gründe für die große und schnelle Verbreitung von Viren auf Windows-Rechnern. Ein mit Administrator-Rechten ausgeführtes Programm hat immer, sowohl lesenden, ausführbaren als auch schreibenden Zugriff auf alle Dateien. Dabei spielt es keine Rolle, wie die Dateiberechtigungen gesetzt wurden und welcher Benutzer der Eigentümer der jeweiligen Datei oder des Ordners ist.

Schutz gegen solche Angriffe

Ein sehr wirksamer Schutz ist sicherlich die Auswahl der Quellen, die für die Installation von Erweiterungen genutzt werden. Grundsätzlich sollten Erweiterungen nur direkt von den Entwicklern bezogen werden, die in der Regel auch in den größeren Foren unterwegs sind. An dieser Stelle seien vor allem i-have-a-dreambox.com (Gemini3-PlugIn und diverse PlugIn-Entwickler), dreambox-tools.info (Merlin-Image und diverse PlugIn-Entwickler), oozoon-board.de (OoZooN-Image und vor allem Tools von Gutemine) sowie das Dreamboard (originales Forum mit diversen PlugIns) hervorgehoben. Erweiterungen, die die Paketquellen beeinflussen, sollten unabhängig von ihrer Quelle grundsätzlich mit Vorsicht betrachtet werden. Von frei zugänglichen Datenbanken, über die Installationspakete und/oder abgewandelte Skins verteilt werden, sollte grundsätzlich Abstand genommen werden.

Ferner eigenen sich für den Bezug von Erweiterungen natürlich die offiziellen Paketquellen des genutzten Images, die bspw. über dreambox-plugins.de oder aber über die Softwareverwaltung durchsucht werden können. Grundsätzlich ist aber selbst das kein echter Schutz sondern hängt immer von der Auswahl der jeweiligen Image-Teams zusammen — sie entscheiden, welches PlugIn auf dem Feed landet und über die Softwareverwaltung installiert werden kann. Handelt es sich nicht um ein quelloffenes PlugIn, das dennoch auf dem Feed aufgenommen wird, gibt es natürlich auch hier keine hundertprozentige Sicherheit.

Der wirksamste Schutz wäre aber ein anständiges Rechtemanagement auf Linux-Receivern. Es wäre schon ein großer Fortschritt, wenn nicht jede Erweiterung automatisch mit Administrator-Rechten ausgeführt wird. Wie weitreichend aber die Umbaumaßnahmen nötig sind, um sowas anständig, wirksam und vor allem sicher zu implementieren, können vermutlich nur die Entwickler beantworten.

Wer macht sich über die Sicherheit gedanken?

Wie bereits zu Anfang des Artikels geschrieben: Es ist derzeit kein solches PlugIn oder Skin bekannt, dass den Receiver ausspioniert. Das bedeutet aber nicht, dass es sowas nicht schon gibt.

Mit diesem Artikel wollte ich die Aufmerksamkeit auf dieses sehr sensible Thema lenken und auf die möglichen Gefahren hinweisen, schließlich sind die theoretisch möglichen Angriffe bereits heute problemlos möglich.

Daher zum Abschluss eine Frage in die Runde: Wer von euch macht sich vor der Installation von Erweiterungen wirklich Gedanken über die Sicherheit? Nutzt jemand von euch regelmäßig unsichere Quellen oder gibt es vielleicht sogar jemanden, der schon schlechte Erfahrungen gemacht hat? Nutzt einfach die Kommentarfunktion zu diesem Artikel.

Ähnliche Beiträge:

12 Gedanken zu „Gefahren durch unbekannte PlugIns und Skins“

  1. Ach so, das wäre evtl auch erwähnenswert im artikel, also dass man nicht die standard login-daten nutzen sollte usw., wenn man die box von aussen erreichbar macht.
    weitere schutzmaßnahmen dafür würden mich auch interessieren.
    ich habe z.B. über den router eine weiterleitung von anderen ports auf die standard-ports eingestellt.
    also z.B. anstatt port 443 fürs web interface über HTTPS zu nutzen, nutze ich z.B. port 1234 nach außen und leite im router auf 443 um.
    ich bin mir zwar nicht sicher, ob das was bringt, aber könnte es mir schon vorstellen…
    wie gesagt, weitere sicherheits-tipps wären sehr willkommen! 😉

    1. Port ändern… – Nein, das bringt nix!

      Wenn man etwas über sein Ziel wissen will, nimmt man einen Portscanner.
      Der schaut einfach alle Ports durch und gibt dann die erreichbaren aus.
      Dann entscheidet der Angreifer weiter.

  2. Endlich greift mal jemand dieses Thema auf, das mich schon seit längerer Zeit beschäftigt. Wie immer sollte gesunder Menschenverstand die erste Hürde für Schadsoftware sein.

    Trotzdem gehört immer auch eine gewisse Portion vertrauen dazu, bestimmte Plugins zu installieren. Ich überlege daher, meine Box vollständig aus dem Netzwerk zu nehmen. Damit geht aber leider auch viel Funktionalität verloren.

    Ich würde mir hier noch einen Artikel wünschen, in dem alle gegenwärtig möglichen Sicherheitsmaßnahmen zusammengefasst werden. Dies wäre aus meiner Sicht auch eine Pflichtlektüre für Einsteiger.

  3. @Klabusterolaf: Schau mal hier, vielleicht hilft dir das auch weiter.

    Und danke euch beiden für den Themen-Vorschlag, wenn ich Zeit habe mache ich einen noch ausführlicheren Artikel zum Thema Sicherheitsmaßnahmen 🙂

    1. Was meinst du damit? VideoDB bezieht Film- und Serieninfos ausm Internet, muss sich also zwangsläufig ins Internet verbinden!?
      Ähnlich liegt es beim TV-Charts-Plugin, dessen Plugin-Zweck es ja gerade ist die eingeschalteten Sender und angelegten Timer im Internet zu sammeln. Ob man das will, sollte man sich natürlich trotzdem überlegen.

    2. Das VideoDB Plugin greift auf einen Server von DMM zu, um dort die Poster und Backdrops in m1v Dateien zu konvertieren, da dazu die Performance der Boxen nicht ausreichen. Das gleiche macht auch das Project Valerie Plugin, Poster und Backdrops auf einen externen Server konvertieren.

  4. Naja, warum der Author immer wieder Plugins ohne Source Code als potentielle Gefahren-Quelle nennt, erschließt sich mir nicht wirklich. Zum einen gibt es ganz andere Gründe, warum ein Entwickler seinen Source Code nicht freigibt und dazu gehören neben Entwicklern wie vali, Coolman oder dirtylion auch das gemini Plugin, dessen Board der Author hier als sichere Quelle erwähnt, denn auch das gemini Plugin hat keinen offenen Source Code.

    Und selbst wenn der Source Code offen ist: wer schaut sich diesen komplett an? Und selbst wenn, zum Kompromittieren reicht schon eine Zeile aus, die man so gestalten kann, dass selbst ein erfahrener Programmierer diese so schnell gar nicht erkennt. Daher ist ein fehlender Source Code sicher kein zuverlässiges Merkmal einer potentieller Gefahrenquelle und solche Aussagen führen nur zur Verunsicherung der Plugin Benutzer.

    Sicherer ist es, nur Plugins zu installieren, deren Entwickler bekannt sind und deren Plugins in diversen Foren im Umlauf sind. Von einem Plugin xyz aus einem dubiosen Forum, dass es sonst in keinem anderen Forum gibt und auch niemand kennt, sollte man dagegen besser die Finger lassen.

    Die Intention des Authors ist ja ok, aber potentielle Gefahrenquellen sind da ganz andere: z.b. haben viele User einen Port ihrer Box offen im Internet, um auf die Box von überall über das Internet zugreifen zu können. Da heutzutage komplette IP-Adressen Ranges im Internet von Angreifern automatisch gescannt wird, ist es nur eine Frage der Zeit, bis jemand bei einem offenen Port in das Netz eindringt. Das Kennwort der Box bekommt man so z.b. recht einfach, in dem man über das Webinterface der Box auf das /etc Verzeichnis zugreift, denn dort liegt das root Kennwort. Daher sollte man zumindest die Standard Ports des Webinterfaces – Port 80 und 443 – auf andere Ports ändern, denn das sind die ersten Ports, die von Angreifern automatisch gescannt werden und am Besten gar keinen Port offen im Internet lassen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert