Cours Architecture des Systèmes Informatiques

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

TECHNOLOGIE DES ORDINATEURS
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Les procédures et interruptions en Assembleur (Tasm)
TOUQUET Arnaud ▪ GI05 BLONDEEL Igor ▪ GM05
Sécurité informatique
1 V-Ingénierie… La compétence au service de lexigence… vous présente.
JXDVDTEK – Une DVDthèque en Java et XML
Formation Technique 6èmepartie.
Initiation et perfectionnement à lutilisation de la micro-informatique Publier des films sur DailyMotion (sur Mac et sur PC) ©Yves Roger Cornil
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
Plan de formation Chapitre 1 : Présentation de SAP
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Les virus informatiques
Créer un document LES FONCTIONS ENREGISTRER LES FORMATS Retour au menu principal.
Système d’exploitation : Assembleur
Systèmes d’exploitation
Système d’exploitation : Assembleur
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
La sauvegarde des fichiers Dominique Dupont Suzanne Isacchi Maurice Chapelle Georges Planté-Longchamp.
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Comment détecter et éliminer
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Administration système
Informatique générale
Synchronisation et communication entre processus
Serveurs Partagés Oracle
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
18/05/ Utiliser le cahier de texte en ligne avec lapplication SPIP Adresse du site du lycée :
Configuration de Windows Server 2008 Active Directory
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
A la découverte de la bureautique et des fichiers.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Internet : la mémoire courte ? Capture de sites Web en ligne Conférence B.N.F, Avril 2004 Xavier Roche(HTTrack)
Logiciel gratuit à télécharger à cette adresse :
FICHIERS : Définition : Algorithme général:
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
INSCRIPTION AUX ELEMENTS
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Module 4 : Maintenance des pilotes de périphériques
Qu'est ce qu'un virus ? * Un virus est un petit programme caché dans le corps d'un fichier en apparence anodin. Lorsque ce fichier est ouvert, le virus.
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
Tout savoir sur la synchronisation des mails, contacts et calendrier sur Windows Phone Lire cette présentation en mode plein écran.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
Les fondements constitutionnels
Bienvenue sur CAUTIONET l'outil On Line de gestion de caution
Biologie – Biochimie - Chimie
DOC-DEPOT.COM - ‘' Mon essentiel à l'abri en toute confiance '' 29 mai 2014 Copies d’écrans Bénéficiaires Avec commentaires.
Cours Architecture des Systèmes Informatiques
Gérer la sécurité des mots de passe et les ressources
Centre d’échange d’informations sur la Convention sur la Diversité Biologique Bienvenue dans le cours sur l’ajout d’une page web sur un site web développé.
LES PILES ET FILES.
Le site-en-kit pour les locales 2. Créer des pages.
Architecture Chapitre 4 Interruptions. 2 Plan Principe Schéma d’acquisition Les états d’une interruption Décentralisation des interruptions Exemples.
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Sécurité et confidentialité dans Microsoft Internet Explorer William Keener Développement de contenu Global Service Automation Microsoft Corporation.
1 Formation à l’usage éco-performant de votre pc 1 ère Partie.
Présente Conception d’un petit site Web. 2 4-nov-03© Préambule Cette présentation fait suite à celle intitulée « Imaginer, concevoir, mettre.
Introduction à l’informatique en gestion 1 Plan de la leçon Compagnon office Sections et Mise en page En-têtes et pieds de page Notes de bas.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Les virus informatiques
Groupe 3 De Greef Didier Oozeer Tommy Piette Marc Renard Guy
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Initiation au JavaScript
1Boulogne Informatic Club PRESENTATION DE WINDOWS 10.
Transcription de la présentation:

Cours Architecture des Systèmes Informatiques Jean-Jacques Girardot girardot@emse.fr http://kiwi.emse.fr/ASI Huitième séance

Plan : sécurité et virus Malfonctions et attaques d’un système informatique Qu’est-ce qu’un virus PC et DOS, cibles privilégiées Fonctionnement d’un virus PC Virus et anti-virus La législation

Malfonctions d’un système informatique Pertes de données Catastrophes naturelles ou provoquées Incendies, inondations, tremblements de terre, rats… Erreurs matérielles ou logicielles Dysfonctionnements divers, disques illisibles, erreurs de télécommunications, bugs… Erreurs humaines Erreur de commande, perte ou détérioration accidentelle d’un support magnétique, etc… Règles strictes, sauvegardes multiples, etc…

