De la méthode de protection NX (pour No eXecute), à l'ASLR (Address Space Layout Randomization) remplissant aléatoirement des zones mémoire ou variables liées aux processus, en passant par les "Stack canaries" destinés à empêcher les dépassement de tampon, nombre de protections standard existent.
Mais comment savoir si ces protections additionnelles, activées la plupart du temps sans l'aval de l'utilisateur final, sont réellement effectives ou si leur mise en œuvre est plutôt aléatoire au sein du système ?
C'est dans cet esprit que Tobias Klein (de TRAPKIT.de) a écrit le script checksec.sh, avoir en quelques commandes l'état de protection/d'activation sur processus et exécutables (ou processus en cours), librairies liées ou exécutables d'un dossier.
Les commandes disponibles
checksec.sh --proc
checksec.sh --proc-all
checksec.sh --proc-libs
checksec.sh --file
checksec.sh --dir
Le script checksec.sh est intéressant pour apprécier le niveau de solidité d'une distribution par défaut, peut-être raison pour laquelle la distribution Tin Hat l'a adopté récemment et intégré au système .
Aller plus loin
- trapkit.de - checksec (59 clics)
- Source : Abc de la sécurité informatique (45 clics)
# Protection de Linux ? ou GNU/Linux ?
Posté par bghflt (site web personnel) . Évalué à 6.
[^] # Re: Protection de Linux ? ou GNU/Linux ?
Posté par gasche . Évalué à 10.
En plus, la licence est moisie, c'est une BSD avec clause de publicité !
# Intéressant
Posté par octane . Évalué à 4.
Notamment, mes binaires n'ont pas de canary, alors que je pensais le contraire.. (sshd est le seul a avoir le canary :) )
Ceci dit, ce genre de soft demanderait une doc expliquant les termes;
RELRO, je ne vois pas trop ce dont il s'agit, PÏE, etc, les avantages et inconvénients de les mettre en oeuvre ça serait bien.
J'ai par exemple des 'partial RELRO' (???)
Sur une machine non x86, aucun executable n'est indiqué comme ELF :-) ce qui semble être une erreur..
[^] # Re: Intéressant
Posté par Etienne Bagnoud (site web personnel) . Évalué à 3.
nscd Full RELRO Canary found NX enabled PIE enabled
cupsd No RELRO Canary found NX enabled No PIE
smbd Partial RELRO No canary found NX enabled No PIE
nmbd Partial RELRO No canary found NX enabled No PIE
dbus-daemon Partial RELRO No canary found NX enabled PIE enabled
sshd No RELRO Canary found NX enabled PIE enabled
Ce serait bien de tenir un annuaire des distributions et de logiciels
"It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell
[^] # Re: Intéressant
Posté par vladislav askiparek . Évalué à 10.
ça tombe bien, il y a du soleil ~~~~~~>[¨]
[^] # Re: Intéressant
Posté par habana . Évalué à 5.
- RELRO signifie relocation table read-only.
Activé lors de la compilation, la différence entre Partial RELRO et Full RELRO est au niveau de la GOT (global offset table). Si compilé avec Full RELRO, la GOT est en lecture seule alors qu'en partial RELRO, la GOT est en lecture / écriture.
-PIE pour Position Independent Executables ,activé lors de la compilation, ralentit fortement le système (de 10 à 15%) sur architecture x86
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.