INF8420 Éléments de sécurité informatique Hiver 2008 TRAVAIL PRATIQUE 2 Prof. : José M. Fernandez



Documents pareils
1 Démarrage de Marionnet

SECURIDAY 2012 Pro Edition

Sécurité des applications web. Daniel Boteanu

Symantec Backup Exec Remote Media Agent for Linux Servers

Mise en place des TPs Réseau en machines virtuelles. Utilisation de VmPlayer

SECURIDAY 2013 Cyber War

TP1 - Prise en main de l environnement Unix.

Guide d installation de MySQL

Le scan de vulnérabilité

FileMaker Server 14. Aide FileMaker Server

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Préparation à l installation d Active Directory

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Installation des outils OCS et GLPI

TP Sur SSH. I. Introduction à SSH. I.1. Putty

HAYLEM Technologies Inc.

Protéger une machine réelle derrière une machine virtuelle avec pfsense

PPE Installation d un serveur FTP

Guide de l utilisateur Communauté virtuelle de pratique en gestion intégrée des risques

vsphere 5 TP2 La virtualisation avec VMware CNFETP F. GANGNEUX technologie GANGNEUX F. 17/12/2012

Comment se connecter au dossier partagé?

Sauvegarde des données d affaires de Bell Guide de démarrage. Vous effectuez le travail Nous le sauvegarderons. Automatiquement

Table des matières. Avant-propos... Préface... XIII. Remerciements...

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Présentation de l outil AppliDis ESX Console Viewer

TP N 1 : Installer un serveur trixbox.

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Tutoriel sur Retina Network Security Scanner

Installation / Sauvegarde Restauration / Mise à jour

1. Présentation du TP

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Les différentes méthodes pour se connecter

L accès à distance du serveur

Système Principal (hôte) 2008 Enterprise x64

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

Sauvegardes par Internet avec Rsync

Créer et partager des fichiers

SQL Data Export for PS/PSS

Guide de démarrage

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Atelier Le gestionnaire de fichier

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

GPI Gestion pédagogique intégrée

Configuration de Virtual Server 2005 R2

Utilisation des ressources informatiques de l N7 à distance

Installation d'un serveur sftp avec connexion par login et clé rsa.

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

INFO-F-309 Administration des Systèmes. TP7: NFS et NIS. Sébastien Collette Résumé

1. Présentation du TP

TAGREROUT Seyf Allah TMRIM

Installation d un serveur AmonEcole

Projet Administration Réseaux

Pré-requis pour les serveurs Windows 2003, Windows 2008 R2 et Windows 2012

FORMATION PROFESSIONNELLE AU HACKING

NAS 224 Accès distant - Configuration manuelle

Sécurité des réseaux Les attaques

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

DOCUMENT D ACCOMPAGNEMENT POUR L INSTALLATION DU LOGICIEL ESTIMACTION

Chapitre 1 Windows Server

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Création d une connexion VPN dans Windows XP pour accéder au réseau local de l UQO. Document préparé par le Service des technologies de l information

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

Procédure d installation détaillée

Guide Numériser vers FTP

EN Télécom & Réseau S Utiliser VMWARE

FreeNAS Shere. Par THOREZ Nicolas

Déployer une application Web avec WebMatrix et Ma Plateforme Web

Introduction. Instructions relatives à la création d ateliers de test. Préparer l ordinateur Windows Server 2003

Configuration de WebDev déploiement Version 7

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel

Sécurisation du réseau

Mise en route d'une infrastructure Microsoft VDI

Comment configurer Kubuntu

But de cette présentation

Installation et configuration du logiciel BauBit

MANUEL D INSTALLATION D UN PROXY

Guide d installation d AppliDis Free Edition sur Windows Serveur 2008 R2

FileMaker Server 14. Guide de démarrage

Ajout et Configuration d'un nouveau poste pour BackupPC

FOIRE AUX QUESTIONS - WebDEPOT

Formation en Sécurité Informatique

Installation des caméras IP

Pré-requis de création de bureaux AppliDis VDI

