De nombreux codes malicieux, ajourd'hui, utilisent une technologie un peu particulière qui se nomme MUTEX.

Définition :

C'est une technique permettant d’allouer physiquement un emplacement mémoire particulier et de le réserver.

Toute application utilisant la technique Mutex ne peut PAS être déchargée, arrêtée ou détruite sans en avoir détruit son parent.

La notions de gestion des processus parents/enfants est alors utilisée.

On dira dans ce cas un « programme persistant ».

Pour exemple plus concret, il est quasiement impossible d'arreter un serveur de mail de type Exchange....

Il en est de même avec le process SVCHOST !

Pour stopper un programme persistant, il suffit de stopper tous les processus enfants pour finir par arrêter le programme parent.

Définition de cette technique par les codes malicieux :

Technologie MUTEX : « Le chat qui se mord la queue! »

On sait, de par cette technique, que les process enfants doivent être stoppés afin que le dernier enfant puisse faire un 'kill' du parent

Les développeurs de virus ont légèrement modifié le processus mutex.

Comme on peut le constater sur cette image, le parent GetMutex A pour être stoppé attend la fin du process D, qui lui même attend la fin du process C, qui lui-même attend la fin du process B, qui lui même attend la fin du process A....MAIS comme le process A attend la terminaison du process D, on dit que le chat se mord la queue !!!

CONCLUSION :

Des fonctionnements cycliques sont difficiles à décharger de la mémoire dues à leurs dépendances inter-liées

Une application telle qu’un Antivirus peut rencontrer des problèmes pour décharger un process utilisant Mutex (un cleaner spécifique, dans ce cas, est obligatoire).

Cela permet aux codes malicieux de devenir de VRAIs programmes résidant et persistant en mémoire.