Provided by: devscripts_2.20.2ubuntu2_amd64 bug

NOM

       hardening-check - Vérifier les binaires pour des fonctionnalités de sécurisation

SYNOPSIS

       hardening-check [options] [ELF ...]

       Examiner un ensemble donné de binaires ELF et rechercher plusieurs fonctions de sécurisation, échouant si
       toutes ne sont pas trouvées.

DESCRIPTION

       Cet utilitaire recherche dans un ensemble de binaires ELF plusieurs fonctionnalités de sécurisation qui
       peuvent avoir été compilées dans un exécutable. Ces fonctionnalités sont :

       Position Independent Executable
               Cela  indique que l'exécutable a été construit d'une manière telle (PIE) que la section « texte »
               du programme peut être transférée en mémoire. Pour tirer avantage  de  cette  fonctionnalité,  le
               noyau  exécuté  doit prendre en charge la distribution aléatoire de l'espace d'adressage (Address
               Space Layout Randomization – ASLR) de texte.

       Stack Protected
               Cela indique qu'il y a des indices que l'ELF a été compilé  avec  l'option  -fstack-protector  de
               gcc(1)  (par exemple utilisation de __stack_chk_fail). Le programme sera résistant au dépassement
               de pile.

               Quand un exécutable a été construit sans qu'une table de caractères ne soit allouée dans la pile,
               cette recherche mènera à des fausses alertes  (dans  la  mesure  où  __stack_chk_fail  n'est  pas
               utilisé), même s'il a été compilé avec les bonnes options.

       Fortify Source functions
               Cela  indique  que  l'exécutable  a  été  compilé  avec  -D_FORTIFY_SOURCE=2 et -O1 ou plus. Cela
               provoque le remplacement de certaines fonctions non sûres de glibc  par  leurs  équivalents  plus
               sûrs (par exemple strncpy à la place de strcpy) , ou remplace des appels vérifiables au moment de
               l'exécution par des versions runtime-check (par exemple __memcpy_chk à la place de memcpy).

               Quand un exécutable a été construit de telle manière que les versions renforcées des fonctions de
               glibc  ne  sont  pas  utiles  (par exemple, l'utilisation est vérifiée comme sûre au moment de la
               compilation, ou l'utilisation ne  peut  pas  être  vérifiée  au  moment  de  l'exécution),  cette
               recherche  mènera à de fausses alertes. Pour tenter de pallier cela, la recherche réussira si une
               fonction renforcée est découverte, et échouera si uniquement des fonctions  non  renforcées  sont
               découvertes.  Les  conditions non vérifiables réussissent aussi (par exemple, aucune fonction qui
               peut être renforcée n'est trouvée, ou n'est pas liée à glibc).

       Read-only relocations
               Cela indique que l'exécutable a  été  construit  avec  les  options  -Wl,-z,relro  pour  que  les
               marquages ELF (RELRO) demandent que l'éditeur de liens au moment de l'exécution marque toutes les
               zones  de  la  table  de  réadressage en « lecture seule » si les translations d'adresses ont été
               résolues avant le début de l'exécution. Cela réduit le nombre de zones de mémoire d'un  programme
               qui peuvent être utilisées par un attaquant pour réaliser une exploitation efficace de corruption
               de mémoire.

       Immediate binding
               Cela  indique que l'exécutable a été construit avec les options -Wl,-z,now pour que les marquages
               ELF (BIND_NOW) demandent que l'éditeur de liens au  moment  de  l'exécution  résolve  toutes  les
               réadressages  avant  de  démarrer  l'exécution  du  programme.  Si cette option est combinée avec
               l'option RELRO ci-dessus, cela réduit encore davantage  les  zones  de  mémoire  accessibles  aux
               attaques par corruption de mémoire.

OPTIONS

       --nopie, -p
               N'exige pas que les exécutables vérifiés soient construits comme PIE.

       --nostackprotector, -s
               N'exige pas que les exécutables vérifiés soient construits avec le protecteur de pile.

       --nofortify, -f
               N'exige pas que les exécutables vérifiés soient construits avec Fortify Source.

       --norelro, -r
               N'exige pas que les exécutables vérifiés soient construits avec RELRO.

       --nobindnow, -b
               N'exige pas que les exécutables vérifiés soient construits avec BIND_NOW.

       --quiet, -q
               Ne fournir que des rapports d'échec.

       --verbose, -v
               Fournir des rapports d'échec verbeux.

       --report-functions, -R
               Après le rapport, afficher toutes les fonctions externes nécessaires à l'ELF.

       --find-libc-functions, -F
               Au  lieu  de  faire  un  rapport  normal,  localiser  le libc pour le premier ELF sur la ligne de
               commande et rapporter toutes les fonctions « renforcées » exportées par libc.

       --color, -c
               Activer les sorties d'état colorées.

       --lintian, -l
               Changer les rapports pour une sortie analysable par une vérification de lintian.

       --debug Rapporter des données de débogage durant le traitement.

       --help, -h, -?
               Afficher un message d'aide bref et quitter.

       --man, -H
               Afficher la page de manuel et quitter.

VALEUR DE RETOUR

       Quand toutes les fonctionnalités de sécurisation vérifiables des exécutables examinés ont été  détectées,
       ce programme s'achève avec un code de sortie de « 0 ». Si une vérification échoue, le code de sortie sera
       « 1 ». Les vérifications individuelles peuvent être désactivées avec des options en ligne de commande.

AUTEUR

       Kees Cook <kees@debian.org>

COPYRIGHT ET LICENCE

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

       Ce programme est un logiciel libre ; il est permis de le distribuer et/ou de le modifier selon les termes
       de  la  GNU  General  Public  License,  telle  que  publiée par la Free Software Foundation, version 2 ou
       ultérieure.

VOIR AUSSI

       gcc(1), hardening-wrapper(1)

TRADUCTION

       Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>, 2006

       Thomas Huriaux <thomas.huriaux@gmail.com>, 2006

       David Prévot <david@tilapin.org>, 2010-2013

Utilitaires Debian                                 2020-02-13                              HARDENING-CHECK.FR(1)