1. DÉMARRER UNE SESSION SÉCURISÉE SUR LE MACINTOSH SESSIONS DES APPLICATIONS CLIENTES SUR LE MACINTOSH... 5

Pré-requis de création de bureaux AppliDis VDI

EN Télécom & Réseau S Utiliser VMWARE

Installation ou mise à jour du logiciel système Fiery

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Le service FTP. M.BOUABID, Page 1 sur 5

Préconisations Techniques & Installation de Gestimum ERP

L installation du module Webmail nécessite également quelques prérequis, à savoir :

Itium XP. Guide Utilisateur

Un serveur FTP personnel, ça ne vous a jamais dit?

Raccordement desmachines Windows 7 à SCRIBE

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

Intranet d'établissement avec Eva-web Installation configuration sur serveur 2000 ou 2003 Document pour les administrateurs

0.1 Mail & News : Thunderbird

Transcription:

INF8420 Éléments de sécurité informatique Hiver 2008 TRAVAIL PRATIQUE 2 Prof. : José M. Fernandez Directives : - La date de remise est Mercredi le 26 mars 2007 à 12h, *VOIR I STRUCTIO S DÉTAILLÉES DE REMISE SUR.LA PAGE WEB DU COURS* - Le travail devra être fait par équipe de deux. Toute exception (travail individuelle, équipe de trois) devra être approuvée au préalable par le professeur. - Indiquez toute vos sources d information, qu elles soient humaines ou documentaires. ATTE TIO : Ce travail montre certaines techniques de base pouvant être utilisés pour commettre des actes illégaux. Ceci est jugé utile dans le cadre du cours pour permettre de mieux connaître les attaques pouvant être faites sur les systèmes qu'on tente de protéger. Un système de sécurité basé sur l'ignorance des gens n'est pas un bon système, donc le fait de montrer les techniques de hacking ne réduit pas la sécurité. J'encourage les gens à tester ces attaques sur des systèmes qu'ils possèdent, pour la formation, et non de manière illégale. BUT Le but de ce TP est de vous familiariser avec les méthodes d exploitation des failles logicielles ainsi qu avec les mécanismes d identification d usager par mots de passe utilisés par les systèmes d exploitation. Il vise aussi à souligner, via l entremise de la Question 5, le type de scénario de sécurité affaibli que l utilisation incorrecte de ce type de mécanisme pourrait engendrer. DÉTAILS PRÉLIMINAIRES Scénario de base (Questions 3, 4 & 5). Vous êtes un hacker et comme par hasard en vous promenant sur l Internet vous êtes tombé sur le réseau corporatif de Omnisoft, une compagnie lavalloise qui se spécialise dans le domaine du multimédia interactif (traduction= ils font des jeux vidéos). Ceci est une prise de taille, car si vous mettez la main sur le code source de leur tout dernier jeu, vous pourriez gagner gros en vendant des copies pirates avant la date de lancée. À première vue, il semblerait que les serveurs d Omnisoft soit tous nommés après des villes canadiennes. En regardant leurs entrées DNS, vous avez la présence des serveurs suivants : Montreal, Ottawa, Quebec et Sherbrooke. VMWARE. Pour ce labo toutes ces machines seront simulées par des machines virtuelles avec le programme VmWare. Pour commencer, ouvrez le programme VmWare Workstation. Une fois ouverte vous pouvez choisir l'image de la machine Montreal, pour procéder à la question 3. Ensuite, appuyez sur le bouton Play vert, ce qui repartira la machine à l état où elle a été sauvegardée («snapshot»). Si vous avez des problèmes, vous pouvez redémarrer la machine virtuelle en allant dans Power et cliquez sur Power On. AIDE Comme vous êtes en mode console sur la machine virtuelle Montreal, voici quelques commandes utiles : Éditer un fichier $ vim Nom_Fichier Quitter un fichier ouvert avec vim sans sauvegarder les changements: :q! Quitter et sauvegarder un fichier après changements : :wq! Faire un Copy/Paste dans vim : Positionner le curseur au début du texte à copier. Appuyer sur la lettre v. Bouger le curseur jusqu à la fin de la partie choisie puis appuyer sur y. Aller à l endroit ou voulez TRAVAIL PRATIQUE 1 INF8420 Hiver 2008 v1 1 de 6

