Open Source im professionellen Einsatz
Newsletter abonnieren
HEFTARCHIV | NEWS | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO

Partner-Links:
Yatego Shopping
Notebook Themenwelt
 
Yatego Deutschlands größte Shoppingmall. Über 8500 Shops, und 3 Mio Artikel.
Alle Bestseller, Gutscheine
und Shopping Tops.

Firewall bei Mercateo kaufen.

Ein Preisvergleich bei Hardware lohnt sich.

Sie suchen günstige Laptops? Schauen Sie doch mal bei Preisvergleich.org, Preisvergleich.eu, Preisvergleich.ch und Preisvergleich.at vorbei.

Linux Jobs

Job offers Netherlands


user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2007  »  09  »  Druckerschwärze  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

© Michal Mrozek, Fotolia

Sicherheitsschwachstellen bei der Installation von proprietärer Software finden

Druckerschwärze

von Nils Magnus
Erschienen im Linux-Magazin 2007/09

Schwachstellen im Quellcode finden ist schon schwierig - richtig heikel wird es bei Closed-Source-Software. Der Fall der Schwachstelle in einem Druckertreiber zeigt exemplarisch, wie sicherheitsbewusste Administratoren diabolische Details deutlicher Dummheiten detektieren.

Ein Gespenst geht um in der Unix-Welt, das Gespenst immer neuer SUID-Vorfälle. Dieses Flag sorgt dafür, dass Programmdateien unter den Rechten des Besitzers und nicht unter denen des ausführenden Anwenders laufen. Dadurch erhalten auch normale Benutzer vorübergehend Root-Rechte. Beispielsweise muss das »ping«-Kommando besondere Pakete kreieren, was einem Benutzer gemeinhin verwehrt bleibt. Daher hat das Tool ein SUID-Flag und gehört dem User Root. Zu dessen Sonderrecht gehört aber auch die Pflicht, seine Rechte nicht für andere Zwecke zu missbrauchen oder dies dem Anwender zu gestatten.

Solange die Befehle ihre ursprüngliche Funktion beibehalten, ist die Welt in Ordnung. Doch wehe, ein Angreifer lockt die Werkzeuge vom rechten Pfad. Manche Programme erweisen sich hier als viel zu leichte Gegner. So geschehen beim letzten Installationstool für Samsung-Drucker: Das gut gemeinte Programm verstößt gegen die einfachsten Grundprinzipien sicherer Software und erweist sich im Testlabor als unerwartetes Risiko.

Samsung hat offenbar erkannt, dass auch Anhänger freier Software potenzielle Kunden seiner Drucker sind. Das Unternehmen bietet daher mit dem Unified Linux Driver ein Hilfsmittel an, das die Angebotspalette seiner Drucker mit dem Linux-Drucksystem Cups vertraut macht [1]. Das gut 20 MByte große Tar-Archiv liegt auf der Firmenwebsite zum Download bereit. Nach dem Entpacken, so die Anleitung, sei »./cdroot/autorun« als Root auszuführen.

Root-Gefahr

Hier klingeln bei einem besorgten Administrator schon die ersten Glöckchen, wenn sein Gehörgang nicht durch zu viele gerade absolvierte Installationsrunden, die alle das Gleiche forderten, betäubt wurde. Immerhin räumen die Root-Rechte dem Installer umfassende Vollmachten auf dem System ein. Um das Klingeln abzustellen, empfiehlt es sich, die Installer-Routinen zu inspizieren. Dabei fällt auf, dass dieses Programm zunächst aus Shellskripten besteht. Um den Ausführungspfad unter die Lupe zu nehmen, hilft es, folgendes Kommando zu Beginn des Skripts einzufügen:

set -x

Fortan protokolliert das Tool alle Shellaufrufe auf der Standardausgabe. Eine rasche Durchsicht offenbart, dass der Installer zunächst Pfade untersucht, die Linux-Distribution detektiert und einige Systembibliotheken substituiert.

