Obligement - L'Amiga au maximum

Jeudi 23 novembre 2017 - 11:57  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

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


Trucs et astuces

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


Glossaire

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


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Dossier : Le virus Return Of The Lamer Exterminator
(Article écrit par Xavier Leclerq et extrait d'Amiga News - mars 1991)


Une page de l'histoire des fléaux informatiques vient encore d'être tournée. Les qualificatifs que je vais employer pour décrire le Return Of The Lamer Exterminator (déjà tout un programme en traduisant simplement le nom : "le retour de l'exterminateur de débutant") traduit tout mon désarroi : très dangereux, peu commun, discret, très virulent... En un mot, ce microbe est révolutionnaire et il risque de porter un coup à la réputation de la machine.

Hiérarchie dans les méfaits

Le seul fait d'insérer une disquette infectée dans un lecteur activera le virus en mémoire ! Les nostalgiques des pokes et peeks (d'époque épique) regretteront le temps où seul le virus by SCA se répandait autour de la planète.

Pour être actif en mémoire, un virus sous n'importe quelle forme doit être "lancé" d'une manière ou d'une autre :
  • Il peut par exemple être activé lors du chargement du bloc d'amorce (SCA et virus de première génération).

  • Il existe également des fichiers vérolés qui modifient la startup-sequence pour pouvoir être rendu actif dès l'exécution de cette dernière (BGS9 et virus de deuxième génération) ou par le simple fait d'exécuter le fichier infecté (XENO).

  • Enfin, il existe aujourd'hui une troisième voie seulement utilisée actuellement par le Return Of The Lamer Exterminator. Beaucoup plus complexe que les deux autres mais possédant un avantage énorme : plus besoin de démarrer sur une disquette pour que le virus soit rendu actif. Le simple fait d'insérer la disquette provoquera son activation ! Donc l'utilisateur ne lançant jamais des disquettes étrangères et utilisant toujours son disque dur pour démarrer n'est plus à l'abri et peut désormais, lui aussi, redouter d'être infecté par un virus de cette troisième génération.
Un exemple concret : vous avez des copies de Fred Fish à faire et vous utilisez un copieur qui respecte le multitâche. C'est cuit ! Si la disquette numéro "x" est insérée et contient le Return Of The Lamer Exterminator, celui-ci se nichera automatiquement en mémoire en créant des erreurs de lecture/écriture sur les autres disquettes insérées pour la copie ! Le Diskcopy du Workbench et pas mal d'autres copieurs sont donc maintenant à bannir.

Astucieux

Mais comment est-ce possible, allez-vous me demander ? C'est très astucieux. Le virus se place dans le répertoire "L:" sous le nom du "disk-validator" avec le taille du disk-validator, c'est-à-dire 1848 octets. Il est bien entendu codé (procédé aléatoire).

Suivons pas à pas sa manière de procéder pour véroler d'autres disquettes. Si une disquette est insérée dans un lecteur, AmigaOS lira le bloc d'amorce (secteur 0) et le bloc racine (répertoire en secteur 880 = $370 pour les disquettes) automatiquement. Le virus qui dévie le "BeginIo" du trackdisk.device intercepte les commandes de lecture (CMD_READ) et d'écriture (CMD_WRITE) et réagira suivant le schéma suivant :

Commande
Protection en écriture
Secteur 0
Secteur 880
Actions
CMD_READ Oui Oui Non (1)
CMD_WRITE Oui/Non Oui Non (1)
CMD_READ Non Oui Non (2)
CMD_READ Oui/Non Non Oui (3)
CMD_WRITE Non/(Oui) Non Oui (4)

(1) Lit/écrit normalement le secteur.
(2) Si déjà trois changements de disquettes, écriture d'un secteur au hasard qui contiendra le message "LAMER!!!" x fois. Le secteur est perdu et cela provoquera un message du type "read/write error". Le virus après écriture de ce secteur ira lire normalement le bloc d'amorce = (1).
(3) L'Emflag (Offset 312) qui détermine la validité du "bitmap" sera mis à True ($FF.1). Donc même si le bitmap est invalide, le virus fait croire à AmigaOS qu'elle est valide.
(4) Tentative d'écriture de la piste 40. Dans ce cas, le bitmap écrit est de type "Invalid" False. ($00.1).