mettre le texte puis appuyer sur p. S il y a un surplus de texte à effacer, appuyer autant de fois que nécessaire sur x. Question 1 [/1.5] : Hacking "facile" Vous devez trouver comment entrer dans le système suivant, sans trouver les noms d'usagers et mots de passes (qui sont évident dans ce cas-ci, puisqu'ils sont en texte clair dans le programme). Il faut utiliser une attaque basée sur un problème de sécurité dans le programme. Vous devez vous baser uniquement sur ce code et non supposer qu'il y a des trous de sécurité dans d'autres composantes du système. Votre seule manière d'interagir avec le système est donc d'envoyer et de recevoir des caractères au programme. Si votre attaque est un succès, vous n'aurait entré aucun des mots de passe de la liste puis le programme écrira "Bienvenu sur ce systeme..." et terminera correctement (il ne doit pas y avoir de faute système). Le fichier exécutable Windows et le code source en C sont disponibles sur le site web du cours http://www.cours.polymtl.ca/inf8420/tp/hack1.zip (Utilisez le fichier exécutable fournis, pas une version que vous avez compilée). a) Donnez le fichier contenant la séquence exacte de caractères à entrer (pour qu'on puisse utiliser une redirection pour vérifier le hack, avec la commande "hack1 < monhack1.txt"). Expliquez brièvement comment votre "hack" fonctionne. b) Que faudrait-il changer dans le programme pour enlever ce problème de sécurité? Question 2 [/2.5] : Hacking "difficile" C'est le même problème que le numéro 1.a) mais avec un programme différent. Malgré que le programme soit légèrement différent, il est beaucoup moins facile Ҵ à "hacker" correctement (si vous êtes débutants dans ce genre de chose). Le fichier exécutable Windows et le code source en C sont disponibles sur le site web du cours http://www.cours.polymtl.ca/inf8420/tp/hack2.zip (Utilisez le fichier exécutable fournis, pas une version que vous avez compilée). a) Donnez le fichier contenant la séquence exacte de caractères à entrer (pour qu'on puisse utiliser une redirection pour vérifier le hack, avec la commande "hack2 < monhack2.txt"). Expliquez brièvement comment votre "hack" fonctionne. b) Que faudrait-il changer dans le programme pour enlever ce problème de sécurité? Question 3 [/1.5] : Organisation des mots de passe en U IX/LI UX Vous avez réussi à obtenir les privilèges de root sur la machine Montreal. Le mot de passe de root est Af6Thg+9. Le but de cette question est de vous familiariser avec les mécanismes de protection de mot de passe en Linux. a) Examinez le fichier /etc/passwd. Contient-il des mots de passe? Pourquoi? Quelles sont ses permissions d accès? Pourquoi? b) Ajouter un utilisateur avec la commande: $ useradd -gusers -s/bin/bash -d/home/nom -m NOM avec NOM= le nom de l'utilisateur que vous ajoutez Donnez un password à l'utilisateur que vous avez crée avec la commande: $ passwd NOM Observez ce qui se passe dans les fichiers passwd et shadow qui se trouvent sous le répertoire /etc TRAVAIL PRATIQUE 1 INF8420 Hiver 2008 v1 2 de 6

