SlideShare ist ein Scribd-Unternehmen logo
1 von 125
Downloaden Sie, um offline zu lesen
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
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
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
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.
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
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
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
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
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
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
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
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-
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-
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-
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-
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-
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-
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-
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-
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-
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens
Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens

Weitere ähnliche Inhalte

Was ist angesagt?

Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...mouafekmazia
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Saadaoui Marwen
 
Rapport de projet de fin d’étude
Rapport  de projet de fin d’étudeRapport  de projet de fin d’étude
Rapport de projet de fin d’étudeOumaimaOuedherfi
 
ERP médical pour la TRANSTU : module de gestion pharmaceutiques
ERP médical pour la TRANSTU : module de gestion pharmaceutiquesERP médical pour la TRANSTU : module de gestion pharmaceutiques
ERP médical pour la TRANSTU : module de gestion pharmaceutiquesMohamed Aziz Chetoui
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachAyoub Mkharbach
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Anouar Kacem
 
Projet de fin d'etude sur le parc informatique
Projet  de fin d'etude sur le parc informatiqueProjet  de fin d'etude sur le parc informatique
Projet de fin d'etude sur le parc informatiqueHicham Ben
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webSalma Gouia
 
Rapport_PFE_Securite (1).pdf
Rapport_PFE_Securite (1).pdfRapport_PFE_Securite (1).pdf
Rapport_PFE_Securite (1).pdfAhmedDhib6
 
Rapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMMRapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMMEya TAYARI
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Karim Ben Alaya
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Yasmine Lachheb
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Mohamed Boubaya
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaNazih Heni
 
Rapport de projet de fin d'année
Rapport de projet de fin d'année Rapport de projet de fin d'année
Rapport de projet de fin d'année kaies Labiedh
 

Was ist angesagt? (20)

Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
Rapport de projet de fin d’étude
Rapport  de projet de fin d’étudeRapport  de projet de fin d’étude
Rapport de projet de fin d’étude
 
ERP médical pour la TRANSTU : module de gestion pharmaceutiques
ERP médical pour la TRANSTU : module de gestion pharmaceutiquesERP médical pour la TRANSTU : module de gestion pharmaceutiques
ERP médical pour la TRANSTU : module de gestion pharmaceutiques
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
 
Projet de fin d'etude sur le parc informatique
Projet  de fin d'etude sur le parc informatiqueProjet  de fin d'etude sur le parc informatique
Projet de fin d'etude sur le parc informatique
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
 
Rapport_PFE_Securite (1).pdf
Rapport_PFE_Securite (1).pdfRapport_PFE_Securite (1).pdf
Rapport_PFE_Securite (1).pdf
 
Rapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMMRapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMM
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
 
Rapportpfe
RapportpfeRapportpfe
Rapportpfe
 
Rapport de stage
Rapport de stage Rapport de stage
Rapport de stage
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
Rapport de projet de fin d'année
Rapport de projet de fin d'année Rapport de projet de fin d'année
Rapport de projet de fin d'année
 

Andere mochten auch

présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.pptMohamed Ben Bouzid
 
Installation Et Configuration De Nutch
Installation Et Configuration De NutchInstallation Et Configuration De Nutch
Installation Et Configuration De NutchMohamed Ben Bouzid
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementNassim Bahri
 
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?Sébastien Prunier
 
Trocito De Navidad
Trocito De NavidadTrocito De Navidad
Trocito De NavidadSol Nortino
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerLenz Grimmer
 
La Importancia De La EDFI
La Importancia De La EDFILa Importancia De La EDFI
La Importancia De La EDFILuis
 
Présentation de la plaforme du design, Juin 2009 (fr)
Présentation de la plaforme du design, Juin 2009 (fr)Présentation de la plaforme du design, Juin 2009 (fr)
Présentation de la plaforme du design, Juin 2009 (fr)Design Platform
 
La Conspiration Du Bien – BNL MTL, 05 2009
La Conspiration Du Bien – BNL MTL, 05 2009La Conspiration Du Bien – BNL MTL, 05 2009
La Conspiration Du Bien – BNL MTL, 05 2009amusedocuments
 