Si on écrit/efface/déplace des fichiers d'une disquette insérée dans un lecteur, cela provoquera l'écriture d'un nouveau bitmap (qui alloue/libère le nombre de secteurs réservés pour les fichiers) et donc immédiatement ce bitmap sera rendu de type "Invalid" par le virus et ceci sans que vous puissiez vous en rendre compte. En effet, une relecture du nouveau bitmap le rendra à nouveau valide par le virus (opération (3)).

Le virus dévie un vecteur du console.device et s'en sert comme interruption en décrémentant un compteur qui, lorsqu'il arrive à zéro, provoque le formatage complet de n'importe quelle disquette déprotégée présente dans n'importe quel lecteur (et effectue une réinitialisation après avoir affiché un message qui trahit son identité). Le virus ne se reproduit qu'à la réinitialisation (ouf !) mais, malheureusement, BeginIo est dévié dès l'insertion d'une disquette dans un lecteur, et donc les erreurs de lecture/écriture intempestives et le formatage complet de la disquette peuvent toujours avoir lieu avant une éventuelle reproduction !

L'interruption "raster" supervise l'Amiga en empêchant toute tentative de modification du KickTagPtr.

Le virus, s'il est capable de s'installer sur le disque dur, n'a pas été programmé dans ce but. Le trackdisk.device est utilisé par les unités de disquettes et donc le disque dur n'a pas à craindre d'éventuelles erreurs de lecture/écriture, ni même un formatage. De plus, le bitmap d'un disque dur ne se retrouvera pas à la même place que celui destiné aux disquettes. Donc le risque est que le virus se charge en mémoire pour formater et provoquer des erreurs de lecture/écriture et infecté des disquettes seulement (le "seulement" est là pour combler des blancs dans la phrase...).

La phase reproduction

L'ordre "Read" de la bibliothèque "Dos_Interne" (utilisée par les ordres CLI/Shell) est déviée à la réinitialisation. Deux cas sont alors possibles. Le premier cas est celui où la disquette est déprotêgée, validée et non infectée. Une tentative de lecture d'un fichier (startup-sequence) utilisera la fonction "Read" et donc le virus prendra le contrôle et chargera le disk-validator s'il existe, sinon il y aura une tentative de création du L:, et dans tous les cas création du disk-validator, c'est-à-dire construction du virus. Mais comme il y a écriture d'un fichier le bitmap est modifié et, par conséquent, rendu "Invalid" par le virus. La fonction "Read" est remise à sa valeur initiale (le virus ne peut donc se reproduire qu'à la réinitialisation). Le deuxième cas est celui d'un disque vérolé ou protégé en écriture : le Return Of The Lamer le constatera et rien ne se produira.

A l'insertion d'une disquette dans le lecteur (sans présence du virus en mémoire ; et si évidemment le disque est infecté) : la disquette insérée a un bitmap d'un type "Invalid" (False = $00.1) et donc AmigaOS va essayer pour y remédier de charger le disk-validator du disque... Le vrai virus et donc le faux disk-validator sera exécuté. Le virus est maintenant en mémoire ! Durant toute la durée de son activité, le virus "tue" les messages qui pourraient être affichés par AmigaOS (du style le disque n'est pas validé) et donc toutes les opérations restent d'une discrétion absolue...

L'auteur du Return Of The Lamer Exterminator est à enfermer s'il s'agit de la même personne qui a codé les sept clones du Lamer Exterminator et le Revenge Of The Lamer Exterminator. Pourtant, il s'agit de quelqu'un qui possède de sérieuses connaissances de la programmation système et qui donc pourrait rendre de grands services à l'Amiga en essayant, de part des utilitaires divers, d'améliorer le CLI, le Shell, le Workbench...

Le Return Of The Lamer Exterminator est encore assez bénin par rapport à une version qui aurait pu formater le disque dur, ou infecter une disquette à chaque insertion dans un lecteur, au lieu d'une reproduction à chaque réinitialisation. Mais le Lamer Exterminator a produit sept émules et le pire est peut-être encore à venir. Quoi qu'il en soit, c'est bien dommage pour la machine...


[Retour en haut] / [Retour aux articles]