OVH Cloud OVH Cloud

Mutex ??

9 réponses
Avatar
Bertrand
Bonjour

ca fait plusieurs articles que je lis sur les sites d'AV et le mot MUTEX
revient souvent :

When W32.Netsky.C@mm runs, it does the following:

1.. Creates a mutex named "[SkyNet.cz]SystemsMutex." This mutex allows
only one instance of the worm to execute.

qu'est-ce donc excatement ???

Merci

9 réponses

Avatar
Nicob
On Thu, 26 Feb 2004 10:21:21 +0100, Bertrand wrote:

ca fait plusieurs articles que je lis sur les sites d'AV et le mot MUTEX
revient souvent :

[...]

qu'est-ce donc excatement ???


Ce n'est pas propre aux virus, mais à la programmation concurrente :

http://www.webopedia.com/TERM/M/mutex.html
http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?mutex

Dans le cas de Netsky, le but est de ne pas exécuter le virus si le mutex
est présent, ie. si le virus est déja actif sur la machine. C'est
d'ailleurs le point faible de ce type de virus : bien que vulnérable, une
machine où le mutex a été créé à la main ne sera pas infectée.


Nicob

Avatar
AMcD®
Nicob wrote:

C'est d'ailleurs le point faible de ce type de virus : bien que
vulnérable, une machine où le mutex a été créé à la main ne sera pas
infectée.


???? Heu, on peut certes utiliser un mutex pour s'assurer de l'unicité dun
processus en mémoire. Mais faut quand même que ce soit programmé avec les
pieds pour que la présence d'un autre mutex empêche l'exécution d'un autre
programme utilisant aussi un mutex...

C'est quoi ce gag ?

--
AMcD®

http://arnold.mcdonald.free.fr/

Avatar
Nicob
On Thu, 26 Feb 2004 13:39:28 +0100, AMcD® wrote:

Mais faut quand même que ce soit programmé avec les pieds pour que la
présence d'un autre mutex empêche l'exécution d'un autre programme
utilisant aussi un mutex...


Soit je me suis mal exprimé, soit t'as rien compris :)

Je parlais d'un mutex spécifique, mis en place uniquement dans le but
d'éviter l'infection :

Par exemple, pour Nimda :
http://www.diamondcs.com.au/index.php?page=viewcode&source=nimda.c

Et c'est faisable aussi pour (par exemple) Opaserv :

http://vil.nai.com/vil/content/v_99924.htm
To avoid being run twice the worm creates a mutex "mkbkup61616" (if such
mutex already exists the worm process exits)



Nicob

Avatar
djehuti
salut
"Nicob" a écrit dans le message news:

On Thu, 26 Feb 2004 13:39:28 +0100, AMcD® wrote:

Mais faut quand même que ce soit programmé avec les pieds pour que la
présence d'un autre mutex empêche l'exécution d'un autre programme
utilisant aussi un mutex...


Soit je me suis mal exprimé, soit t'as rien compris :)


j'ai une p'tite idée la dessus... mais j'vais la garder pour moi :-D

Je parlais d'un mutex spécifique, mis en place uniquement dans le but
d'éviter l'infection :


pour faire simple... ça aurait très bien pu être un fichier (ie: .ini)
présent ou pas qui indique à la bestiole si elle doit s'installer ou non

l'exclusion mutuelle (aspect programmation) est un peu différente de celle
dont il est question

@tchao


Avatar
AMcD®
Nicob wrote:
On Thu, 26 Feb 2004 13:39:28 +0100, AMcD® wrote:

Mais faut quand même que ce soit programmé avec les pieds pour que la
présence d'un autre mutex empêche l'exécution d'un autre programme
utilisant aussi un mutex...


Soit je me suis mal exprimé, soit t'as rien compris :)


Je pense que tu t'es mal exprimé... et que tu n'as pas compris ce que je
voulais dire :o).

Je parlais d'un mutex spécifique, mis en place uniquement dans le but
d'éviter l'infection :


[...]

Oui, oui. Bien je détaille alors, puisque visiblement tu n'as pas compris ce
que je voulais dire. Si le gars se contente de créer un mutex avec un nom
fixe, le risque est que si un autre mutex est déjà crée et porte le même
nom, son processus sera arrêté, puisque l'exécution ou pas du code est basée
sur l'existence de ce mutex. Il faut qu'il porte le même nom, ce qui n'est
pas explicite dans ton post. Il faut ensuite qu'il soit en cours
d'exécution. Si le thread utilisant ce mutex cesse, le virus pourra a
nouveau être exécuté. Ce qui n'est pas très clair dans on post.

En ce qui me concerne, je dis que c'est codé avec les pieds. Si tu fais un
mutex dans un malware, tu va évidemment éviter d'utiliser un nom fixé. Le
plus simple est de créer un nom basé sur une signature, par exemple d'une
section d'octets de l'en-tête de ton excéutable.

Enfin, un des meilleurs articles sur la multi-instanciation de processus
sous Windows :

http://www.codeproject.com/cpp/avoidmultinstance.asp

A+

--
AMcD®

http://arnold.mcdonald.free.fr/


Avatar
AMcD®
djehuti wrote:

j'ai une p'tite idée la dessus... mais j'vais la garder pour moi :-D


Oui, oui. Très bonne idée. Inutile d'essayer de me chercher comme l'année
dernière, je ne marcherai pas. Reste dans tes débats de neuneu avec OA.

Merci.

--
AMcD®

http://arnold.mcdonald.free.fr/

Avatar
Nicob
On Thu, 26 Feb 2004 15:00:42 +0100, AMcD® wrote:

Il faut qu'il porte le même nom, ce qui n'est pas explicite dans ton
post. Il faut ensuite qu'il soit en cours d'exécution. Si le thread
utilisant ce mutex cesse, le virus pourra a nouveau être exécuté. Ce
qui n'est pas très clair dans on post.


Yep, c'était pas aussi clair que ça. Mais c'était grosso modo l'idée
que je voulais faire passer.

En ce qui me concerne, je dis que c'est codé avec les pieds. Si tu fais
un mutex dans un malware, tu va évidemment éviter d'utiliser un nom
fixé. Le plus simple est de créer un nom basé sur une signature, par
exemple d'une section d'octets de l'en-tête de ton excéutable.


Dans les descriptions de vers et virus, je vois surtout (uniquement ?) des
mutex à nom fixe. D'où mon raccourci ...

Enfin, un des meilleurs articles sur la multi-instanciation de processus
sous Windows :

http://www.codeproject.com/cpp/avoidmultinstance.asp


Je te crois sur parole, et vais donc m'épargner cette lecture apparemment
fort indigeste :)


Nicob

Avatar
JacK
"Nicob" a écrit dans le message de
news:
On Thu, 26 Feb 2004 15:00:42 +0100, AMcD® wrote:
[...]> Dans les descriptions de vers et virus, je vois surtout (uniquement

?) des
mutex à nom fixe. D'où mon raccourci ...
Perso, je n'en connais pas d'autres. Certains Dev, tel TDS-3 proposent ou

installent d'ailleurs des Mutex pour empêcher l'installation de certains
malwares.
--
JacK

Avatar
Frederic Bonroy
JacK wrote:

Certains Dev, tel TDS-3 proposent ou installent d'ailleurs des Mutex
pour empêcher l'installation de certains malwares.


Je n'en vois pas l'intérêt. D'accord, en pratique ça peut éviter par ci
par là qu'une cochonnerie s'installe. Mais en fait c'est un peu comme la
vaccination qu'on faisait dans le temps. Ce n'est pas élégant.