cvs commit: de-docproj/books/developers-handbook/secure chapter.sgml

From: Aron Schlesinger <as(at)doc.bsdgroup.de>
Date: Sat, 4 Aug 2007 03:05:21 GMT

as 2007-08-04 03:05:20 UTC

  FreeBSD ports repository

  Modified files:
    books/developers-handbook/secure chapter.sgml
  Log:
  Ubersetzung vom Kapitel 3 von Nornagest
  
  Revision Changes Path
  1.2 +522 -400 de-docproj/books/developers-handbook/secure/chapter.sgml
  
  Index: chapter.sgml
  ===================================================================
  RCS file: /home/cvs/de-docproj/books/developers-handbook/secure/chapter.sgml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -I$FreeBSDde.*$ -r1.1 -r1.2
  --- chapter.sgml 1 Aug 2007 19:18:33 -0000 1.1
  +++ chapter.sgml 4 Aug 2007 03:05:20 -0000 1.2
  @@ -6,165 +6,192 @@
        basiert auf: 1.27
   -->
   
  - <chapter id="secure">
  - <chapterinfo>
  - <authorgroup>
  - <author>
  - <firstname>Murray</firstname>
  - <surname>Stokely</surname>
  - <contrib>Contributed by </contrib>
  - </author>
  - </authorgroup>
  - </chapterinfo>
  + <chapter id="secure">
  + <chapterinfo>
  + <authorgroup>
  + <author>
  + <firstname>Murray</firstname>
  + <surname>Stokely</surname>
  + <contrib>Contributed by </contrib>
  + </author>
  + </authorgroup>
  + </chapterinfo>
   
  - <title>Secure Programming</title>
  + <title>Sicheres Programmieren</title>
         
  - <sect1 id="secure-synopsis"><title>Synopsis</title>
  -
  - <para>This chapter describes some of the security issues that
  - have plagued &unix; programmers for decades and some of the new
  - tools available to help programmers avoid writing exploitable
  - code.</para>
  - </sect1>
  -
  - <sect1 id="secure-philosophy"><title>Secure Design
  - Methodology</title>
  -
  - <para>Writing secure applications takes a very scrutinous and
  - pessimistic outlook on life. Applications should be run with
  - the principle of <quote>least privilege</quote> so that no
  - process is ever running with more than the bare minimum access
  - that it needs to accomplish its function. Previously tested
  - code should be reused whenever possible to avoid common
  - mistakes that others may have already fixed.</para>
  -
  - <para>One of the pitfalls of the &unix; environment is how easy it
  - is to make assumptions about the sanity of the environment.
  - Applications should never trust user input (in all its forms),
  - system resources, inter-process communication, or the timing of
  - events. &unix; processes do not execute synchronously so logical
  - operations are rarely atomic.</para>
  - </sect1>
  -
  - <sect1 id="secure-bufferov"><title>Buffer Overflows</title>
  -
  - <para>Buffer Overflows have been around since the very
  - beginnings of the Von-Neuman <xref linkend="COD"> architecture.
  -
  - <indexterm><primary>buffer overflow</primary></indexterm>
  - <indexterm><primary>Von-Neuman</primary></indexterm>
  -
  - They first gained widespread notoriety in 1988 with the Morris
  - Internet worm. Unfortunately, the same basic attack remains
  + <sect1 id="secure-synopsis">
  + <title>Synopsis</title>
   
  - <indexterm><primary>Morris Internet worm</primary></indexterm>
  -
  - effective today. Of the 17 CERT security advisories of 1999, 10
  + <para>Dieses Kapitel beschreibt einige Sicherheitsprobleme,
  + die &unix;-Programmierer seit Jahrzehnten qu&auml;len und
  + inzwischen verf&uuml;gbare Werkzeuge, die Programmierern
  + helfen, Sicherheitsl&uuml;cken in ihrem Quelltext zu
  + vermeiden
  + </para>
  +
  + </sect1>
   
  - <indexterm>
  - <primary>CERT</primary><secondary>security advisories</secondary>
  - </indexterm>
  + <sect1 id="secure-philosophy">
  + <title>Methoden des sicheren Entwurfs</title>
   
  - of them were directly caused by buffer-overflow software bugs.
  - By far the most common type of buffer overflow attack is based
  - on corrupting the stack.</para>
  -
  - <indexterm><primary>stack</primary></indexterm>
  - <indexterm><primary>arguments</primary></indexterm>
  -
  - <para>Most modern computer systems use a stack to pass arguments
  - to procedures and to store local variables. A stack is a last
  - in first out (LIFO) buffer in the high memory area of a process
  - image. When a program invokes a function a new "stack frame" is
  + <para>Sichere Anwendungen zu schreiben erfordert eine sehr
  + skeptische und pessimistische Einstellung zum Leben.
  + Anwendungen sollten nach dem Prinzip der
  + <quote>geringsten Privilegien</quote> ausgef&uuml;hrt
  + werden, sodass kein Prozess mit mehr als dem absoluten
  + Minimum an Zugriffsrechten arbeitet, die er zum
  + erf&uuml;llen seiner Aufgabe ben&ouml;tigt. Wo es
  + m&ouml;glich ist,sollte Quelltext, der bereits
  + &uuml;berpr&uuml;ft wurde, wiederverwendet werden, um
  + h&auml;ufige Fehler, die andere schon korrigiert haben,
  + zu vermeiden.
  + </para>
  +
  + <para>Eine der Stolperfallen der &unix;-Umgebung ist, dass es
  + sehr einfach ist Annahmen über die Gesundheit der Umgebung
  + zu machen. Anwendungen sollten Nutzereingaben (in allen
  + Formen) niemals trauen, ebenso, wie System-Ressourcen,
  + Inter-Prozess-Kommunikation oder dem zeitlichen Ablauf von
  + Ereignissen. &unix;-Prozesse arbeiten nicht synchron. Daher
  + sind logische Operationen selten atomar.
  + </para>
  + </sect1>
  +
  + <sect1 id="secure-bufferov">
  + <title>Puffer-&Uuml;brl&auml;ufe</title>
  +
  + <para>Puffer-&Uuml;berl&auml;ufe gibt es sch&ouml;n seit den
  + Anf&auml;ngen der Von-Neuman-Architektur <xref linkend="COD">.
  +
  + <indexterm><primary>Puffer-&Uuml;berlauf</primary></indexterm>
  + <indexterm><primary>Von-Neuman</primary></indexterm>
  +
  + Sie fanden zum ersten Mal verbreitete Beachtung, durch den
  + Internetwurm Morris im Jahr 1988. Ungl&uuml;cklicherweise
  +
  + <indexterm><primary>Morris Internetwurm</primary></indexterm>
  +
  + funktioniert der gleiche grundlegende Angriff noch heute. Von
  + den 17 CERT Sicherheitshinweisen im Jahr 1999, wurden zehn
  +
  + <indexterm>
  + <primary>CERT</primary>
  + <secondary>Sicheitshinweise</secondary>
  + </indexterm>
  +
  + direkt durch Puffer-&Uuml;berl&auml;ufe in Software
  + verursacht. Die bei weitem h&auml;ufigste Form eines
  + Puffer-&Uuml;berlauf-Angriffs basiert darauf den Stack zu
  + korrumpieren.
  + </para>
  +
  + <indexterm><primary>Stack</primary></indexterm>
  + <indexterm><primary>Arguments</primary></indexterm>
  +
  + <para>Die meisten modernen Computer-Systeme verwenden einen
  + Stack, um Argumente an Prozeduren zu &uuml;bergeben und
  + lokale Variable zu speichern. Ein Stack ist ein
  + last-in-first-out-Puffer (LIFO) im hohen Speicherbereich
  + eines Prozessabbilds. Wenn ein Programm eine Funktion
      
  - <indexterm><primary>LIFO</primary></indexterm>
  - <indexterm>
  - <primary>process image</primary>
  - <secondary>stack pointer</secondary>
  - </indexterm>
  -
  - created. This stack frame consists of the arguments passed to
  - the function as well as a dynamic amount of local variable
  - space. The "stack pointer" is a register that holds the current
  -
  - <indexterm><primary>stack frame</primary></indexterm>
  - <indexterm><primary>stack pointer</primary></indexterm>
  -
  - location of the top of the stack. Since this value is
  - constantly changing as new values are pushed onto the top of the
  - stack, many implementations also provide a "frame pointer" that
  - is located near the beginning of a stack frame so that local
  - variables can more easily be addressed relative to this
  - value. <xref linkend="COD"> The return address for function
  + <indexterm><primary>LIFO</primary></indexterm>
  + <indexterm>
  + <primary>Prozessabbild</primary>
  + <secondary>Stack-Pointer</secondary>
  + </indexterm>
   
  - <indexterm><primary>frame pointer</primary></indexterm>
  - <indexterm>
  - <primary>process image</primary>
  - <secondary>frame pointer</secondary>
  - </indexterm>
  - <indexterm><primary>return address</primary></indexterm>
  - <indexterm><primary>stack-overflow</primary></indexterm>
  + aufruft, wird eine neuer "Stack-Frame" erzeugt. Dieser
  + besteht aus den Argumenten, die der Funktion &uuml;bergeben
  + wurden und einer dynamischen Speichermenge f&uuml;r lokale

----------------------------------------------
Diff block truncated. (Max lines = 200)
----------------------------------------------

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Sat 04 Aug 2007 - 05:06:42 CEST

search this site