Chaos Digest Jeudi 17 Juin 1993 Volume 1 : Numero 54 ISSN 1244-4901 Editeur: Jean-Bernard Condat (jbcondat@attmail.com) Archiviste: Yves-Marie Crabbe Co-Redacteurs: Arnaud Bigare, Stephane Briere TABLE DES MATIERES, #1.54 (17 Juin 1993) File 1--_GenVirus_, premier geneur de virus francais [#1] (manuel) Chaos Digest is a weekly electronic journal/newsletter. Subscriptions are available at no cost by sending a message to: linux-activists-request@niksula.hut.fi with a mail header or first line containing the following informations: X-Mn-Admin: join CHAOS_DIGEST The editors may be contacted by voice (+33 1 47874083), fax (+33 1 47877070) or S-mail at: Jean-Bernard Condat, Chaos Computer Club France [CCCF], B.P. 155, 93404 St-Ouen Cedex, France. He is a member of the EICAR and EFF (#1299) groups. Issues of ChaosD can also be found from the ComNet in Luxembourg BBS (+352) 466893. Back issues of ChaosD can be found on the Internet as part of the Computer underground Digest archives. They're accessible using anonymous FTP: * kragar.eff.org [192.88.144.4] in /pub/cud/chaos * uglymouse.css.itd.umich.edu [141.211.182.53] in /pub/CuD/chaos * halcyon.com [192.135.191.2] in /pub/mirror/cud/chaos * ftp.cic.net [192.131.22.2] in /e-serials/alphabetic/c/chaos-digest * cs.ubc.ca [137.82.8.5] in /mirror3/EFF/cud/chaos * ftp.ee.mu.oz.au [128.250.77.2] in /pub/text/CuD/chaos * nic.funet.fi [128.214.6.100] in /pub/doc/cud/chaos * orchid.csv.warwick.ac.uk [137.205.192.5] in /pub/cud/chaos CHAOS DIGEST is an open forum dedicated to sharing French information among computerists and to the presentation and debate of diverse views. ChaosD material may be reprinted for non-profit as long as the source is cited. Some authors do copyright their material, and they should be contacted for reprint permission. Readers are encouraged to submit reasoned articles in French, English or German languages relating to computer culture and telecommunications. Articles are preferred to short responses. Please avoid quoting previous posts unless absolutely necessary. DISCLAIMER: The views represented herein do not necessarily represent the views of the moderators. Chaos Digest contributors assume all responsibility for ensuring that articles submitted do not violate copyright protections. ---------------------------------------------------------------------- Date: THU JUN 17 15:15:40 -0400 1993 From: Jacques.Struss@email.teaser.com (Jacques Struss ) Subject: File 1--_GenVirus_, premier geneur de virus francais [#1] (manuel) G E N V I R U S ================= Version 2.00 MANUEL D'UTILISATION (de la version limitee et de la version avec licence) Tous droits reserves 1993 J. STRUSS 82, rte de Reutenbourg 67440 LOCHWILLER ------------------------------------------------------------------------- Ce programme est distribue en SHAREWARE, c'est a dire gratuitement mais dans une version limitee. Sa copie est libre et meme vivement encouragee. Mais si l'utilisateur desire obtenir la version complete du programme, il doit l'acquerir aupres de l'auteur moyennant une faible retribution. ------------------------------------------------------------------------- -- TABLES DES MATIERES ------------------- - LA LEGISLATION ...................................page 3 - POURQUOI GENVIRUS ................................page 4 - LA DISQUETTE GENVIRUS ............................page 6 Contenu de la disquette ..................page 6 Lancement de GENVIRUS ....................page 7 Options de la ligne de commande ..........page 7 - UTILISATION DE GENVIRUS ..........................page 7 Commandes et emploi de GENVIRUS...........page 7 Les menus disponibles ....................page 8 Le menu TEST .............................page 9 Le menu GENERATEUR .......................page 13 Action du module.....................page 14 Strategie du module..................page 16 Declenchement du module..............page 17 Camouflage du module.................page 18 Reproduction du module...............page 20 Fabrication du module................page 22 Le menu ENREGISTREMENT ...................page 23 Le shareware ........................page 23 L'indentification des modules........page 23 Cout ................................page 24 Formulaire ..........................page 24 Le menu AIDE .............................page 25 Utilisation de GENVIRUS .............page 25 GENVIRUS ............................page 25 Avertissement .......................page 25 Les virus ...........................page 25 Comment detecter les virus .....page 25 Protection .....................page 25 Le menu FIN ..............................page 26 - BON DE COMMANDE ..................................page 27 DOCUMENTATION de GENVIRUS V2.00 Page : 2 -- LA LEGISLATION ============== ARTICLE 462-2 - Delit d'acces frauduleux dans un systeme informatique : - Quiconque, frauduleusement, aura accede ou se sera maintenu dans tout ou partie d'un systeme automatise de donnees sera puni d'un emprisonnement de deux mois a un an et d'une amende de 2.000F a 50.000F ou de l'une de ces deux peines. - Lorsqu'il en sera resulte soit la suppression ou la modification de donnees contenues dans le systeme, soit une alteration du fonctionnement de ce systeme; l'emprisonnement sera de deux mois a deux ans et l'amende de 10.000F a 100.000F. ARTICLE 462-3 - Delit d'entrave au fonctionnement d'un systeme informatique : - Quiconque aura, intentionnellement et au mepris des droits d'autrui, entrave ou fausse le fonctionnement d'un systeme automatise de donnees sera puni d'un emprisonnement de trois mois a trois ans et d'une amende de 10.000F a 100.000F ou de l'une de ces deux peines. ARTICLE 462-4 - Delit d'abus d'autorisation d'acces a un systeme informatique : - Quiconque aura, intentionnellement et au mepris des droits d'autrui, directement ou indirectement introduit des donnees dans un systeme de traitement automatise ou supprime ou modifie les donnees qu'il contient ou leurs modes de traitement ou de transmission, sera puni d'un emprisonnement de trois mois a trois ans et d'une amende de 2.000F a 500.000F ou de l'une de ces deux peines. ARTICLE 462-5 - Delit de falsification de documents informatises : - Quiconque aura procede a la falsification de documents informatises, quelle que soit leur forme, de nature a causer un prejudice a autrui, sera puni d'un emprisonnement d'un an a cinq ans et d'une amende de 20.000F a 2.000.000F DOCUMENTATION de GENVIRUS V2.00 Page : 3 -- POURQUOI GENVIRUS ? ------------------- GENVIRUS a ete ecrit pour comprendre et demontrer le fonctionnement des virus informatiques et egalement pour tester l'efficacite de la protection des programmes 'antivirus' disponibles sur le marche. En effet, le phenomene virus inquiete tellement les utilisateurs d'ordinateurs qu'ils en sont a soupconner leur presence des l'apparition d'un quelconque probleme, oubliant par la-meme qu'ils en sont certainement la seule cause et qu'aucun virus ne se trouve dans leur machine. L'auteur pense que seule une bonne connaissance des modes operatoires des virus permettra d'en limiter les mefaits et facilitera la protection des donnees sensibles et donc la mise en place de methodes de travail adaptees, methodes que l'on designe habituellement sous le terme de 'Securite Informatique'. Il faut dire que les rumeurs les plus folles courent sur les possibilites des virus, telles que : - la capacite des virus de modifier les routines du BIOS ecrites dans des EPROMS (seule une exposition aux rayons ultra-violet peut effacer de telles memoires). - la subsitance des virus dans la RAM meme apres la mise hors tension de l'ordinateur. - la contamination d'une disquette saine au contact d'une disquette malade en les posant l'une sur l'autre. - etc. Une chose est sure, c'est que les personnes reellement touchees par un virus savent maintenant plus ou moins se proteger, mais la grande majorite des utilisateurs d'ordinateurs ne savent pas a quoi un virus ressemble, comment il procede, se cache, se declenche. C'est en fait cette non-information qui est dangereuse. L'ideal serait de pouvoir disposer d'une panoplie complete et clairement identifiee de petits modules reagissant comme des virus. Ces programmes seraient mis en oeuvre avec toutes les precautions possibles (sauvegardes) et ainsi sans dommages pour l'utilisateur. Il aurait ainsi le loisir de constater les menaces qui pesent sur ses programmes et ainsi s'en premunir efficacement car bien sur, les cibles ou les actions des ces modules seraient connues avant leurs attaques. DOCUMENTATION de GENVIRUS V2.00 Page : 4 -- L'autre bonne raison ayant conduit l'auteur a creer GENVIRUS est que , malgre l'installation d'une protection logicielle du commerce qu'il ne citera pas, il a vu s'introduire dans sa machine une de ces sales petites betes alors qu'il se croyait en toute securite. Les enjeux sont tels qu'il existe a l'heure actuelle des programmes de tests sur tout et n'importe quoi, qu'il serait dommage de ne pas avoir les memes exigences envers ces programmes de protection, car une fois tel ou tel logiciel de protection installe, on ne sait de quel niveau exact de garantie l'utilisateur beneficie contre une eventuelle attaque virale. Il ne lui reste plus que l'attente et l'espoir de disposer de la meilleure securite possible. Je ne pense pas que ce soit la meilleure solution et il vaudrait mieux prendre de suite conscience des limites exactes de la protection offerte par votre programme 'antivirus' prefere. Il en decoulera donc toute une serie de mesures a prendre pour se preserver de ces defauts dans la supposee cuirasse infaillible vantee par certains editeurs de tels logiciels de defense. GENVIRUS est capable de fournir une indication de ce niveau de protection et ceci en toute securite. Il vous fournira la possibilite d'effectuer diverses tentatives d'ecriture sur les secteurs critiques de votre disque et d'attendre la reaction du logiciel protecteur. Certains programmes demandent quant a eux, une attaque externe par un module independant pour reagir, car ils interrompent en general de facon trop brutale et souvent fatale l'execution en cours. GENVIRUS est donc en mesure de generer des modules de test qui ont pour but de simuler l'action de vrais virus (possible uniquement avec la version disposant de la licence). L'avantage de cette methode est de controler pleinement le declenchement, le mode d'action, la reproduction, l'infiltration, le lecteur ou la cible de votre module (exemple : modification de COMMAND.COM ou d'un autre fichier que vous aurez designe). Ceci vous laisse le loisir de faire des sauvegardes ou copies des fichiers que vous aurez choisis car seulement ceux-ci auront a subir les affres de vos petits demons. Vous ne serez pas pris en traitre et garderez ainsi la maitrise totale de l'evolution de la contagion et de ses consequences. Cette affirmation n'est exacte que pour vous (car vous seul etes au courant) et toute tierce personne, ou systeme sera par contre pris au piege et supportera des lors des desagrements plus ou moins serieux tout a fait reprehensibles par la loi (voir rubrique AVERTISSEMENTS). Cet etat de fait est parfaitement inadmissible et n'est pas le but de ce programme. Il ne doit servir qu'a vous preparer a la lutte contre les vrais virus en observant vous-memes les evolutions et les moyens d'action REELS de ceux-ci mais en toute securite. Il n'existe pas de bon ou de mauvais virus ! DOCUMENTATION de GENVIRUS V2.00 Page : 5 -- C'est pourquoi la partie du generateur de modules de GENVIRUS n'est disponible qu'aupres de l'auteur qui procedera au marquage de chaque version par des codes specifiques qui identifieront ces modules afin de les reserver a un usage strictement personnel. De plus, c'est le plus sur moyen de pouvoir disposer d'une version exempte de virus ! L'experience a montre que meme avant de poursuivre la diffusion de programme orientes 'protection', des petits malins les infestent volontairement. La LOI est formelle, il est INTERDIT de fabriquer des virus qui accedent FRAUDULEUSEMENT a un systeme automatise de donnees (ordinateur), qui apportent une entrave au fonctionnement de tels systemes, qui falsifient, detruisent ou deteriorent des informations (programmes ou fichiers de donnees). Par contre, si de tels programmes ne sortent pas de votre ordinateur (vous etes libres !), il vous est permis de proceder a tous les tests que vous jugerez utiles. ATTENTION : le maniement de tels modules n'est PAS un JEU ! Les tests ne doivent servir qu'a l'evaluation de VOTRE materiel et ne jamais etre diffuses sous quelque forme que ce soit. GENVIRUS en contraction de 'gene-virus' devrait donc servir a balayer certaines idees recues et finalement dissuader les auteurs de codes virulents de persister dans cette voie, leurs mefaits risquant de plus en plus de ne pas aboutir. LA DISQUETTE GENVIRUS ===================== CONTENU DE LA DISQUETTE ----------------------- La disquette GENVIRUS contient les fichiers suivants : - GV.EXE .........le programme GENVIRUS - GV.DOC .........la documentation du programme - ELIMGVIR.EXE ...programme de recherche de modules GENVIRUS - MODPRN.COM .....programme residant pour imprimante non capable des caracteres graphiques IBM. - LISEZMOI.DOC ...note complementaire a lire absolument. La documentation de GENVIRUS (27 pages) peut etre imprimee en tapant a l'invite du DOS la commande : COPY GV.DOC > PRN puis ENTER Si votre imprimante ne peut imprimer les caracteres speciaux (cadres graphiques, etc...), avant de declencher la commande d'impression, lancez le programme MODPRN, il substituera tous ces caracteres par d'autres moins specifiques. DOCUMENTATION de GENVIRUS V2.00 Page : 6 -- LANCEMENT DE GENVIRUS --------------------- Le lancement de GENVIRUS se fait en tapant simplement GV puis ENTER au niveau du DOS. GENVIRUS necessite 256K de RAM, un DOS 2.11 ou plus et est compatible avec toutes les cartes video. OPTIONS DE LA LIGNE DE COMMANDE ------------------------------- GENVIRUS est capable de reconnaitre le type d'adaptateur video present et d'en assurer la programmation. Toutefois, il est possible de forcer un type d'affichage suivant le cas, en indiquant l'option /M ou /B. Exemple : GV /C puis ENTER force le mode texte couleur de la carte CGA. option utile pour certaines cartes VGA ou EGA. Cette option programme la carte video dans le mode 2 (mode texte 80x24 16 couleurs) GV /M puis ENTER force le mode video de la carte monochrome. (attention, une vraie carte monochrome doit etre presente a l'adresse B000:0000 sinon l'ecran restera noir). GV ? puis ENTER affiche un texte d'aide resumant les options disponibles. UTILISATION DE GENVIRUS ======================= COMMANDES ET EMPLOI DE GENVIRUS ------------------------------- GENVIRUS utilise le principe des menus deroulants. La selection d'une option se fait : - par appui sur les fleches de direction, la validation est effectuee avec la touche ENTER. - par deplacement de la souris, la validation se fait en cliquant sur un bouton de celle-ci (en regle generale, un clic souris (bouton gauche) est egal a un appui sur la touche ENTER). - par appui sur la touche representant la lettre en majuscule de l'option souhaitee, la validation est dans ce cas automatique. La touche ESCAPE referme toujours la derniere fenetre ouverte et permet un retour a l'option precedente. L'appui sur la touche F1 (ou le bouton droit de la souris) affiche a tout moment un texte d'aide en rapport avec la fonction selectionnee. DOCUMENTATION de GENVIRUS V2.00 Page : 7 -- LES MENUS DISPONIBLES --------------------- Apres le lancement de GENVIRUS apparait en haut de l'ecran une barre horizontale des 5 menus disponibles. Ce sont: - le menu FIN; - le menu TEST; - le menu GENERATEUR; - le menu ENREGISTREMENT; - le menu AIDE. Le menu FIN n'est pas a proprement parler un menu, mais sert a quitter le programme GENVIRUS et retourner au niveau du DOS. Le menu TEST permet de lancer en interne l'evaluation de la protection d'un lecteur quelconque avec recuperation des erreurs critiques. Le menu GENERATEUR permet la realisation des modules avec des caracteristiques totalement programmables par l'utilisateur. Le menu ENREGISTREMENT fournit des explications sur le principe du SHAREWARE, la necessite de l'enregistrement aupres de l'auteur ainsi que le formulaire de commande. Le menu AIDE explique les commandes de GENVIRUS et donne des conseils de protection contre les virus. DOCUMENTATION de GENVIRUS V2.00 Page : 8 -- LE MENU TEST ============ La fonction TEST de GENVIRUS effectue l'evaluation de la protection offerte par les programmes anti-virus. Cette evaluation est faite en tentant d'ecrire sur le support magnetique (tentative de modification de donnees) a l'insu d'une eventuelle protection. Chaque ecriture sera confirmee par la lecture du secteur apres modification. CES TESTS NE SONT PAS DESTRUCTIFS, LE PROGRAMME RESTITUERA INTEGRALEMENT LES DONNEES QU'IL ARRIVERA A ATTEINDRE. GENVIRUS est capable de tester de cette maniere certaines protections contre les virus, mais beaucoup de programmes necessitent une attaque externe par un vrai virus pour etre valides car ils attendent le demarrage de l'ordinateur pour signaler apres coup les modifications survenues aux fichiers concernes. Ceci est le cas en particulier des logiciels effectuant des 'checksum' (somme de controle) pour detecter les intrus. GENVIRUS possede des routines de traitement des erreurs critiques ou fatales mais quelques bizarreries des programmes de protection font que le plantage de la machine reste souvent la solution ultime de l'indication d'une attaque par un virus (et ceci meme en l'absence de GENVIRUS). OPTIONS DU MENU TEST -------------------- Le programme affiche l'ecran suivant : +-------------------------------------------------------------+ | Fin+------ TEST ------+ Generateur Enregistrement| +-------| |----------------------------------+ | Principe | | choix du Drive | | test Automatique | +---------------------+ | test Manuel | | Lecteur courant = C:| | Retour | +---------------------+ +------------------+ EXPLICATION DES RUBRIQUES : ---------------------------- - PRINCIPE : resume les principes de la fonction TEST - CHOIX du DRIVE : permet le choix du lecteur sur lequel se derouleront les tests. Le programme controle la presence effective du lecteur demande. Le lecteur courant (celui qui sera utilise) est affiche dans une fenetre speciale. Cette option est egalement utile pour designer le lecteur sur lequel sera ecrit le virus dans le menu GENERATEUR Dans tous les cas, en quittant le programme, vous retournerez sur le lecteur qui a servi au lancement de GENVIRUS (systeme a plusieurs lecteurs). DOCUMENTATION de GENVIRUS V2.00 Page : 9 -- - TEST AUTOMATIQUE : lance l'evaluation automatique de toutes les options d'ecritures disponibles (correspond a tous les choix offerts dans la rubrique TEST MANUEL, voir ci-apres pour l'interpretation des messages de compte-rendu de test). - TEST MANUEL : l'ecran affiche alors une fenetre correspondant aux differents choix possibles : ---------------+------------ CHOIX des TESTS Aide = F1 -------------+-+ +------ TEST --| | | | | Ecriture sur BOOT par DOS (INT 25) |-+ | Principe | Ecriture sur FAT par DOS (INT 25) | | choix du Driv| Ecriture sur DIR par DOS (INT 25) | | test Automati| Ecriture sur Fich. caches SYSTEME (INT 21) | | test Manuel | Ecriture sur COMMAND.COM par DOS (INT 21) | | Retour | Ecriture directe sur disque (INT 25) | +--------------| Ecriture sur BOOT par BIOS (INT 13) | | Ecriture sur FAT par BIOS (INT 13) | | Ecriture sur DIR par BIOS (INT 13) | | Ecriture sur Fich. caches SYSTEME (INT 13) | | Ecriture sur COMMAND.COM par BIOS (INT 13) | | Ecriture directe sur disque (INT 13) | | Ecriture sur BOOT par Driver specifique | | Ecriture sur FAT par Driver specifique | | Ecriture sur DIR par Driver specifique | | Ecriture sur F. caches SYST par Driver specifique | | Ecriture sur COMMAND.COM par Driver specifique | | Ecriture directe sur disque par Driver specifique | | Lancement des tests | | Retour | +-----------------------------------------------------+ La selection ou deselection d'un choix s'effectue par appui sur la touche ENTER ou par 'clic' souris. Il est possible de choisir a partir de ce menu les zones specifiques d'un disque a savoir : - la zone BOOT qui contient des informations vitales comme le nombre d'octets par secteur, le nombre de secteurs par piste, de secteurs par cluster, le nombre de FAT, etc... - la FAT qui permet de retrouver la position reelle des portions de secteur representant les fichiers. - la zone DIR qui contient tous les noms des fichiers ou sous-repertoires du disque places dans le ROOT (repertoire principal). - les fichiers caches d'une disquette systeme (contenant IO.SYS et MSDOS.SYS ou IBMBIO.COM et IBMDOS.COM). - l'interpreteur de commande COMMAND.COM. - l'ecriture directe sur disque qui concerne un secteur situe a 75% de la capacite du support. DOCUMENTATION de GENVIRUS V2.00 Page : 10 -- Chacune de ces zones peut etre testee en utilisant les services de 3 types d'interruption d'un niveau logiciel different. Il s'agit en premier des services de l'interruption DOS INT 21 et INT 25, niveau le plus haut et le plus eloigne du materiel mais aussi le plus facile a utiliser pour realiser des ecritures sauvages. Heureusement, il est egalement tres facile d'effectuer une surveillance des appels a cette interruption et d'y detecter les procedures delictueuses. Figurent ensuite les services de l'interruption BIOS INT 13 de niveau le plus bas, c'est-a-dire le plus proche du materiel. Cette interruption est deja beaucoup plus difficile d'acces que la precedente car il faut raisonner en cylindre, cluster, position relative ou numero de tete. Ici encore, il est facile d'effectuer une surveillance des appels aux services de cette interruption. Il est a noter par-contre que celle-ci possede des fonctions tres agressives pour le systeme (formatage par exemple). Pour terminer figurent les services d'une interruption dite par driver specifique. Il s'agit en fait de l'interruption 13 a un niveau encore plus proche de la machine puisque c'est celle qui se trouve ecrite dans la ROM du BIOS ou la ROM du controleur de disque. La difference par rapport a l'interruption 13 est qu'elle n'utilise pas les vecteurs situes en RAM et qu'il est donc impossible de controler ou d'empecher ces appels. Toutefois, le point d'entree de la routine n'etant pas si evident a trouver que cela sur certaines machines, il se peut que le test par ce driver soit negatif. Il est a noter par ailleurs que moins la machine sera compatible avec le standard des PC, plus elle sera a l'abri de ce type d'attaque. De plus, les PC AT sont sensiblement plus resistants dans la recherche du point d'entree que les PC/XT, les routines BIOS etant aussi beaucoup plus variees et personnalisees par chaque constructeur. - LANCEMENT DES TESTS : cette rubrique declenche les tests a proprement parler. Les messages suivants apparaissent alors en regard de chaque ligne d'option : * TEST NON DEMANDE. le test n'a pas ete demande. * LE TEST N'A PU SE REALISER. la recherche du point d'entree dans la ROM a echoue, un probleme logiciel est apparu ou le disque presente des informations incoherentes dans le secteur BOOT. * ECRITURE REFUSEE : la demande d'ecriture a ete refusee par le systeme. * ECRITURE AUTORISEE MAIS SECTEUR INTACT : l'ecriture n'a pas ete refusee mais la lecture du secteur concerne indique qu'il est toujours intact. C'est souvent le fait de programmes anti-virus qui bloquent l'ecriture sur le disque en ne renvoyant pas d'erreur pour ne pas eveiller l'attention. Ils font croire que tout s'est bien passe pour calmer l'agressivite d'un quelconque virus. DOCUMENTATION de GENVIRUS V2.00 Page : 11 ------------------------------ End of Chaos Digest #1.54 ************************************