Malfonctions d’un système informatique Intrusions passives ou actives Curiosité des personnes autorisées à travailler sur une machine Sécurités mises en place ressenties comme un challenge par les étudiants, programmeurs, opérateurs, techniciens… Actions individuelles en vue d’un profit Banques : espionner/casser les protections, reversements, chantages Espionnage industriel ou militaire Moyens matériels très élaborés Solutions différentes selon le niveau de protection désiré, ou les types d’intrusions redoutés

Exemples : mise à profit de bugs UNIX Fichier /etc/passwd très sensible diverses bugs des utilitaires UNIX permettaient de le modifier Programmes “SETUID” très fragiles TENEX [DEC PDP 10] Décoder un mot de passe en utilisant les fautes de page OS/360 [IBM] Utiliser des interruptions pour interrompre des routines systèmes critiques et modifier les données sur lesquelles elles travaillent

Techniques d’attaque génériques… Allouer de la mémoire, lire le contenu sans écrire au préalable => reste des programmes antérieurs Utiliser des appels système illégaux, des paramètres incorrects ou insensés Interrompre des séquences critiques de l’OS (login, logout, ES) Modifier les blocs de contrôle durant les E/S Espionner les utilisateurs avec de faux “login:” [spooffing] Lire les manuels du système. Faire tout ce qu’on dit de ne pas faire Chercher, ou se renseigner sur les “trapdoors” Draguer la secrétaire du patron…

Règles génériques sur la protection… La conception de la sécurité doit être rendue publique Aucun système ne peut reposer sur un “secret de fabrication” Sécurité par “autorisations” et non par “interdictions” Vérification des droits à chaque accès Chaque processus doit avoir les privilèges minimaux Mécanismes de protection simples, uniformes, inclus dans le noyau du système Mais… psychologiquement acceptables…

Les mots de passe Étude de Morris et Thompson (1979) Parades : Liste de mots de passe potentiels (prénoms, noms communs, etc…) Test sur ensemble de mots de passe effectifs : 86% découverts Parades : Imposer des changements du mot de passe fréquents Compléter le mot de passe par des chaînes aléatoires Identification de l’utilisateur par questions/réponses personnelles, algorithme… Identification de caractéristiques physiques de l’utilisateur carte magnétique, empreintes, fond de l’œil, voix…

Qu’est-ce qu’un virus ? CPA : Code Parasite Autopropageable Presque toujours un segment de code machine Se propage à l’intérieur d’un système, ou entre systèmes Peut s’autodupliquer et s’insérer dans un programme exécutable En général, conçu pour provoquer une nuisance Nom : analogie avec les virus biologiques Nombreuses similitudes, renforcées par l’utilisation de termes propres aux virus : contagion, infection, épidémie, vaccin, antidote, temps d’incubation ou de latence, etc.

Les autres… Voir aussi : Bug (ou bogue) : erreur involontaire du programmeur dysfonctionnement du programme parfois confondue avec l’action d’un virus [ex: panne teleph. 1990] dans les logiciels “sensibles”, peut être utilisée pour des attaques Cheval de Troie : code caché à l’intérieur d’un autre code “public” ex : “On en a marre de Microsoft et de ses chevaux de Troie” “Vers” (worm) internet, etc. Codes Mobiles Autres supports d’attaque : macros Word, Postscript, e-mail, etc. Fausses alertes, canulars (hoaxes)

Chevaux de Troie Des fonctions “inconnues” cachée dans un logiciel Ex : l’utilisateur de Microsoft est à la merci (rumeurs) de logiciels qui Peuvent explorer son disque dur à la recherche de versions “illégales” de logiciels Peuvent envoyer un message à Microsoft Peuvent rendre inopérants certains logiciels non approuvés par MS Solution : des logiciels équivalents du domaine public, dont les sources sont disponibles LINUX et ses produits de bureautique…

Codes mobiles Définition : morceaux de code, téléchargés à la demande, en vue d’une exécution immédiate Ex : Java (Sun), Java Script Des outils propriétaires, dont la réalisation est inconnue (source non disponible) ; des codes mobiles qui parviennent sous forme “compilée” Sont supposés ne pas pouvoir toucher le disque dur ActiveX (Microsoft) Idem : outil propriétaire, code non disponible => aucune garantie de sécurité Un exemple : un programme ActiveX débitant votre compte en banque par l’intermédiaire du package Quicken…

