Ausnutzung von Schwachstellen
Die Plugins, die ich rief ...
Udo Schneider warnt vor potentiell unsicheren Browser-Erweiterungen.
von Udo Schneider, IoT Security Evangelist Europe
Wer kennt sie nicht – die allseits beliebten kleinen Helferlein? Ob es nun die kleinen Tools sind, die das Leben auf dem Desktop angenehmer machen oder Plugins, die tägliche Arbeitsabläufe in Programmen vereinfachen. Konkret soll es hier um Plugins in Form von Erweiterungen bei Browsern gehen.
Für diese gelten die gleichen Vorsichtsmaßnahmen wie bei der Installation jeder anderen Software: Vor der Installation ist auf jeden Fall zu prüfen, ob die Software aus einer vertrauenswürdigen Quelle kommt und nicht kompromittiert ist. Dabei helfen „Marketplace-Seiten“ der Browser-Hersteller: Die Erweiterungen, die dort aufgelistet sind, haben zumindest einer oberflächlichen Prüfung standgehalten. Oft sogar einem Test auf Schadsoftware.
Aber mal ganz ehrlich: Wann haben Sie zum letzten Mal bei Ihrem Programm oder Browser die Plugins oder Erweiterungen „ausgemistet“? Und von denen, die übrig geblieben sind: Haben Sie geprüft, ob diese immer noch vertrauenswürdig sind?
Diese kleinen Helferlein tendieren dazu, im Laufe der Zeit nicht mehr aufzufallen – insbesondere, wenn sie die versprochene Funktion zur Zufriedenheit erfüllen. Und genau dies ist die Krux! Gerade bei automatischen Updates kommen unter Umständen nicht nur neue und gewünschte Funktionen auf den Rechner, sondern auch unerwünschte.
So geschehen bei der beliebten Browser Extension „The Great Suspender“ für Chromium-basierende Browser. Diese Open-Source-Erweiterung wurde über Jahre hinweg gepflegt und konnte im Laufe der Zeit eine große Nutzerbasis von über 2 Millionen Installationen für sich gewinnen. Dem ursprünglichen Maintainer wurde die Arbeit jedoch zu viel, sodass er Mitte 2020 die Pflege an einen neuen Maintainer weitergab und diesem auch die Rechte und Accounts (für den Google-Chrome-Webstore) verkaufte [1]. Bis Oktober 2020 änderte sich auch erstmal wenig. Dann aber fanden Benutzer im Quellcode Hinweise auf unerlaubte Tracking-Funktionen und Vorkehrungen zum dynamischen Nachladen von Code von externen Servern. Kurz gesagt war die beliebte Erweiterung zur potenziellen Spionage und Code-Execution-Plattform „erweitert“ worden.
Zusammengefasst haben wir also eine Erweiterung, die auf vielen Systemen installiert war und – quasi via „Autoupdate“ – um Spyware-Funktionen erweitert wurde. Erschwerend kommt hinzu, dass Google diese Erweiterung erst Anfang Februar 2021 auf die Ausschlussliste setzte und User direkt warnte, dass diese Malware enthielt. [2] Das bedeutet, dass die Hintermänner mindestens von Oktober bis Februar potenziell Zugriff auf Millionen von Installationen hatten!
Aus diesem (aber leider auch aus anderen Fällen in der Vergangenheit) lässt sich einiges lernen:
- Kleine Helferlein wie Plugins und Extensions sind sicherheitstechnisch genauso kritisch wie „große“ Applikationen und sollten auch unter dieselben Prozesse (Review, Patch-Management, etc.) fallen.
- Open Source ist kein Allheilmittel: In diesem konkreten Fall war die Erweiterung offen, frei und kostenlos. Und trotzdem wurden (nach dem Maintainer-Wechsel) Spionagefunktionen eingebracht. Natürlich könnte man einwenden, dass dies gerade aufgrund von Open Source letztendlich auch entdeckt wurde. Das ist korrekt. Aber auch Open-Source-Software hat in der Regel Abhängigkeiten, die kompromittiert werden können. So zum Beispiel geschehen in beliebten Ruby Libraries, die die Stärke von Passwörtern prüften und eine Backdoor enthielten [3] oder gleich Kryptowährung klauten [4]. Ein klassischer Fall von Lieferkettenangriffen also.
- Endpoint-/Netzwerk-Monitoring kann einen massiven Zeitvorteil darstellen: Zwischen der Einbringung des Spionagecodes und der Sperrung durch Google vergingen mehr als vier Monate. Monitoring-Systeme hätten in der Zwischenzeit die Kommunikation zu den (vorher schon bekannten!) Backend-Servern also problemlos erkennen und bei Bedarf blockieren können!
Letztendlich bleibt also das Resümee, jede Softwarekomponente regelmäßig zu validieren, egal wie klein sie sein mag. Und streng genommen gilt dies nicht nur für die Komponente selbst, sondern alle ihre Abhängigkeiten genauso. Da dies in der Praxis aber nur bis zu einer gewissen Tiefe machbar ist, stellen externe Monitoring-Systeme auch eine gute Ergänzung dar.
Der Beitrag ist zum ersten Mal im Security-Newsletter der LANline, WEKA Fachmedien GmbH, erschienen. Sie können den Newsletter hier kostenlos abonnieren.
Referenzen:
[1] https://github.com/greatsuspender/thegreatsuspender/issues/1175
[2] https://www.bleepingcomputer.com/news/security/the-great-suspender-chrome-extensions-fall-from-grace/
[3] https://securityaffairs.co/wordpress/88093/hacking/ruby-strong_password-library-backdoor.html
[4] https://blog.reversinglabs.com/blog/mining-for-malicious-ruby-gems