Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Linux-UNIX-Programmierung von Jürgen Wolf
Das umfassende Handbuch – 2., aktualisierte und erweiterte Auflage 2006
Buch: Linux-UNIX-Programmierung

Linux-UNIX-Programmierung
1216 S., mit CD, 49,90 Euro
Rheinwerk Computing
ISBN 3-89842-749-8
gp Kapitel A Sicherheit unter Linux
  gp A.1 Viren und Trojaner
  gp A.2 Der Superuser (su)
  gp A.3 Überlaufen von Logfiles
  gp A.4 Zugriffsrechte auf Dateien
  gp A.5 Das SUID-Bit
  gp A.6 Programme ohne Ausführrechte
  gp A.7 Buffer Overflow (Pufferüberlauf)
  gp A.8 Race Condition
  gp A.9 Temporäre Dateien
  gp A.10 chroot
  gp A.11 Umgebungsvariablen
  gp A.12 Zugriffsrechte – häufig gemachte Fehler
  gp A.13 system() und popen()
  gp A.14 Offene Filedeskriptoren
  gp A.15 Core Dump
  gp A.16 SQL Injection
  gp A.17 Filedeskriptor-Überlauf mit select()

Kapitel A Sicherheit unter Linux

Ziel dieses Anhangs ist es, Sie in kürzeren Abschnitten auf mögliche Gefahren hinzuweisen, die mit der einen oder anderen Routine bzw. unbedachten Aktion verbunden sind.

Nichts liegt mir ferner, Ihnen jetzt eine umfassende Moralpredigt zum Thema »Sicherheit« zu halten. Doch gerade weil es für den Programmierer in der Praxis nicht so interessant erscheint (und häufig auch noch ein gewisser Zeitdruck vorhanden ist), sich während der Entwicklung auch noch damit zu befassen, wird es häufig vernachlässigt, so dass kein Tag vergeht, an dem eine »unautorisierte« Person wieder eine Sicherheitslücke in einem Programm gefunden hat. Zwar ist das Thema »Sicherheit« Bücher füllend – aber wenn Sie das beherzigen, was ich Ihnen hier predige, ist dies schon mal die halbe Miete – häufig reicht hierbei ein kleiner Denkanstoß aus. Vorausgesetzt natürlich, Sie sind mit Linux und der Programmierung bestens vertraut.


Hinweis   Ganz klar, das Thema hat eigentlich mehr Seiten verdient. Aber der Umfang des Buches erlaubt es mir nur, hier das Wichtigste zusammenzufassen. Daher finden Sie auf der Buch-CD ein Manuskript »Sicherheitsrelevante Programmierfehler«, welches mir mit freundlicher Genehmigung von Thomas Biege (SUSE LINUX AG, Security Support & Auditing) zur Verfügung gestellt wurde.



Rheinwerk Computing

A.1 Viren und Trojaner  toptop

Im Prinzip sind Sie bei normaler Anwendung des Systems von solchen Parasiten befreit. Es ist zwar möglich, sich einen Trojaner unter Linux einzufangen, aber dann muss der Anwender schon ziemlich ungeübt im Umgang mit Linux sein.

Selbst, wenn Sie einen Virus oder einen Trojaner auf Ihrem Rechner testen würden, weil Sie z. B. wissen, wie man eine Shell in C startet und eine Hintertür zum System gefunden haben, so dass es Ihnen gelingt, sich selbst auf dem Rechner (mittels root-Rechte) einen Virus (z. B. einen einfachen rekursiven rm-Befehl) »einzupflanzen«, Sie werden es zu 99 % nicht schaffen, denselben Vorgang bei einem anderen Rechner zu wiederholen. Jede Distribution von Linux (SUSE, RedHat, Mandrake, Gentoo, Debian etc.) hat eine etwas andere magische Zahl und auch sonstige andere Einstellungen (Bibliotheken, Verzeichnisse, Anwendungen und selbst der Desktop ist in der Regel sehr vielfältig). Einfach ausgedrückt, der Virenprogrammierer dürfte seine Probleme haben, einen portablen Virus zu erstellen.


Hinweis   An dieser Stelle sei angemerkt, dass es nicht unmöglich ist, einen Virus zu erstellen – sprich, je paranoider Sie sind, umso besser. So wäre ein einfacher (Shell-)Virus recht schnell mit einem einfachen rm erstellt. rm benötigt nur ld-linux.so.2 und libc.so.6, die (fast) überall vorhanden sind. Dann wäre da noch die Möglichkeit mit –static zu kompilieren, und wenn man weitere Bibliotheken benötigt, gibt es immer noch die Funktion dlopen().


Sie sollten allerdings darauf achten, woher Sie sich Ihre Software oder Bibliotheken beziehen. Denn es gibt dubiose Quellen, welche so genannte Rootkits in (auf dem ersten Blick) normaler Software einbauen. Dank Open Source ist es schließlich kein Problem, den Quellcode einer Anwendung zu modifizieren, da dieser ja offen vorliegt. Rootkits sind den Trojanern recht ähnlich und tarnen sich als Programmdatei oder als Kernelmodul. Ein gutes Rootkit enthält zum Beispiel einen Keylogger zum mit Protokolieren, was der Anwender denn so alles eingibt.


Hinweis   Einer sehr guten Keylogger findet man auch der Webseite http://linux01.org:2222/prog-ttyrpld.php – unumgänglich für den Normaluser des Kernelmoduls. Typisch, funktioniert auch mit SSH etc., siehe Homepage.


 << zurück
  
  Zum Rheinwerk-Shop
Neuauflage: Linux-UNIX-Programmierung
Neuauflage:
Linux-UNIX-
Programmierung

bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: Linux-Server






 Linux-Server


Zum Rheinwerk-Shop: Das Komplettpaket LPIC-1 & LPIC-2






 Das Komplettpaket
 LPIC-1 & LPIC-2


Zum Rheinwerk-Shop: Linux-Hochverfügbarkeit






 Linux-
 Hochverfügbarkeit


Zum Rheinwerk-Shop: Shell-Programmierung






 Shell-
 Programmierung


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
Info





Copyright © Rheinwerk Verlag GmbH 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern