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

From: Benedict Reuschling <bcr(at)doc.bsdgroup.de>
Date: Mon, 1 Jun 2009 21:26:26 GMT

bcr 2009-06-01 21:26:26 UTC

  FreeBSD German Documentation Repository

  Modified files:
    books/developers-handbook/secure chapter.sgml
  Log:
  MFen 1.29
  ProPolice in den Abschnitt über Pufferüberläufe eingefügt.
  
  s/ihres Programme/ihrer Programme/
  in einer Überschrift.
  
  Revision Changes Path
  1.13 +28 -59 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.12
  retrieving revision 1.13
  diff -u -I$FreeBSDde.*$ -r1.12 -r1.13
  --- chapter.sgml 1 Jun 2009 20:59:48 -0000 1.12
  +++ chapter.sgml 1 Jun 2009 21:26:26 -0000 1.13
  @@ -3,8 +3,8 @@
        The FreeBSD German Documentation Project
   
        $FreeBSD: doc/de_DE.ISO8859-1/books/developers-handbook/secure/chapter.sgml,v 1.1 2009/02/14 22:06:23 miwi Exp $
  - $FreeBSDde: de-docproj/books/developers-handbook/secure/chapter.sgml,v 1.12 2009/06/01 20:59:48 bcr Exp $
  - basiert auf: 1.28
  + $FreeBSDde: de-docproj/books/developers-handbook/secure/chapter.sgml,v 1.13 2009/06/01 21:26:26 bcr Exp $
  + basiert auf: 1.29
   -->
   
   <chapter id="secure">
  @@ -73,18 +73,9 @@
   
         <indexterm><primary>Morris Internetwurm</primary></indexterm>
   
  - funktioniert der gleiche grundlegende Angriff noch heute. Von
  - den 17 CERT-Sicherheitsmeldungen wurden 1999 zehn
  -
  - <indexterm>
  - <primary>CERT</primary>
  - <secondary>Sicheitshinweise</secondary>
  - </indexterm>
  -
  - direkt durch Puffer-&Uuml;berl&auml;ufe in der Software
  - verursacht. Die bei weitem h&auml;ufigste Form eines
  - Puffer-&Uuml;berlauf-Angriffs basiert darauf, den Stack
  - zu korrumpieren.</para>
  + funktioniert der gleiche grundlegende Angriff noch heute. 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>
  @@ -317,56 +308,34 @@
             Quelltext, der allgemein verwendet wird und blind Speicher
             umherkopiert, ohne eine der gerade besprochenen Funktionen,
             die Begrenzungen unterst&uuml;tzen, zu verwenden.
  - Gl&uuml;cklicherweise gibt es eine weitere L&ouml;sung.
  - Verschiedene Compiler-Erweiterungen und Bibliotheken
  - &uuml;berpr&uuml;fen die Grenzen in C/C++ zur
  - Laufzeit.</para>
  + Gl&uuml;cklicherweise gibt es einen Weg, um solche Angriffe zu
  + verhindern - &Uuml;berpr&uuml;fung der Grenzen zur Laufzeit, die in
  + verschiedenen C/C++ Compilern eingebaut ist.</para>
   
  + <indexterm><primary>ProPolice</primary></indexterm>
           <indexterm><primary>StackGuard</primary></indexterm>
           <indexterm><primary>GCC</primary></indexterm>
   
  - <para>StackGuard ist eine solche Erweiterung, die als
  - kleiner Patch f&uuml;r den GCC-Code-Generator
  - implementiert ist. Von der <ulink
  - url="http://immunix.org/stackguard.html">StackGuard
  - Webseite</ulink> (&uuml;bersetzt):
  -
  - <blockquote>
  - <para>"StackGuard erkennt und verhindert
  - Stack-Smashing-Angriffe, indem es die
  - R&uuml;cksprungadresse auf dem Stack davor
  - sch&uuml;tzt, ge&auml;ndert zu werden. StackGuard
  - platziert ein "Canary"-Wort (Anmerkung des
  - &Uuml;bersetzers: Kanarienvogel, nach einer
  - Sicherheitsvorkehrung von Bergleuten, um Gas
  - fr&uuml;hzeitig zu erkennen, ein Wort ist hier
  - ein 32-Bit-Speicherblock) neben der
  - R&uuml;cksprungadresse, wenn eine Funktion aufgerufen
  - wird. Wenn das Canary bei der R&uuml;ckkehr der
  - Funktion ge&auml;ndert wurde, reagiert das Programm
  - auf den Versuch eines Stack-Smashing-Angriffs,
  - schickt eine Benachrichtigung an Syslog und
  - h&auml;lt dann an."</para>
  - </blockquote>
  -
  - <blockquote>
  - <para>"StackGuard ist als ein kleiner Patch f&uuml;r
  - den GCC-Code-Generator implementiert, um genau zu
  - sein, f&uuml;r die Routinen function_prolog() und
  - function_epilog().
  - function_prolog() wurde erweitert, um Canaries beim
  - Start einer Funktion auf den Stack zu legen und
  - function_epilog() &uuml;berpr&uuml;ft die
  - Integrit&auml;t des Canaries beim Beenden der
  - Funktion. Jeder Versuch, die R&uuml;cksprungadresse
  - zu &auml;ndern, wird daher erkannt, bevor die
  - Funktion zur&uuml;ckkehrt."</para>
  - </blockquote>
  - </para>
  + <para>ProPolice ist eine solche Compiler-Eigenschaft und ist in den
  + &man.gcc.1; Versionen 4.1 und h&ouml;her integriert. Es ersetzt und
  + erweitert die &man.gcc.1; StackGuard-Erweiterung von
  + fr&uuml;her.</para>
  +
  + <para>ProPolice sch&uuml;tzt gegen stackbasierte
  + Puffer&uuml;berl&auml;ufe und andere Angriffe durch das Ablegen von
  + Pseudo-Zufallszahlen in Schl&uuml;sselbereichen des Stacks bevor es
  + irgendwelche Funktionen aufruft. Wenn eine Funktion beendet wird,
  + werden diese <quote>Kanarienv&ouml;gel</quote> &uuml;berpr&uuml;ft
  + und wenn festgestellt wird, dass diese ver&auml;ndert wurden wird das
  + Programm sofort abgebrochen. Dadurch wird jeglicher Versuch, die
  + R&uuml;cksprungadresse oder andere Variablen, die auf dem Stack
  + gespeichert werden, durch die Ausf&uuml;hrung von Schadcode zu
  + manipulieren, nicht funktionieren, da der Angreifer auch die
  + Pseudo-Zufallszahlen unber&uuml;hrt lassen m&uuml;sste.</para>
   
           <indexterm><primary>Puffer-&Uuml;berlauf</primary></indexterm>
   
  - <para>Ihre Anwendungen mit StackGuard neu zu kompilieren ist
  + <para>Ihre Anwendungen mit ProPolice neu zu kompilieren ist
             eine effektive Ma&szlig;nahme, um sie vor den meisten
             Puffer-&Uuml;berlauf-Angriffen zu sch&uuml;tzen, aber die
             Programme k&ouml;nnen noch immer kompromittiert werden.</para>
  @@ -450,7 +419,7 @@
     </sect1>
   
     <sect1 id="secure-chroot">
  - <title>Die Umgebung ihres Programme einschr&auml;nken</title>
  + <title>Die Umgebung ihrer Programme einschr&auml;nken</title>
   
       <indexterm><primary>chroot()</primary></indexterm>
   
  @@ -468,8 +437,8 @@
         aus der chroot-Umgebung ausbrechen kann, wenn er root-Rechte
         besitzt. Das kann man erreichen, indem man Ger&auml;tedateien
         anlegt, um Kernel-Speicher zu lesen, oder indem man einen
  - Debugger mit einem Prozess au&szlig;erhalb seines
  - Gef&auml;ngnisses verbindet, oder auf viele andere
  + Debugger mit einem Prozess au&szlig;erhalb seiner
  + &man.chroot.8;-Umgebung verbindet, oder auf viele andere
         kreative Wege.</para>
   
       <para>Das Verhalten des Systemaufrufs
  

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Mon 01 Jun 2009 - 23:26:43 CEST

search this site