Les canulars (hoaxes)… Arrivent par e-mail sous la forme de “chain letters” “Attention : si vous recevez un mail intitulé “Good Times”, ne le lisez pas, jetez le, sinon votre disque dur sera détruit, etc… et envoyez une copie de cette lettre à toutes les personnes de votre connaissance…” Quelques uns : Good Times, PKZ300, Irina, Deeyenda, Penpal Greetings, Make Money Fast, Join the Crew, AOL V4.0, etc… Que faire ? Ne jamais propager l’avertissement ! Ne pas répondre (les références et adresses de retour sont fausses) Le détruire (votre homme système en a déjà reçu “n” copies)

Pourquoi des virus sur le PC ? Ce sont souvent des virus sous DOS DOS est un système aux protections rudimentaires Il est mono-utilisateur, mono-tâche, donc “simple” à comprendre Virus “faciles” à écrire, à comprendre, à modifier… Les PC sont très répandus… Attaquent aussi Windows 3.X et dans une moindre mesure W.95 Autres types d’operating systems OS/2, Unix : systèmes mieux protégés, plus complexes Macintosh : plus complexe, moins nombreux => virus plus rares Intéressent des classes différentes d’individus…

Rappel : interruptions 8h Horloge temps réel (55 ms) 9h Clavier 10h Affichage 11h Périphériques disponibles sur PC 12h Calcul de la taille de la mémoire 13h Lecture, écriture, formatage de secteurs 14h Communications 16h Clavier 17h Impression 19h Réinitialisation du PC (reset) 1Ah Lire/modifier l’heure 1Ch Appelée par 8h - exécute un code à chaque top 20h Arrêt du programme 21h Appel du DOS

Le boot d’un PC depuis une disquette Le PC exécute le code situé dans la ROM en FFFF0h Ce code détecte et initialise les périphériques, - met en place les vecteurs d’interruption, - appelle l’interruption 19h qui lit le 1er secteur de la disquette c.f. secteur “boot” cours 7 erreur si pas de disquette (ou de disque dur) place le secteur lu en 07C00h Le secteur doit comporter “55AA” dans les octets 1 et 2 Le PC continue l’exécution en 07C000h Le code charge le “système”, par exemple IO.SYS et MSDOS.SYS

Boot depuis le disque dur Même processus jusqu’à la lecture du secteur 1 du DD Le secteur se recopie en A0000h Charge le secteur 1 de la partition “bootable” du DD en 07C00h Ce nouveau code charge alors le système : Initialisation : pile, table de base du disque (description physique) table pointée par le vecteur d’interruption 1Eh Charge IO.SYS en 00700h, lui donne la main Charge MSDOS.SYS en 00700h, lui donne la main Charge COMMAND.COM et lui donne la main : on est sous DOS…

Fichiers .COM Les plus simples de fichiers exécutables Image binaire d’un segment : 64 ko maximum Le segment peut contenir programme et données Le code a été conçu pour être exécuté avec tous les registres de base [CS,DS,ES,SS] pointant sur le début du segment

Lancement d’un fichier .COM Recherche (par DOS) du fichier (exécutable) Allocation d’une zone de mémoire Mise en place d’une zone PSP Chargement, derrière le PSP, du fichier .COM Les registres de segments CS, DS, SS et ES pointent sur le code Le registre SP pointe sur le dernier octet du segment Le contrôle est donné à l’adresse 0 du code Le programme peut se terminer par Appel INT 20h [21h ,AH=0], ou encore INT 27h [21h, AH=31h]

PSP : Program Segment Prefix Zone de données (256 o) placée en tête du programme 0h(2) VI (Vecteur d’interruption) 20h 2h(2) Adresse du dernier segment alloué 5h(5) Informations pour DOS ? Ah(4) VI 22h (fin programme) Eh(4) VI 23h (intercepter “Ctl-C”) 12h(4) VI 24h (erreurs irrécupérables) 2Ch(2) Segment où se trouve le DOS 50h(3) Traitement de RETF de int 21h 5Ch(16) Fichier contrôle bloc 1 6Ch(16) Fichier contrôle bloc 2 80h(128) DTA pour paramètres ligne commande

