Limiter l'inspection d'un programme par un autre

Risque moyen Coché par défaut dans IbexWall Catalogue révisé le: 2026-11-05

Un programme ne peut s'attacher qu'à ses propres enfants, donc un malware dans votre session ne peut ni lire ni modifier vos autres programmes.

Pourquoi il compte

ptrace est l’appel qu’emploient les débogueurs pour lire et modifier un autre programme en cours. Sans limite, un logiciel malveillant tournant sous votre identité peut s’attacher à votre navigateur, à votre agent SSH ou à votre gestionnaire de mots de passe et en extraire des secrets de la mémoire. La documentation du noyau utilise exactement ce scénario pour expliquer l’existence de Yama.

Comment il fonctionne

Met kernel.yama.ptrace_scope à 1 (ptrace restreint). Un processus ne peut alors s’attacher qu’à ses propres descendants, ou à un processus qui l’a désigné comme débogueur autorisé. Le mode 2 ne le permet qu’aux administrateurs et le mode 3 l’interdit totalement.

À qui il s'adresse

Une valeur par défaut saine pour les ordinateurs de bureau et les serveurs. Les développeurs qui attachent un débogueur à un programme lancé peuvent passer par sudo, ou démarrer le programme sous le débogueur.

Ce que vous pouvez remarquer

gdb -p ou strace -p sur un programme déjà lancé échoue avec ptrace: Operation not permitted. Démarrer le programme depuis gdb ou strace fonctionne toujours, de même que sudo.

Le vérifier sur votre ordinateur

Lire la valeur actuelle :

sysctl kernel.yama.ptrace_scope

Une valeur plus stricte que celle-ci convient aussi.

L'appliquer à la main

La définir maintenant (jusqu'au prochain redémarrage) :

sudo sysctl -w kernel.yama.ptrace_scope=1

La conserver après les redémarrages, dans un fichier qui vous appartient :

sudo tee /etc/sysctl.d/90-kernel-ptrace.conf <<'EOF'
kernel.yama.ptrace_scope = 1
EOF
sudo sysctl --system

L'annuler

Supprimez le fichier et redémarrez, ou remettez l'ancienne valeur avec sysctl -w.

Réglages liés

Sources

Linux Hardening Guide (madaidans)
2.2.3
Linux kernel documentation, Yama
ptrace_scope