J’ai passé un de mes serveurs de Etch à Lenny. Du coup j’ai constaté plusieurs choses sur la recherche de processus caché:
Le serveur est un FitPC avec un processeur Geode à 500MHz, autrement dit pas une bête de course.
Depuis longtemps, j’utilise en tache de fond un programme perso conçue avec l’aide de la DUF
cf lists.debian.org/debian-user-fre … 01427.html
pour la genèse de ce programme.
Depuis unhide est apparu. Je connais 3 méthodes pour trouver des processus cachés:
Méthode 1 (initiale et qu’utilise cacheproc):
Pour i de 1 à 65535 test de l’existence /proc/$i et vérification pour savoir
si /proc/$i est visible.
Méthode 2:
Pour i allant de 1 à 65536, création d’un processus par fork et récupération du PID, celui ci est donc un numéro libre. Tous les $PID non obtenus sont des processus qui doivent exister. Test de cette existence.
Méthode 3:
Idem mais en utilisant les threads.
La deuxième et la troisième méthode construisent une table puis vérifient l’existence des processus. Tout processus terminant entre temps fait un faux positif.
Y-a-t-il des différences entre ces 3 méthodes dans les résultats attendus
(dans un cadre idéal)?
Sur ma machine (peu puissante), j’ai depuis lenny une centaine de faux positif par unhide. J’ai donc patché le source pour que 2 tables de processus suspects soit gérées, un processus fugitif figurera dans une table mais pas dans l’autre. Le source est disponible ici
boisson.homeip.net/unhide-linux26.c
Pour cacheproc, j’ai également un augmentation importante de faux positifs (je pense à cause de la généralisation de l’utilisation des threads). Une version modifiée de cacheproc améliore les choses en diminuant le nombre de faux positifs. Je suggère donc une MAJ pour ceux qui l’utilise.