Fichiers .EXE Fichiers exécutables à structure plus complexe En-tête de définition Informations sur le programme Table de relocation Différents segments de code et de données Mettre à jour, une fois le code chargé en mémoire, des adresses ou des parties d’instructions qui dépendent de la position du code en mémoire physique

En-tête d’un .EXE 0(2) Octets ‘M‘ et ‘Z’ caractérisant le type 2(2) Nombre d’octets dans la dernière page 4(2) Nombre de pages (de 512 o) du fichier 6(2) Nb. entrées de la table de relocation (TR) 8(2) Taille en-tête+TR en § de 16 octets Ah(2) Nb de § (*16) minimum nécessaires Ch(2) Nb max. de § utilisés par le programme Eh(2) Valeur de SS par rapport au début du code 10h(2) Valeur de SP par rapport au début du code 12h(2) Checksum de contrôle (sur tout le fichier) 14h(2) Valeur initiale de IP 16h(2) Valeur de CS par rapport au début du code 18h(2) Offset de début de la table de relocation 1Ah(2) Nombre d’overlays (0 pour seg. résidents)

Lancement d’un fichier .EXE Similaire aux .COM Allocation d’une zone de mémoire par segment Mise en place d’une zone PSP Chargement, derrière le PSP, des différents segments Mise à jour des adresses grâce à la table de relocation M.A.J. des registres de segments CS, DS, SS, SP, ES, IP Le contrôle est donné à l’adresse CS:IP du code Le programme peut se terminer par Appel INT 20h [21h ,AH=0], ou encore INT 27h [21h, AH=31h]

Classification des virus Résident/non résident[cas rare] S’installe en mémoire, détourne les interruptions Infecteur de boot Le boot est exécuté au démarrage du PC… Infecteur de programmes les .COM et .EXE essentiellement, car très nombreux les .BAT sont des fichiers de commandes : difficile et repérable les .SYS et .OVL sont gérés différemment => peu de virus

Éléments d’un virus Recherche & sélection d’un fichier à infecter Attaque des .EXE ou .COM Recherche (sur disque) et validation : est-il infectable ? Duplication / insertion du code Modifier un fichier existant pour insérer le code Rendre l’infection “invisible” Temporisation Quand se manifester ? Quand infecter d’autres programmes ?

Fonctionnement d’un .COM infecté Schéma typique : Le début physique du segment est remplacé par un saut vers le code du virus Une fois chargé en mémoire, DOS donne la main au segment… qui exécute immédiatement le code du virus sauvegarde les registres peut vérifier s’il est déjà présent en mémoire, et sinon implanter une copie de lui-même en mémoire afin de devenir résident Son affaire terminée, le virus place en début du segment les instructions originelles du programme, restaure les registres, et donne la main au programme.

Le virus “MIX1” Réserve de la place dans la pile, sauve les registres Regarde s’il est déjà présent [77h en 33Ch]; si oui, rend la main au programme Demande de la mémoire haute, se recopie, redirige les interruptions 21h 17h&14h Vérifie s’il en est à la 5eme génération. Si non, rend la main au programme Redirige les interruptions 8h (horloge) et 9h (clavier) Si fonction 4Bh du DOS [exécution d’un fichier], va tenter d’infecter celui-ci Convertit certains caractères envoyés à l’imprimante (fct. 17h) Idem pour les octets envoyés sur le port série (fct. 14h) Annule les effets de CTRL-ALT-DEL, et Shift/Shift Lock au bout de 50 minutes Utilise l’interruption 8h pour compter 50’ ; au bout d’une heure, fait rebondir un “o” à l’écran

