programmierer-nachrichten.de:
News für Programmierer

programmierer-nachrichten.de

direkt aus dem Technologiezentrum Bottrop
Startseite Podcast RSS Archiv Impressum

Sicherheitsrisiko: Extensions


Es ist selbstverständlich, dass man gewisse Programme mit Extensions in ihrem Funktionsumfang erweitern kann; deswegen der Name: Extension / Erweiterung. Die Programme stellen in der Regel großzügige Schnittstellen bereit, damit diese Erweiterungen auch etwas Sinnvolles machen können.

Und bis vor kurzem konnte man daran auch nichts Schlechtes finden, denn jeder Programmierer, der eine Erweiterung für ein Programm entwickelt, macht das meistens, weil er die Funktionalität selber benötigt. Das ist zumindest der optimalste Fall, da man sich dann sicher sein kann, dass die Erweiterung auch wirklich funktioniert und keinen Unsinn treibt.

Leider zeigten etliche Berichte, dass man im Grunde jeder Erweiterung, die man installieren möchte, vorher überprüfen muss.

kite.com hat bei diversen Atom Erweiterungen Werbung für ihr Startup integriert und damit das Vertrauen der Nutzer missbraucht. Siehe Atom Minimap Werbung.

Ein node.js Plugin liest Umgebungsvariablen und sendet sie via HTTP an einen entfernten Server (siehe hier). Um zu verstehen, wieso das brisant ist: man empfiehlt in vielen Situationen Zugangs- und andere wichtige Daten via Umgebungsvariablen der Applikation zur Verfügung zu stellen. So kann man relativ flexibel Entwicklungs- und Produktivsysteme gleich "aufsetzen". Und genau darauf zielt dieser Dreck eben ab.

Eine Erweiterung für Chrome, "Web Developer", wurde manipuliert und injizierte Werbung bei den Seiten, die der Nutzer besuchte.

Und auch vor Sublime hat kite.com keinen Halt gemacht, denn eine der top Erweiterungen von Sublime Text sendet Telemetriedaten an kite.com. Schau es dir hier an.

Und auch in aktuellen Webbrowsern können Erweiterungen eine Menge Daten sammeln, ohne dass der Nutzer es bemerkt. Ich selber hatte mal eine Erweiterung für Firefox entwickelt, die JavaScript Code im Kontext der Erweiterung nachladen konnte. Zwar über einigen Umwegen, aber es ging. Ich hatte keine bösen Absichten, aber jemand, der eine legitime Erweiterung um "böse" Funktionalitäten erweitern will, kann das auch heute noch tun. Deswegen begrüße ich die Einigung des WebExtensions Standard, auch wenn viele Oldschool Firefox User das nicht mögen, da es den einzigen Vorteil von Firefox entfernt: den Webbrowser extrem verändern.

Im Grunde spricht auch nichts dagegen, dass ein Programm viele Schnittstellen bietet, um die Funktionalitäten zu verändern oder erweitern. In der Vergangenheit war das auch gefühlt nie ein Problem. Mittlerweile wird sowas aber immer öfter ausgenutzt. Und ich kann irgendwie nachvollziehen, wieso der Everyday-Joe auf einmal Gefallen an Windows 10S findet, obwohl das eigentlich keine gute Entwicklung ist.

Aber auch Windows 10S würde daran wenig ändern, denn Edge unterstützt ja mittlerweile auch Erweiterungen. Anfang des Jahres war das noch nicht der Fall. Somit könnte man auch in Edge Erweiterungen installieren, die das Vertrauen des Benutzers ausnutzen.

Als kite.com einige Atom Erweiterungen "infiziert" hatte, wurde darüber diskutiert, ob es Sinn macht nicht einen Adblocker für Erweiterungen zu haben. Die Idee ist total krank! Aber sie ist nicht so dumm! Im Grunde sollte es aber nicht so einfach sein eine Erweiterung zu veröffentlichen. Bei Apple werden App Submissions relativ "streng" kontrolliert. Bei Google wird zwar rein gar nichts geprüft, aber hinterher werden immer viele Apps gelöscht, wenn Benutzer sie gemeldet haben.

Deswegen finde ich, dass man als Programmierer einer wichtigen und beliebten Anwendung nur Erweiterungen zulassen sollte, wenn man sicherstellen kann, dass sie keinen Unsinn treiben. Heute sind ja Portale "hip", wo man seine Erweiterungen finden und installieren kann. Der Zugang zu diesen zentralen Portalen ist aber sehr einfach. Im Falle von "npm" kann jedes Scriptkiddie innerhalb weniger Minuten einen Trojaner zur Verfügung stellen. Wer mir nicht glaubt, dem beweise ich gerne das Gegenteil; natürlich mit einem harmlosen Virus, der nichts kaputt macht.

Man sorgt also entweder dafür, dass diese Portale die übermittelten Erweiterungen entweder besser prüfen oder aber, dass das Programm nur begrenzte Schnittstellen zur Verfügung stellt, so dass erst gar kein Unsinn mit dem Nutzer getrieben werden kann.

Dass man sich heute aber bei einem Editor Gedanken darüber machen muss, dass sein Quellcode eventuell irgendwo in der Cloud landet, ist schon übel...

Und weil "deki" aus dem IRC so geil ist, hat er einen Beitrag verlinkt, der "leichte" Zweifel an allem aufkommen lassen. Aber schau selber.

:(!


Startseite Podcast RSS Archiv Impressum