Lequel de ces deux fichiers est modifié? c) Changer le mot de passe de l'utilisateur que vous venez de créer avec la commande $ passwd NOM Qu'est ce que vous remarquez dans les fichiers passwd et shadow? Lequel de ces deux fichiers change? Pourquoi? Où se trouve donc l information du mot de passe? Quelles sont les permissions du fichier shadow et pourquoi? d) Changer à nouveau le mot de passe du même utilisateur et donnez lui le *même* mot de passe. Est-ce que les informations du mot de passe ont changé? Pourquoi? e) Créez un deuxième utilisateur en suivant l étape b). Ensuite éditer le fichier shadow et en remplacer la valeur par défaut (!!) du champ de mot de passe de l'utilisateur que vous venez de créer par la valeur du même champ pour l utilisateur vous avez crée en premier. Sauvegarder le fichier et délogguer vous. Essayer de vous connecter sur le compte du deuxième utilisateur mais avec le mot de passe que vous venez de copier. Est ce que ceci est possible? Expliquez pourquoi. Quel est le problème? f) Effacer cet utilisateur avec la commande $ userdel NOM Qu'est ce qui se passe dans passwd et shadow? Question 4 [/0.5] : Contrôle de qualité de choix de mot de passe Dans cette question vous allez vous familiariser avec l outil «John The Ripper» qui permet de trouver des mots de passe. Le principe de base est très simple : en regardant les entrées dans un fichier /etc/passwd, «John» essaie des mots dans un dictionnaire de mot de passe courant et génère des hash avec les «salt» retrouvés et les comparent avec les hash de mot de passe dans ce fichier. Il utilise des fichiers /etc/passwd à l ancienne (qui contiennent aussi le hash de mot de passe). Cependant il est possible de reconstruire ce type de fichier à partir du /etc/passwd et du /etc/shadow en utilisant la commande «unshadow» qui vient avec John The Ripper. Le programme John se trouve sous /home/inf4420/johntheripper/ Pour cette question ceci a déjà été fait pour vous, et vous disposez donc, de 2 fichiers «passwordm» et «passwordt» provenant respectivement des machines Montréal et Toronto, ils sont dans les répertoires home/inf4420/question4/. Toronto est une vielle machine qui n est plus présente sur le réseau. a) Loguez-vous sur la machine Montreal en utilisant le compte root et le mot de passe Af6Thg+9. John est utilisé en lançant le script «john» avec un fichier du type /etc/passwd ancien. $./john Nom_Fichier (avec om_fichier le nom de fichier de mots de passe, n oubliez pas d indiquer le chemin complet) Familiarisez vous avec l outil et essayer de trouver le plus de mots de passe possibles sur les fichiers passwordm (machine Montreal) et passwordt (machine Toronto). Vous pouvez à tout moment voir ce que John est en train de faire en pesant la barre d espace. Les résultats de John sont répertoriés dans le fichier john.pot. En examinant ce fichier (ou en regardant les résultats sur la console) décrivez quels mots de passe vous avez trouvé ainsi que sur quelle des deux machines (Montreal et Toronto) et à quels usagers ils correspondent. Ne vous attardez pas trop, car certains mots de passe peuvent prendre beaucoup de temps et demanderaient l utilisation de John au niveau 3. Un quart d heure est largement suffisant pour détecter les mots de passe des niveaux 1 et 2. Question 5 [/2] : Exploitation des vulnérabilités TRAVAIL PRATIQUE 1 INF8420 Hiver 2008 v1 3 de 6

