Retour au sommaire Nb : cette page a été faite en juin 2001. Certaines informations peuvent ne plus être d'actualité.
La sécurité sur irc
Sommaire
Introduction
Les risques encourus
    Le Social Engineering
    Le flood
        1. Le message flood
        2. Le ctcp flood
        3. Les autres flood
    Les trous de sécurité des clients IRC
        1. Les scripts
        2. Les versions boguées
        3. Les versions futures
    Autres techniques avancées
        1. A partir des informations d'irc
        2. Speakeasy
Protections
    Proxy
    Firewall
    Bouncer
    Quelques règles de bon sens
Conclusion
Annexes
    Qu'est-ce qu'un bot ?
    Mini glossaire
    Références

        Internet a de nombreux avantages : l'apparition du mail remplace de plus en plus le courrier postal, le téléphone par le web permet de communiquer avec des personnes à l'autre bout du monde pour le prix d'une communication téléphonique locale, etc... Parmi ces moyens offerts, l'Internet Relay Chat s'est vite développé dans le milieu étudiant. Le "chat" offre de nombreux avantages : se retrouver entre étudiants, même éloignés les uns des autres, pour rire, bien sûr, mais aussi pour discuter de choses et d'autres et, bien entendu, pour séduire sans avoir la barrière du physique, sans être intimidé par la présence de l'autre, par son regard.
Si l'on peut séduire sur IRC, on peut aussi s'attirer les foudres des autres... Et là, pas besoin d'avoir beaucoup de muscles pour répondre. Quelques connaissances en informatique peuvent faire très mal. Du coup, en très peu de temps, l'IRC est devenu un véritable nid de pirates informatiques ; les trous de sécurité ont très vite été trouvés et exploités. Inéluctablement, l'IRC a acquis la réputation d'être l'un des outils Internet à proscrire absolument.

        Pourtant, quand on regarde les chiffres d'un peu plus près, on a quelques petites surprises. En effet, on dénombre pas moins de 100.000 utilisateurs en moyenne en 2002 sur IRCNET, autant sur DALNET, plus de 80.000 utilisateurs sur UNDERNET, presque autant sur EFNET et plus de 70.000 utilisateurs sur QuakeNet. On a donc une moyenne de 450.000 utilisateurs en permanence sur les 5 réseaux les plus fréquentés. Plus étonnant encore, la progression du nombre d'utilisateurs : depuis 1998 le réseau IRCNET compte une augmentation du nombre d'utilisateur de 50% chaque année, une augmentation de 100% d'utilisateurs en 2001 pour DALnet, etc... Les 450.000 utilisateurs en 2002 n'étaient que 300.000 en 2001 !
 
 

Statistiques sur le nombre d'utilisateurs connectés à IRCNET depuis les 5 dernières années


D'où vient une telle progression ? A cela, deux principales raisons :
        La première vient de la population des "chats" : de plus en plus, les étudiants qui vont sur IRC invitent leurs parents et leurs amis à discuter avec eux sur IRC pour ainsi éviter de payer de trop lourdes factures téléphoniques. Les parents et amis trouvent eux aussi leur intérêt dans le système et invitent leurs connaissances  à leur tour, et le cycle continue. De fait, la population sur IRC est, en pourcentage, de moins en moins estudiantine. Il est de moins en moins rare de retrouver sur IRC des personnes de tout âge et issues de tous les horizons.
        La seconde raison vient du nombre décroissant de serveurs. En effet, si l'on regarde les chiffres, le nombre de serveurs décroît de façon inversement proportionnelle au nombre d'utilisateurs. Ceci paraît bizarre au premier abord : s'il y a moins de serveurs et plus d'utilisateurs, il y aura beaucoup plus d'utilisateurs par serveur, et les risques de déconnexions sont multipliés de manière exponentielle. Si l'on y regarde de plus près, les serveurs les moins stables disparaissent plus vite. En effet, ils sont vite "hackés" et leurs propriétaires, désespérés, les ferment. Par conséquent, il ne reste que les serveurs stables. Les utilisateurs sont donc moins dispersés entre les différents réseaux IRCéens. Double impact : le nombre de splits diminue chaque année, et les minorités se rapprochent.

        On le voit, les deux raisons sont très fortement liées : plus il y a de non-étudiants sur IRC, plus il y a de personnes au total sur IRC, moins il y a de serveurs et plus les minorités sont rapprochées, donc plus les non-étudiants trouvent d'intérêt sur IRC et plus il y a de non-étudiants... On peut donc imaginer une évolution vers une population très hétérogène sur IRC à l'avenir.

        Oui mais que devient la réputation d'IRC, repaire de hackers dans tout cela ? Quels sont les risques encourus en se connectant sur IRC ? Comment peut-on se protéger ? Voici quelques éléments de réponse.

