_________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | screw the ids, by MindFlayR / 10.13 / ' aka: Par en avant comme par en arriere . ----- / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ Les administrateurs reseaux cherchent depuis toujours un moyen de detecter et repousser les attaques de pirates informatiques le plus rapidement possible. Un jour, les programmeurs inventerent les IDS pour résoudre le probléme. Ouain, mais c'est quoi ca un IDS ? Bin IDS, c'est pour Intrusion Detection System (ca fais peur en ?). Ca sert a quoi debord (vu vous parler pas anglais pis vous avez pas compris). En gros, ca permet de detecter les attaques et de leurs répondre de facon tout a fais automatique. Un IDS peut entre autre détecter les portscans, analyser le trafic réseau et decouvrir le type d'attaque lancer contre votre machine. Bien, sur, chaque IDS a son propre mode de fonctionnement et aucun ne fais exactement la meme chose. Je vais donc tenter de vous décrire la plupart de ces programmes disponible sur le marché du logiciel libre. En gros ceux qui sont gratuit et/ou le code source est disponible. La raison de ce choix est que je ne voulais pas payer une pour tester un IDS commercial (c'est TRES cher) et surtout, que ceux gratuit sont aussi, sinon plus puissant. Les IDS fonctionne selon deux mode de fonctionnement. Les signatures d'attaques ------------------------- Les IDS fonctionnant sous le principe de la signature d'attaques sont les plus anciens et les simples. Elle consiste a surveiller la signature que laisse les attaques connus sur le systeme. C'est ce qu'on appelle du pattern matching. Cette démarche appliquée à la détection d'intrusion, est très ssemblable à celle des logiciels antivirus et présente les même inconvénients que celle ci. Les modèles comportementaux --------------------------- Les IDS a modèles comportementaux sont apparus plus récemment. Ils consistent à détecter si un utilisateur a une attidue ou un comportement bizarre ou anormal avec le systeme. Il faut bien sur que l'IDS apprenne les habitudes des utilisateurs avant de détecter quelque chose. Ils demandent cepandant un entretien énorme car ils ne peuvent faire la différence entre une activité anormale et une attaque en règle. Ils peuvent cepandant détecter des attaques inconnus auparavent au contraire des IDS fonctionnant par signatures qui doivent tenir leur base de donnés a jour ce qui laisse un certain délai aux attaquants utilisant une vulnérabilité jusque la inconnu. Les types de IDS ---------------- -Host IDS -Network IDS -Hybrid IDS -File integrity Checkers -Kernel patch Host IDS -------- Les Host IDS detecte les intrusions venant d'host "trusted" a l'interieur de votre reseau, ou encore analyse le fonctionnement des machines sur lequel ils sont installer. Il sont presque toujours situé à l'intérieur du réseau. Network IDS ----------- Ce type d'IDS enregistre tout le traffic reseau passant a l'endroit ou l'IDS est installer. Il est normalement situé a l'extérieur du reseau, avant le firewall. Ils servent surtout a detecter les signatures des attaques déjà connu, identifier les anomalies pouvant être une nouvelle vulnérabilité, ou encore a tenter de bloquer les attaques DDoS. Cepandant, les NIDS font fasse a deux problèmes majeurs, c'est a dire le cryptage des données et la difficulté croissante de monitorer les réseaux. Hybrid IDS ---------- Les IDS hybrides sont à la fois composé d'un module network et d'un module host-based. File integrity Checkers ----------------------- Le principe d'un file integrity checker est en fais très simple. Il vérifie si les fichiers (le plus souvent les executable) ont été modifier et ainsi, detecter la présence d'intrus. Exemple simple, un rootkit modifie netstat et ls pour hider les connections venant de 1.2.3.4 ( ip fictif:P ) et pour que les fichiers semble toujours normaux (par leur taille et leur date d'installation. Les FIC (c plus court comme ca) utilisent alors les checksum algorythmique pour vérifier l'integrité de vos fichiers. En utilisant plusieurs algorythmes, ils rendent la tache de l'intrus presque impossible. Kernel patch ------------ Ce type d'IDS modifie le kernel de linux afin de le rendre plus sécuritaire. Ce ne sont pas vraiment des "vraies" IDS mais elles permettent d'améliorer la sécurité d'un systeme et s'harmonise très bien avec les autres types d'IDS. J'veux pas que ma mère sache que j'ai owner son ordi ---------------------------------------------------- Malheureusement pour vous, votre mère est du genre paranoiaque et a installer une batterie de defence SAM autour de son lieu de travail ce qui interdit l'acces physique. Comme votre mère est de plus caller en info, elle a installer plusieurs IDS car elle redoute une attaque informatique de votre part. Donc comment fait-on fais pour pas être privé de sorti pour la semaine... Portscan demi-ouvert et furtif ------------------------------ Il faut commencer par portscanner le système sans se faire détecter par les NIDS. Nous pouvons fortement augmenter nos chances à l'aide de nmap. Nmap permet différent niveau de stealth dans les scans. Si nous visons un ordi en particulier nous pouvons jumeler les option -sS (TCP SYN stealth portscan) et -P0 (Don't ping hosts). Cela reste malheureusement détectable a l'aide de règles IDS avancé, par exemple en notant un nombre élevé de SYN packets qui ne sont pas suivi par une connection. Nous pouvons aussi utiliser la technique dites de Stealth FIN scan. Elle consiste en fais en envoyer un packet contenant le flag FIN vers la box que l'on veux scanner. Si le port ne renvoie pas de réponse, le port est ouvert (ou bloquer par un firewall). Si la box renvoie un packet contenant le flag RST, le port est donc fermé. Le défault majeur de cette technique est qu'il ne marche pas sous tous les OS et donne malheureusement des résultats inexacts causé par les firewall. Cepandant, il est très furtif et relativement rapide. commande: nmap -sF www.host.com Nous pouvons aussi fragmenter ce type de requete pour la rendre encore plus stealth, cepandant, certain OS n'aime pas se genre de truc donc il y as des risque de plantages de la machine cible. L'option decoy (-D) est aussi interessante car elle simule des dizaines de scan a la fois ce qui permet de "cacher" son scan devant la masse de fausses alertes que l'IDS recois. Il faut cepandant utiliser une version récente de nmap car les vieilles avais le défault de donner le meme TTL (Time To Live) a chaque packet ce qui permettais de déduire que les fake ip utilisé en étais justement. Maintenant, nmap donner une valeur TTL aléatoire entre 51 et 65 a chaque fake ip se qui rends la tache des IDS plus difficile. Malheuresement, si tous les ip aléatoires créer par nmap s'avère etre down ou impossible, l'IDS peux alors détecter la vrai source du scan. Une autre idée intéressante est de scanner dans un ordre aléatoire lorsqu'on scan un network. Exemple, au lieu de scanner 66.199.188.1 66.199.188.2 66.199.188.3 etc... Il faut plutot scanner le network dans le désordre car certain IDS détecte se genre de scan et hide les box suivantes a l'ip qui scan du moment que l'attaque est détecter. Cela est aussi valable pour l'ordre ou les ports sont scanner sur une box précise. On peux aussi "ralentir" le scan de facon a ce que l'IDS ne le détecte pas car il est hors de la "zone de temps" que l'IDS analyse. Une option intéressante de nmap est le suivant Reverse ident scanning. Elle est utilisable par la commande: nmap -sT -I www.host.com Cette option permet de savoir qui "own" chaque port détecter ouvert sur la machine. Malheureusement, cette technique est facilement détecter par les IDS. Web Links --------- Host IDS -------- Logsurfer Homepage: http://www.cert.dfn.de/eng/logsurf/ Auteur: Wolfgang Ley, Uwe Ellerman. Logsurfer permet de monitorer tout les log "texte" de votre systeme en temps reel. Comme syslogd log a peu près tout, l'utilité de logsurfer est de classé ces informatiosn pour vous faire parvenir que ceux qu'on pourrais considéré comme importante. Snips (ou Nocol) Homepage: http://www.navya.com/software/snips/ Auteur: Netplex Technologies Inc. SNIPS (System & Network Integrated Polling Software) autrefois connu sous le nom de NOCOL surveille les activités réseau et les dispositifs systèmes. Swatch Homepage: http://www.oit.ucsb.edu/~eta/swatch/ Auteur; Todd Atkins The Simple WATCHer and filter est un logwatcher en temps réel coder en perl. Swatch surveille vos logs pour des triggers que vous spécifier vous meme. Network IDS ----------- Shadow Homepage: http://www.nswc.navy.mil/ISSEC/CID/ Auteur: NSWC Dahlgren, NFR, NSA, SANS Shadow posséde plusieurs qualités. Il peux d'abord détecter des attaques camouflés par plusieurs sources ip différentes, meme si celle si provienne de plusieurs sous-reseau ou meme encore de pays différent. Shadow est contruis en 2 modules. Le premier, le "senseur" est situé le plus près possible du firewall. La deuxième, "l'analyseur", est situé a l'intérieur du réseau. Shadow a été développé sous Red Hat, il est donc optimiser pour cette distribution de Linux. Shoki Homepage: http://shoki.sourceforge.net/ Auteur: sbp Shoki est un NIDS fonctionnant par signatures fonctionnant avec tcpdump. Il est possible de convertir les regles de Snort sous shoki. Il est aussi possible de logger le trafic reseau et de faire une database. Snort Homepage: http://www.snort.org/ Auteur: Erek Adams, Andrew R. Baker, Brian Caswell, Chris Green, Jed Haile, Jeff Nathan, Chris Reid, Marty Roesch, Snort est le plus évolué et le plus populaire de tout les NIDS. Snort peux servir de sniffer, de packet logger et de NIDS. Snort fonctionne par "règles", ce qui fais que vous devez toujours le maintenir le plus a jour possible si vous voulez qu'il fasse bien son travail. Snort est capable de rouler sur des réseaux a haute-vitesse (100Mbits) ce qui en a fais l'outil de prédilection de plusieurs sysadmin. Tamandua NIDS Homepage: http://tamandua.axur.org/ Auteur: Tamandua Laboratories Tamandua est un NIDS développer au Brésil. Tamandua fonctionne un peu sous le meme principe que Snort, c'est a dire par signatures. Il fait ses rapports en php ce qui pemet de les lire dans une interface web. Hybrid IDS ---------- Prelude Homepage: http://www.prelude-ids.org/ Auteur: Yoann Vandoorselaere ainsi que plusieurs développeurs indépandants Predule utilise plusieurs senseurs pour capter les informations nécessaires à son bon fonctionnement. Les senseurs envoie l'information a un manager qui s'occupe de les classés et de les analyser. Prelude supporte linux et toute les variantes de bsd. Psionic's TriSentry suite ou The Abacus Project Tools Homepage: http://www.psionic.com/abacus/ Auteur: Psionic Technologies Trisentry est composé de trois modules. PortSentry est un détecteur de portscan qui dénie l'accès au système aux portscanners. La box devient complètement invisible a l'host qui se fais prendre par PortSentry. HostSentry lui, est le HIDS. Il sert surtout à détecter les anomalies login et à détecter les comptes compromis. Pour terminer, LogSentry surveille vos fichiers logs automatiquement et à détecter les anomalies. File integrity Checkers ----------------------- AIDE Homepage: http://www.cs.tut.fi/~rammer/aide.html Auteur: Rami Lehti, Pablo Virolainen AIDE vérifie l'intégrité de vos fichiers en utilisant plusieurs algorythmes (md5,sha1,rmd160,tiger,haval,etc.). Il est aussi possible d'ajouter avec une toute relative facilité d'autres algorythmes. chkrootkit Homepage: http://www.chkrootkit.org Auteur: Pangeia Informatica Chkrootkit est une application tentant de découvrir si votre box à été compromis a l'aide d'un rootkit. Il utilise une technique par "signatures" afin de découvrir les applications trojaner. FCheck Homepage: http://www.geocities.com/fcheck2000/fcheck.html Auteur: Michael A. Gumienny FCheck prends une "photo" de votre file system avant permettant ainsi de détecter toute modifications qui pourrais permettre de détecter une intrusion. Kernel patch ------------ Linux Intrusion Detection System Homepage: http://www.lids.org/ Auteur: Xie Huagang et Philippe Biondi What that shit ? ---------------- LIDS est une patch de kernel et un outil d'administration systeme. LIDS permet proteger ces fichiers importants, meme le root ne peux modifier les fichier protegers a l'aide de LIDS. LIDS permet aussi de proteger les process en empechant de les killer et permet aussi de hidder les process. LIDS fais aussi des alertes de securité au niveau du kernel et peux meme detecter les portscans fais a partir de votre systeme. Pourquoi utiliser LIDS ? ------------------------ Car Linux comporte des problemes de sécurité inherant a tout les systemes unix. Le probleme le plus évident étant bien sur la "toute-puissance" du root sur la machine. Un intrus reussisant a obtenir l'acces root peux totalement détruire un systeme ou tout simplement vous donner assez de maux de têtes pour avaler toute votre bouteille d'aspirine. LIDS utilise une "access control list" qui aide a prevenir que ceux qui possede le status root massacre le systeme. Ceci protegeant les fichiers comme les process. Compatibilité ------------- kernel 2.2.x et 2.4.x non compatible avec Red Hat, Debian, et Suse car ces distributions modifient le kernel. J'espere avoir éclairer votre lanterne sur vos choix d'IDS et surtout vous avoir convaincu de les utiliser. Une box est si vite rooter de nos jours qu'il vaux mieux se protéger, surtout si notre box possède des information confidentielles/importantes ou encore qu'on tiens a ce que notre box ne servent pas a en scanner 40000 autres. (ce qui peux causer certains problemes avec notre isp/systeme policiaire préféré. Merci à: sauron (from cns/minithins), Lance E. Spitzner, Erek Adams, Andrew R. Baker, Samuel Dralet, Robert Graham, Rain Forest Puppy Yves Deswart, Thierry Lecroq Fyodor et à tout ceux que j'oublie de mentionner.