Dans cet exercice, vous aurez la possibilité de vous familiarisez avec trois outils d exploitation de vulnérabilité des logiciels et des systèmes d exploitation. Ces outils sont le scanneur de port «Nmap», l écouteur de connexion «Netcat» et l arsenal des exploits «MetaSploit». Vous êtes en présence des machines virtuelles Montréal, Québec et Ottawa se trouvant sur un même sous réseau et ayant les adresses IP suivantes : Montréal : 195.34.45.2, Québec : 195.34.45.7, Ottawa : 195.34.45.25, Sherbrooke : 195.34.45.30 À l aide de la machine hôte ou plutôt attaquante Montreal vous serez appelés à scanner les machines cibles Quebec, Ottawa et Sherbrooke avec l outil «Nmap», à déterminer les vulnérabilités présentes sur chacune d elles et à les exploiter avec le logiciel «MetaSploit». Afin de simuler plusieurs services ouverts sur des différents ports, nous avons installé sur les machines cibles l outil «Netcat». Tous ces outils sont disponibles aux endroits suivants : - Nmap : outils installé par défaut par Linux et disponible de sous n importe quel endroit sur Montreal - Metasploit : disponible à partir du répertoir metasploit sous /home/inf4420/ a) Utilisation de «Nmap» : Sur la machine Montréal, l'utilitaire «Nmap» est installé. Vous pouvez trouver plus de documentation sur son utilisation en tapant la commande $ man nmap. Cet outil est utile pour faire un balayage réseau et trouver les ports qui sont ouverts sur les hôtes du réseau, ce même rôle peut aussi être joué par le logiciel «Netcat». Essayer de faire un balayage réseau sur la plage <195.34.45.*> en utilisant la commande suivante : $ nmap -st P0 195.34.45.* 1. Expliquer la commande citée ci haut. 2. Quels sont les résultats obtenus? 3. Expliquer ces résultats. b) Balayer maintenant les machines Québec, Ottawa et Sherbrooke séparément. - Que remarquez-vous? Expliquer? c) Sur la machine Quebec, vous devez lancer la commande «Netcat» avec les options suivantes : C:\Netcat> nc -l -p 1337 Relancez le balayage de port nmap avec les mêmes options sur Quebec 1. Est-ce que le résultat a changé? 2. Si oui, expliquez la différence. d) Exploitation de failles de sécurité connues : 1. Comme vous le savez, le système d'exploitation windows 2000 est relativement vieux. Plusieurs failles de sécurité ont été découvertes dans ce système d'exploitation. Dans le cas du système installé sur les machines de ce TP, nous avons remarqué que sur une d elle le système rpc dcom écoute par défaut sur le port 135. TRAVAIL PRATIQUE 1 INF8420 Hiver 2008 v1 4 de 6

A l aide du "framework" de sécurité informatique «Metasploit», nous vous demandons d utiliser cette faille pour l exploiter par débordement de tampon du service rpc dcom. Vous devrez bien sur identifier la machine vulnérable à partir de vos résultats de scan avec «Nmap» exécuté précédemment. Le module de Metasploit à utiliser est : msrpc_dcom_ms03_026. À l'aide de Metasploit, vous devez ajouter un utilisateur "h4x0r" avec le mot de passe "toto" sur cet hôte. Vous devez ensuite changer le "payload" dans Metasploit pour exécuter une invite de commande et créer un répertoire "owned" sur le bureau de l'utilisateur inf44201 (C:\Documents and Settings\inf44201\Bureau). Vous devez donner un listing des commandes et des payloads que vous avez utilisez et une explication de votre démarche. 2. Une autre faille a été aussi détectée sur la même machine, cette faille concerne le service WarFTPD et elle exploite le débordement de tampon dans la commande PASS de la version 1.65 de cette application. Afin de l exploiter vous devez essayer de trouver le module nécessaire en listant les exploits de «Metasploit». Comme vous le savez, WarFTPD est un serveur FTP roulant par défaut sur le port 21. Une fois ce module trouvé, vous devrez exécuter une invite de commande et créer un répertoire sur la machine hôte. Donnez le nom du module utilisé ainsi que les différentes commandes que vous avez exploité. 3. RPC (Remote Procedure Call) est un protocole permettant de faire des appels de procédures sur un ordinateur distant à l'aide d'un serveur d'application. Ce protocole est utilisé dans le modèle client-serveur et permet de gérer les différents messages entre ces entités. Sur la machine que vous jugez vulnérable, vous aller arrêter le service rpc dcom. Pour cela, suivez les instructions suivantes : Clique droit sur Poste de Travail -> Gérer -> Services et applications -> Services Ensuite, dans les propriétés du service «Appel de procédure distante (RCP)» choisissez le type de démarrage «Désactivé». Redémarrez la machine. 4. Une version mis à jour de l application WarFTPD est disponible sur le serveur Sherbrooke de vos amis de PolyVideo, a l adresse http://195.34.45.30/update. Démarrez l installation, et choisissez «Upgrade from 1.6* or previous version» au moment où le setup de le propose. L installation présente sur la machine se trouve dans le répertoire C :\warftpd. 5. Relancez le balayage de port nmap avec les mêmes options sur la machine que vous venez de manipuler. Est-ce que le résultat a changé depuis la dernière exécution? Si oui, expliquez la différence. 6. Ressayez les attaques effectues aux points 1 et 2 sur la même machine. Est-ce que le résultat a changé? Si oui, expliquez la différence. 7. Essayer de refaire ces deux exploits sur la machine que vous juger plus sécuritaire. Que remarquez-vous? Donnez une brève explication ainsi qu un petit récapitulatif de ce que vous avez appris durant cet exercice. Question 6 [/ 2] : Site web php vulnérable L association PolyVideo loue des DVD aux étudiants de Poly à un tarif réduit. Pour se faire mieux connaître l association a mis en place un site web qui permet aux membres de gérer leurs informations personnelles et de voir la liste des films qui sont disponible. Les étudiants qui ont construit le site sont partis sur le principe : d abord la fonctionnalité et ensuite la sécurité. Le site est maintenant en ligne mais la sécurité n a jamais été mise en balance. Pour voir le site de PolyVideo qui est hébergé sur la machine Sherbrooke, ouvrez un navigateur dans la machine Quebec et naviguez vers l adresse suivante : http://195.34.45.30. TRAVAIL PRATIQUE 1 INF8420 Hiver 2008 v1 5 de 6

