Articles de Conférence
Frédéric Massicotte, Mathieu Couture, Annie De Montigny-Leboeuf, "Using a VMware Network Infrastructure to Collect Traffic Traces for Intrusion Detection Evaluation", 21st Annual Computer Security Applications Conference, Tucson, Arizona, décembre 2005.
Résumé— Depuis que l’ensemble de données d’évaluation de systèmes de détection d’intrusion de DARPA fut rendu disponible en 1998 et mise-à-jour en 1999 et 2000, il semble qu’aucun autre ensemble de données gratuitement disponible n’a été proposé pour faire l’évaluation de systèmes de détection d’intrusion (SDI). Même si ces traces de trafic sont encore utilisées par la communauté scientifique travaillant en sécurité informatique, elles n’ont pas été mise-à-jour depuis. L’absence de nouvelles données d’évaluation de SDI est principalement reliée à la complexité de produire un tel ensemble de données. Dans le but de resoudre ce problème et faciliter certains aspects de cette tâche, nous avons developpé une statégie pour rapidement générer et capturer des traces de trafic contenant des attaques dans le but d’évaluer et tester des systèmes de détection d’intrusion. Dans cet article, nous présentons un environment réseautique controllé que nous avons développé au CRC pour permettre la génération de traces de trafic contenant des attaques.
Frédéric Massicotte, Mathieu Couture, Lionel Briand, Yvan Labiche, "Context-Based Intrusion Detection Using Snort, Nessus and Bugtraq Databases", 3rd Annual Conference on Privacy, Security and Trust, Fredericton, New Brunswick, Canada, octobre 2005.
Résumé – Les systèmes de détection d’intrusion (SDI) utilisent plusieurs approches pour réduire le nombre de faux positifs qu’ils génèrent. Des informations simples sur le context réseautique telles que l’état des sessions de communication fut ajouté aux signatures des SDI pour leur permettre d’envoyer des alarmes seulement si le context est approprié. Cependant, cette approche n’est souvent pas suffisante puisque d’autres informations sur le context réseautique doivent être ajoutées aux signatures des systèmes de détection d’intrusion à états (SDIE) pour réduire encore le nombre de faux positifs. Les SDI sont également utilisés avec d’autres types de systèmes de surveillance de réseaux tels que les systèmes de détection de vulnerabilité (SDV) et les bases de données de vulnérabilité utilisées par les systèmes de corrélation centralisés pour déterminer l’importance d’une alarme. Ce processus de coorélation repose sur la précision et la standardisation des liens qui existent entre les signatures des SDI, les signatures des SDV et les bases de données décrivant ces vulnérabilités. Dans cet article, nous étudions la précision des liens entre les signatures de Snort, les procédures de Nessus et les vulnérabilités présentes dans la base de données de Bugtraq ainsi que leur potentiel pour trouver des informations de context réseautique qui pourraient être incorporées aux signatures des systèmes de détection d’intrusion.
Mathieu Couture, Béchir Ktari, Frédéric Massicotte, Mohamed Mejri, "A Declarative Approach to Stateful Intrusion Detection and Network Monitoring", 2nd Annual Conference on Privacy, Security and Trust, Fredericton, New Brunswick, Canada, octobre 2004.
Résumé – Ce document présente une nouvelle approche de la détection d’intrusion dynamique. Elle s’appuie sur une logique temporelle capable d’exprimer des propriétés temporaires, c’est-à-dire des propriétés situées entre les événements. La détection de ces événements peut, à son tour, dépendre d’autres propriétés temporaires. Cette logique vise à modéliser la collecte de connaissances. Il s’agit essentiellement d’une logique propositionnelle à laquelle nous avons ajouté un opérateur temporel unique qui permet de définir les limites des propriétés temporaires.
Mathieu Couture, Béchir Ktari, Frédéric Massicotte, Mohamed Mejri, "Détection d’intrusion et acquisition passive d’information", 3rd Conference on Security and Network Architectures, La Londe, Cote d ‘Azur, France, juin 2004.
Résumé— Les systèmes de détection d’intrusion en temps réel basés sur un ensemble de règles, tels que Snort, sont efficaces pour reconnaître la signature d’une attaque lorsque celle-ci peut se détecter avec un unique paquet. Cependant, pour des scénarios d’attaques plus complexes impliquant plusieurs paquets, notamment dans le cas de certaines attaques de type déni de service, l’expressivité des langages utilisés pour les signatures s’avère insuffisante. Dans cet article, nous proposons une façon d’étendre le langage des signatures de Snort de façon à pouvoir exprimer des scénarios d’attaques complexes. L’enrichissement proposé permet d’exprimer simplement ce qui autrement doit être fait par programmation, par exemple à l’aide des préprocesseurs. De plus, il peut être utilisé pour faire une découverte passive du réseau en utilisant par exemple des techniques de prise d’empreintes digitales. Finalement, il pourrait aussi constituer un langage bas niveau servant à définir des politiques de sécurité de plus haut niveau concernant l’utilisation du réseau et la configuration des équipements s’y trouvant.
Annie De Montigny-Leboeuf, Frédéric Massicotte, "Passive Network Discovery for Real Time Situation Awareness", NATO/RTO Adaptive Defence in Unclassified Networks, Toulouse France, avril 2004.
Résumé – Les analystes de la sécurité des réseaux doivent composer avec de nombreuses ambiguïtés lors de l’interprétation des alertes déclenchées par les appareils de sécurité. Malgré la précision accrue de ces outils, les analystes doivent encore trier une énorme quantité d’événements de sécurité afin de maintenir le degré de certitude souhaité. Ce document décrit de quelle manière la découverte passive de réseaux et la surveillance continuelle peuvent fournir une multitude de renseignements contextuels précieux aux professionnels de la sécurité des réseaux qui sont responsables de la protection des réseaux. Les techniques abordées concernent notamment la capacité de découvrir des nœuds actifs, leurs systèmes d’exploitation, le rôle qu’ils jouent, le temps utilisable de leurs systèmes, les services qu’ils offrent, les protocoles qu’ils supportent ainsi que la configuration de leurs réseaux IP. Cette approche est intéressante puisqu’elle se concentre sur des mécanismes qui ne dépendent pas de l’accès aux données des utilisateurs. Bien que cela ne préoccupe pas l’intrus, il peut s’agir d’un élément extrêmement important pour l’analyste de la sécurité. L’un des principaux avantages de l’application d’une approche passive réside dans le fait que le processus de collecte de renseignements n’a aucune incidence sur la bande passante ou les ressources surveillées. Cette approche se démarque des techniques d’analyse active qui sont souvent bruyantes et dérangeantes. Les techniques passives peuvent servir en tout temps et favorisent une connaissance en temps quasi réel de la situation de la sécurité dans des réseaux qui se transforment continuellement, ce qui aide les administrateurs des réseaux à demeurer maîtres de la situation et à anticiper d’éventuels problèmes de sécurité. Un prototype de surveillance de réseaux a été développé pour mettre à l’essai les techniques décrites dans ce document.
F. Massicotte, T. Whalen and C. Bilodeau, "Network Mapping Tool for Real-Time Security Analysis", NATO/RTO Symposium on Real-time Intrusion Detection, Lisbon Portugal, mai 2002.
Résumé – Ce document présente un prototype d’outil de cartographie de réseau qui peut être utilisé conjointement avec les systèmes de détection d’intrusion pour fournir une image détaillée de la topologie du réseau en temps réel. Cet outil logiciel peut produire des descriptions relatives à la connectivité physique et logicielle des composants de réseau. Il confirme également la présence des systèmes d’exploitation dans les appareils en réseau et fournit des renseignements relatifs à la configuration et à l’état des hôtes et de leur connectivité. La cartographie d’un réseau s’effectue au moyen d’une série d’étapes automatiques qui font appel à un certain nombre d’éléments pour interroger les composants de réseau : les protocoles de réseaux intégrés (ICMP, ARP, NetBIOS et DNS), les protocoles de gestion normalisés (SNMP), les outils de cartographie libres (nmap, Xprobe) et un certain nombre de programmes et de bases de données contenant des renseignements élaborés par le Centre de recherches sur les communications pour l’analyse des résultats produits par les interrogations. Le composant de l’intelligence artificielle choisit un ensemble de chemins possibles et crée une carte complète du réseau. Un composant de surveillance de réseau met à jour une base de données des connexions entre les appareils et affiche les liaisons de communication passées et présentes à l’aide d’une interface graphique. Il peut aussi déterminer à quel moment un nouvel appareil a été ajouté au réseau, ce qui est essentiel à la mise à jour de la carte du réseau. L’intégration de ces outils de collecte de renseignements favorise la création de cartes de réseau très précises et actuelles et l’analyse en temps réel des attaques ou des modifications apportées à la topologie.
Annie De Montigny-Leboeuf, Tim Symchych, Network Traffic Flow Analysis, in Proceedings of the Canadian Conference on Electrical and Computer Engineering 2006 (CCECE06), Page: 639-642, Ottawa, mai 2006.
Résumé – Des milliers de flots d'information circulent quotidiennement sur les réseaux utilisés par les gouvernements, l'industrie et les particuliers. Des attaques peuvent se dissimuler à travers ces flots d'information en déguisant le trafic malicieux de façon à paraître légitime. En général, il est possible d'établir une correspondance entre les protocoles utilisés et les numéros de ports TCP et UDP qui servent à établir les communications. Toutefois, pour éviter la détection, des intrus peuvent déguiser leurs activités en utilisant des numéros de port non standards ou même standards mais d'une manière non conforme. Cet article décrit les travaux présents et futurs, portant sur le profil des flots, du Groupe de recherche sur la sécurité des réseaux au Centre de recherches sur les communications (CRC). Il y a plusieurs défis à relever, comme la découverte d'activités illégitimes dans des réseaux à débit et à volume élevés ainsi que dans des protocoles conçus pour dissimuler les renseignements transportés.
Annie De Montigny-Leboeuf, Mathieu Couture, and Frederic Massicotte, Traffic Behaviour Characterization Using NetMate, (poster), in Proceedings of RAID 2009, LNCS 5758, pp. 367-368, septembre 2009. © Springer-Verlag Berlin Heidelberg 2009.
Résumé – Des études ont montré la faisabilité de dériver des indicateurs simples de transferts de fichier, d'interactivité humaine, et autres caractéristiques comportementales d'importance. Nous proposons une implémentation et une utilisation pratique de tels indicateurs avec NetMate. Dans son état actuel comme outil en développement, notre version étendue de NetMate sera déjà d'intérêt pour les praticiens en sécurité de réseaux ayant à accomplir des tâches d'analyse d'incidents. L'outil peut être utilisé pour analyser des traces de trafic contenant des flots suspects afin d'obtenir une description comportementale de ces flots et ce ceux qui l'entourent. Si l'outil est davantage développé, il pourrait s'avérer utile dans d'autres cas tels que la détection d'intrusion, la détection de sabotage à l'interne, et pourrait aussi servir à la classification du trafic.
Notes et Rapports Techniques
Mathieu Couture, Frédéric Massicotte and Daniel Rea, "Last Minute Traffic Forwarding for Malware analysis in a Honeynet", CRC Note Technique CRC-TN-2010-001, juin 2010.
Résumé—Une des techniques utilisées pour analyser du maliciel repose sur l'utilisation d'un réseau leurre qui, dans certains cas, est isolé de l'Internet. Afin d'émuler l'Internet, le traffic généré lors de l'exécution des échantillons de maliciel doit alors (en tout ou en partie) être redirigé vers les différents ordinateurs du réseau leurre. Étant donné que les adresses IP et les numéros de ports TCP et UDP utilisés par les échantillons de logiciel malicieux ne sont pas connus à l'avance, la configuration du dispositif de redirection, i.e. la spécification de quel port de quel ordinateur doit recevoir quel trafic, doit être effectuée avec soin. Dans ce document, nous abordons le problème de redirection du trafic pour fins d'analyse de logiciel malicieux. Nous identifions des aspects clés du problème, décrivons les principaux éléments de spécification et d'implantation d'un module logiciel répondant aux besoins identifiés, et présentons une étude de cas réalisée à l'aide de 25118 échantillons de maliciel. La principale composante de notre module est un mécanisme appelé Traduction d'Adresse Destination de Réseau à la Dernière Minute (TADR-DM). Ce mécanisme permet de reporter la configuration du dispositif de redirection jusqu'à la dernière minute en testant la validité de l'adresse et du port destination d'un connexion au moment même elle est établie.
Mathieu Couture, Frédéric Massicotte, "Studying Malware in an Isolated Network Sandbox", CRC Note Technique CRC-TN-2009-02, septembre 2009.
Résumé—Un bac à sable est un outil logiciel permettant d'observer de façon sécuritaire l'exécution de logiciel malicieux (maliciel), ou plus généralement, de logiciel auquel on ne fait pas confiance. La plupart du temps, un bac à sable est implémenté dans une machine virtuelle ou un système d'exploitation simulé et permet d'étudier le comportement des logiciels du point de vue du système d'exploitation hôte. Ces dernières années, nous avons développé un ensemble d'outils que nous sommes venus à considérer comme un bac à sable réseau, c'est-à-dire un bac à sable qui permet l'étude du comportement de logiciels du point de vue du réseau. Dans ce document, nous présentons un sommaire des résultats d'analyse obtenus suite à l'exécution de plusieurs lociciels malicieux dans notre bac à sable. Nous croyons qu'un bac à sable réseau fourni de l'information qui, une fois combinée à celle obtenue à l'aide d'un bac à sable traditionnel, procure un point de vue plus intelligible des divers mécanismes mis en place durant l'exécution de logiciel malicieux.
Annie De Montigny-Leboeuf, "Flow Attributes For Use In Traffic Characterization", CRC Technical Note, CRC-TN-2005-003, décembre 2005.
Résumé— Les attaquants déguisent leurs activités afin d'échapper à la détection et contourner les mesures de sécurité de réseau. Le travail présenté dans ce document se fonde sur des travaux de recherche visant à révéler la nature des flots de trafic en fonction de leur comportement. Une étape importante, qui est le point focal de ce document, consiste à identifier les propriétés adéquates et distinctives des flots de trafic dans le but de faire la caractérisation du trafic. Nous avons développé un certain nombre d'indicateurs qui exposent les dynamiques essentielles des communications, et ce en fonction seulement d'informations disponibles dans les en-têtes des paquets. Les indicateurs sont simples et les caractéristiques mesurées sont interprétables par un humain. Un outil est en cours de développement au centre de recherches sur les communications (CRC) pour démontrer la pertinence des attributs dans la caractérisation du trafic de réseau. En particulier, le prototype comprend une fonction permettant de décrire le trafic et de reconnaître divers protocoles omniprésents dans les réseaux. Plusieurs des protocoles avec lesquels nous avons expérimentés sont essentiellement très semblables, mais se sont avérés différentiables grâce aux indicateurs présentés dans ce document. Une évaluation préliminaire nous montre que l'outil est utile tel quel et peut mener, avec davantage de recherche, à un certain nombre d'applications.
Mathieu Couture, Frédéric Massicotte, "Systèmes et languages de détection d’intrusions", CRC Technical Report, CRC-RP-2005-001, juillet 2005.
Résumé— Ce rapport constitue une revue de littérature sur les systèmes de détections d’intrusions à base de scénarios. Le focus est mis sur le langage qu’ils utilisent pour exprimer leurs signatures. Cinq catégories de langages ont été identifiées, parmi lesquelles nous avons classé chacun des treize systèmes étudiés. Une fois cette étude faite, nous identifions dix propriétés jugées comme souhaitables pour un langage de signatures utilisé par un système de détection d’intrusions.
Annie De Montigny-Leboeuf, "A Multi-Packet Signature Approach to Passive Operating System Detection", Joint CRC/DRDC Technical Report, CRC-TN-2005-001 / DRDC-Ottawa-TM-2005-018, décembre 2004
Résumé— La capacité de reconnaître à distance les systèmes d’exploitation peut permettre d’acquérir de l’information contextuelle et précieuse à propos des ordinateurs connectés à un réseau. En particulier la reconnaissance des systèmes d’exploitation peut permettre d’identifier des ordinateurs potentiellement vulnérables ou peut contribuer à prioriser les alarmes et les réactions en cas d’attaques. Le groupe de recherche en sécurité des réseaux au Centre de recherche sur les communications (CRC) a développé de nouvelles techniques pour la reconnaissance passive des systèmes d’exploitation. La méthodologie développée permet d’établir des signatures s’étalant sur plusieurs paquets. Les tests reposent sur des techniques passives et non-intrusive d’analyse de trafic régulier. L’accès aux données provenant des applications et des usagers n’est pas requis. Les techniques étant passives, elles ne consomment pas de bande passante et ne perturbent pas les composantes du réseau. Plus d’une douzaine de tests ont été conçus pour analyser les entêtes des paquets circulant sur le réseau. Les protocoles dont les entêtes sont examinées sont: ARP, IP, ICMP, UDP et TCP. Le prototype comprend une base de données qui contient les « empreintes » de plus de 200 versions de systèmes d’exploitation. Ce document décrit le prototype en portant une attention particulière sur les techniques derrière chacun des différents tests. Le document contient également des résultats préliminaires obtenus sur du trafic d’usagers véritables.
Thèses superfisées
Frédéric Massicotte, "Using Object-Oriented Modeling for Specifying and Designing a Network-Context Sensitive Intrusion Detection System", Master’s degree Thesis, Electrical Engineering, System and Computer Engineering Department, Carleton University, supervised by Lionel Briand and Yvan Labiche, août 2005.
Résumé— Les systèmes de detection d’intrusion (SDI) ont la réputation de générer beaucoup de faux positifs. Dans le but de résoudre ce problème, plusieurs vendeurs de SDI ont décidé d’utiliser une approche par état pour la détection d’intrusion au niveau des sessions TCP et des applications. Une telle approche prend en compte l’état de la session lorsqu’une intrusion est détectée. Puisque les intrusions peuvent seulement survenir dans des états spécifiques d’une session, cette approche permet donc de réduire le nombre de faux positifs. Cependant, une approche par état peut seulement atteindre son plein potentiel, si ces SDI par état (SDIE) seraient en mesure de corréler les intrusions avec de l’infomation additionelle sur le réseau qui a été capturé avant l’intrusion. L’état d’une session n’est pas suffisant pour réduire le nombre de faux positifs. Des sources d’information telles que la configuration d’un système, son système d’exploitation, son rôle dans le réseau, et les services qu’il offre, sont des informations aussi requisent par un SDI pour inférer le context d’une intrusion et correctement placer cette attaque dans son context, permettant ainsi de réduire les faux positifs. Dans cette thèse, nous montrons que le language Object Constraint Language peut être utilisé intuitivement comme language de haut niveau pour spécifier des règles de capture de context réseau de façon passive et permettre d’incorporer du context réseautique aux règles de détection d’intrusion.
Mathieu Couture, "Détection d'intrusions et analyse passive de réseaux", Master’s degree Thesis, Computer Science, Computer Science and Software Engeneering Department, Laval University, in co-supervision at the Communications Research Centre Ottawa by Frédéric Massicotte, juin 2005.
Résumé— Dans ce travail, nous proposons un nouveau langage dédié à la détection d'intru- sions. Il s'agit d'un langage purement déclaratif, basé sur une logique temporelle linéaire passée avec prédicats du premier ordre. Après avoir exéctué une revue de treize langages de détection d'intrusions existant déjà, nous donnons une liste de dix propriétés souhaitables pour un langage de détection d'intrusions. Contrairement au langage que nous proposons, aucun des langages étudiés ne présente à la fois ces dix propriétés. En plus d'être suffisamment expressif pour répondre aux besoins identifées, il vient avec un algorithme de vérification qui s'exécute en temps linéaire avec la quantité d'information analysée et utilise une quantité bornée d'espace mémoire. Ces deux propriétés permettent de protéger le système de détection d'intrusions contre d'éventuelles attaques d'inondation.
Patrick Falardeau, "Improved Network Survivability Using An Enhanced Routing Protocol to Push Back a Distributed Denial of Service Attack", Master’s degree Thesis, Applied Science in Computer Engineering, Department of Electrical and Computer Engineering, Royal Military College of Canada, in co-supervision at the Communications Research Centre Ottawa by Frédéric Massicotte, juillet 2003.
Résumé— Un déni de service est une façon parmi tant d’autres d’attaquer un poste de travail informatique branché sur un réseau informatique. Cette thèse a pour objectif de trouver une façon de repousser une attaque distribuée de déni de service en temps réel. Cette thèse propose d’accomplir ce but en modifiant et rehaussant le protocole de routage OSPF. On suppose qu’une tierce partie est responsable de la détection de l’attaque et de plus, cette tierce partie nous fournira un agrégat identifiant l’attaque distribuée de déni de service. En utilisant le protocole OSPF, un mécanisme de communication est développé dans le but de permettre aux routers d’un réseau de bloquer le trafic malintentionné. Certains mécanismes connus de qualité de service sont utilisés pour bloquer le trafic malintentionné. Lors du bon fonctionnement du mécanisme proposé, les routers les plus en amont, d’un system autonome, bloquent le trafic malintentionné et laissent passer le trafic légitime qui est destiné à la victime et aux autres ressources entourant la victime. La validation de la modification du protocole OSPF est faite à partir de simulations en utilisant le logiciel Opnet Modeler.
Les résultats démontrent que l’algorithme Pushback qui est proposé est stable et que le volume de trafic qui en résulte lors d’une attaque n’a pas une impacte négative sur l’ensemble du réseau. De plus, certaines modifications proposées sur les routers Cisco améliorent le temps de propagation du mécanisme Pushback pour que l’information puisse se propager le plus rapidement possible aux routers les plus en amont. Il est aussi démontré que l’algorithme Puschback qui est proposé fonctionne bien dans un environnement acyclique. Par contre, l’efficacité de celui-ci n’est pas aussi claire dans un environnement cyclique. Finalement, le mécanisme de Pushback proposé n’a pas besoin de se fier continuellement sur l’analyse d’experts et peut aussi être automatisé. Ces découvertes sont encourageantes si nous voulons mieux sécuriser les réseaux contre les pirates informatiques.