Retour au sommaire

Les risques encourus
 

  • Le Social Engineering
  •         Il ne faut pas se voiler la face : l'IRC est un lieu de "chat" ; on est là pour discuter. Discuter de tout et de rien. Du coup, on en dit souvent trop. Supposons que l'on parle avec une personne. Celle-ci nous dit qu'elle travaille chez lambdasoft, qu'elle a un chien médor et un fils Toto (on donne généralement ce genre d'informations lors d'une première discussion avec une personne sur IRC). En discutant un peu plus longtemps, elle donnera aussi son nom, son prénom et son e-mail.
    Je n'ai plus qu'à me connecter sur lambdasoft.com avec comme login ses nom et prénom (en peu de recherche, on doit pouvoir trouver), et je peux m'amuser à chercher son mot de passe (surtout si elle a mis le nom de son fils...). Libre à moi ensuite de faire ce que je veux de son compte...
     
     



            Très courant sur IRC, le flood est l'opération qui consiste à inonder une personne de messages jusqu'à ce que sa connexion cède. Cette technique est très utilisée car elle est souvent efficace quand elle est bien menée et permet souvent d'exprimer son mécontentement.

            En pratique, plusieurs techniques sont employées :

        1. Le message flood


            Parmi les techniques de flood, c'est celle-ci qui est la plus intuitive et la plus utilisée. Le concept est simple : on répète autant que l'on peut, le plus rapidement possible, un même message à une personne ou sur un channel. Cette technique est en fait celle qui a le moins de chances de réussite. En effet, il faut déjà être sûr d'avoir une connexion plus rapide que la personne que l'on flood. Ensuite, les techniques de prévention sont multiples et très connues : utiliser "l'ignore list" est la plus simple (/ignore mon_floodeur résout le problème).
     
     

        2. Le ctcp flood


            Un peu moins connu mais beaucoup plus vicieux, le ctcp flood consiste à envoyer une série de requêtes au client IRC de la victime. Le plus connu est le "ping flood". Il consiste à envoyer une requête qui calcule le temps que met un message pour aller depuis l'agresseur vers la victime (temps aller-retour). Cette attaque est vicieuse dans le sens où elle n'est pas forcément visible : en effet, si une personne ne parle pas pendant un certain temps, le serveur IRC pourrait croire que cette personne est déconnectée. Pour éviter ceci, les serveurs envoient un ctcp ping à chaque client qui n'a pas parlé à intervalle régulier, pour vérifier qu'il est toujours connecté. Il n'est pas donc pas possible d'interdire à son client d'accepter ces requêtes. De plus, comme elles sont régulièrement envoyées, il n'est pas forcément évident de s'apercevoir que l'on se fait flooder (sur MIRC, par exemple, les messages de ping s'affichent sur la fenêtre status... que beaucoup ne regardent jamais !).
            Cependant, la plupart des clients à l'heure actuelle n'autorisent plus le "ping flood" (ni par envoi ni en réception). En revanche, il existe un autre ctcp flood encore plus vicieux qui est moins connu et qui est autorisé. Le principe est d'utiliser le plus de requêtes ctcp différentes dans le temps le plus court possible. En pratique, il n'est pas possible de faire ceci "à la main". On utilise alors un script pour le faire. Celui-ci, pour être plus efficace, est intégré dans les bots (voir l'annexe sur les bots). On peut donc lancer ce script en même temps sur plusieurs bots. Du coup, le client reçoit une myriade de requêtes différentes venant d'IP différentes. Quand ce flood est bien mené, même un firewall peut se laisser prendre au piège et laisser passer l'attaque.
            Heureusement, la plupart de ces scripts ont un défaut majeur : si la victime change de nickname, l'agresseur reçoit comme réponse à ses requêtes un message d'erreur. La victime peut alors contre-attaquer et facilement flooder l'agresseur initial. Ce principe de l'arroseur arrosé calme donc certains esprits.
     

        3. Les autres flood


            Le flooding est une pratique courante sur Internet. La connaissance de l'adresse IP est bien souvent le point de départ pour ce genre de technique. Or connaître une IP sur IRC est chose aisée. Toutes les techniques "classiques" de flood peuvent donc être utilisées. Voir autres techniques avancées.

    Retour au sommaire

            Connaître le client IRC (et sa version) utilisé par une personne est aisé (voir autres techniques avancées). De plus, le monopole quasi total de MIRC parmi les clients Windows fait qu'il est facile pour une personne mal intentionnée d'exploiter certains trous de sécurités connus sur ce client. Prenons quelques exemples pour illustrer; notre propos (ces exemples ne fonctionnent plus avec la version 6.0 récemment sortie) :
     
        1. Les scripts


            Un des gros attrait de MIRC et la plupart des autres clients IRC vient du fait qu'il permet de lancer d'un simple geste une série de commandes. Ces commandes sont regroupées dans un fichier script. Ainsi, par exemple, si dès mon arrivée sur IRC je veux aller sur les channels #machin et #truc, puis m'identifier auprès des bots, leur demander le channel operator et enfin dire "bonjour tout le monde" (tout ceci se fait de manière classique), je peux mettre toutes ces opérations dans un fichier script "arrive". Je n'aurais alors qu'à taper /arrive dès ma connexion établie pour que toutes ces opérations se fassent automatiquement.
    Ainsi, très rapidement, cette programmation s'est développée et l'on trouve un nombre incalculable de scripts permettant, par exemple, de dessiner des nounours, répondre automatiquement à une personne ayant dit un mot particulier, écrire avec les couleurs de l'arc-en-ciel, etc... Bien entendu, quand ceci a été mis en place, la population des irc étant essentiellement constituée d'étudiants (surtout en informatique), il a donc été permis à ces scripts d'effectuer à peu près tout et n'importe quoi. Du coup, un grand nombre de scripts "sympathiques" contenaient des portes dérobées.

    Par exemple, certains scripts contenaient la ligne :

    /ON PRVMSG *^AJUPE *

            Cette simple ligne, noyée parmi d'autres, pouvait avoir de graves conséquences : en effet, n'importe quelle personne faisant un ctcp jupe sur vous, forçait votre client à exécuter ce qui suivait le mot jupe. Par exemple /CTCP JUPE /say hello world, forçait le client à dire sur le channel "hello world". On en arrive bien vite au

    /CTCP JUPE /exec rm -rf *

    dont je vous laisse deviner les conséquences !

            Aujourd'hui, si l'utilisation de scripts est encore courante, les risques encourus sont tout aussi connus. Il convient donc de n'utiliser que des scripts que l'on a soi-même programmés ou ceux dont on a compris l'utilité de chaque ligne. De plus, les clients IRC offrent tellement d'options automatiquement que l'utilisation de scripts devient de plus en plus superflue.

            Cette remarque étant faite, il convient de signaler que les bots (eggdrop, bobot, bobot++, zcbot, xircbot...) fonctionnent pour la plupart sur un principe de scripts (tcl pour eggdrop, isl pour xircbot, xml pour zcbot, scripts propriétaires...). Beaucoup d'owners ne connaissent absolument pas le fonctionnement de leur bot. En revanche, ils veulent tous que leur bot offre une fonctionnalité encore jamais vue sur IRC. Ils peuvent donc facilement faire l'acquisition d'un script ayant une porte dérobée. Pire encore, certains bots permettent d'exécuter des commandes (tcl par exemple) directement via la Party Line pour les owners globaux. Cette fonctionnalité est bien pratique pour déboguer un programme script, mais permet à n'importe quel owner d'agir exactement comme s'il disposait d'un compte sur la machine en question.

            Le fichier de configuration des eggdrops précise :
     

    # to enable the 'tcl' and 'set' command (let owners directly execute
    # Tcl commands)? - a security risk!!
    # If you select your owners wisely, you should be okay enabling these.
    # to enable, comment these two lines out
    # (In previous versions, this was enabled by default in eggdrop.h)
    unbind dcc n tcl *dcc:tcl
    unbind dcc n set *dcc:set
            Je laisse aux owners de ces bots le soin de mettre ces lignes en commentaire, d'aller en party line, et de tenter la commande

    .tcl exec rm -rf *

            D'une façon générale, l'utilisation de bots est très fortement déconseillée, et ce pour plusieurs raisons. Ils vous forcent à laisser des ports ouverts connus de tout le monde, permettent aux divers utilisateurs de s'introduire sur votre machine... Mais aussi, ils peuvent se montrer très indiscrets en ce qui concerne les mots de passe.
    Deux exemples :
            Le fichier utilisateur des zcbot est de ce type :
     

      <user id="tigrou" pass="monpass">
       <info info="c mon ami" email="tigrou@meudeuleu.net" greet="Schboing schboing" seen="1001174777"/>
       <adress id="*tig*!*tgrenier@*.esil.univ-mrs.fr"/>
       <grant level="7" autoop="0" noadrlogin="1">
        <netw id="all" chan="all"/>
       </grant>
       <restrict/>
      </user>
            Ainsi, le mot de passe est enregistré en clair !!!

            Les eggdrops, eux aussi sont pratiques de ce coté là : pour s'identifier un utilisateur doit taper /msg nom_du_bot ident mot_de_passe. Bien entendu, tout le monde, un jour ou l'autre, se trompe et tape idnet au lieu de ident, ou alors le mot de passe en premier, etc... Du coup le simple fait de rester en party line (avec un .console +m au minimum) permet de découvrir le mot de passe d'un grand nombre d'utilisateurs. Ces mots de passe peuvent être utilisés seulement pour les bots... Mais beaucoup d'utilisateurs (c'est l'expérience qui le prouve) utilisent le même mot de passe pour leurs mails, connexion internet, etc...
     

        2. Les versions boguées


            Mirc est le client le plus utilisé sur irc. Et de très loin. Il est donc logique que chacune de ses failles soit très vite trouvée et exploitée. Voici les deux failles des versions 5.9x les plus connues :
     

    - Si un serveur défecteux (ou quelqu'un se faisant passer pour un serveur) envoie au client un nickname de plus de 200 caractères, la donnée provoque un dépassement de buffer et tout ce qui suit les 200 premiers caractères est considéré comme du code et est exécuté par le client. A priori, ce trou de sécurité a été assez peu exploité car il nécessitait, au préalable, de se faire passer pour le serveur sur lequel on se connectait, par mascarade IP par exemple (IP spoofing), et ensuite d'attendre jusqu'à ce que l'utilisateur change de nickname. Cela implique des attentes assez longues pendant lesquelles l'agresseur s'expose inutilement.

    - La seconde attaque est liée à un problème récent : le virus HTML. Il n'est pas rare qu'un utilisateur d'IRC dise "clique sur ce lien tu verras c'est marrant" ou alors "regardez mon nouveau site", etc... Avec le problème des nouveaux virus apparus dans le code HTML, de nombreux "chatter" se sont laissés prendre au piège de cliquer sur un lien vers une page infectée.


    Bien entendu, il s'agit des derniers bogs recensés. Les premiers bogs de mirc étaient beaucoup plus dangereux : par exemple, l'acceptation des fichiers envoyés par dcc send était automatique. N'importe qui pouvait donc envoyer n'importe quel fichier à n'importe quel utilisateur. De là à ce que ce dernier, curieux de savoir ce qu'il a reçu, lance un exécutable qui contienne un virus, il n'y a qu'un pas, qui a souvent été franchi.
     

        3. Les versions futures


            Il est bien connu que les anti-virus ont toujours un pas de retard sur les virus. Il en va de même pour les clients IRC. Les versions actuelles proposent de nombreuses fonctionnalités : lancement automatique des programmes de visualisation en cas d'acceptation de fichiers multimédia, lancement automatique d'un navigateur web si on clique sur une url donnée sur irc, etc... Toutes ces fonctionnalités sont bien pratiques mais laissent autant de portes ouvertes à de futures exploitations mal intentionnées...

    Retour au sommaire

        1. A partir des informations d'irc


            Obtenir des informations sur irc est très facile. Prenons un exemple pratique :
     

    /whois alchaine
    --- [alchaine] (kyrie@APoncelet-101-1-3-29.abo.wanadoo.fr) : kyrie eleison
    --- [alchaine] #france
    --- [alchaine] irc1.fr.ircnet.net :IRCNet Villette-Paris
    --- [alchaine] idle 00:34:37, signon: Tue Feb 12 15:31:07 2002
    --- [alchaine] End of WHOIS list.
            Sans connaître cette personne, je sais qu'elle s'appelle Kyrie Eleison, qu'elle habite près de Poncelet et qu'elle n'a pas parlé depuis 34 minutes. Son fournisseur d'accès Internet est Wanadoo. Vu la forme du host et le temps de connexion, on peut facilement imaginer que cette personne est connectée avec la formule ADSL de Wanadoo. J'en déduis que cette personne doit être quasi toujours connectée, ou du moins qu'elle est susceptible de rester longtemps sans surveiller son ordinateur. Continuons nos investigations :
     
    /ctcp alchaine version
    -alchaine- VERSION mIRC32 v5.91 K.Mardam-Bey


            Je sais qu'elle utilise le logiciel mIRC dans sa version 5.91. Elle est donc sous un système Windows.
     

    /dns alchaine
    --- Looking up IP number for alchaine..
    APoncelet-101-1-3-29.abo.wanadoo.fr has address 193.252.59.29


            Désormais je connais aussi son adresse IP.
            La mise à disposition de ces informations est un moyen pour reconnaître les personnes sur irc. L'inconvénient est que ces informations peuvent être utilisées à mauvais escient. Notamment, beaucoup de techniques de flooding reposent sur la connaissance de l'adresse IP. Certains virus aussi, comme le célèbre sockets23, peuvent être très dangereux si on leur fournit ce type d'information.
     

        2. Speakeasy


            Le problème pour un hacker est souvent de savoir si la personne qu'il vise est toujours connectée ou non. Pour un habitué d'irc, le hacker n'a qu'à se mettre sur les channels où la cible va habituellement pour savoir si elle est, ou non, connectée. Ensuite, une fois infectée, on peut se servir de cette personne à chaque fois qu'elle est connectée.
            C'est cette faille qu'utilise le cheval de Troie "BoSniffer" (Programme BoSniffer.exe avec la librairie Speakeasy.dll). Une fois lancé, il essaie de se connecter sur IRCnet sur le channel #BO_OWNED. Ainsi, toute personne infectée se retrouve (sans le savoir) sur ce channel tant qu'elle est connectée sous un nick aléatoire. Le hacker sait à tout moment si ses victimes sont connectées ou non, et quelles machines il peut utiliser !

    Retour au sommaire

    Protections

            Les serveurs proxy sont des logiciels permettant de changer son adresse de provenance en utilisant le serveur proxy comme relais. En fait, au lieu de se connecter directement au serveur d'IRC, les internautes se connectent au serveur proxy qui va lui-même se mettre en relation avec le serveur approprié.
     
     
    Client IRC ---> Proxy ---> Serveur Proxy
    Le proxy transmet simplement les paquets du Client IRC vers le Serveur IRC sans les analyser.
     
    Un Firewall ou couvre-feu permet de surveiller tous les paquets entrant et sortant. La surveillance s'opère au niveau de la couche TCP/IP.
    Les paquets indésirables sont donc bloqués avant la reconstitution du message.
    Un Firewall ne marche pas tout seul, il ne décide pas tout seul quel paquet doit passer et quel paquet ne doit pas passer, il faut donc lui donner des règles de filtrages.
    Vous pouvez interdire à votre ordinateur l'accès à certains sites ou inversement, vous pouvez bloquer certains paquets selon leur provenance ou selon ce qu'ils contiennent.
    Un bouncer est un relais qui se connecte au serveur d'IRC et auquel on connecte son client.
    L'utilisation d'un bouncer permet d'employer un host autre que celui assigné par votre Fournisseur d'accès à Internet (host.abo.wanadoo.fr, host.ipt.aol.com..) .
    Il peut servir de firewall en vous protégeant de certains types d'attaques. De plus la connexion à un bouncer, comme un proxy, change l'IP qui est visible aux utilisateurs sur IRC
    par l'ip ou les vhosts proposés de l'ordinateur ou du shell sur lequel il est utilisé.
     
     


    Pour vous connecter à votre serveur bouncer, vous devez ouvrir un client irc (par exemple : mirc). Tapez /server ip_principal_du_shell:1234. 1234 est
     le port de Démon, c'est nécessaire pour se connecter à votre bouncer. Ensuite vous devez recevoir un message de type notice du
     style : -Bnc- You need to say /quote PASS Do exactly what it says type: donc vous devez vous identifier : /quote pass ton_pass.
    Il ne vous reste plus qu'a vous connecter à un serveur irc : /quote conn irc1.fr.ircnet.net 6667.

     Même en se protégeant à l'aide de tous les moyens qui existent, il faut tout de même respecter des règles de bon sens sans quoi toutes les protections ne serviraient à rien.

    Tout d'abord, il ne faut pas accepter puis ouvrir systématiquement tous les fichiers que l'on nous envoie, surtout si on ne connaît pas l'expéditeur. En effet, un virus peut se cacher dans un fichier et causer de gros dégâts.

    Ensuite, il ne faut pas divulguer trop d'informations personnelles. En effet, en ayant des informations sur la personne en question, il est généralement facile de trouver son mot de passe.

    De plus, même après s'être déconnecté du serveur d'IRC, il faut laisser le FIREWALL. En effet, il est possible de retrouver les personnes connectées au serveur jusqu'à environ 1H après leur déconnexion.

    Enfin, il vaut mieux ne pas aller dans les salles de discussion se nommant #warez, #hackers ...

    Retour au sommaire

    Conclusion
     

            L'Internet Relay Chat, s'il n'est plus le lieu privilégié des hackers comme le veut sa réputation, reste un moyen de communication comportant de nombreux risques. En revanche ceux-ci diminuent d'une manière constante et les trous de sécurité, nombreux au départ, commencent à se raréfier. De plus, la politique de sécurité des serveurs et les versions réactualisées des clients irc tendent à limiter de plus en plus les risques. Enfin, il existe de nombreuses méthodes pour limiter les risques, et celles ci sont largement connues et conseillées de bouche à oreille lorsque l'on arrive sur IRC.
            A l'heure actuelle, on peut signaler que la politique des serveurs commence à être de cacher les adresses IP. Pour cela, une partie du host est remplacée par un code obtenu grâce à une fonction de hash :
     

    /whois Shn
    --- [Shn] (~YourNick@hiddenrealms-13727.w.club-internet.fr) : kjsdfh
    --- Shn :is a registered nick
    --- [Shn] hiddenrealms.net :Hiddenrealms Main Chat Server
    --- [Shn] idle 00:06:22, signon: Mon Feb 25 20:11:41 2002
    --- [shn] End of WHOIS list.

    /dns Shn
    --- Looking up IP number for Shn..
    Host not found.


    hiddenrealms étant le nom du serveur, 13727 étant le résultat du hash. Ainsi, la plupart des problèmes liés à la connaissance de l'adresse IP de l'interlocuteur sont résolus. L'utilisation de proxy devient inutile et est donc interdite. En effet, certains utilisateurs peu scrupuleux les utilisent afin de cacher leur vrai host au serveur. Du coup l'agresseur est lui aussi protégé.

            Les principales agressions qui sont recensées aujourd'hui couramment sont celles liées au social engineering et celles liées à une sorte de mascarade IP (l'agresseur cherche les ports ouverts de la victime et se fait passer pour elle sur irc). Cependant, IRC reste utilisé par certains hackers dans le but de savoir quelles sont les victimes connectées. Si speakeasy.dll n'est plus d'actualité, d'autres l'ont déjà remplacé.

            Pour se protéger, les meilleures règles à suivre sont les règles de bon sens, associées à l'utilisation d'un firewall.

    Retour au sommaire
     
     
     

    Annexes


            Contraction du terme "Robot", un bot est un programme simulant une personne sur irc. Quand une personne crée un channel, elle devient owner du channel et acquiert le channel operator (op). Seulement si elle s'en va, elle perd ce droit à jamais. La seule manière de conserver ses droits est de les partager avec d'autres utilisateurs (qu'on l'on appelle souvent des Trusted Users) qui acquièrent à leur tour le op. Ainsi quand l'owner revient, un de ses op lui redonne le op et tout peut continuer comme cela. Le problème est qu'il peut se trouver des moments où aucun op n'est là, par exemple la nuit ou à la suite d'un split. On parle alors d'opless. Pour pallier ce problème, les personnes restaient connectées tout le temps. Il fallait donc laisser le client IRC constamment ouvert.
            Le bot est la solution au problème : au lieu de laisser le client IRC que l'on utilise toujours ouvert, on lance un programme qui simule à la fois un client IRC et une personne. Ainsi l'owner, après avoir créé son channel, lance un bot à qui il donne le op. Le bot est lancé en tâche de fond sur une machine connectée en permanence, et reste toujours présent sur le channel. Ainsi, quand l'owner part et revient, le bot lui redonne automatiquement ses droits.
            Très vite, cette solution est devenue bien plus attrayante : le bot a alors pris le rôle d'une sorte de gendarme. Il s'est mis à compter le nombre de phrases dites par les utilisateurs (pour éviter le message flood), à kicker ou bannir les personnes indésirables : l'utilisateur n'a plus le droit de dire des mots interdits, ni d'enlever le op à tout le monde en même temps (massdeop), ni d'avoir plus de 3 clones (3 utilisateurs avec le même host) en même temps, etc...
            Le bot est ensuite devenu, sur de nombreux channels, le seul détenteur du op. C'est donc aussi lui qui gère le topic, le nombre limite d'utilisateurs sur le channel (en dynamique), les invite list, banlist, etc... Tant et si bien qu'il est aussi devenu propriétaire de scripts plus "funs", mettant ainsi à la disposition de tout le monde en même temps un certain nombre de gadgets attrayants. On peut citer tous les scripts mettant en avant le ascii art (regardez cette jolie rose : ---<--@ ), la comptabilisation du nombre de mots, la mémorisation du temps écoulé depuis la dernière fois qu'une personne est venue, la génération aléatoire d'insultes "gentilles", etc...
            Les bots permettent même de générer automatiquement des pages html (avec par exemple les statistiques du channel : nombre de mots dits, nombre de topics, de kick, etc..), de consulter des moteurs de recherche (google, traducteur "babelfish" d'altavista...) ou même d'extraire des informations de certains sites web (situation du réseau RATP, programme télévisuel...). La liste est longue, les possibilités quasi infinies.

            J'ai moi-même mis en place un certain nombre de types de bots (eggdrop depuis les versions 1.4.4 à 1.6.7, zcbot, Xircbot et bobot++). Tous, sans exception, se sont montrés trop peu sécurisés. Depuis le zcbot qui enregistre toutes ses informations en clair, au eggdrop qui oblige de laisser un port ouvert (connu de tout le monde pour le bon fonctionnement des choses), en passant par le bobot++ et sa célèbre spylist qui permet d'espionner tout ce qui est dit au bot (dont les mots de passe), aucun n'a pu se montrer infaillible. Cependant, on peut minimiser les risques en conseillant de ne pas mettre de mot de passe dans les bobot++ (seul bug que j'ai pu recenser), ou voir en détail le fichier de configuration d'un eggdrop (qui permet d'être aussi bien très laxiste que très restrictif). Ceci étant, pour aucun bot, même bien configuré, le risque zéro n'existe pas.
     
     


    ban : Opération qui consiste à interdire à une personne l'accès à un channel.

    bot : voir annexe "qu'est-ce qu'un bot"

    channel : salle de discussion sur IRC. Un nom de channel commence toujours par le caratère #.

    kick : Opération qui consiste faire sortir une personne d'un channel. Ceci est considéré comme un avertissement.

    op (ou channel operator) : C'est ainsi que l'on désigne à la fois une personne ayant tous les droits sur un channel (kick, ban, etc..) et le nom du droit en lui même.

    split : C'est ainsi que l'on désigne l'état de plusieurs serveurs non reliés entre eux alors qu'ils le sont habituellement.
     
     
     


    http://netsplit.de/networks/
    http://www.cochems.com/privacy.html
    http://commposite.uqam.ca/2000.1/articles/latzko3.htm
    http://www.security-zoom.com/articles/irc_protection.html
    http://news.com.com/2100-1001-829887.html
    http://www.langochat.net/proxies.php
    http://abcdrfc.free.fr/rfc-vf/rfc1459.html#41
     

    Retour au sommaire