Open Access - Offener Zugang zu wissenschaftlichem Wissen
Open Access - Offener Zugang zu wissenschaftlichem WissenOpen Access - Offener Zugang zu wissenschaftlichem Wissen
Open Access - Offener Zugang zu wissenschaftlichem WissenHeinz Pampel
 
Presentation1neu
Presentation1neuPresentation1neu
Presentation1neuguest49c981
 

Andere mochten auch (20)

présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.ppt
 
Web design 26 11 2013
Web design 26 11 2013Web design 26 11 2013
Web design 26 11 2013
 
Installation Et Configuration De Nutch
Installation Et Configuration De NutchInstallation Et Configuration De Nutch
Installation Et Configuration De Nutch
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
 
Nia
NiaNia
Nia
 
Cuaresma
CuaresmaCuaresma
Cuaresma
 
Las Drogas
Las DrogasLas Drogas
Las Drogas
 
DeArGe Mitteilungen 6/2003
DeArGe Mitteilungen 6/2003DeArGe Mitteilungen 6/2003
DeArGe Mitteilungen 6/2003
 
Trocito De Navidad
Trocito De NavidadTrocito De Navidad
Trocito De Navidad
 
Ancala 7 A
Ancala 7 AAncala 7 A
Ancala 7 A
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
 
Presentación unlimioo
Presentación unlimiooPresentación unlimioo
Presentación unlimioo
 
La Importancia De La EDFI
La Importancia De La EDFILa Importancia De La EDFI
La Importancia De La EDFI
 
Présentation de la plaforme du design, Juin 2009 (fr)
Présentation de la plaforme du design, Juin 2009 (fr)Présentation de la plaforme du design, Juin 2009 (fr)
Présentation de la plaforme du design, Juin 2009 (fr)
 
La Conspiration Du Bien – BNL MTL, 05 2009
La Conspiration Du Bien – BNL MTL, 05 2009La Conspiration Du Bien – BNL MTL, 05 2009
La Conspiration Du Bien – BNL MTL, 05 2009
 
Open Access - Offener Zugang zu wissenschaftlichem Wissen
Open Access - Offener Zugang zu wissenschaftlichem WissenOpen Access - Offener Zugang zu wissenschaftlichem Wissen
Open Access - Offener Zugang zu wissenschaftlichem Wissen
 
Googlewave
GooglewaveGooglewave
Googlewave
 
Un Poquito De Abono.. .
Un Poquito De Abono.. .Un Poquito De Abono.. .
Un Poquito De Abono.. .
 
Presentation1neu
Presentation1neuPresentation1neu
Presentation1neu
 

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

La génération numérique en france. usages d'internet et comportements face au...
La génération numérique en france. usages d'internet et comportements face au...La génération numérique en france. usages d'internet et comportements face au...
La génération numérique en france. usages d'internet et comportements face au...sophie mateo
 
Biométrie d'Empreinte Digitale
Biométrie d'Empreinte DigitaleBiométrie d'Empreinte Digitale
Biométrie d'Empreinte DigitaleIntissar Dguechi
 
rapport-170608045227 (1).pdf
rapport-170608045227 (1).pdfrapport-170608045227 (1).pdf
rapport-170608045227 (1).pdfMahmoudiOussama
 
rapport-170608045227 (1).pdf
rapport-170608045227 (1).pdfrapport-170608045227 (1).pdf
rapport-170608045227 (1).pdfMahmoudiOussama
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileNader Somrani
 
Rapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdf
Rapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdfRapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdf
Rapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdfLARAFA Mohamed Akram
 
Scénarisation d'un Mooc KAABI Intissar TARHOUNI Souhaieb BELWAFA Takwa WESL...
Scénarisation d'un Mooc KAABI Intissar  TARHOUNI Souhaieb BELWAFA Takwa  WESL...Scénarisation d'un Mooc KAABI Intissar  TARHOUNI Souhaieb BELWAFA Takwa  WESL...
Scénarisation d'un Mooc KAABI Intissar TARHOUNI Souhaieb BELWAFA Takwa WESL...chaima Aridhi
 
Rapport_PFE Ingénieur_RIHANI-Mohamed
Rapport_PFE Ingénieur_RIHANI-MohamedRapport_PFE Ingénieur_RIHANI-Mohamed
Rapport_PFE Ingénieur_RIHANI-MohamedRihani Mohamed
 
Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEOussama Djerba
 
Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidKhaled Fayala
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachislim Hannachi
 