Dégâts des virus Tout et n’importe quoi… mais surtout perte de temps de l’inoffensif à l’effaceur de disque “Bad Brains” : pas d’effet observé “Shiny Happy Virus” : transforme :-) en :-( “Storyteller” : affiche un poème de Theodore Watts-Dunton “911” : appelle le 911 (police/fire/emergency) sur le modem “10 past 3” : s’active de 15:10 à 15:13, et selon les jours bloque le clavier, les disques, l’écran, reboute la machine, etc… “Joshi” : le 5 janvier, affiche “Type Happy Birthday Joshi”… parfois plus dangereux par leurs bugs que par leurs effets pas d’action sur le matériel, sauf cas exceptionnel

Quelques virus célèbres “Vendredi 13” (octobre 87, Israël) Augmente la taille des fichiers infectés de 408, 544 ou 1808 octets. Si un fichier atteint est exécuté un vendredi 13, il est détruit. “Brain” (1986, Pakistan, secteur boot) Remplace le nom du volume par “© Brain” “Flip” (1990, Allemagne de l’Ouest) Augmente la taille des fichiers de 2343 octets ; le 2eme jour du mois, les caractères apparaissent inversés à l’écran “Anti-Pascal” (1990, Bulgarie, .COM) Détruit les fichiers .BAK et .PAS

Virus des macros de Word MS Word offre la possibilité d’écrire des “macros” Textes : suite de commandes équivalentes à des choix de menus, etc. Automatiser les tâches répétitives Peuvent être associées à des évènements : ouverture de fichier, etc. Sont peu visibles, mais détectables Quelques virus Concept : ouvre une boîte de dialogue avec le chiffre 1 Nuclear : “Stop all french nuclear testing in the pacific” Wazzu : insère le mot “Wazzu” dans le document C.f. http://www.microsoft.com/msword

Virus et Internet Comment attrape-t-on des virus avec Internet ? Par téléchargement de logiciels et documents (macros virus) Par e-mail : documents “attachés” pouvant contenir des virus (certains outils de mail ouvrent automatiquement ces documents…) Des virus peuvent se trouver dans des “add-on” proposés pour visualiser des types spécifiques de documents Les pages Web peuvent contenir des scripts (Java/Javascript), en principe inoffensifs… Mais Internet permet de comprendre et de se protéger ex : le site CIAC : http://ciac.llnl.gov/

Se protéger… Prévention… Outils anti-virus Les virus viennent de l’extérieur disquettes prêtées ou utilisées sur une machine contaminée, logiciels obtenus sur Internet, etc. Reformater ses disquettes, les utiliser en “write protect” si possible Faire des sauvegardes fréquentes, sur des disques différents Outils anti-virus Prévention Détection Suppression

Se protéger… mieux… Travailler sous anti-virus Utiliser une machine isolée pour tester tous les nouveaux logiciels, dont le disque dur peut être aisément reformaté… Conserver en sécurité tous ses originaux, sur des supports en lecture seule Se méfier des documents importés, des add-on, etc… Désactiver l’exécution des codes mobiles sur son navigateur Consulter un vrai spécialiste quand on soupçonne la présence d’un virus sur sa machine…

Les outils anti-virus : prévention Un virus modifie un programme Un scanner peut détecter la présence de virus connus Analyse les .COM et .EXE à la recherche de la “signature” de virus signature : segment de code ou de données caractéristique Nécessite une MAJ lors de l’apparition de nouveaux virus Checksum d’un programme, & comparaison avec valeur standard Un scanner peut rechercher des “messages” suspects : “Formatting your hard disk”, “Ha ha!”, etc. Utiliser ces outils pour vérifier disquettes et fichiers exécutables, y compris les programmes du commerce…

Les outils anti-virus : détection Un virus peut être observé quand il modifie un programme “watchdog” : programme résident, qui va vérifier certaines opérations “critiques” en les interceptant ex : écriture dans un .EXE scan de la mémoire, à la recherche de la signature d’un virus détection heuristique (suites d’instructions) Mais… le watchdog va parfois émettre des avertissements intempestifs…

Les outils anti-virus : réparation Si possible, supprimer le programme contaminé et mettre en place une version saine Utiliser un outil qui efface physiquement le programme “Scanner” la sauvegarde… Dans le cas d’un secteur de boot, utiliser un outil de réparation Certains programme de réparation vont rendre le virus inactif, tout en laissant le code quasi intact Le programme “assaini” est parfois immunisé, mais peut être indiqué comme “contaminé” par un scanner

Comment les virus résistent… Dissimulation : cacher ses traces Encryptage : masquer son code Polymorphisme : se dupliquer avec des différences Inactivité : ne se manifester que rarement Et grâce à l’inconscience des utilisateurs…

Se dissimuler Cacher son code Cacher ses traces Par exemple, dans des secteurs du disque que l’on indique comme “défectueux” Cacher ses traces Faire croire à son absence Restaurer la date de modification des fichiers Détourner les E/S et les appels à DOS, pour tromper les anti-viraux Modifier les informations des répertoires, pour faire croire que les programmes n’ont pas changé de taille

Encrypter le code Encryptage Encrypter, dans le programme infecté, la quasi-totalité du code d’un virus, pour empêcher sa détection Il est difficile de détecter le virus quand il est encrypté dans un programme inactif Quelques instructions suffisent à décrypter le tout une fois chargé Le code du virus n’est accessible qu’une fois activé ; il peut s’auto-détruire une fois son “travail” terminé Il existe de nombreuses méthodes simples pour encrypter du code : xor, addition, décalages, avec des valeurs fixes ou “glissantes”, etc.

Virus polymorphe (1) Décryptage d’un code encrypté par un XOR 55h mov si,crypted_code ; pointe sur code mov cx,100 ; 100 octets à décrypter boucle: xor byte ptr[si],55 ; XOR sur 1 octet inc si ; pointe sur suivant loop boucle ; contrôlé par cx crypted_code : ; début du code crypté Reste du code : encrypté Difficile à reconnaître [256 encryptages possibles] Boucle de décryptage facile à déceler [XOR, structure]

Virus polymorphe (2) Perturber la boucle de décryptage mov si,crypted_code ; pointe sur code nop ; no-operation, ne fait rien nop ; mais occupe un octet mov cx,100 ; 100 octets à décrypter boucle: nop xor byte ptr[si],55 ; XOR sur 1 octet inc si ; pointe sur suivant nop nop loop boucle ; contrôlé par cx

Virus polymorphe (3) Encore mieux… mov si,crypted_code ; pointe sur code mov dx,1423 ; code bidon or al,cl ; code bidon mov cx,100 ; 100 octets à décrypter boucle: add al,dx ; code bidon xor byte ptr[si],55 ; XOR sur 1 octet inc si ; pointe sur suivant sub dx,al ; code bidon dec dx ; code bidon loop boucle ; contrôlé par cx

Virus polymorphe (4) Le virus peut modifier son code : insertion d’instructions inutiles cryptages divers, avec divers codes peut générer diverses boucles de décryptage plusieurs structures différentes de la boucle structures “schéma”, avec utilisation de registres divers insertion d’instructions ineffectives [10 à 100/inst. effective] Il est impossible à détecter par “signature” Méthodes heuristiques => fausses alertes possibles…

Autres techniques EPO : “Entry point obscuring” Le virus ne remplace pas la première instruction du programme, mais trace celui-ci, et insère des instructions plus loin dans le code Rétrovirus : attaque des antivirus Le virus recherche la présence en mémoire et sur disque de logiciels antiviraux susceptibles de le détecter et tente de les rendre inactifs…

Loi 88-19 du 5 janvier 1988 (1) Article 462-2 Quiconque, frauduleusement, aura accédé ou se sera maintenu dans tout ou partie d’un système de traitement automatisé de données sera puni d’un emprisonnement de deux mois à un an et d’une amende de 2.000F à 50.000F ou de l’une de ces deux peines. Lorsqu’il en sera résulté soit la suppression ou la modification de données contenues dans le système, soit une altération du fonctionnement de ce système, l’emprisonnement sera de deux mois à deux ans et l’amende de 10.000F à 100.000F.

Loi 88-19 du 5 janvier 1988 (2) Article 462-3 Quiconque aura, intentionnellement et au mépris des droits d’autrui, entravé ou faussé le fonctionnement d’un système de traitement automatisé de données sera puni d’un emprisonnement de trois mois à trois ans et d’une amende de 10.000F à 100.000F ou de l’une de ces deux peines.

Loi 88-19 du 5 janvier 1988 (3) Article 462-4 Quiconque aura, intentionnellement et au mépris des droits d’autrui, directement ou indirectement, introduit des données dans un système de traitement automatisé ou supprimé ou modifié les données qu’il contient ou leurs modes de traitement ou de transmission sera puni d’un emprisonnement de trois mois à trois ans et d’une amende de 2.000F à 500.000F ou de l’une de ces deux peines. Article 462-7 La tentative des délits prévus par les articles 462-2 à 462-6 est punie des mêmes peines que le délit lui-même.

Plus d’information… De nombreuses pages sont consacrées sur Internet aux virus. Points de départ : La section “Virus” de la page http://kiwi.emse.fr/JJG/ASI/Liens.html Rechercher “Virus”, associé à quelques autres mots-clefs, sur les outils de recherches traditionnels (Alta Vista, etc.)