a) Injection de SQL Vous soupçonnez que le site de PolyVideo est vulnérable à une attaque d injection de SQL. En faisant du social engineering avec l administrateur du site web, vous avez réussi de récupérer le bout de code qui authentifie les utilisateurs. Il a suffit de dire à l admin que vous voulez développer un site qui implémente une authentification et il vous a gentiment donné le code de la page login2.php du site de PolyVideo. 1 extract($_post); 2 $req = "select mem_code from MEMBRES where mem_login = '$login' and mem_pwd = '$pass'"; 3 $result = mysql_query($req) or 4 die ("Error : the SQL request <br><br>".$req."<br><br> is not valid: ".mysql_error()); 5 list($mem_code) = mysql_fetch_array($result); 6 if (empty($mem_code)) { //verifier que la requette a retourne une reponse positive 1. Proposez une façon de vous loguer sur le site web avec le compte : gigi 2. Proposez une façon passer à travers de la partie identification du site en supposant que vous ne connaissez aucun nom de compte. 3. Quelles failles dans le code avez-vous utilises pour l attaque 1? Et pour l attaque 2? 4. Corrigez les failles dans le code que l admin de PolyVideo vous a envoyé. b) Injection de HTML En allant plus loin avec les attaques d injection SQL, vous avez réussi de copier votre propre page web sur le site. La page est disponible à l adresse http://195.34.45.30/hacked.html. Pour montrer a vos amis que vous avez réussi a pirater le site de PolyVideo, vous allez faire en sorte que tout utilisateur qui se connecte sur le site de PolyVideo est redirigé automatiquement vers la page de hacked.html. Une manière de rediriger un navigateur vers une autre page dans html est la suivante : <script type="text/javascript">document.location.href="autre_page.html"</script> 1. Comment avez-vous effectué l attaque? 2. Quelles ont été les failles que vous avez utilisez? Comment les corriger? RÉFÉRENCES : - Buffer overflow: http://en.wikipedia.org/wiki/buffer_overflow#basic_example - Stack buffer overflow: http://en.wikipedia.org/wiki/stack_buffer_overflow - Nmap : http://www.insecure.org/nmap/ - protocol RCP: http://en.wikipedia.org/wiki/rpc - Vulnerabilité RPCDCom : http://www.osvdb.org/displayvuln.php?osvdb_id=2100&lookup=lookup - Metasploit framework : www.metasploit.com - Le tutorial de Métasploit disponible sur le site du cours. TRAVAIL PRATIQUE 1 INF8420 Hiver 2008 v1 6 de 6