Ubiquité et intelligence ambiante
Ubiquité et intelligence ambianteUbiquité et intelligence ambiante
Ubiquité et intelligence ambianteSarah
 
Rapport d'activité pam 2010
Rapport d'activité pam 2010Rapport d'activité pam 2010
Rapport d'activité pam 2010pam vescovato
 
Mémoire_SciencesPo_Alexis-Legrand_L’INTERNET-DES-OBJETS,-UN-PAS-VERS-LA-TRAN...
Mémoire_SciencesPo_Alexis-Legrand_L’INTERNET-DES-OBJETS,-UN-PAS-VERS-LA-TRAN...Mémoire_SciencesPo_Alexis-Legrand_L’INTERNET-DES-OBJETS,-UN-PAS-VERS-LA-TRAN...
Mémoire_SciencesPo_Alexis-Legrand_L’INTERNET-DES-OBJETS,-UN-PAS-VERS-LA-TRAN...Alexis Legrand
 
tutoriel sur la mise en place d'une politique de sécurité informatique
tutoriel sur la mise en place d'une politique de sécurité informatiquetutoriel sur la mise en place d'une politique de sécurité informatique
tutoriel sur la mise en place d'une politique de sécurité informatiqueManuel Cédric EBODE MBALLA
 

Ähnlich wie Mise en place d'une solution de détection des pirates et des malwares dans les sites tunisiens (20)

La génération numérique en france. usages d'internet et comportements face au...
La génération numérique en france. usages d'internet et comportements face au...La génération numérique en france. usages d'internet et comportements face au...
La génération numérique en france. usages d'internet et comportements face au...
 
Biométrie d'Empreinte Digitale
Biométrie d'Empreinte DigitaleBiométrie d'Empreinte Digitale
Biométrie d'Empreinte Digitale
 
rapport-170608045227 (1).pdf
rapport-170608045227 (1).pdfrapport-170608045227 (1).pdf
rapport-170608045227 (1).pdf
 
rapport-170608045227 (1).pdf
rapport-170608045227 (1).pdfrapport-170608045227 (1).pdf
rapport-170608045227 (1).pdf
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobile
 
Ess
EssEss
Ess
 
Ess
EssEss
Ess
 
Rapport Projet Fin d'Études PFE
Rapport Projet Fin d'Études PFERapport Projet Fin d'Études PFE
Rapport Projet Fin d'Études PFE
 
Rapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdf
Rapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdfRapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdf
Rapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdf
 
Scénarisation d'un Mooc KAABI Intissar TARHOUNI Souhaieb BELWAFA Takwa WESL...
Scénarisation d'un Mooc KAABI Intissar  TARHOUNI Souhaieb BELWAFA Takwa  WESL...Scénarisation d'un Mooc KAABI Intissar  TARHOUNI Souhaieb BELWAFA Takwa  WESL...
Scénarisation d'un Mooc KAABI Intissar TARHOUNI Souhaieb BELWAFA Takwa WESL...
 
Rapport_PFE Ingénieur_RIHANI-Mohamed
Rapport_PFE Ingénieur_RIHANI-MohamedRapport_PFE Ingénieur_RIHANI-Mohamed
Rapport_PFE Ingénieur_RIHANI-Mohamed
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEE
 
Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme Android
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachi
 
Ubiquité et intelligence ambiante
Ubiquité et intelligence ambianteUbiquité et intelligence ambiante
Ubiquité et intelligence ambiante
 
Rapport d'activité pam 2010
Rapport d'activité pam 2010Rapport d'activité pam 2010
Rapport d'activité pam 2010
 
Mémoire_SciencesPo_Alexis-Legrand_L’INTERNET-DES-OBJETS,-UN-PAS-VERS-LA-TRAN...
Mémoire_SciencesPo_Alexis-Legrand_L’INTERNET-DES-OBJETS,-UN-PAS-VERS-LA-TRAN...Mémoire_SciencesPo_Alexis-Legrand_L’INTERNET-DES-OBJETS,-UN-PAS-VERS-LA-TRAN...
Mémoire_SciencesPo_Alexis-Legrand_L’INTERNET-DES-OBJETS,-UN-PAS-VERS-LA-TRAN...
 