Hier stutzt jeder Admin: Als wäre eine ganze Dekade an Softwareverteilung mit RPM- und Debian-Paketen aus dem Lauf der Geschichte radiert worden, kopiert der Installer eine ihm genehme Version der »libstdc++« mitten in die Systemverzeichnisse und umgeht somit das Paketmanagement. Damit schrumpft die Chance auf eine spätere Deinstallation erheblich und sie entzieht sich geordneten Sicherheitsupdates.

Closed-Source-Teil

Die letzten Zeilen des Protokolls offenbaren noch, dass das Skript nach den Installationen von Ghostscript, Scanner-Verwaltung Sane, Drucksystem Cups und Open Office sucht. Danach startet es den grafischen Teil des Installers, zu dem keine Quellen vorliegen. Unklar bleibt zunächst, wozu das Skript nach den erwähnten Anwendungen sucht. Das weckt die detektivische Neugier des Systemverwalters.

Um trotz fehlender Quellen hinter die Kulissen zu schauen, klemmt sich »strace« [2] in die Schnittstelle zwischen Userspace und Kernel. Das Werkzeug protokolliert alle Systemaufrufe, die ein Programm auslöst. Folgender Aufruf startet die Analyse:

strace -o out.txt -f ./cdroot/autorun

Die Option »-o« speichert die entstehende Datenflut in die Datei »out.txt«. Da der Installer vermutlich mehrere Prozesse startet, protokolliert »strace« mit der Option »-f« auch die Aufrufe aller Kindprozesse.

Die Ausführung des Installers ficht die Überwachungsmaßnahmen nicht an. Im verwendeten Kubuntu-Testsystem führt ein Wizard (Abbildung 1) komfortabel durch die Auswahl des Druckermodells sowie der Anschlüsse und macht diese erfolgreich beim Drucksystem Cups bekannt. Die eigentlichen Probleme bleiben im Verborgenen. Nun gilt es, mögliche Schwachstellen im Heuhaufen der Log-Einträge zu lokalisieren.


Abbildung 1: Dass der grafische Installer Berechtigungen verbiegt, kündigt er ironischerweise sogar als »Fixing file ownerschip and permissions« an.

Von den gut 1,6 Millionen Protokollzeilen interessieren nur jene, die sich nachhaltig auf das Gesamtsystem auswirken. Besonderen Argwohn wecken Änderungen der Zugriffsrechte, gerade wenn die geänderten Dateien nicht zum Drucksystem gehören (Abbildung 2). Eine Suche nach dem Namen des Systemaufrufs »chmod« liefert gut 350 Treffer, die meisten davon sind aber unkritisch.


Abbildung 2: Strace und Grep decken auf: Hier setzt der Installer eigenmächtig SUID-Bits auf Programme, die damit zu universellen Einbruchstools mutieren.

Sie können diesen Artikel als PDF für 99 Cent kaufen. Klicken Sie dazu einfach auf eine der beiden Bezahloptionen Paypal oder ClickandBuy.


Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Fit fürs Web 1.0 LPIC-1-Vorbereitung - Teil 19: Apache
So Smart Nokias Linux-Handy N 900 im Test
App die Post Die Lieblingsapplikationen der Redaktion
Tooltipps Werkzeuge im Kurztest
Die Tickets, bitte! OTRS für Produktivsysteme selbst anpassen
Kern-Technik Kernel- und Treiberprogrammierung mit dem Kernel 2.6 - Folge 39
Whitepaper
The Role of Open Source in Data Integration

Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.

Download PDF (Registrierung erforderlich)
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)

Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Kommentare (0)
 

Impressum |Datenschutzerklärung  | Mediadaten  | © 2010Linux New Media AG
Linux New Media Websites
Deutschland: [Admin-Magazin] [LinuxUser] [EasyLinux] [Linux-Community] [Linux Technical Review] [Ubuntu User]
Europa: [EasyLinux Polen] [Linux Magazine Polen] [Linux Magazine Spanien]
International: [Linux Magazine International] [Linux Pro Magazine] [Ubuntu User] [Linux Magazine Brasilien] [EasyLinux Brasilien]