dwww Home | Manual pages | Find package

HARDENING-CHECK.DE(1)                                    HARDENING-CHECK.DE(1)

BEZEICHNUNG
       hardening-check - prüft Binärdateien auf
       Sicherheitshärtungsfunktionalitäten

ÜBERSICHT
       hardening-check [Optionen] [ELF …]

       untersucht einen angegebenen Satz von ELF-Binärdateien und prüft auf
       mehrere Sicherheitshärtungsfunktionalitäten. Das Programm schlägt fehl,
       wenn sie nicht alle gefunden werden.

BESCHREIBUNG
       Dieses Hilfswerkzeug prüft eine angegebene Liste von ELF-Binärdateien
       auf mehrere Sicherheitshärtungsfunktionalitäten, die in ein
       ausführbares Programm einkompiliert werden können. Diese
       Funktionalitäten sind:

       Positionsunabhängiges Programm
               Dies zeigt an, dass das Programm so gebaut wurde (PIE), dass
               der Abschnitt »text« des Programms nicht im Speicher an andere
               Stelle geschoben werden kann. Um die Vorteile dieser
               Funktionalität vollständig zu erlangen, muss der ausführende
               Kernel Address Space Layout Randomization (ASLR,
               Adressverwürfelung) unterstützen.

       Geschützter Stapelverarbeitungsspeicher
               Dies zeigt an, dass es Anzeichen gibt, dass das ELF mit der
               gcc(1)-Option -fstack-protector kompiliert wurde (benutzt z.B.
               __stack_chk_fail). Das Programm wird widerstandsfähig gegen
               Stapelverarbeitungsspeicherüberläufe sein.

               Wenn ein Programm gebaut wurde ohne dass irgendwelche
               Zeichenkettenfelder auf dem Stapelverarbeitungsspeicher
               reserviert wurden, wird diese Prüfung zu Fehlalarmen führen (da
               dort __stack_chk_fail nicht benutzt wird), obwohl es mit
               korrekten Optionen kompiliert wurde.

       Quellfunktionen verstärken
               Dies zeigt an, dass das Programm mit -D_FORTIFY_SOURCE=2 und
               -O1 oder höher kompiliert wurde. Dies sorgt dafür, dass
               bestimmte unsichere Glibc-Funktionen durch ihre sicheren
               Gegenstücke (z.B. strncpy statt strcpy) oder Aufrufe, die zur
               Laufzeit überprüfbar sind, durch die zur Laufzeit prüfende
               Version (z.B. __memcpy_chk statt memcpy) ersetzt werden.

               Wenn ein Programm so gebaut wird, dass die verstärkten
               Versionen der Glibc-Funktionen nicht nützlich sind (z.B.
               Benutzung wird zu Kompilierungszeit als sicher befunden oder
               die Benutzung kann nicht zur Laufzeit überprüft werden), wird
               diese Prüfung zu Fehlalarmen führen. Im Versuch, dies zu
               mildern, wird die Prüfung positiv abgeschlossen, falls eine
               verstärkte Funktion gefunden wird und fehlschlagen, falls nur
               unverstärkte Funktionen gefunden werden. Unprüfbare Bedingungen
               führen auch zu positiven Ergebnissen (z.B. es werden keine
               verstärkten Funktionen gefunden oder sie sind nicht gegen Glibc
               gelinkt).

       Nur lesende Verlagerungen
               Dies zeigt an, dass das Programm mit -Wl,-z,relro gebaut wurde,
               um ELF-Kennzeichen (RELRO) zu haben, die vom Laufzeit-Linker
               verlangen, dass er einige Bereiche der Verlagerungstabelle als
               »nur lesbar« kennzeichnet, falls sie aufgelöst waren, bevor die
               Verarbeitung begann. Dies vermindert die möglichen
               Speicherbereiche in einem Programm, die von einem Angreifer
               benutzt werden können, der mit einem Exploit erfolgreich
               Speicherinhalt verfälscht.

       Sofortanbindung
               Dies zeigt an, dass das Programm mit -Wl,-z,now gebaut wurde,
               um ELF-Kennzeichen (BIND_NOW) zu haben, die vom Laufzeit-Linker
               verlangen, dass er alle Verlagerungen auflöst, bevor die
               Programmausführung beginnt. Wenn es mit obigem RELRO kombiniert
               wurde, vermindert dies weitere Bereiche des Speichers, die für
               Angriffe, die dessen Inhalt verfälschen, zur Verfügung stehen.

OPTIONEN
       --nopie, -p
               erfordert nicht, dass die geprüften Binärdateien als PIE gebaut
               wurden.

       --nostackprotector, -s
               erfordert nicht, dass die geprüften Binärdateien mit
               Stapelverarbeitungsschutz gebaut werden.

       --nofortify, -f
               erfordert nicht, dass die geprüften Binärdateien mit Fortify
               Source gebaut werden.

       --norelro, -r
               erfordert nicht, dass die geprüften Binärdateien mit RELRO
               gebaut werden.

       --nobindnow, -b
               erfordert nicht, dass die geprüften Binärdateien mit BIND_NOW
               gebaut werden.

       --nocfprotection, -b
               Do not require that the checked binaries be built with control
               flow protection.

       --quiet, -q
               meldet nur Fehlschläge.

       --verbose, -v
               meldet Fehlschläge detailliert.

       --report-functions, -R
               zeigt nach dem Bericht alle externen Funktionen, die vom ELF
               benötigt werden.

       --find-libc-functions, -F
               statt des normalen Berichts wird die Libc für das erste ELF auf
               der Befehlszeile geortet und alle bekannten »verstärkten«
               Funktionen, die von der Libc exportiert werden, gemeldet.

       --color, -c
               aktiviert eingefärbte Statusausgabe.

       --lintian, -l
               schaltet das Berichten auf »lintian-check-parsable«-Ausgabe
               (durch Lintian auswertbare Ausgabe).

       --debug meldet während des Ausführung einige Fehlersuchausgaben.

       --help, -h, -?
               gibt eine kurze Hilfenachricht aus und wird beendet.

       --man, -H
               gibt die Handbuchseite aus und beendet sich.

RÜCKGABEWERT
       Wenn in allen geprüften Programmen alle Härtungsfunktionalitäten
       entdeckt wurden, wird dieses Programm mit einem Exit-Code von 0
       beendet. Falls irgendeine Prüfung fehlschlägt, wird der Exit-Code 1
       sein. Individuelle Prüfungen können über Befehlszeilenoptionen
       deaktiviert werden.

AUTOR
       Kees Cook <kees@debian.org>

COPYRIGHT UND LIZENZ
       Copyright 2009-2013 Kees Cook <kees@debian.org>.

       Dieses Programm ist freie Software; Sie können es unter den Bedingungen
       der GNU General Public License, Version 2 oder neuer, wie sie von der
       Free Software Foundation veröffentlicht wurde, weitergeben und/oder
       ändern.

SIEHE AUCH
       gcc(1), hardening-wrapper(1)

Debian-Hilfswerkzeuge             2023-10-20             HARDENING-CHECK.DE(1)

Generated by dwww version 1.15 on Sat Jun 29 01:34:27 CEST 2024.