Mécaismes de protectio cotre les vers Itroductio Au cours de so évolutio, l Iteret a grademet progressé. Il est passé du réseau reliat quelques cetres de recherche aux États-Uis au réseau actuel reliat des cetaies de millios, voire des milliards, d ordiateurs à travers la plaète. L Iteret est maiteat ue des ifrastructures les plus critiques de otre société. À preuve, l Iteret est deveu est des moyes de commuicatio icotourables pour les idividus ou les etreprises. La majorité de ces etreprises e pourraiet foctioer sas Iteret : commet commuiquer avec les fourisseurs, commet s assurer de l état des stocks, commet permettre le développemet de produits impliquat des sites répartis das de ombreux pays, Malheureusemet, e se démocratisat, l Iteret est deveu la cible d attaques malveillates. La propagatio de virus et de vers iformatiques représete ue meace importate pour le bo foctioemet de l Iteret. Ces virus et vers se propaget d ordiateur e ordiateur e exploitat soit des vulérabilités logicielles ou soit la aïveté des utilisateurs. Ces logiciels malveillats peuvet, e cas extrême, détruire toutes les iformatios se retrouvat sur les ordiateurs ifectés ou trasformer ces ordiateurs e zombies cotrôlés à distace par des attaquats malveillats. Ces zombies peuvet être alors utilisés ultérieuremet afi de commettre attaques massives ou distribuer des campages de pourriels. Pour se protéger cotre ces logiciels malveillats, il faut développer des moyes de protectio adéquats. Aisi, das cette sythèse, ous préseteros deux mécaismes différets permettat de détecter la propagatio des vers iformatiques das des réseaux. 2 oblématique Afi de détecter la propagatio des vers iformatiques das les réseaux, il existe deux moyes traditioels : la détectio de sigatures et la détectio de comportemets aormaux. La détectio de sigatures cosiste à détecter l empreite d u ver das u flot de doées. L empreite peut être décrite par u esemble de paramètres tels que la taille d u paquet, l idetifiat du port TCP/UDP, ue suite de caractères, etc. Ce moye écessite peu de ressources et e géère que très peu de fausses alarmes. Malheureusemet, cette approche a ue grave lacue : les vers doivet être cous a priori. Sas ue base de doées de sigatures à jour, cette approche deviet vite iutile puisque les vers apparaisset gééralemet e plusieurs variates. Pour pallier ce problème, la détectio de comportemets aormaux utilise u autre paradigme. Cette approche cherche à détermier u comportemet aormal caractérisat u ver. Il deviet alors iutile de coaître ce ver a priori. Tout ouveau ver démotrat ce même comportemet est idetifié sas aucue autre aalyse. Malheureusemet, cette approche écessite beaucoup plus de ressources et peut géérer u grad ombre de fausses alarmes. Il est parfois difficile de différecier u comportemet aormal malveillat d u comportemet ormal ou exceptioel. Jea-Marc Robert Exemple de sythèse v.0
3 Approches Les deux solutios présetées das cette sythèse cherchet à détecter la propagatio de vers iformatiques das des réseaux e détermiat u comportemet aormal qui leur est propre. Ces deux solutios sot complémetaires puisqu elles reposet sur deux caractéristiques bie différetes : l absece de requête DNS [3] et le ombre aormalemet élevé de coexios o réussies [2]. Avat de préseter ces deux approches, regardos commet u ver se propage à travers u réseau. Le ver se propage automatiquemet e exploitat ue vulérabilité logicielle d u service offert par u ordiateur. Ue fois que le ver a ifecté u ouvel ordiateur, il cherche à ifecter d autres ordiateurs. Il géère aléatoiremet des adresses IP et cherche à ifecter ces ordiateurs. Ce balayage des adresses IP se fait très rapidemet afi d ifecter le plus d ordiateurs das u laps de temps le plus court. Pour plus de détails, voir []. 3. Absece de requête DNS Le premier mécaisme de détectio de vers [3] repose sur l observatio suivate : L ordiateur ifecté cherche à établir de ombreuses coexios e géérat aléatoiremet de ouvelles adresses IP. Aucue requête DNS est faite afi de retrouver ces adresses IP. Gééralemet, ous utilisos pas les adresses IP propremet dites, mais les oms des domaies ou des hôtes. Aisi, ous utilisos www.etsmtl.ca ou cours.ele.etsmtl.ca au lieu de 42.37.25.2 ou 42.37.7.5, respectivemet. Il est beaucoup plus simple de se rappeler des oms que des adresses IP. Toutefois, ces adresses sot absolumet écessaires. Elles sot au cœur du processus de routage de paquets das les réseaux IP. Heureusemet, il existe u système distribué de bases de doées et de serveurs permettat d obteir les adresses IP associées aux oms de domaie. Ce système est cou sous le om de Domai Name System (DNS). Lorsque le fureteur cherche à établir ue coexio avec www.etsmtl.ca, il doit au préalable faire ue requête DNS afi de retrouver l adresse 42.37.25.2, puis il peut alors établir ue coexio TCP avec ce serveur. Les réposes aux requêtes DNS peuvet veir de diverses sources : Le fureteur puisqu il possède ue mémoire cache coteat les derières adresses demadées; L ordiateur local puisqu il possède aussi ue mémoire cache; U serveur DNS local effectuat toutes les requêtes pour les ordiateurs du réseau local. C est ce serveur qui fait alors les requêtes récursives vers les serveurs DNS exteres. Il est doc simple de détecter les ordiateurs ifectés das u réseau local. Ces ordiateurs cherchet cotiuellemet à établir ue coexio (p. ex. pig, TCP, UDP) avec des adresses exteres pour lesquelles aucue requête DNS a été faite. Jea-Marc Robert Exemple de sythèse v.0 2
Voici doc u sommaire du mécaisme de détectio proposé par les auteurs de [3] : Ce mécaisme de détectio est mis e œuvre à la joctio du réseau local et du réseau extere (voir la Figure ci-dessous). Par exemple, il pourrait être itégré au pare-feu protégeat le réseau local. Ce mécaisme s efforce de détecter u ordiateur local ifecté qui cherche à ifecter u ordiateur extere.. Le prototype maitiet ue table lui permettat de coserver toutes les adresses IP pour lesquelles ue requête DNS a été effectuée. (a) Toutes les requêtes DNS vers le réseau extere aisi que leur répose doivet doc être aalysées. (b) Chaque ouvelle adresse IP est ajoutée à la table avec so estampille temporelle (timestamp). (c) Périodiquemet, les plus aciees etrées de la table sot élimiées afi de s assurer que la taille de la table e croit pas de faço démesurée. 2. Lors de l établissemet de chaque ouvelle coexio chaque paquet IMCP echo request, chaque paquet TCP SYN ou chaque paquet UDP, il faut (a) Vérifier si l adresse IP du requérat appartiet à ue liste d exceptios (whitelist). Si tel est le cas, la coexio est effectuée sas aucu autre traitemet. Cette liste permet de réduire les fausses alarmes. (b) Sio, vérifier si l adresse IP du destiataire est das la table. i. Si oui, il faut mettre à jour l estampille temporelle. ii. Sio, il faut émettre ue alarme. Cet ordiateur a u comportemet aormal. Lors de l expérimetatio, les auteurs de [3] se sot aperçus de deux problèmes. Le premier fut très simple à régler. Certais ordiateurs établissaiet régulièremet des coexios sas effectuer de requête DNS. Ces ordiateurs représetaiet gééralemet des serveurs, des postes d admiistrateurs ou certaies applicatios peer-to-peer. Ils ot doc jugé bo d ajouter ue liste d exceptios afi de réduire les fausses alarmes. Ces postes sot exempts de toute vérificatio. J aimerais metioer que cela me semble dagereux toutefois. Il e deviet plus possible de détecter si les serveurs sot ifectés. Le deuxième problème est beaucoup plus importat. De ombreux sites web utiliset des adresses IP das leurs hyperlies. E cliquat sur u de ces lies, cela déclecherait ue fausse alarme. Les auteurs ot dû trouver ue solutio. Ils proposet doc d aalyser toutes les pages html reçues afi d extraire les adresses IP s y retrouvat. Ces adresses IP sot alors ajoutées à la table d adresses. Bie que techiquemet valable, cette solutio me semble très lourde. Elle demade éormémet de ressources et est sujette à de ombreuses erreurs. Jea-Marc Robert Exemple de sythèse v.0 3
Avec le déploiemet de cette solutio, le ver devra réagir afi de e pas être détecté. Ue des rares optios (e fait, la seule!) est de géérer ue adresse aléatoire, d effectuer ue reverse DNS query obteat aisi le om de l hôte associé à cette adresse, d effectuer ue DNS query e utilisat ce om, puis fialemet établir la coexio avec cet hôte. Bie que le système de détectio proposé par les auteurs de [3] e pourrait détecter ce ouveau ver, ous pouvos cosidérer qu il a malgré tout atteit so objectif. Il a forcé le ver de modifier so comportemet. Il est plus let et pourrait être détecté simplemet puisqu il est aormal de voir u grad ombre de reverse DNS queries. Figure : Déploiemet de la solutio extraite de [3]. 3.2 Nombre élevé de coexios o réussies Nous allos ous cocetrer seulemet sur la première partie de [2] où u ouveau mécaisme de détectio de vers est préseté. Ce mécaisme repose sur l observatio suivate : L ordiateur ifecté cherche à établir de ombreuses coexios e géérat aléatoiremet de ouvelles adresses IP. De ombreuses tetatives de coexios vot iévitablemet échouer. Jea-Marc Robert Exemple de sythèse v.0 4
Aisi, il s agira tout simplemet d idetifier les ordiateurs impliqués das u grad ombre de ouvelles coexios qui ot échoué : u paquet IMCP echo request e recevat pas le paquet correspodat IMCP echo reply, u paquet TCP SYN e recevat pas le paquet correspodat TCP SYN/ACK ou u paquet UDP e recevat aucue répose sous forme de paquet UDP. Pour simplifier la présetatio, ous e traiteros que des coexios TCP. La deuxième partie de [2] porte sur u mécaisme de prévetio limitat le ombre de coexios pouvat être établies das u laps de temps doé. Puisqu il e s agit pas du sujet das cette sythèse, je e vais pas discuter plus e détail de ce volet. Voici doc u sommaire du mécaisme de détectio proposé par les auteurs de [2] : Ce mécaisme de détectio est mis e œuvre à la joctio du réseau local et du réseau extere (voir la Figure ci-dessous). Il pourrait être itégré au routeur ou au commutateur de périphérie puis qu il écessite peu de ressources. Ce mécaisme s efforce de détecter u ordiateur local ifecté qui cherche à ifecter u ordiateur extere.. Pour chaque ordiateur local, (a) Il faut coserver la liste des adresses IP ayat déjà été utilisées comme destiataires. (b) Il faut détermier si toute coexio à ue ouvelle adresse extere (paquet TCP SYN) est réussie ou o. i. Si l adresse est das la liste d adresses, il a rie à faire. Ce est pas ue ouvelle coexio. ii. Sio, il faut rechercher le paquet correspodat TCP SYN/ACK proveat du destiataire extere. iii. Si ce paquet arrive, la coexio est réussie et l adresse du destiataire est ajoutée à la liste. Das ce cas, défiissos la variable aléatoire Y i = 0. iv. Sio, la coexio est pas réussie. Das ce cas, défiissos la variable aléatoire Y i =. (c) Soit l hypothèse H correspodat au cas où l ordiateur est ifecté et l hypothèse H 0 correspodat au cas cotraire. Soit 0 = ob [Y i = 0 H 0 ] c.-à-d. la probabilité qu ue première coexio réussisse si l ordiateur est pas ifecté. Soit = ob [Y i = 0 H 0 ] c.-à-d. la probabilité qu ue première coexio réussisse si l ordiateur est ifecté. Ituitivemet, 0 > puisque l adresse est géérée aléatoiremet das le cas où l ordiateur est ifecté. Jea-Marc Robert Exemple de sythèse v.0 5
(d) E se basat sur ue méthode statistique appelée sequetial hypothesis testig, il est possible de différecier etre les deux hypothèses e se basat simplemet sur les observatios (Y, Y 2, Y 3, ). Il suffit de calculer la variable suivate : Λ( Y,..., Y ) = Λ( Y,..., Y ) = [ Yi H] [ Yi H ] [ Yi H] [ Y H ] i= 0 i= i 0 = Λ( Y,..., Y = Λ( Y,..., Y Θ ) Θ 0 Θ ) Θ 0 si la coexio réussit si la coexioe e réussit pas Cette variable peut se calculer de faço itérative e supposat que les observatios Y i sot idépedates. Il e suffit doc de coserver pour chaque ordiateur local que le produit partiel. (e) Fialemet, si la variable (Y,, Y ) demeure e deçà d u seuil 0, ous cocluos que cet ordiateur local est pas ifecté. Par cotre, si la variable deviet plus grade qu u autre seuil, ous cocluos que cet ordiateur est ifecté. Etre les deux, ous e pouvos rie coclure. Naturellemet, beaucoup de détails sot passés sous silece. Je vous réfère à [2] pour plus de détails. Toutefois, l essetiel de la solutio a été préseté. Aisi, pour chaque adresse (MAC ou IP) locale, il suffit de coserver ue liste d adresses IP et quelques compteurs permettat de mettre e œuvre cette solutio. Avec le déploiemet de cette solutio, le ver devra réagir afi de e pas être détecté. Das ce cas, il existe quelques optios : Le ver pourrait décider de balayer le réseau très letemet. Il aurait mois d impact sur le réseau, mais arriverait ultimemet au même but. Le ver pourrait utiliser u hitlist liste d hôtes vulérables qui a été costruite e différé. Le ver pourrait utiliser les iformatios se retrouvat sur l hôte ifecté. Il est possible de trouver de ombreuses d adresses IP das les mémoires cache ou les fichiers de cofiguratio d u ordiateur. Le ver pourrait itercaler des demades de coexio qui ot ue grade chace de réussir etre les demades à des adresses aléatoires. Se faisat, la probabilité qu ue première coexio réussit si l ordiateur est ifecté serait beaucoup plus grade. À la limite, il serait possible que 0 e soit plus supérieur à. Le web crawlig pourrait être ue faço d établir des coexios ayat ue grade probabilité de réussir. Cette méthode cosiste à suivre aléatoiremet les hyperlies se retrouvat das les pages web. C est e quelque sorte l approche utilisée par les robots qui répertoriet toutes les pages du web. À première vue, les trois deriers cas sot catastrophiques pour la solutio proposée par [2]. Malgré tout, cette méthode est très efficace si elle est jumelée à ue méthode pouvat Hors cotexte de la sythèse : cette approche a été mise e œuvre par la compagie Cosetry. Jea-Marc Robert Exemple de sythèse v.0 6
détecter u trop grad ombre de coexios réussies das u court laps de temps tel que proposé par les auteurs de [4]. Das les faits, seul le premier cas est réellemet problématique. Chaque ordiateur ifecté peut balayer letemet, très letemet, le réseau. Le problème e viet pas de cet ordiateur, mais de la somme de tous les ordiateurs ifectés. 4 Comparaisos des approches Les deux approches qui ot été décrites das cette sythèse sot complémetaires. Elles peuvet être utilisées das le même cotexte, soit la détectio d u ordiateur local ifecté par u ver cherchat à balayer le réseau extere afi de trouver d autres ordiateurs vulérables. Das ue approche où ous devos déployer ue architecture de défese e profodeur et utiliser des moyes de protectio à divers iveaux, les approches de [2] et de [3] représetet des moyes itéressats pour combattre les vers iformatiques. Toutefois, la solutio proposée par [2] jumelée à celle proposée par [4] semble plus itéressate que la solutio proposée par [3]. Cette derière solutio a u problème importat : le fait de devoir aalyser tout le trafic web pour rechercher les adresses IP efouies das les hyperlies des pages html peut représeter u travail colossal. 5 Coclusio Afi de s assurer de détecter les vers le plus rapidemet possible avat qu ils e puisset représeter ue meace importate pour u réseau, il faut utiliser divers mécaismes redodats. Les mécaismes de détectio utilisat des sigatures de vers cous sot performats, mais e peuvet rie cotre les ouveaux vers. Nous devos doc utiliser des mécaismes permettat de détecter des comportemets aormaux caractérisat ces vers. E corrélat les résultats de tous ces mécaismes, il deviet possible de filtrer les fausses alarmes et de préseter aux admiistrateurs réseau que les alarmes ayat ue haute probabilité d être exactes. 6 Référeces. D. Moore, V. Paxso, S. Savage, C. Shao, S. Staiford, S. et N. Weaver, Iside the Slammer worm, IEEE Security & ivacy Magazie, Vol., No. 4, p. 33-39, 2003. 2. S. Schechter, J. Jug, et A. W. Berger. Fast Detectio of Scaig Worm Ifectios. oceedigs of Iteratioal Symposium o Recet Advaces i Itrusio Detectio, 24 pages, 2004. 3. D. Whyte, E. Kraakis et P.C. va Oorschot. DNS-based Detectio of Scaig Worms i a Eterprise Network. oceedigs of Network ad Distributed System Security Symposium, 5 pages, 2005. 4. J. Jug, R. Milito, et V. Paxso. O the Adaptive Real-Time Detectio of Fast- opagatig Network Worms. Fourth GI Iteratioal Coferece o Detectio of Itrusios & Malware, ad Vulerability Assessmet, 8 pages, 2007. Jea-Marc Robert Exemple de sythèse v.0 7