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

 << zurück
C von A bis Z von Jürgen Wolf
Das umfassende Handbuch für Linux, Unix und Windows
– 2., aktualisierte und erweiterte Auflage 2006
Buch: C von A bis Z

C von A bis Z
1.116 S., mit CD, Referenzkarte, 39,90 Euro
Galileo Computing
ISBN 3-89842-643-2
gp Kapitel 25 Sicheres Programmieren
  gp 25.1 Buffer Overflow (Speicherüberlauf)
    gp 25.1.1 Speicherverwaltung von Programmen
    gp 25.1.2 Der Stack-Frame
    gp 25.1.3 Rücksprungadresse manipulieren
    gp 25.1.4 Gegenmaßnahmen zum Buffer Overflow während der Programmerstellung
    gp 25.1.5 Gegenmaßnahmen zum Buffer Overflow, wenn das Programm fertig ist
    gp 25.1.6 Programme und Tools zum Buffer Overflow
    gp 25.1.7 Ausblick
  gp 25.2 Memory Leaks (Speicherlecks)
    gp 25.2.1 Bibliotheken und Tools zu Memory Leaks
  gp 25.3 Tipps zu Sicherheitsproblemen


Galileo Computing - Zum Seitenanfang

25.3 Tipps zu Sicherheitsproblemen  toptop

Es gibt noch eine Menge weiterer Sicherheitsprobleme, welche Sie auf den ersten Blick gar nicht als solche erkennen können. Schließlich haben Sie keine Garantie, dass Ihr Programm vor allen Problemen geschützt ist, wenn Sie auf sichere Funktionen zurückgreifen.

Zum Abschluss des Kapitels folgt hier noch ein kleiner Leitfaden zum Thema Sicherheit. Wenn Sie diese Punkte beherzigen, sollten sich Sicherheitsprobleme auf ein Minimum reduzieren lassen.

gp  Vermeiden Sie Funktionen, die keine Längenprüfung der Ein- bzw. Ausgabe vornehmen (strcpy(), sprintf(), vsprintf(), scanf(), gets(), …).
gp  Verwenden Sie bei Funktionen, die eine formatierte Eingabe erwarten (etwa scanf()) eine Größenangabe (etwa %10s, %4d).
gp  Ersetzen Sie gegebenenfalls unsichere Funktionen durch selbst geschriebene (z.B. gets() durch mygets() …).
gp  Überprüfen Sie die Eingabe von der Tastatur auf zulässige Größe. Verlassen Sie sich nicht darauf, dass der Anwender schon das Richtige eingeben wird.
gp  Verwenden Sie die exec-Funktionen und system() nur mit konstanten Strings. Lassen Sie niemals den Anwender selbst einen String zusammenbasteln.
gp  Vergessen Sie bei der Funktion strlen() nicht, dass diese Funktion alle Zeichen ohne das Terminierungszeichen zählt. Beim Reservieren von Speicher müssen Sie dies berücksichtigen.
gp  Und der Klassiker: Die Anzahl der Elemente in einem Array und die Adressierung über den Index beginnt bei 0.
 << zurück
  
  Zum Katalog
Zum Katalog: C von A bis Z
C von A bis Z
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-UNIX-Programmierung






 Linux-UNIX-Programmierung


Zum Katalog: C/C++






 C/C++


Zum Katalog: UML 2.0






 UML 2.0


Zum Katalog: Reguläre Ausdrücke






 Reguläre Ausdrücke


Zum Katalog: Linux






 Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de