diff options
-rw-r--r-- | document.asciidoc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/document.asciidoc b/document.asciidoc index 08441b6..2643501 100644 --- a/document.asciidoc +++ b/document.asciidoc @@ -50,27 +50,31 @@ das Risiko der Angriffsmoeglichkeiten senken. == Standard-C-Bibliothek Viele Systemprogramme sind in der Programmiersprache ``C'' geschrieben. -Deren Standardbiblothek unterlag im Laufe der Zeit einer ganzen Reihe von +Deren Standardbibliothek unterlag im Laufe der Zeit einer ganzen Reihe von Veraenderungen, welche unter anderem die Sicherheit von Programmen erhoehten. Eines der groessten Probleme in ``C''-Programmen sind Funktionen zur Verarbeitung von Zeichenketten. -Da Zeichenketten hier im Gegensatz zu anderen Programmiersprachen nicht als -komplexes Objekt sondern als loser Speicherbereich betrachtet werden. +Dies ist der Abbildung der Zeichenketten geschuldet. Sie werden hier, im +Gegensatz zu anderen Programmiersprachen, nicht als komplexes Objekt, +sondern als loser Speicherbereich betrachtet. Somit muss ein Programmierer bei Zeichenketten immer den dahinterliegenden Speicherbereich und dessen Laenge bei jeder Operation bedenken. +//TODO: Hinleitung auf C-Funktion die durch folgendes "diesen" referenziert +//werden. + //Da dieses seit langer Zeit immer wieder fuer Sicherheitsprobleme sorgt, wurden //viele Funktionen neu geschrieben. Bei diesen Funktionen ist das Problem, dass diese die Laengen von Speicherbereichen nicht beachten. Dadurch kommt es schnell zu Pufferueberlaeufen und Zugriffen auf nicht allozierte Speicherbereiche. -Dadurch koennen Angreiffer eigenen Programmcode einschleusen und ausfuehren +Dadurch koennen Angreifer eigenen Programmcode einschleusen und ausfuehren lassen, sowie Programme zum Absturz bringen. -Als Fallbeispiel wird die Funktion +strcpy(3)+ erklaert. +Als Fallbeispiel wird das Problem anhand der Funktion +strcpy(3)+ erklaert. Diese Funktion wird dafuer benutzt um eine Zeichenkette von einem Speicherplatz zu einem anderen zu kopieren. Als Parameter bekommt die Funktion die Startadressen von Quelle und Ziel im @@ -86,7 +90,7 @@ Durch dieses Verhalten, kommt es immer wieder zu Pufferueberlaeufen, welche zu unvorhersagbaren Folgen fuer den weiteren Programmablauf fuehren. Um dieses Problem zu loesen wurden neue Zeichenkettenfunktionen in die -Standard-C-Bibliothek auf genommen, welche als Argument maximal Laengen +Standard-C-Bibliothek auf genommen, welche als Argument Maximallaengen uebergeben bekommen. [source,c] |