tutoriel sur la mise en place d'une politique de sécurité informatique
tutoriel sur la mise en place d'une politique de sécurité informatiquetutoriel sur la mise en place d'une politique de sécurité informatique
tutoriel sur la mise en place d'une politique de sécurité informatique
 
PKI
PKIPKI
PKI
 

Mehr von Mohamed Ben Bouzid

Ubuntu est il un système sécuritairement sain PDF
Ubuntu est il un système sécuritairement sain PDFUbuntu est il un système sécuritairement sain PDF
Ubuntu est il un système sécuritairement sain PDFMohamed Ben Bouzid
 
Ubuntu est il un système sécuritairement sain ODP
Ubuntu est il un système sécuritairement sain ODPUbuntu est il un système sécuritairement sain ODP
Ubuntu est il un système sécuritairement sain ODPMohamed Ben Bouzid
 
Présentation ubuntu 12.10 PDF
Présentation ubuntu  12.10 PDFPrésentation ubuntu  12.10 PDF
Présentation ubuntu 12.10 PDFMohamed Ben Bouzid
 
Présentation ubuntu 12.10 ODP
Présentation ubuntu 12.10 ODPPrésentation ubuntu 12.10 ODP
Présentation ubuntu 12.10 ODPMohamed Ben Bouzid
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderMohamed Ben Bouzid
 
Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatMohamed Ben Bouzid
 
Annexe1 éTude Comparative Sur Les Moteurs De Recherche
Annexe1   éTude Comparative Sur Les Moteurs De RechercheAnnexe1   éTude Comparative Sur Les Moteurs De Recherche
Annexe1 éTude Comparative Sur Les Moteurs De RechercheMohamed Ben Bouzid
 
Annexe2 : Etude Comparative Sur Les Honeyclients
Annexe2 : Etude Comparative Sur Les HoneyclientsAnnexe2 : Etude Comparative Sur Les Honeyclients
Annexe2 : Etude Comparative Sur Les HoneyclientsMohamed Ben Bouzid
 

Mehr von Mohamed Ben Bouzid (9)

Ubuntu est il un système sécuritairement sain PDF
Ubuntu est il un système sécuritairement sain PDFUbuntu est il un système sécuritairement sain PDF
Ubuntu est il un système sécuritairement sain PDF
 
Ubuntu est il un système sécuritairement sain ODP
Ubuntu est il un système sécuritairement sain ODPUbuntu est il un système sécuritairement sain ODP
Ubuntu est il un système sécuritairement sain ODP
 
Présentation ubuntu 12.10 PDF
Présentation ubuntu  12.10 PDFPrésentation ubuntu  12.10 PDF
Présentation ubuntu 12.10 PDF
 
Présentation ubuntu 12.10 ODP
Présentation ubuntu 12.10 ODPPrésentation ubuntu 12.10 ODP
Présentation ubuntu 12.10 ODP
 
Mag Jll2009
Mag Jll2009Mag Jll2009
Mag Jll2009
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de Tomcat
 
Annexe1 éTude Comparative Sur Les Moteurs De Recherche
Annexe1   éTude Comparative Sur Les Moteurs De RechercheAnnexe1   éTude Comparative Sur Les Moteurs De Recherche
Annexe1 éTude Comparative Sur Les Moteurs De Recherche
 
Annexe2 : Etude Comparative Sur Les Honeyclients
Annexe2 : Etude Comparative Sur Les HoneyclientsAnnexe2 : Etude Comparative Sur Les Honeyclients
Annexe2 : Etude Comparative Sur Les Honeyclients
 

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

  • 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
  • 3. 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
  • 4. 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.
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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-
  • 13. 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-
  • 14. 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-
  • 15. 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-
  • 16. 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-
  • 17. 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-
  • 18. 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-
  • 19. 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-
  • 20. 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-
  • 21. 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 -
  • 22. 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 -
  • 23. 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 -
  • 24. 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 -
  • 25. 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 -
  • 26. 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 -
  • 27. 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 -
  • 28. 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 -
  • 29. 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 -
  • 30. 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 -
  • 31. 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 -
  • 32. 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 -
  • 33. 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 -
  • 34. 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 -
  • 35. 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 -
  • 36. 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 -
  • 37. 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 -
  • 38. 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 -
  • 39. 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 -
  • 40. 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 -