Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens

15,691
-1

Published on

Ce présent rapport présente une étude théorique et expérimentale sur les moteur de recherche et les Honeyclients Open Source, cette étude à permis la mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens.

Published in: Technology, Business
2 Comments
9 Likes
Statistics
Notes
  • Bon travail
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • MERCI POUR C RAPPORT
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
15,691
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
858
Comments
2
Likes
9
Embeds 0
No embeds

No notes for slide

Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens

  1. 1. REPUBLIQUE TUNISIENNE MINISTERE DE L'ENSEIGNEMENT SUPERIEUR, DE LA RECHERCHE SCIENTIFIQUE ET DE LA TECHNOLOGIE ***** FACULTÉ DES SCIENCES DE TUNIS Département des Technologies de l’Informatique RAPPORT De Projet de Fin d’Études Présenté en vue de l’obtention du diplôme D'ÉTUDE D'INGÉNIEUR EN INFORMATIQUE Sujet : Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens Élaboré par Mohamed BEN BOUZID Encadré par : Mme Hela KAFFEL BEN AYED (FST) Mr Sami MABROUK (ANSI) Société d’accueil : L'Agence Nationale de la Sécurité Informatique (ANSI) Année Universitaire : 2008/2009
  2. 2. Dédicace Je dédie ce travail A ma mère A mon père A mes frères A mes proches A tous mes amis Et à tous ceux qui me connaissent
  3. 3. Remerciements Nous voudrions remercier notre encadrant à la FST Mme. Hela Kafel BEN AYED, pour son soutien et ses recommandations judicieuses. À Mr. Sami Mabrouk, notre encadrant au sein de la société, qui nous a permis de nous exprimer, nous a encadré, soutenus et qui n’a jamais cessé de nous encourager. Aussi, remercions-nous Mr Ahmed Amine SOUAYAH et tout personnel de l'Agence Nationale de la Sécurité Informatique (ANSI) ayant contribué de près ou de loin dans le bon déroulement du projet. Nous devons chaque bribe de notre connaissance à nos enseignants à la Faculté des Sciences de Tunis qui ont si bien mené leur noble quête d’enseigner les bases de l’informatique. Nous les remercions non seulement pour le savoir qu’ils nous ont transmis, mais aussi pour la fierté et l’ambition que leurs personnes nous aspirent. Non loin de tout projet ambitieux, il existe des gens qui partagent sans jamais se lasser ses meilleurs et ses pires moments. Ce sont des personnes qui nous ont soutenus dans chacun de nos instants de faiblesse, et qui, sans leurs extrême attention et gentillesse, nous ne serions pas ce que nous sommes devenu aujourd’hui. En tête de liste de ces gens nous placerons nos familles bien aimées qui n’ont jamais hésité à nous offrir le meilleur qu’elles pouvaient. Viennent alors tous nos camarades de promotion , les membres du Club des Logiciels Libres à la Faculté des Sciences de Tunis ainsi que tous nos amis qui nous ont aidés de façon directe ou tout simplement par leur présence et leur soutien moral.
  4. 4. TABLE DES MATIÈRES INTRODUCTION ..................................................................................................................... 1 CHAPITRE I : ÉTAT DE L'ART 1. Objet de l'étude ….......................................................................................................... 3 2. Présentation de l'entreprise …........................................................................................ 3 2.1. Historique et présentation …................................................................................. 3 2.2. Objectif …............................................................................................................. 4 2.3. Organigramme ….................................................................................................. 4 3. Présentation du projet …................................................................................................ 5 3.1. Intérêt de l'ANSI pour le projet …........................................................................ 5 3.2. Étude de l'existant …............................................................................................. 6 3.3. Problématique …................................................................................................... 6 3.4. Approche suivie …................................................................................................ 7 4. Le piratage (Hacking) et les Malwares …..................................................................... 8 4.1. Le piratage (Hacking) …...................................................................................... 8 4.1.1. Différents types de pirates informatiques …................................................ 8 4.1.1.1. Les Hackers ….................................................................................... 8 4.1.1.2. Les Hacktivistes …............................................................................. 9 4.1.1.3. Les Crackers …................................................................................... 9 4.1.1.4. Les Carders …..................................................................................... 9 4.1.1.5. Les Phreakers …................................................................................. 10 4.1.2. Le défacement Web ..................................................................................... 10 4.1.2.1. Présentation du défacement …............................................................ 10 4.1.2.2. Exemples de pages web défacées …................................................... 11 4.1.3. Motivations des Hackers …......................................................................... 13 4.1.4. Cibles des Hackers ….................................................................................. 13 4.1.5. Le piratage en Tunisie …............................................................................. 14 4.1.6. Aspects juridiques …................................................................................... 15 I
  5. 5. 4.2. Les malwares ….................................................................................................... 16 4.2.1. Les Virus …................................................................................................. 16 4.2.2. Les Vers …................................................................................................... 17 4.2.3. Les Chevaux de Troie ….............................................................................. 18 4.2.4. Les Spywares ….......................................................................................... 18 5. Conclusion …................................................................................................................. 19 CHAPITRE II : ÉTUDE SUR LES MOTEURS DE RECHERCHE OPEN SOURCE 1. Introduction …............................................................................................................... 20 2. Définition …................................................................................................................... 21 3. Moteurs de recherche et les systèmes de gestion de base de données …....................... 21 4. Fonctionnement …......................................................................................................... 21 4.1. Un outil d'exploration …....................................................................................... 21 4.2. Un outil d'indexation …........................................................................................ 22 4.3. Un outil de recherche …....................................................................................... 22 5. Moteurs de recherche propriétaires …........................................................................... 23 6. Moteurs de recherche open source …............................................................................ 24 7. Étude comparative sur les moteurs de recherches Open Source …............................... 24 7.1. DataParkSearch …................................................................................................ 25 7.2. Nutch …................................................................................................................ 25 7.3. Solr …................................................................................................................... 26 8. Choix technologique ….................................................................................................. 29 9. Étude sur le moteur de recherche Nutch …................................................................... 29 9.1. Introduction …...................................................................................................... 29 9.2. Architecture du moteur de recherche Nutch ….................................................... 30 9.3. Performance du moteur de recherche Nutch ….................................................... 30 9.4. Terminologies de Nutch …................................................................................... 31 9.5. Le crawling avec Nutch …................................................................................... 32 9.6. Systèmes de fichiers HDFS….............................................................................. 33 10. Prise en main de Nutch …........................................................................................... 33 10.1. Installation …...................................................................................................... 33 10.2. Configuration …................................................................................................. 34 11. Conclusion ….............................................................................................................. 35 II
  6. 6. CHAPITRE III : ÉTUDE SUR LES HONEYCLIENTS 1. Introduction …............................................................................................................... 36 2. Honeypots …...........….................................................................................................. 36 2.1. Définition …......................................................................................................... 37 2.2. Fonctionnement …............................................................................................... 37 3. Honeyclients …............................................................................................................. 38 3.1. Définition …......................................................................................................... 38 3.2. Honeyclients à haute interaction …...................................................................... 39 3.3. Honeyclients à interaction faible …..................................................................... 39 4. Comparaison entre les Honeyclients …......................................................................... 40 4.1. Honeyclients à haute interaction …...................................................................... 40 4.1.1. Capture-HPC …........................................................................................... 40 4.1.2. Honeyclient …............................................................................................. 41 4.1.3. HoneyMonkey …......................................................................................... 41 4.1.4. UW Spycrawler …....................................................................................... 42 4.1.5. Web Exploit Finder …................................................................................. 42 4.2. Honeyclients à faible interaction …..................................................................... 43 4.2.1. SpyBye ….................................................................................................... 43 4.2.2. HoneyC …................................................................................................... 44 4.2.3. HoneyD …................................................................................................... 45 5. Choix technologique ...................................................................................................... 46 6. Étude sur le Honeyclient MonkeySpider ….................................................................. 46 6.1. Introduction …...................................................................................................... 46 6.2. Architecture …...................................................................................................... 46 6.3. Composantes de Monkey-Spider …..................................................................... 47 6.3.1. Script de Monkey-Spider …........................................................................ 47 6.3.2. Heritrix ........................................................................................................ 47 6.3.2.1. Présentation ….................................................................................... 47 6.3.2.2. Caractéristiques ….............................................................................. 48 6.3.2.3. Fichiers .ARC …................................................................................ 49 6.3.3. ClamAV …................................................................................................... 50 6.3.3.1. Présentation ….................................................................................... 50 6.3.3.2. Fiche technique et caractéristiques …................................................ 50 III
  7. 7. 6.3.3.3. Performance …................................................................................... 51 6.4. PostgreSQL …...................................................................................................... 51 7. Prise en main de Monkey-Spider ….............................................................................. 52 8. Conclusion …................................................................................................................ 54 CHAPITRE IV : ANALYSE & SPÉCIFICATION DES BESOINS 1. Introduction …............................................................................................................... 55 2. Analyse des besoins ….................................................................................................. 55 2.1. Besoins Fonctionnels …....................................................................................... 55 2.2. Besoins non Fonctionnels …................................................................................ 56 3. Identification des acteurs et des cas d’utilisation …...................................................... 56 3.1. Identification des acteurs …................................................................................. 56 3.2. Identification des cas d’utilisation …................................................................... 57 3.2.1. Diagramme des cas d'utilisation pour l'acteur « utilisateur » ….................. 57 3.2.2. Diagramme des cas d'utilisation pour l'acteur « administrateur » ….......... 58 4. Conclusion …................................................................................................................ 59 CHAPITRE V : CONCEPTION 1. Introduction …............................................................................................................... 60 2. Pourquoi La Méthodologie UML? …............................................................................ 60 3. Détermination des diagrammes de séquence et d'activité ............................................. 60 3.1. Définition …......................................................................................................... 60 3.2. Diagramme de séquence détaillé pour « la recherche des signatures des pirates dans les sites infectés …............................................................................................ 61 3.3. Diagramme de séquence pour « la connexion de Eurêka » …............................. 63 3.4. Diagramme de séquence pour « l'ajout d'une signature d'un pirate » ….............. 64 3.5. Diagramme d'activité pour « la recherche des malwares avec Monkey-Spider » 66 4. Conclusion …................................................................................................................ 67 CHAPITRE VI : RÉALISATION ET MISE EN PLACE DE LA SOLUTION 1. Introduction …............................................................................................................... 68 2. Installation et configuration du serveur ….................................................................... 68 2.1. Pourquoi Ubuntu serveur 9.04 ? …...................................................................... 68 2.2. OpenSSH ….......................................................................................................... 70 IV
  8. 8. 2.3. Apache Tomcat …................................................................................................ 70 2.4. PostgreSQL …...................................................................................................... 71 3. Installation et configuration de Monkey-Spider et de Nutch ….................................... 71 3.1. Intégration de Nutch dans MonkeySpider …....................................................... 72 3.2. Amélioration du comportement de Monkey-Spider …........................................ 74 3.3. Personnalisation de la recherche avec Nutch ….................................................. 74 4. Scripts et interface de gestion des malwares et des sites « Eurêka » …........................ 76 4.1. Scripts de gestion des sites …............................................................................... 76 4.2. Interface de gestion des sites et des malwares « Eurêka » …............................... 77 5. Testes et résultats ........................................................................................................... 78 6. Conclusion …................................................................................................................ 80 CONCLUSION GÉNÉRALE …............................................................................................... 81 V
  9. 9. LISTE DES TABLEAUX Tableau N°1 : Parts de marché des moteurs de recherche dans le monde …........................ 23 Tableau N°2 : Étude comparative sur les moteurs de recherche open source ….................. 27 Tableau N°3 : Faible interaction vs Haute interaction …...................................................... 40 Tableau N°4 : Comparaison entre les honeyclients à haute interaction …............................ 43 Tableau N°5 : Comparaison entre les honeyclients à faible interaction …............................ 45 VI
  10. 10. LISTE DES FIGURES Figure N°1 : Organigramme de l'Agence Nationale de la Sécurité Informatique …............... 4 Figure N°2 : Google Maroc avant et après le défacement – Le 09/05/2009 …....................... 11 Figure N°3 : sony.co.nz avant et après le défacement – Le 09/05/2009 ….............................. 12 Figure N°4 : Site de la police Britannique après l'attaque d'un pirate Tunisien ….................. 12 Figure N°5 : Mode de fonctionnement du moteur de recherche Nutch ….............................. 32 Figure N°6 : Processus cyclique du crawling …...................................................................... 32 Figure N°7 : Interface graphique par défaut de Nutch …........................................................ 34 Figure N°8 : Honeyclient vs Honeypot …............................................................................... 38 Figure N°9 : Architecture simplifié de Monkey-Spider …...................................................... 47 Figure N°10 : Interface de Héritrix pour la gestion des jobs …............................................... 49 Figure N°11 : Étude sur la performance de ClamAV ….......................................................... 51 Figure N°12 : Diagramme des cas d’utilisations général pour l'acteur « utilisateur » …........ 57 Figure N°13 : Diagramme des cas d’utilisations général pour l'acteur « administrateur » ..... 58 Figure N°14 : Diagramme de séquence pour « la recherche des signatures des pirates dans les sites infectés » …......................................................................................... 62 Figure N°15 : Diagramme de séquence pour la connexion avec Eurêka …............................ 63 Figure N°16 : Diagramme de séquence pour l'ajout d'une signature d'un pirates …............... 64 Figure N°17 : Diagramme d'activité pour la recherche des malwares avec Monkey-Spider... 66 Figure N°18 : Serveurs installés par défaut avec Ubuntu SE ….............................................. 69 Figure N°19 : Avant couplage de Nutch avec Monkey-Spider …........................................... 73 Figure N°20 : Après couplage de Nutch avec Monkey-Spider …........................................... 73 Figure N°21 : Écran de recherche classique avec Nutch …..................................................... 74 Figure N°22 : Écran de recherche des pirates dans les sites Tunisiens …............................... 75 Figure N°23 : Écran des statistiques du crawling des sites avec Heritrix …........................... 76 Figure N°24 : Écran de connexion à « Eurêka » …................................................................. 77 Figure N°25 : Interface de « Eurêka » pour la gestion des malwares trouvés …..................... 79 Figure N°26 : Interface de « Eurêka » pour la gestion des sites ….......................................... 79 VII
  11. 11. Introduction générale Introduction générale Aujourd'hui, Internet se développe de plus en plus et les personnes qui s'y connectent se sont multipliées de façon considérable. Avec cette croissance, l'ampleur des menaces pour ces personnes est en augmentation et la sécurité informatique est devenue un besoin vital vis-à-vis des incidents et des vulnérabilités. Des contres mesures sont nécessaires pour la protection des systèmes informatiques ainsi que le suivi de l'évolution de ces attaques. Cette extension rapide de l'Internet a fait naître de nouveaux horizons en terme de communication et d'échange bouleversant profondément nos habitudes. Mais ce brusque changement a vu naître aussi la peur du « pirate informatique». Nous définissons les pirates informatiques comme des internautes qui utilisent leurs connaissances pour défaire ou contourner, à but malveillant, les systèmes et les réseaux d’informations. Ce genre de délinquance sur le Net ne cesse de se développer, et nous entendons parler aujourd'hui de la cybercriminalité, les pirates se font de plus en plus efficaces, diversifient leurs stratégies et techniques d'attaques et deviennent plus professionnels que jamais. Ils s'installent sur notre ordinateur, ils enregistrent nos mots de passe au moment où nous nous connectons à notre banque pour consulter notre compte, ils utilisent notre carte bancaire pour acheter des objets sur internet. Il y a aussi ces fausse annonces, les sites piégés. Aujourd'hui les cybercriminels ne sont plus des jeunes en manque d'autorité, ils sont des techniciens appartenant à des réseaux mafieux qui font exploser les frontières de l'arnaque facile. Leurs cibles peuvent être n’importe quel réseau d’entreprise, des serveurs névralgiques d’Internet ou institutions éducatives, des sites de gouvernement, ou même de simple internautes... Ils sont aussi à l’origine d’un certain nombre de menaces tels que les virus, vers, espions, etc. Mais comment arrive-t-on à prendre contrôle de notre ordinateur? Comment copie-t-on notre code secret? C'est simple, on y introduit un programme espion, un Cheval de Troie sans que nous le sachions SIMPLEMENT quand nous nous connectons sur internet. -1-
  12. 12. Introduction générale Avec la diversification des méthodes utilisées par les Hackers, il est presque impossible de les empêcher d'introduire des malwares dans les sites, jugés même parfois sécurisés. C'est là notre point de départ qui consiste à étudier la vulnérabilité des sites web Tunisiens ainsi que les hackers dont ils sont victimes. Le présent rapport est structuré en six chapitres. Nous allons commencer par présenter notre projet dans le premier chapitre. Nous essayerons d'introduire le piratage (Hacking) et les types de Malwares, et nous finirons par mettre en valeur les risques des attaques web ainsi que les avantages de détection de malwares dans les sites. Dans le deuxième chapitre, nous présenterons les moteurs de recherche ainsi que leurs mode de fonctionnement, puis nous présenterons une étude comparative sur les moteurs de recherche Open Source. Suite à notre choix technologique, nous allons procédé à détailler le fonctionnement d'un moteur de recherche suivie d'une installation et mise en place de ce moteur de recherche. Tout comme le deuxième chapitre, nous essayons de présenter dans le troisième chapitre les composantes de notre projet. Dans ce chapitre, nous présenterons l'utilité des Honeypots, la notion de Honeyclients à haute interaction et à faible interaction, et nous finirons par une étude comparative sur les clients Honeypots. Dans le chapitre suivant, on brossera les spécifications fonctionnelles de notre projet englobant les besoins fonctionnels et non fonctionnels, ainsi que notre approche de mise en place de l'application. Le cinquième chapitre sera consacré à la conception de notre projet. c'est ainsi quelques diagrammes de séquence et d'activité seront présentés pour décrire les besoins fonctionnels de notre projet. Enfin, le dernier chapitre étalera les différentes étapes de mise en place de l’application, la plateforme d’utilisation, les fichiers de configurations des différents outils, l’intégration des uns avec les autres ainsi que les codes sources à implémenter pour mettre en concordances tous ces outils. Une analyse des résultats sera présentée pour mettre en valeur l'apport de notre projet. -2-
  13. 13. Chapitre 1 Présentation du projet et État de l'art CHAPITRE 1 Présentation du projet et état de l'art 1. Objet de l'étude Le présent rapport de stage a été réalisé dans le cadre du projet de fin d'études, en vue de l'obtention du diplôme d'étude ingénieur en informatique à la Faculté des Sciences de Tunis. Le sujet du stage a été proposé par l'Agence Nationale de la Sécurité Informatique (ANSI - Direction Technique). Il a pour but de définir et de mettre en place une solution de détection de pirates informatique à travers leurs signatures textuelles, et des Malwares hébergés dans les sites Tunisiens. Nous allons commencer par une installation et configuration d'un serveur Ubuntu SE 9.04 pour passer ensuite à l'installation et la configuration des différentes composantes de la solution, puis nous réaliserons une interface graphique de gestions des Malwares trouvés, ainsi que la listes des sites et les serveurs qui les hébergent. Enfin, nous allons essayer de présenter quelques statistiques résultants d'une suite de tests d'évaluation de la solution réalisée. 2. Présentation de l'Agence Nationale de la Sécurité Informatique (ANSI) 2.1. Historique et présentation La sécurité des données a toujours constitué une préoccupation majeure des pouvoirs publics en Tunisie au même temps qu'elle constitue une garantie pour le respect individuel. C'est dans ce contexte qu'il y a eu en 1999 le lancement d'une "Unité de gestion par objectifs pour la réalisation du développement de la sécurité informatique" au sein du Secrétariat d'État en informatique dont le rôle était de suivre de près les derniers développements en matière de sécurité informatique et de veiller à l'amélioration de la sécurité des applications pour une -3-
  14. 14. Chapitre 1 Présentation du projet et État de l'art mise en œuvre efficace. Pour cet effet, suite à une décision présidentielle, l'Agence Nationale de la Sécurité Informatique (ANSI) fut créé en 2004 [1]. 2.2. Objectif L'Agence Nationale de la Sécurité Informatique effectue un contrôle général des systèmes informatiques et des réseaux relevant des divers organismes publics et privés, elle est chargée des missions suivantes: • Veiller à l'exécution des orientations nationales et de la stratégie générale en matière de sécurité des systèmes informatiques et des réseaux. • Suivre l'exécution des plans et des programmes relatifs à la sécurité informatique dans le secteur public à l'exception des applications particulières à la défense et à la sécurité nationale et assurer la coordination entre les intervenants dans ce domaine. • Établir des normes spécifiques à la sécurité informatique et élaborer des guides techniques en l'objet et procéder à leur publication. • Œuvrer à encourager le développement de solutions nationales dans le domaine de la sécurité informatique et à les promouvoir conformément aux priorités et aux programmes qui seront fixés par l'agence. • Participer à la consolidation de la formation et du recyclage dans le domaine de la sécurité informatique. • Veiller à l'exécution des réglementations relatives à l'obligation de l'audit périodique de la sécurité des systèmes informatiques et des réseaux. 2.3. Organigramme: Direction générale Direction administration Direction Technique Direction Suivi et stratégie Direction Cert-Tcc et finance Figure N°1 : Organigramme de l'Agence Nationale de la Sécurité Informatique -4-
  15. 15. Chapitre 1 Présentation du projet et État de l'art  La Direction Générale: elle a pour rôle de contrôler les autres départements de l'organisation, de veiller sur les biens de la société, à choisir les bonnes directives et les bonnes décisions.  La Direction Technique: elle a pour rôle de tester des produits et le développement du code source.  La Direction Suivi et Stratégie: cette direction a pour fonctions: • L'étude des normes et méthodologies d'audit; • L'étude des cahiers de charge de sécurité; • Le suivi des rapports d'audit; • La certification des auditeurs externes.  La direction Cert-Tcc: La direction Computer Emergency Response Team-Tunisian Coordination Center a pour rôle de: • Sensibiliser les locuteurs à propos des Virus et des Vulnérabilités propagés dans notre pays par l'envoi des mails. • Assurer un service Call-Center dédié à répondre aux incidents. • Déclarer les incidents et leurs circonstances. • Étudier les attaques et l'environnement de leurs propagations en Tunisie. 3. Présentation du projet 3.1. Intérêt de l'ANSI pour le projet À travers le monde, et particulièrement en Tunisie, les entreprises, les sociétés, les institutions éducatives, d'enseignement et bien d'autres sont totalement conscientes du poids que représente la médiatisation d'informations à travers internet, le gain de temps apporté par cette dernière au niveau des échanges d'informations, ainsi que le gain d'argent qu'elles peuvent avoir du fait que la nature de leurs activités sont destinées à des clients distants. Le problème est que ces organisations vont ouvrir leurs systèmes de communication à travers des sites web non seulement aux clients, mais aussi, involontairement, aux concurrents et aux agresseurs et internautes malveillants. Cet ensemble de réseaux, éparpillés de part et d'autre dans le monde, représente donc un environnement idéal pour laisser infiltrer les intrus de tout genre. C'est un immense terrain de chasse, quasi infini, pour ce qu'on appelle les cybercriminels. Dans le monde entier, la guerre contre les pirates s'accentue et la lutte contre le piratage -5-
  16. 16. Chapitre 1 Présentation du projet et État de l'art devient une préoccupation primordiale. C'est dans ce cadre que l'Agence Nationale de la Sécurité Informatique a décidé de s'investir dans un projet de détection de pirates et de Malwares dans les sites Tunisiens. 3.2. Étude de l'existant À l'ANSI, nous faisons référence aux sites spécialisés dans l'archivage des sites défacés tels que zone-h.org, comme l'une des approches de détection des défigurations. Nous avons recours aussi à la recherche par Google de l'ensemble des sites tunisiens qui peuvent contenir un mot appartenant à un ensemble de mots se référant au domaine de piratage, tel que : hacked, owned… L’agence Nationale de la Sécurité Informatique dispose de plusieurs solutions pour garantir la surveillance du cyber-espace tunisien à temps réel, notamment le régime de sécurité «SAHER». Lancé à l’occasion de la tenue du Sommet Mondial sur la Société de l’Information à Tunis (2005), Saher est la composante technique du CERT-TCC. C'est un ensemble d'outils techniques établis dans un environnement open source. Il est constitué de trois parties :  SAHER-IDS: identification des activités non autorisées et potentiellement malicieuses (attaques, scans, DDOS,…) ciblant les systèmes informatiques tunisiens.  SAHER-WEB: surveillance des sites web tunisiens contre les attaques de type défacement de contenu web, Phishing, …  SAHER-SRV: contrôle de la disponibilité des services Internet tels que les serveurs DNS, les serveurs Mail, … contre les attaques de type Mail Bombing [G1], DNS Poisoning [G2], … 3.3. Problématique Dans notre problématique, nous avons deux points importants à mettre en relief. Le premier consiste au fait que nous utilisons le moteur de recherche Google pour la recherche des sites web défaillés ou contenant des malwares. Le deuxième est la fréquence de visite de ces sites. Le projet Saher mis en place à l’ANSI, utilise le moteur de recherche Google. Ce dernier est configuré de telle manière qu’il revisite les sites, pour ré-indexer leur contenu en intégralité, suivant leur référencement et le nombre de liens qui pointent vers eux. Tant que ces délais ne sont pas publiés en publique, nous constatons à l'agence qu'une même URL est revisitée en -6-
  17. 17. Chapitre 1 Présentation du projet et État de l'art moyenne une fois tous les cinq ou six jours. Ainsi les sites hébergés dans le domaine tunisien sont parcourus en entier dans ce délai, un délai qui ne garantit pas un contrôle de contenu et fiable des sites web. Une fois les pages sont visitées, elles sont enregistrées sur le disque dur d’un serveur avec la commande Wget (Wget est un programme en ligne de commande non interactif de téléchargement de fichiers depuis le Web. Il supporte les protocoles HTTP, HTTPS et FTP ainsi que le téléchargement au travers des proxis HTTP). Cette commande est très performante mais on verra par la suite les avantages d’avoir son propre outil de téléchargement des pages web. Utiliser Google comme moteur de recherche, ne nous permet pas de bien contrôler les sites tunisiens. Enfin, notons les difficultés rencontrées pour la détection des site défaillés, ou contenant des malwares En effet, actuellement, la recherche des pirates se fait par consultation des sites un par un, ou la par la déclaration des internautes qu'un site a était piraté, ce qui n'est pas de tout fiable, ni rapide. 3.4. Approche suivie Notre idée de départ était de mettre en place un moteur de recherche pour déterminer les sites piratés à travers les signatures textuelles des pirates, donc l'idée principale partait d'une installation d'un moteur de recherche Tunisien. Puis, au fur et à mesure, nous constations que la plupart des pirates utilisent des techniques très évoluées, non pas pour modifier le contenu d'un site, mais plutôt pour placer dans ces sites des codes malveillants tel que des Keyloggers [G3], des Espions, ou des Chevaux de Troie leurs permettant d'espionner non pas les sites, mais plutôt les clients de ses sites. Donc, suite à cette constatation, nous avons pensé à étudier la vulnérabilité des sites web en scannant leurs contenu par l'intermédiaire d'un client Honeypot. Lors des premiers tests de cette solutions, plusieurs problèmes font face dont, principalement, le problème de la redondance du crawling. En effet, dans notre approche, les deux outils à savoir le moteur de recherche, et le Honeyclient font tous les deux leur propre crawling qui est identique à l'autre. Ceci nous a amené à penser à faire un seul crawling, et faire de la sorte que le deuxième outil fait le crawling à partir du premier crawling, Un autre problème incontournable était le fait que notre Honeyclient prenait en paramètre le chemin d'un seul fichier ARC crawlé la Heritrix. De ce fait nous avons pensé à modifier le code source pour prendre en paramètre tous les .ARC d'un répertoire donné et c'est ainsi que la génération d'un fichier log détaillé était nécessaire. -7-
  18. 18. Chapitre 1 Présentation du projet et État de l'art Enfin, nous avons pensé au développement d'une interface graphique en J2EE pour faciliter la gestion des sites Hyperliens et des malwares trouvés ainsi que la liste des signatures des hackers. 4. Le piratage (Hacking) et les Malwares 4.1. Piratage (Hacking) Serveurs piratés, numéros de cartes bancaires volés, sites web défigurés (defacing), données personnelles publiées ou vendues sur le Net,... nous estimons aujourd'hui à moins de quatre minutes le temps moyen pour qu'un PC non protégé connecté à Internet subisse une tentative d'intrusion ou soit contaminé par un programme malicieux [2]. De nos jours, les pirates informatiques font de plus en plus parler d'eux. 4.1.1. Différents types de pirates informatiques Dans le domaine du piratage informatique, il existe plusieurs types de pirates : 4.1.1.1. Les Hackers L'origine du mot « Hacker » remonte à l'arrivée du premier ordinateur au MIT (Massachusetts Institute of Technology, université Américaine située à Cambridge): l'IBM 704. Cet ordinateur devient rapidement la proie d'étudiants passionnés qui vont pousser la machine à bout, la « bidouillant » dans les moindres détails, sans se soucier des protocoles d'utilisation d'IBM pour une machine de plusieurs millions de dollars. A l'époque, nous qualifions leurs travaux avec le terme Hacking qui était le fait d'utiliser une machine ou une technologie à des fins qui n'étaient pas prévus. Aujourd'hui, le mot Hacker désigne un grand spécialiste de l'informatique, que ce soit dans le domaine de la sécurité que celui de la programmation ou d'un quelconque autre domaine de l'informatique[3,4]. Nous distinguons différentes catégories de Hackers : ➢ Le Hacker White Hats : les white hats utilisent leurs savoirs et leurs connaissances au service de la société actuelle. Ils peuvent être consultants en sécurité, administrateurs réseaux ou travailler au sein de la communauté open source. Certains d'entre eux sont d'ailleurs à l'origine de l'open source et de la philosophie qui en découle. Devenir un hacker white hats c'est assimiler des connaissances et de l'expérience en participant aux projets de la communauté afin d'être accepté par ses membres. Cela nécessite de -8-
  19. 19. Chapitre 1 Présentation du projet et État de l'art l'investissement dans des projets open source et d'adopter une certaine culture. ➢ Le Hacker Black Hats : les black hats utilisent leurs connaissances pour défaire ou contourner, à but malveillant, les systèmes et les réseaux d'informations. Ils ont également leur propre communauté. Nous pouvons les qualifier de « pirates informatiques » dans le sens où leurs actions sont nuisibles. ➢ Le Hacker Grey Hats : les grey hats sont entre les White Hats et les Black Hats: ils n'ont pas de buts nuisibles mais n'hésitent pas à pénétrer certains réseaux ou systèmes de façon illégale. Ils cherchent plutôt l'exploit et la renommée. 4.1.1.2. Les Hacktivistes « Hacktivisme » vient de la fusion des mots Hacker et activisme. L'Hacktiviste est un Hacker dont les objectifs sont politiques et emploie ses connaissances en informatique pour diffuser et promulguer ses opinions. Ses actions les plus spectaculaires sont notamment le piratage de sites informatiques en altérant les données, en détournant des serveurs, en remplaçant des pages d'accueil afin de détourner la signification et l'engagement de ces sites. Si le Hacktivisme est une nouvelle forme de protestation et bien souvent une manière de se faire entendre, cela reste une action totalement illégale. « Hacktiviste » est donc évidemment un autre sens que nous donnons au « pirate informatique » [4]. 4.1.1.3. Les Crackers Le cracker est spécialisé dans le cassage des protections des logiciels. Il possède de très bonnes connaissances en assembleur ainsi que des outils (désassembleur, débogueur…) qui lui permettent d'analyser le code d'un programme transmis au processeur. Cela lui permet de neutraliser ou contourner les mesures de protections d'un logiciel en créant un patch (ou crack), ou bien un « keygen » dans le cas de logiciels protégés par des clefs [4]. 4.1.1.4. Les Carders Ce sont les Hackers pour les systèmes embarqués. Ces pirates s'attaquent principalement aux systèmes de cartes à puces (en particulier les cartes bancaires) pour en comprendre le fonctionnement et en exploiter les failles [4]. -9-
  20. 20. Chapitre 1 Présentation du projet et État de l'art 4.1.1.5. Les Phreakers Les Phreakers sont les Hackers des systèmes téléphoniques. Ils peuvent se décrire comme le détourneurs de services de télécommunication, par divers procédés, dans le but d'éviter les grosses factures de téléphone ou les oreilles indiscrètes. Un autre type de piratage téléphonique est l'utilisation détournée des téléphones cellulaires. Avec ce type de téléphones, aucune connexion physique n'est nécessaire et il est facile d'écouter les conversations au moyen de scanners GSM et autres. Les téléphones cellulaires sont aussi facilement reprogrammables : les malfaiteurs peuvent ensuite les utiliser sans payer leurs communications, qui seront facturées aux véritables propriétaires [4]. 4.1.2. Le défacement Web 4.1.2.1. Présentation du défacement Parmi les attaques les plus répondues, le Web « defacement », défaçage ou défiguration de page web, est un anglicisme désignant la modification non sollicitée de la présentation d'un site Web, suite au piratage de ce site. Il s'agit donc d'une forme de détournement de site Web par un pirate. Elle touche la crédibilité et la réputation de l'organisation en général. Les défacements sont provoqués par l'utilisation de failles présentes sur une page Web ou tout simplement une faille du système d'exploitation du serveur Web. En effet, le pirate doit en premier lieu récupérer les noms et les mots de passe des utilisateurs pour accéder au serveur qui héberge les sites web. Ceci est faisable par le biais des techniques de collecte de données, qui exploite les vulnérabilités du système (par exemple : la lecture des pages web global.asa [G8] qui sont supposées inaccessibles, les informations publiques telles que les enregistrements des noms de domaines (domain registration records))… Après avoir récupérer un nom d'utilisateur du système, il peut deviner le mot de passe. Cette tâche est facilitée par les études sociales menées (date de naissances, numéro de téléphone…) Une fois introduit, le pirate a pour but de bénéficier des droits d’administration pour avoir accès à toutes les données et les opérations. Il s’informe sur la version exacte et les niveaux des patchs associés au système d’exploitation, les versions des paquets installés sur la machine ainsi que les services et les processus actifs sur la machine. Il peut par la suite s’infiltrer par une faille qu’il découvre dans les programmes installés. Ainsi il gagne des privilèges d'accès et contrôle du serveur. Le défacement est effectué ensuite par la modification du contenu des pages du site visé. - 10 -
  21. 21. Chapitre 1 Présentation du projet et État de l'art La plupart du temps, les sites défacés le sont uniquement sur la page d'accueil. Une page défacée peut contenir plusieurs éléments : • Un fond uni, qui peut être le seul indice de défacement d'un site; la plupart du temps la page d'accueil est blanche ou noire. • Généralement, un simple mot, comme « owned », « hacked » ou bien le pseudonyme du défaceur. • Une image est assez souvent présente, et affiche les revendications du défaceur. Nous trouvons souvent des symboles se référant à la mort (crânes…), un drapeau sous lequel le défaceur est fier d'agir etc. • Parfois plus qu'un simple mot, plusieurs phrases pouvant être de différentes natures (insultes envers des États, des défaceurs adverses, une revendication spécifique…). • Une explication simple de la façon dont le défaceur a acquis l'accès en écriture sur le site accompagnée à l'occasion d'une moquerie envers le webmestre ou l'administrateur du site en question. • plus rarement des fichiers audio, vidéo ou même Flash. 4.1.2.2. Exemples de pages web défacées • Google Maroc : Google.co.ma, illustré dans la figure N°2, a été défacé par le groupe de pirates pakistanais "PAKbugs". Une fois encore une faille d'injection SQL a été utilisée chez le registrar domain.ma, les défaceurs ont ensuite accédé au NIC marocain (nic.ma) avec les mêmes identifiants d'administrateurs récupérés sur domain.ma afin de modifier les serveurs DNS associés au nom de domaine. Avant Après: le 09/05/2009 Figure N°2 : Google Maroc avant et après le défacement – Le 09/05/2009 - 11 -
  22. 22. Chapitre 1 Présentation du projet et État de l'art • Le 21/04/2009, certains defacers turcs ont pénétré dans le bureau d'enregistrement basé en Nouvelle-Zélande « Domainz.net » (qui appartient à MelbourneIT) et ont défacé certains de leurs sites Web de leurs clients de haut niveau comme Microsoft, HSBC, Coca-Cola, F-secure, Bitdefender, Sony et Xerox. Avant Après: le 21/04/2009 Figure N°3 : sony.co.nz avant et après le défacement – Le 09/05/2009 • Le site Internet de la police Britanique piraté par un cyber intrus Tunisien : Après le Home Office Crime Reduction Unit, la police britannique a connu le 09/06/2008 un nouveau passage d'un pirate informatique dans ses e-murs. Le site web de la police de Bedfordshire a été piraté par un jeune internaute de 17 ans qui a signé son attaque sous le pseudonyme de <nom_et_prénom_du_pirate>. Le jeune barbouilleur a affiché, en plus d'une tête de mort et d'un porte drapeau le message « This site was hacked by <nom_et_prénom_du_pirate> » [5]. Figure N°4 : Site de la police Britannique après l'attaque d'un pirate Tunisien – Le 09/05/2009 - 12 -
  23. 23. Chapitre 1 Présentation du projet et État de l'art 4.1.3. Motivations des Hackers Certains affirment s'attaquer aux systèmes informatiques juste pour le plaisir et pour le challenge. Certains veulent juste se faire connaître, d'autres, cherchent à trouver un emploi parce que le Hacking est devenu aujourd'hui un métier. Aujourd'hui, les pirates qui attaquent des serveurs pour gagner de l'argent ou accéder aux données financières ne sont pas très nombreux. Car ce type de piratage nécessite des compétences de très haut niveau. Dans le monde entier, la majorité des attaques proviennent des script-kiddies [G4]. Ils n'ont pas besoin de compétences pointues et se contentent d'installer des chevaux de Troie téléchargés sur le Net. 4.1.4. Cibles des Hackers Contrairement aux idées reçues, les particuliers font partie des cibles privilégiées des pirates informatiques car ils ne disposent souvent d'aucun moyen de protection. Certain affirment que c'est un jeu d'enfant pour un Hacker d'accéder à leurs mots de passe Internet ou à leurs documents personnels. Mais qu'est-ce qu'un Hacker espère trouver sur un ordinateur personnel ? Les histoires de piratage ne sont-elles pas réservées aux grandes entreprises? Les chevaux de Troie ou « Troyens » constituent pour les pirates un des meilleurs moyens pour s'infiltrer dans un ordinateur. A la différence des virus, les chevaux de Troie ne cherchent pas à contaminer les fichiers mais agissent comme un espion au service du pirate qui l'a envoyé. Cachés derrière une apparence innocente, généralement les images ou des document PDF, mais aussi des logiciels gratuits, un accélérateur d'affichage ou un jeu, ils contiennent souvent des logiciels de prise de main à distance qui permettent au pirate de voir toutes les actions sur les ordinateurs de ses victimes pendant leurs connexion Internet, y compris les mots de passe tapés à l'écran via les Keyloggers qui permettent d'enregistrer tous caractères saisie par le clavier. Le pirate prend ainsi le contrôle total de la machine cible : il peut lancer des logiciels, bouger le curseur, lire les courriers, détruire les documents ou encore redémarrer l'ordinateur. Les chevaux de Troie ouvrent aux pirates les portes virtuelles de l'ordinateur. Au nombre de 65000 sur un ordinateur, ces ports sont des voies virtuelles d'entrée et de sortie des informations provenant de l'Internet. Généralement, les port les plus utilisés sont les ports TCP/IP qui permettent la communication des ordinateurs sur Internet, le port 80 qui est consacré au chargement des pages web et le port 25 dédié à la messagerie. Les chevaux de Troie utilisent un de ces ports pour communiquer via le web avec le - 13 -
  24. 24. Chapitre 1 Présentation du projet et État de l'art pirate. Un ralentissement notable de l'ordinateur victime ou l'activité inhabituelle du modem alors que la victime n'est pas entrain de l'utiliser peuvent être des signes d'infection par un cheval de Troie. Mais l'objectif principal des Hackers en prenant contrôle les machines des particuliers reste sans doute la possibilité des attaques par rebond [G5] ou attaques DDOS [G6]. Pour cela, et pour faciliter la propagation du Cheval de Troie, les Hackers font recourt aux sites les plus visités ou les sites de confiance comme les sites gouvernementaux ou des établissement publics. Et pour arriver à leurs bout, les Hackers commencent par déterminer les failles dans ces sites afin d'injecter un virus ou un cheval de Troie dans la page principale des sites. Lors du chargement de ces sites par un simple internaute, le malware sera télécharger et installer automatiquement et d'une manière transparente vis à vis de l'internaute. Au bout de quelques jours, le Hacker construira toute une armé de bots (pouvant atteindre les des millions de bots) et à ce moment, un désastre est attendu pour le serveur victime. Notre projet, entre dans le cadre de lute contre ce genre de propagation de malwares en essayant de détecter les malwares dans les sites Tunisiens et informer les administrateurs des serveurs contaminés d'une tel existence de malwares. 4.1.5. Le piratage en Tunisie En Tunisie, l'histoire du piratage a commencé non pas par l'apparition de l'internet mais bien plus que cela. En effet, le piratage a commencé avec deux entreprises profondément touchées : la Société Tunisienne d'Électricité et de Gaz (STEG) par le vol des connections électriques et Tunisie Télécom avec le piratage des lignes téléphoniques « phreaking » puis le piratage des communication dans les taxiphones en modifiant les règles de taxations. L'arrivée d'internet marque l'introduction des pirates Tunisiens expatrié (principalement en Allemagne) mais aussi des jeunes « newbie » et des lamers Tunisiens. Vers la fin des années 90 et début des années 2000, un groupe de lamers fait son apparition sur la scène. Parmi les premières activités de ce groupe fut l'achat du nom de domaine tunisietelecom.com et le rediriger vers leur site (ce n'est pas un acte de piraterie mais son impact dans le domaine fut grandiose) le groupe se nomme Magattack. Ce groupe de lamers a réussi à l'époque à faire un défacement de plusieurs sites en utilisant des scripts et des outils développés par les autres pirates. Plusieurs jeunes y ont adhéré et rapidement Magattack est devenu le plus grand groupe de pirates Tunisiens. Il regroupe aussi bien des lamers, defacers que de hackers professionnels, des - 14 -
  25. 25. Chapitre 1 Présentation du projet et État de l'art phreakers et des crackers. Parmi les Hackers Tunisiens, on peut citer: darkr0ot, blackr0ot, localhost, azraael, yvan, blackdevil, blackhat, et le petit dernier K3M (k3vin Metnick). Parmi leurs exploit fut l'ATI, TT, AmenBank et beaucoup d'autres établissements publics. Enfin, il est à noter qu'un nouveau né dans le domaine du Hacking Tunisien, c'est le groupe de lamers « Tunisian Power Team ». 4.1.6. Aspects juridiques pour intrusion aux systèmes informatiques • Est puni d'un emprisonnement de deux mois à un an et d'une amende de mille dinars ou de l'une de ces deux peines seulement quiconque, frauduleusement, aura accédé ou se sera maintenu dans tout ou partie d'un système de traitement automatisé de données. La peine est élevée à deux ans d'emprisonnement et l'amende à deux mille dinars lorsqu'il en résulte, même sans intention, une altération ou la destruction du fonctionnement des données existantes dans le système indiqué. • Est puni d'un emprisonnement de trois ans et d'une amende de trois mille dinars, quiconque aura intentionnellement altéré ou détruit le fonctionnement du traitement automatisé. • Est puni d'un emprisonnement de cinq ans et d'une amende de cinq mille dinars, quiconque aura frauduleusement introduit des données dans un système de traitement automatisé de nature à altérer les données que contient le programme ou son mode de traitement ou de transmission. La peine est portée au double lorsque l'acte susvisé est commis par une personne à l'occasion de l'exercice de son activité professionnelle. La tentative est punissable. • Est puni d'un emprisonnement de deux ans et d'une amende de deux mille dinars, quiconque aura introduit une modification de quelque nature qu'elle soit sur le contenu de documents informatisés ou électroniques originairement véritables, à condition qu'elle porte un préjudice à autrui. • Est puni des mêmes peines, quiconque aura sciemment détenu ou fait usage des documents susvisés. La peine es t portée au double lorsque les fais susvisés sont commis par un fonctionnaire public ou assimilé. La tentative est punissable [6]. - 15 -
  26. 26. Chapitre 1 Présentation du projet et État de l'art 4.2. Les malwares Dans le domaine des codes malveillants, il existe plusieurs types de malwares, nous nous limitons à présenter les plus vulnérables et les plus répondus [4]. 4.2.1. Les Virus Un virus est un programme informatique malicieux conçu et écrit pour qu'il se reproduise. Cette capacité à se répliquer, peut toucher généralement les ordinateurs ayant les systèmes d'exploitation Windows, d'une manière transparente et sans prendre la permission du propriétaire. En termes plus techniques, le virus classique s'attachera à des programmes exécutables et se copiera systématiquement sur tout autre exécutable. Il n'y a pas de génération spontanée de virus informatiques. Ils doivent avoir été écrits dans un but spécifique. A part se répliquer, le virus peut avoir ou non une action plus ou moins néfaste, allant de l'affichage d'un simple message à la destruction de toutes les données. Tandis que certains virus vont tout simplement se manifester par l'apparition d'un message sur l'écran de ordinateur, d'autres vont être plus dangereux. Par exemple, ils pourront supprimer des données, formater un disque dur et même endommager quelques composant physique de la machine cible. La majorité des virus se propagent par courrier électronique en pièce-jointe ou par une simple consultation de pages web. Néanmoins, nous pouvons classer les virus en plusieurs catégories: • Virus furtifs : ces virus, comme leur nom l'indique, vont se camoufler de façon à ne pas être détecté par les antivirus. Un virus furtif, va se cacher lorsque l'antivirus ou l'utilisateur accède au fichier infecté, à ce moment, le virus le saura et va se cacher offrant à l'antivirus et à l'utilisateur une version non infectée du fichier. • Virus polymorphes : ces virus, assez rare, ont la faculté de changer de signature de façon à berner les antivirus. Les virus polymorphes incluent un code spécial permettant de rendre chaque infection différente de la précédente. Ce changement constant rend la détection de ce type de virus compliqué. Souvent le code change, mais l'action pour lequel il a été créé est toujours la même. Par exemple, le virus peut intervertir l’ordre des instructions de son action en son sein, ou rajouter de fausses instructions afin de tromper la vigilance de l'antivirus, qui lui, recherche une signature précise. Beaucoup de virus polymorphes sont aussi encryptés. Le virus encryptera son code et ne le décryptera que lorsqu’il doit infecter un nouveau fichier, le rendant encore plus difficile à détecter. - 16 -
  27. 27. Chapitre 1 Présentation du projet et État de l'art • Macros : ce sont des virus écrits en VBA (Visual Basic Application) de la suite Microsoft Office. Les virus Macros sont la plus grande menace à ce jour, ils se propagent lorsqu’un document Microsoft Word, Excel ou PowerPoint contaminé est exécuté. c'est une série de commandes permettant d’effectuer un certain nombre de tâches automatiquement au sein des applications ci dessus. Les Virus Macros non supprimés se répandent très rapidement. L’ouverture d’un document infecté va contaminer le document par défaut de l’application, et ensuite tous les documents qui seront ouverts au sein de l’application. Les documents Word, Excel et PowerPoint étant les documents les plus souvent partagés, envoyés par Internet, ceci explique la diffusion rapide de ces virus. De plus le langage de programmation des Macros est beaucoup plus facile à apprendre et moins compliqué qu’un langage de programmation classique. • Virus composites : ces virus sont tout simplement une combinaison des catégories mentionnées ci-dessus. 4.2.2. Les Vers Un Ver est un logiciel malveillant indépendant qui se copie d’ordinateur en ordinateur. La différence entre un ver et un virus est que le premier ne peut pas se greffer à un autre programme et donc l’infecter, il va simplement se copier via un réseau ou Internet, d’ordinateur en ordinateur. Ce type de réplication peut donc non seulement affecter un ordinateur, mais aussi dégrader les performances du réseau dans une entreprise. Comme un virus, ce ver peut contenir une action nuisible du type destruction de données ou envoi d'informations confidentielles. L'objectif d'un ver n'est pas seulement de se reproduire. Le ver est un logiciel malveillant qui permet d'espionner et de détruire des données sur l'ordinateur où il se trouve, d'ouvrir une porte dérobée à des pirates informatiques ou même de participer à une attaque DDOS en envoyant de multiples requêtes vers un serveur Internet dans le but de le saturer. L'activité d'un ver a souvent des effets secondaires comme le ralentissement de la machine infectée ou du réseau utilisé par cette machine infectée. En plus, les vers peuvent planter quelques services ou complètement le système d'exploitation de la machine infectée. Des vers écrits sous forme de script peuvent être intégrés dans une page HTML [G8] et ils sont activés par simple consultation de la page Web. - 17 -
  28. 28. Chapitre 1 Présentation du projet et État de l'art 4.2.3. Les Chevaux de Troie Un Cheval de Troie est un programme en apparence légitime mais conçu pour exécuter d'une façon cachée vis à vis de l'utilisateur des actions au profil du pirate. Leur nom vient du fameux Cheval de Troie de la Grèce antique, offert en cadeau, mais qui en fait avait pour but de causer la ruine et la destruction de la ville ayant reçu ce cheval en bois. Un Cheval de Troie sur un ordinateur est un programme exécutable indépendant présenté comme ayant une action précise. Néanmoins lorsque ce programme est lancé, il va détourner, diffuser ou détruire des informations, formater le disque dur, voler les mots de passe, envoyer des informations confidentielles au créateur via Internet ou encore pour ouvrir une porte dérobée « backdoor » qui permettra à un attaquant de prendre à distance le contrôle d'un ordinateur. Un Cheval de Troie peut aussi être à l'origine d'une bombe logique qui, une fois exécutée, produira ses effets à un moment précis. Par exemple, la bombe logique Tchernobyl s'est activée le 26 avril 1999 (jour du 13ème anniversaire de la catastrophe nucléaire en Bulgarie), mais la bombe peut également attendre une combinaison de touches bien précise de la part de l'utilisateur pour se déclencher ou attendre qu'un fichier s'exécute. Le choix des programmeurs quant à son déclenchement est sans limite. 4.2.4. Les Spywares Un spyware, ou logiciel espion, est un logiciel malveillant qui s'installe dans un ordinateur dans le but de collecter et transférer des informations sur l'environnement dans lequel il s'est installé, très souvent sans que l'utilisateur n'en ait connaissance. Après la collecte d'informations, le Spyware transmet les données au pirate. Un logiciel espion est composé de trois mécanismes distincts : ◦ Le mécanisme d'infection qui installe le logiciel. Ce mécanisme est identique à celui utilisé par les virus, les vers ou les chevaux de Troie. ◦ Le mécanisme assurant la collecte d'information. ◦ Le mécanisme assurant la transmission des informations aux pirates. Ce mécanisme est généralement assuré via le réseau Internet. La destination peut être le concepteur du programme ou une entreprise. Le logiciel espion peut afficher des offres publicitaires, télécharger un virus, installer un cheval de Troie (ce que fait WhenU.SaveNow, par exemple), capturer des mots de passe en - 18 -
  29. 29. Chapitre 1 Présentation du projet et État de l'art enregistrant les touches pressées au clavier (keyloggers), espionner ou exécuter les programmes à une heure précise ou encore espionner les sites internet visités. 5. Conclusion Ce chapitre a donné une vue globale sur le cadre spatial temporel du projet de fin des études. Nous avons essayé d’introduire la problématique du sujet et notre approche suivie pour résoudre les problèmes relevés, Nous avons aussi présenté une étude sur le piratage en Tunisie, les malwares et les menaces d'internet que nous risquons et qui sont indispensables à la compréhension de l'objectif de notre projet. Le chapitre suivant présentera une étude sur les moteurs de recherche open source. - 19 -
  30. 30. Chapitre 2 Étude sur les moteurs de recherche Open Source CHAPITRE 2 Étude sur les Moteurs de Recherche Open Source 1. Introduction Parfois comparé à la Bibliothèque d’Alexandrie, le Web est composé d’un nombre inestimable de sites, eux-mêmes composés d’un nombre incalculable de pages... Heureusement, les moteurs de recherche sont une des principales ressources mises à la disposition de l’internaute pour l'aider à trouver son aiguille dans des milliers de pages Web. Le moteur de recherche (ou Search Engine) est un programme, comparable à une base de données archivant des sites web, des pages web et les mots les composant. Cette base est mise à jour régulièrement, à mesure que de nouveaux sites web sont créés ou que le contenu des pages est modifié. Pour trouver le thème recherché, le moteur « scrute » dans sa base de données l’existence de la chaîne de caractères demandée et la restitue, le cas échéant, sous la forme d’une liste de sites ou de pages web, selon sa nature. De nos jours, le nombre de moteurs de recherche diminue drastiquement et la situation d'oligopole dans laquelle nous nous trouvons risque de se transformer en monopole avec une seule compagnie « Google », contrôlant presque toute la recherche Web, avec des visées commerciales. Tous les principaux moteurs de recherche ont des formules de classement propriétaires et n'expliqueront jamais pourquoi telle ou telle page a été classée d'une certaine façon. De plus, certains moteurs de recherche choisissent les sites à indexer en échange d'une rémunération plus - 20 -
  31. 31. Chapitre 2 Étude sur les moteurs de recherche Open Source que sur la valeur intrinsèque du site. Donc la solution est de faire appel à un moteur Open Source gratuit. Cette solution nous permet de configurer le délai de ré-indexation des sites et les composantes à y récupérer (texte brut : recherche textuelle). Dans ce chapitre, nous procédons à une étude théorique sur les moteurs de recherche Open Source, suivi d'une implémentation et configuration du moteur de recherche Nutch. 2. Définition Un moteur de recherche est un outil de recherche sur internet permettant de retrouver des informations demandées associées à des mots quelconques. Ces moteurs sont constituées essentiellement de Crawlers (robots) qui parcourent les sites web de façon régulière et automatique afin de chercher de nouvelles adresses web, et de collecter les ressources jugées intéressantes. Ensuite, ces liens et ces ressources collectés seront indexés et accessibles par la suite par la recherche. 3. Moteurs de recherche et les systèmes de gestion de base de données Les moteurs de recherche ont une structure similaire à un système de base de données, les documents sont stockés dans un dépôt et un index est maintenu. les requêtes utilisateurs sont évaluées par traitement de l'index et les entrées correspondantes sont retournées à l'utilisateur. Cependant, il existe quelques différences, les requêtes utilisateurs sont simples : un ensemble de mots (ou termes) ou une phrase alors que les requêtes aux bases de données sont complexes (avec par exemple des expressions logiques ou régulières). Une autre différence est que les bases de données retournent tous les enregistrements correspondant à la requête alors qu'un moteur de recherche ne retourne qu'un nombre fixé de documents classés par pertinence, selon des mesures statistiques. 4. Fonctionnement Un moteur de recherche est composé essentiellement de trois outils : 4.1. Un outil d'exploration L'exploration ou le crawling consiste à injecter un ensemble de robots sur internet permettant de chercher de nouvelles adresses web, et de collecter les ressources jugées intéressantes. Depuis l'apparition d'internet, sa taille ne cesse d'augmenter, cette croissance - 21 -
  32. 32. Chapitre 2 Étude sur les moteurs de recherche Open Source touche à la fois le nombre de pages, mais aussi la taille moyenne de chaque page, en effet, images, vidéos et les animations flash deviennent de plus en plus utilisés dans nos sites. Par contre, la bande passante disponible pour crawler le web est toujours limitée. Il est donc indispensable, et même stratégique, d'optimiser les crawlers pour qu'ils puissent indexer la Toile de manière efficace. Cette efficacité se mesure en fonction de trois facteurs : 1. L'exploration doit être rapide : c'est la condition la plus exigée pour qu'un robot puisse passer souvent et assurer que les pages figurants dans l'index aient une "fraîcheur suffisante". 2. L'exploration doit être complète : nous savons qu’elle ne peut pas être exhaustive, car certaines portions du web ne sont pas reliées entre elles par des liens. Mais le robot doit être capable d’indexer une portion significative de la Toile. 3. Dans le même temps, l'exploration doit respecter les sites visités : notamment, le robot doit tenir compte de la configuration du moteur de recherche de telle façon qu'il n'aspire pas des centaines de pages à la seconde... 4.2. Un outil d'indexation L'indexation permet aux moteurs de recherche d'extraire les mots considérés comme significatifs à partir des pages web récupérés, ils seront ensuite enregistrés dans une base de données organisée compréhensible par le moteur de recherche. Le poids, attribué à chaque mot récupéré, correspond à une probabilité d'apparition du mot dans la page web. A cette étape, nous pouvons intervenir un Anti-dictionnaire qui permet d'ignorer les mots « vides » (mots non désirables tels que "de", "le", "la") qui sont définies au préalable par l'administrateur du moteur de recherche. 4.3. Un outil de recherche La recherche nous permet de retrouver les sites contenants l'objet recherché, cette phase consiste à analyser les informations disponibles dans la base de données des sites web crawlés et indexés, et de retourner une liste de sites par ordre de pertinence. Subissant l'évolution de l'internet, les algorithmes de recherche sont devenus de plus en plus complexes. Ainsi, nous retrouvant des moteurs de recherche très simples qui se limitent à une recherche booléenne de - 22 -
  33. 33. Chapitre 2 Étude sur les moteurs de recherche Open Source l'objet (comparer les mots d'une requête avec ceux des documents). Les moteurs plus évoluées se basent dans leurs recherche sur le poids de l'objet recherché, ce poids est calculé pour chaque recherche par la formule TF-IDF [G9]. Pour améliorer encore plus les performances d'un moteur de recherche, il existe de nombreuses méthodes telles que la méthode d'analyse sémantique latente qui permet de faire la recherche aussi des co-occurrences du mot recherché, ainsi, par exemple, le terme "voiture" est automatiquement associé à ses mots proches tels que "garage" ou BMW, etc. Autres techniques consistent à utiliser différents plugins tels que les traducteurs, la correction d'orthographe ou les dictionnaires de synonymes et d'acronymes. 5. Moteurs de recherche propriétaires Bien que plusieurs moteurs de recherche Open Source commencent à prendre leurs parts dans le marché des moteurs de recherche, ce domaine reste toujours dominé par les trois acteurs majeurs: Google, Yahoo, et MSN [7] : • Google: environ 65.4% des 64.3 milliards de recherches sur internet (90.61% de part de marchés en France sur le mois de Juin 2008 [8]). • Yahoo: 8,5 milliards de recherches, soit 14% du total • Live Search: 2,1 milliards de recherches, 3,4% Moteur Janvier 2008 Février 2008 63.1% 62.8% 12.2% 11.9% 4.6% 4.5% 3.1% 3.1% Tableau N°1 : Parts du marché des moteurs de recherche dans le monde. - 23 -
  34. 34. Chapitre 2 Étude sur les moteurs de recherche Open Source 6. Moteurs de recherche Open Source Étant donné que la quantité d'informations disponibles sur les sites Internet ne cesse d'augmenter, il devient nécessaire de donner à l'utilisateur la possibilité d'effectuer des recherches sur des domaines bien définis. En décidant d'installer un moteur de recherche pour un besoin bien spécifique, les administrateurs sont face à un choix entre les solutions commerciales, et dans ce cas, des frais supplémentaires non négligeables sont exigés, ou opter pour une solution Open Source qui peut donner pour quelques moteurs de recherche les mêmes fonctionnalités que les solutions commerciales, avec les avantages de la philosophie Open Source : transparence du fonctionnement de ces moteurs de recherche, la gratuité de ces solutions, les logiciels mis à jour activement, possibilité de personnaliser les codes afin de répondre à des besoins bien spécifiques, etc Aujourd'hui, il existe de nombreuses solutions Open Source qui peuvent être utilisées, et chacune d'entre elles présente des caractéristiques différentes qui doivent être prises en considération afin de déterminer laquelle choisir. Ces moteurs de recherche peuvent être classés selon plusieurs critères à savoir le langage de programmation utilisé, la façon dont il stocke les indexes, ses capacités de recherche, le type de fichiers capables d'indexation (HTML, PDF, texte, etc). D'autres facteurs importants à considérer sont la dernière date de mise à jour du logiciel, la version actuelle et l'activité du projet. Ces facteurs sont très importants, car un moteur de recherche qui n'a pas été mis à jour récemment, peut présenter des problèmes au moment de sa personnalisation. Ces caractéristiques sont utiles pour faire une classification globale des moteurs de recherche et être capable de limiter le nombre de solutions disponibles. Ensuite, il est important de tenir compte de la performance de ces moteurs de recherche (temps de l'exploration (crawling), le temps d'indexation, et de recherche sur des bases très volumineuses). 7. Étude comparative sur les moteurs de recherche Open Source Se limitant sur les moteurs de recherche Open Source les plus utilisés, nous essayons dans cette partie de présenter une étude comparative entre les trois moteurs les plus utilisés à savoir DataParkSearch, Solr et Nutch. - 24 -
  35. 35. Chapitre 2 Étude sur les moteurs de recherche Open Source 7.1. DataParkSearsh DataParkSearch est un moteur de recherche Open Source écrit entièrement en C, il est destiné à organiser la recherche dans les sites Web, un groupe de Sites Web, ou sur intranet. Ce moteur de recherche dispose d'une large variété de fonctionnalités, il se compose essentiellement de deux mécanismes qui fonctionnent simultanément, le premier, c'est un mécanisme d'indexation pour la recherche de nouvelles ressources sur internet, et le deuxième partie qui est un mécanisme de recherche. Doté de plusieurs outils de reconnaissance linguistique, DataParkSearch permet la reconnaissance automatiquement des langues, et de faire des recherches en utilisant une technologie de négociation du contenu1 pour récupérer les versions de la même page dans différentes langues, il peut effectuer aussi une recherche avec les caractères spéciaux ou faire de la segmentation de phrases en Chinois, Japonais, Coréen et Thai. Il est possible d'utiliser des synonymes, des acronymes et et des abréviations pour étendre les résultats de la recherche. Afin d'optimiser la recherche et de répondre aux attentes des utilisateurs, DataParkSearch utilise la technique de « Neo Popularity Rank » qui permet de classer les pages web selon les pays du réseau neurologique, il permet aussi de construire automatiquement le sommaire de chaque page index « Summary Extraction Aalgorithm, SEA », ce sommaire sera par la suite utilisé pour améliorer le rang des sites web. Enfin, DataParkSearch permet la personnalisation des résultats de la recherche en fournissant aux utilisateurs la possibilité de classer les pages web par pertinence, popularité, importance ou par date de la dernière modification. 7.2. Nutch Initié en 2003 par Doug Cutting, Nutch est un moteur de recherche Open Source complet : il dispose de son propre outil de crawling, alors que l'indexation et la recherche se basent sur les bibliothèques de Lucene. Développé entièrement en Java et basé sur une architecture hautement modulaire, Nutch permet aux développeurs de créer des plugins pour différentes phases du processus : exploration, indexation et recherche. 1. Négociation de contenu : c'est un mécanisme qui permet de négocier le contenu de la page afin de fournir la forme la mieux adaptée aux utilisateurs, ainsi un utilisateur qui ne comprend pas la forme PNG, peut avoir la forme GIF (bien évidement, chaque ressource doit être disponible sous plusieurs formes). Autre forme de négociation du contenu, c'est la négociation de la langue à afficher. - 25 -
  36. 36. Chapitre 2 Étude sur les moteurs de recherche Open Source En juin 2003, Nutch fût un grand succès après sa présentation d'une version opérationnelle sur une base regroupant 100 millions de documents, ce succès lui a permis de prendre sa place dans le domaine des moteurs de recherche. Publiée le 1er juin 2004, l'étude2 [9] menée par Lyle Benedict présente une comparaison des résultats du célèbre Google et de son homologue libre Nutch dans le cadre restreint du site internet de l'Université de l'État de l'Oregon sur une base de 100 requêtes. Par exemple, sur des notes allant de 0 à 10 où 10 est la meilleure note, elle a trouvé 28 requêtes pour lesquelles Nutch et Google ont obtenu la note maximale. Ce succès a énormément encouragé plusieurs organismes internationaux d'adopter cette solution Open Source. En effet, en décembre 2006, le gouvernement du Québec a opté pour Nutch comme moteur de recherche pour le repérage de l'ensemble de ses sites selon une présélection. Autre migration vers Nutch fût celle de l'Oregon State University en septembre 2004, qui a remplacé son pôle de recherche Google par Nutch. Cela lui a permit de réaliser des réductions de coûts significatives (estimée à 100 000$ par an selon l'Open Source Lab) et de promouvoir la transparence de ce moteur de recherche [10]. En janvier 2005, l'équipe de Nutch décide de migrer vers la licence Apache. Et après cinq mois d'incubation, Nutch devient un sous-projet de Lucene. 7.3. Solr Tout comme Nutch, Solr est un moteur de recherche Open Source basé sur la bibliothèque Lucene. D'abord, il a était développé chez CNET Networks pour améliorer les capacités de recherche de l'entreprise, puis en début 2006, CNET Networks décide de rendre le code source ouvert et de le remettre à Apache Software Foundation. Solr est maintenant un sous- projet de Lucene qui lui ajoute une surchouche XML lui permettant de recevoir les requêtes en HTTP et de rendre le résultat en XML [G10]. 2. Comparision of Nutch and Google search engine implementations on the Oregon State University website - Lyle Benedict - 1 Juin 2004: cette étude montre bien l'efficacité de Nutch par rapport à Google. Parmi les 54 résultats utilisables, une comparaison entre ces deux moteurs de recherche montre que: - Pour 28 requêtes: Nutch et Google ont tous deux répondu parfaitement à la demande et 3 un peu moins parfait. - Pour 5 requêtes Nutch a été légèrement en avance par rapport à Google (les deux étaient presque parfaits) - Pour 8 requêtes Google a été légèrement en avance par rapport à Nutch (les deux étaient presque parfaits) - Pour 3 requêtes Nutch a été beaucoup mieux que Google - Pour 4 requêtes de Google a été beaucoup mieux que Nutch de 10 à 6 - Pour 2 requêtes Nutch a très mal répondu, Google a fait un peu mieux - Pour 1 requête, Nutch n'a pas pu satisfaire la demande, Google, un peu mieux, mais il a répondu très mal. - 26 -
  37. 37. Chapitre 2 Étude sur les moteurs de recherche Open Source Bien qu'il dispose d'une interface graphique d'administration, Solr ne fournie pas encore aucune interface graphique de recherche, ce qui pousse les utilisateurs de Solr à développer leurs propres interfaces recherche avec leurs langages de programmation préférés (Java, PHP, Ruby, Python ...). Cet outil peut aussi prendre la forme d'un Web service et permet donc d'être intégré à n'importe quel programme, indépendamment du langage de programmation (Java, PHP, C# et autres). Le point fort de Solr c'est sans doute son outil de recherche qui lui permet de personnaliser les recherches. Par exemple, Solr supporte le “faceting” qui permet de personnaliser la recherche en ajoutant des critères supplémentaires ou d’implémenter des filtres sur des champs variés. (par exemple, faire un filtre par gamme de prix, couleur et taille pour la recherche d'un article donné). En se basant sur Lucene (qui lui fournit des outils d'indexation, et de recherche), l'inconvénient majeur de Solr reste toujours qu'il ne dispose pas encore d'un outil de crawling. En effet, pour utiliser Solr, les administrateurs doivent toujours faire recours à des outils de crawling propriétaires tel que WebCrawler, Methabot, FAST Crawler, Google crawler, etc. Ou même des Crawlers Open Source tels que Heritrix, GNU WGet, HTTrack, Aspseek, Nutch, etc. Ce tableau résumera les caractéristiques de chacun des trois moteurs de recherche : DATAPARKSEARCH SOLR NUTCH Date première 27 Novembre 2003 17 Janvier 2006 Juin 2003 version Date dernière 25 Avril 2009 15 Septembre 2008 23 Mars 2009 version Version actuelle 4.52 1.3.0 1.0 Système FreeBSD, Linux, Solaris Windows, Linux, Mac, BSD, Windows, Linux, Mac, BSD, d'exploitation Unix Unix Langage de C Java Java programmation Communauté Réduite: Forums, Mailing Active : Forums, Mailing List, Très active:Forums, Mailing List, Blogs, Pages Wiki patch List, patch, Tutoriels, Astuces, consultants indépendants offrant une assistance spécialisée. Licence GNU GPL - Version 2 Apache License 2.0 Apache License 2.0 Exploration Oui Non Oui Indexation Oui Oui, utilisant les bibliothèques Oui, utilisant les bibliothèques - 27 -
  38. 38. Chapitre 2 Étude sur les moteurs de recherche Open Source de Lucene de Lucene Recherche Oui Oui, utilisant les bibliothèques Oui, utilisant les bibliothèques de Lucene de Lucene Interface Non Seulement d'administration Oui Graphique Fichiers supportés Texte, HTML, XML, Audio, Pas de crawler Texte, HTML, XML, Vidéo, Images/GIF, PDF, JavaScript, OpenOfice.org Flash, Word, Excel, RTF, ODF & Star Office, Microsoft PowerPoint Power Point & Word, Adobe PDF, RSS, RTF, MP3, ZIP, Flash, etc Personnalisable Avec divers templates Avec divers templates Code compréhensible Extensible Non Non Nutch-Wax, Hadoopi, solr, etc Distribué Non Oui Hadoopi plugin Non Non LanguageIdentifierPlugin XMLParser Plugin, DocumentationTemplate GeoPosition , German JapaneseAnalyzer plugin index-extra, protocol-smb Autres ● Indexation multilangues ● Hit Highlighting ● Communauté très active. caractéristiques des sites (coloration du mot recherché) ● Code source ● Recherche de tous les ● Communication via HTTP, compréhensible. mots proches JSON, XML, PHP, Ruby et ● Robuste et complet ● Support des synonymes, Python. ● Extensible avec plusieurs acronymes, abréviation ● Simple à mettre en place: plugins ● Liste d'interdictions de pas de Tomcat. ● Possibilité d'intégrer Solr mots. ● Interface d'administration avec Nutch. ● Indexation et recherche (en HTML). ● Support de Base de données en même temps sur la même ● Possibilité de réplication de très volumineuse. base de données serveurs. ● Nécessite le générateur de (Multithread). ● Extensible avec de servlette Tomcat. ● Résultat par importance, nouveaux plugins. ● Possibilité de réplication de pertinence, popularité ou par ● Caching (mémorisation en serveurs. date. cache de toutes recherches). ● Correction d'orthographe. ● Recherche filtrée et par ● Recherche par abréviation catégorie (faceted search) . ● Optimisé pour une ● Support des caractères recherche web très spéciaux. volumineuse. ● Support du Chinois, ● Configuration japonais, etc. personnalisable et flexible. ● Nécéssite un SGBD. ● Statistiques complètes sur (MySQL, PostGreeSQL ou l'utilisation du cache, mises à Oracle) jour, requêtes, etc. Site offciel http://www.dataparksearch.org/ http://lucene.apache.org/solr/ http://lucene.apache.org/nutch/ Tableau N°2 : Étude comparative sur les moteurs de recherche Open Source. - 28 -
  39. 39. Chapitre 2 Étude sur les moteurs de recherche Open Source 8. Choix technologique La solution du départ consistait à l'utilisation d'un moteur de recherche Open Source, cette solution nous permet d'économiser, en premier lieu, de l'argent vis à vis des solutions propriétaires3 [11]. En plus, l'adoption des solutions Open Source nous permet de profiter de tout les atouts de ces derniers à savoir la possibilité de modifier le code source ainsi l'adapter à nos besoins, elle nous permet aussi d'avoir une idée détaillée sur les algorithmes de classement des sites. Parmi les solutions proposées, Nutch se distingue comme étant la solution la plus appropriée pour répondre à nos besoins à savoir principalement la recherche textuelle dans une base de quelques milliers de sites tunisiens. En effet, Nutch est un moteur de recherche basé sur la Bibliothèque Lucene qui est une bibliothèque écrite en java destinée pour la création de puissants moteurs de recherche orientés texte. L'avantage indéniable aussi de Nutch c'est qu'il permet de crawler plusieurs milliards de pages par mois et donc d'avoir un crawler très performant et d'avoir un corpus de très grande taille. 9. Étude sur le moteur de recherche Nutch 9.1. Introduction La recherche textuelle a pris une importance considérable depuis quelques années, suite notamment au succès de l'Internet et de ses moteurs de recherche. Elle n'est pas seulement utilisée sur le Web mais l'est également par les systèmes d'exploitation par exemple, pour la recherche de fichiers sur les ordinateurs personnels ainsi qu'au sein des entreprises pour faciliter la recherche des données en intranet. Les outils de recherche d'informations indexent aujourd'hui un nombre gigantesque de pages. Pour avoir un ordre d'idée, Google référençait en 2005 plus de 8 milliards de pages avant de cesser de communiquer ce chiffre. Ainsi, le défi de la recherche documentaire est de toujours améliorer les algorithmes de classement des documents (méthodes statistiques ou autres) et les structures de données mises en place. 3. Google Mini est un moteur de recherche destiné pour les entreprises. Existant en plusieurs versions, la moins chère permet de lancer des recherches sur 50 000 documents pour 2 600 €. La version de 300 000 documents peut aller jusqu'à 8 600 €. - 29 -

×