Suivez-nous sur X
|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : Assembleur - créer un antivirus contre le SHV (Saddam Hussein Virus)
(Article écrit par Xavier Leclercq et extrait d'Amiga News - mai 1992)
|
|
Le SHV (Saddam Hussein Virus) est le virus le plus virulent que n'a jamais connu l'Amiga depuis le très
vieux virus SCA. Pourquoi ? Parce qu'il est capable de s'introduire en mémoire sans besoin d'amorcer
la disquette. L'introduction d'une disquette infectée dans n'importe quel lecteur suffit au SHV pour
s'infiltrer automatiquement dans votre système. A partir de ce moment, une disquette déprotégée insérée
dans n'importe quel lecteur de disquette se trouvera à son tour infectée !
Pour plus de détails sur le mécanisme de reproduction de ce virus, vous pouvez consulter
cet article.
Comment lutter concrètement contre ce fléau informatique ?
Le concept de virus informatique semble aussi vieux que l'informatique elle-même (déjà en 1949,
John Von Neumann mentionnait un mécanisme d'autocopie de logiciel dans un bouquin intitulé
"Theory And Organization Of Complicated Automata"...).
Il y a d'abord des règles connues, depuis longtemps, à respecter pour lutter contre n'importe quel
virus dont le SHV :
- Protéger les disquettes contre l'écriture.
- Pour copier une disquette, ne jamais utiliser un copieur multitâche (sauf si vous êtes équipé du système 2.04 ou plus).
- Effectuer une copie de sauvegarde de tous les originaux.
Pour certains, l'opération numéro 3 sera vite réglée, et c'est justement là
que se situe le noeud du problème : le piratage... En respectant ces trois règles vous pouvez limiter
au maximum le risque d'infection.
Sans connaissances particulières
Il y a deux cas à distinguer pour trouver une parade au SHV. Le premier cas est celui des utilisateurs équipés
d'une ROM 1.2 ou 1.3. Le deuxième cas concerne ceux qui possèdent une ROM 2.04.
Sous Workbench (cas d'une ROM 1.2/1.3 uniquement), insérez toutes vos disquettes les unes après les
autres (sans jamais ouvrir l'icône de la disquette). Si l'icône de la disquette reste à
l'écran alors qu'elle ne se trouve plus dans un lecteur, et si aucun message système n'apparaît
du style "disk is not validated", vous êtes la victime du SHV...
Vous devez à ce stade éteindre l'Amiga car le SHV est en mémoire. Sans employer un copieur multitâche,
vous pouvez alors formater la disquette pour éliminer le virus. Mais si vous voulez conserver le
contenu de la disquette, allez voir quelqu'un qui a la chance d'avoir le système
2.04 en ROM.
Si vous connaissez une personne possédant une ROM 2.04, et si vous désirez éliminer un SHV qui se trouve
sur une disquette, il suffit de copier la disquette infectée avec le copieur multitâches Diskcopy
du système 2.04, puis d'effacer le fichier "disk-validator" de la disquette.
Le système 2.04 est donc l'antivirus idéal contre le SHV !
Sous Workbench (cas d'une ROM 2.04), le SHV n'est jamais actif. Il n'y a donc aucun danger
d'infection. Une routine de validation de disquettes se trouve en effet en ROM
et a priorité sur le disk-validator de la disquette infectée (qui est en fait le SHV lui-même).
Avec quelques connaissances en Assembleur
Pour enlever un SHV d'une disquette :
- Insérez la disquette deux fois consécutivement dans le lecteur df0:.
- Exécutez le petit programme assembleur ci-dessous.
- Effacez le disk-validator avec la commande "delete df0:l/disk-validator".
L'explication de tout ceci est fort simple. La disquette a été insérée dans le lecteur df0:.
Cette disquette est non valide. AmigaDOS tente alors de charger le premier disk-validator qu'il
peut trouver, c'est-à-dire celui qui se trouve sur la disquette elle-même.
Le disk-validator devient alors un processus actif. Comme le disk-validator de la disquette infectée
est l'équivalent du virus, c'est par conséquent, le SHIV lui-même qui est actif.
A ce stade, si vous retirez la disquette vous constaterez que l'icône qui lui correspond restera
sur votre écran Workbench parce qu'évidemment le processus disk-validator est toujours actif.
A l'insertion pour la deuxième fois de la disquette déprotégée, le virus est en mémoire et rend
systématiquement toute nouvelle disquette insérée valide. Pour AmigaDOS,
la disquette est maintenant valide (mais ce n'est pas véritablement le cas !).
Exécutez le petit programme assembleur pour désactiver le SHV en mémoire, et enfin effacez le fichier
df0:l/disk-validator (donc le SHV).
Inconvénient : à la prochaine insertion, AmigaDOS affichera que la disquette n'est plus valide,
ce qui est normal puisque le SHV n'est plus présent en mémoire pour faire croire le contraire...
Pour rendre la disquette valide, il faut :
- Éditer la piste 40 à l'aide d'un éditeur de piste.
- Modifier la valeur $00000000 du décalage 312 ($138 hexa) en $ffffffff, ce qui rendra l'EMFLAG
de la racine valide.
- Recalculer la somme de contrôle et sauver le résultat en piste 40.
Avec l'aide d'un antivirus
Il s'agit en premier lieu d'énoncer une règle qui est : "employer toujours la copie d'origine protégée en écriture
de l'antivirus". En effet, si la disquette de l'antivirus n'est pas un original,
elle risque d'être elle-même infectée par un quelconque virus.
Exemple d'un tel cas malheureux arrivant à un lecteur qui a écrit au journal : patati patata "Un
autre virus se trouve dans un logiciel qui normalement "tue" les virus : "nom de l'antivirus en question".
Impossible de le détruire..." patati patata.
Je ne cite pas l'antivirus en question pour ne pas faire de la publicité. Mais je ne cite pas non plus le
nom de ce lecteur pour d'autres raisons : la disquette en question est d'origine douteuse.
En clair, et sans décodeur, il s'est procuré une version piratée du logiciel, car l'original diffusé
par les associations DP n'est évidemment pas infecté... Ou comble de l'ignorance, il a déprotégé
l'original qui a été par la suite infecté... Dans les deux cas c'est une erreur.
Une autre règle est de se procurer la dernière version d'un antivirus pour ne pas être dépassé par
la situation (donc vous pouvez jeter à la poubelle de l'histoire un logiciel tel que VirusX...).
Dans le DP, je cite : VT (antivirus en allemand) et BootX (antivirus en anglais) qui sont performants
pour lutter contre le SHV. Pour dénicher un antivirus en français qui lutte contre le SHV,
il n'y a, à ma connaissance, que le MVK 2.2 distribué par par Free Distribution Software (BP 134, 59453
Lys-Lez-Lannoy Cedex, France).
Un utilitaire du MVK 2.2 qui porte le nom de Imune, créé par votre serviteur, a été spécialement programmé pour empêcher le
SHV de se mettre en mémoire (vous pouvez l'utiliser à la place du test de l'insertion de la disquette sous
Workbench 1.3), Imune sera la deuxième instruction de la startup-sequence à la suite de l'utilitaire VDC
(très efficace pour protéger votre disque-dur). Je prépare également un programme DP
du nom de Saddam Hussein Killer (SHVK), disponibilité à partir du 4 avril 1992.
Quoiqu'il en soit, face à un virus se diffusant uniquement par contact direct, disquette->mémoire->disquette,
il est évident que, pour éliminer tout risque d'infection, il suffit de se procurer exclusivement des originaux...
|