<  Retour au portail Polytechnique Montréal

Déni-de-service: Implémentation d'attaques XML-DOS et évaluation des défenses dans l'infonuagique

Adrien Bonguet

Mémoire de maîtrise (2015)

Document en libre accès dans PolyPublie
[img]
Affichage préliminaire
Libre accès au plein texte de ce document
Conditions d'utilisation: Tous droits réservés
Télécharger (2MB)
Afficher le résumé
Cacher le résumé

Résumé

L'infonuagique est un paradigme informatique dont la popularité et les usages n'ont fait que croître ces dernières années. Il doit son succès à sa grande adaptabilité et capacité de mise à l'échelle, ainsi qu'à sa facilité d'utilisation. Son but est de permettre à l'individu ou à l'entreprise d'utiliser des ressources informatiques qu'il ou elle ne possède pas physiquement, en utilisant des techniques déjà connues et éprouvées comme la virtualisation et les services web. Plusieurs modèles d'infonuagique existent, selon la fonctionnalité recherchée. Par exemple, déposer, partager et accéder depuis n'importe quel terminal un fichier sur Dropbox, et exécuter une application extrêmement gourmande en ressources sur une machine louée le temps de l'exécution sont deux exemples d'utilisation de l'infonuagique. Le modèle d'infonuagique influe sur la portion des ressources gérées par l'utilisateur, en comparaison des ressources gérées par le fournisseur. Dans le cas de Dropbox, l'utilisateur n'a pas besoin de se soucier des ressources allouées à sa requête ni de savoir quel système d'exploitation a servi ou encore comment est gérée la base de données, alors que dans l'autre cas tous ces paramètres rentreront probablement en compte et seront donc à la charge de l'utilisateur. Un réseau d'infonuagique peut tout autant être un réseau public accessible de tous moyennant finances, qu'un réseau privé bâti et utilisé seulement par une entreprise pour ses propres besoins. L'attrait considérable de l'infonuagique, pour les particuliers comme pour les entreprises, augmente par le fait même les risques liés à la sécurité de ces réseaux, ceux-ci devenant une cible de choix pour les attaquants. Ce risque accru allié à la confiance que l'utilisateur doit porter au fournisseur pour gérer et protéger ses données explique que nombreux sont ceux encore réticents à utiliser l'infonuagique, que ce soit pour des questions de confidentialité pour une entreprise ou de vie privée pour un particulier. La diversité des technologies utilisées implique une grande variété d'attaques possibles. Notamment, les réseaux d'infonuagique pâtissent des mêmes vulnérabilités que les réseaux conventionnels, mais également des failles de sécurité liées à l'utilisation de machines virtuelles. Cependant, ces menaces sont dans l'ensemble bien connues et la plupart du temps des mesures sont mises en place pour les contrer. Ce n'est pas le cas des vulnérabilités liées à l'utilisation des services web, utilisés abondamment dans le cas de l'infonuagique. Les réseaux d'infonuagique se donnent pour but d'être accessibles depuis n'importe où et n'importe quel appareil, ce qui passe nécessairement par l'utilisation de services web. Or les serveurs web sont extrêmement vulnérables aux attaques de type XML-DoS, mettant à profit des requêtes SOAP (Simple Object Access Protocol) utilisant un message XML malveillant. Ces attaques ont pour but d'utiliser une très grande partie si ce n'est pas toutes les ressources CPU et mémoire de la machine hébergeant le serveur web victime, la rendant indisponible pour des utilisateurs légitimes, ce qui est le but recherché lors d'une attaque de déni de service. Ces attaques sont extrêmement intéressantes d'un double point de vue. Elles sont tout d'abord très difficiles à détecter, car l'utilisateur qui en est à l'origine est perçu comme un utilisateur légitime (attaque au niveau de la couche application, donc impossible de la détecter au niveau de la couche TCP/IP). De plus, elles présentent une dissymétrie importante entre les ressources dont l'attaquant a besoin pour monter l'attaque, et les ressources nécessaires pour traiter la requête. En effet, une requête SOAP mal formée bien que très basique peut déjà demander des ressources considérables au serveur web victime. Ce type d'attaques ayant été assez peu étudié, malgré son efficacité et l'omniprésence des services web dans l'infonuagique, nous nous sommes proposé de démontrer et de quantifier l'impact que peuvent avoir ces attaques dans le cadre de l'infonuagique, pour ensuite proposer des solutions possibles pour s'en défendre. Nous avons jugé qu'il était plus approprié de recourir à des outils de simulation pour mener nos travaux, pour plusieurs raisons comme notamment la possibilité de suivre de façon précise l'évolution des ressources des différents serveurs du réseau, et la plus grande liberté qui nous était laissée de construire notre propre topologie. Notre première contribution est de mettre en avant les équipements vulnérables dans un réseau d'infonuagique, et les différentes façons de les attaquer, ainsi que les différents types d'attaques XML-DoS. Cette analyse nous a permis d'apporter notre deuxième contribution, qui consiste à utiliser et à modifier en profondeur un simulateur d'infonuagique (le simulateur GreenCloud, basé sur le simulateur NS2) afin de le rendre apte à l'étude des attaques XML-DoS et plus réaliste. Une fois ces changements effectués, nous montrons l'efficacité des attaques XML-DoS et les répercussions sur les usagers légitimes. Par ailleurs, nous réalisons une comparaison critique des principales défenses contre les attaques XML-DoS et contre les services web en général, et sélectionnons celle qui nous semble la plus pertinente, afin de la mettre à l'épreuve de la simulation et de mesurer son efficacité. Cette efficacité doit être démontrée aussi bien en terme de capacité à déjouer l'attaque menée à l'étape précédente, que de précision en terme de "false positives" et "false negatives". Un des défis majeurs consiste en effet à concilier une défense qui se veut universelle pour toutes les machines du réseau, tout en étant capable de s'adapter à la grande hétérogénéité des services web qui cohabitent au sein d'un réseau d'infonuagique. Ces expérimentations sont alors l'objet de discussions et de conclusions sur la position à adopter quant aux attaques XML-DoS dans les réseaux d'infonuagique, notamment les défenses à adopter et les pratiques à observer, la défense choisie à l'étape précédente ayant montré quelques limitations. Nous sommes partis de l'hypothèse que chacun des modèles d'infonuagique pouvait être touché par ce type d'attaques, bien que de façons différentes. Quel que soit le modèle d'infonuagique, il peut en effet avoir recours à des services web et se retrouve donc vulnérable d'une façon ou d'une autre, qu'il s'agisse d'un serveur web gérant toutes les requêtes entrantes des utilisateurs, ou un serveur web qu'un utilisateur a lui-même installé sur une machine virtuelle qu'il loue au fournisseur. Nous avons aussi jugé essentiel d'introduire les spécificités liées à l'utilisation de machines virtuelles, comme la compétition pour les ressources entre machines virtuelles situées sur une même machine physique.

Abstract

Cloud Computing is a computing paradigm that has emerged in the past few years as a very promising way of using highly scalable and adaptable computing resources, as well as accessing them from anywhere in the world and from any terminal (mobile phone, tablet, laptop...). It allows companies or individuals to use computing infrastructures without having to physically own them, and without the burden of maintenance, installations, or updates. To achieve that, Cloud Computing uses already known and tested technologies such as virtualization and web services. Several Cloud Computing models exist, divided by how much of the infrastructure the user is in charge of, ranking from nothing at all (the provider is in charge of everything, from the operating system to the applications installed) to managing a whole virtual machine without even an operating system preinstalled. For instance, sharing and accessing a document on Dropbox, or running a resource intensive application on a rented machine, are both exemples of what can be done with Cloud Computing. In the case of Dropbox, the user doesn't care what resources are allocated for his requests, no more than he needs to know on what operating system the request was run or how the database was accessed. But all those aspects will be part of what the user has to know and adjust in the second case. A Cloud Computing network can be public, as it is the case for Amazon, which allows you to access its resources if you pay for it, or private, if a company decides to build a cluster for its own needs. The strong appeal of Cloud Computing, for both businesses and individuals, dramatically increases the security risks, because it becomes a key target for attackers. This increased risk, added to the confidence the users must have in their services provider when it comes to managing and protecting their data, may explain why many are still reluctant to take the leap to Cloud Computing. For instance, a company may be reluctant for confidentiality reasons, while individuals may hesitate for privacy concerns. The broad range of technologies used in Cloud Computing makes it at risk for a wide variety of attacks, since it already comes with all the vulnerabilities associated with any conventional network, and all the security breaches that affect virtual machines. However, those threats are usually well documented and easily prevented. But this is not the case of the vulnerabilities that come from the use of web services, that are heavily used in Cloud Computing. Cloud Computing networks aim at being accessible from all over the world and on almost any device, and that implies using web services. Yet, web services are extremely vulnerable to XML-DoS type of attack. Those attacks take advantage of Simple Object Access Protocol (SOAP) requests using a malicious XML content. Those requests can easily deplete a web server from its resources, be it CPU or memory, making it unavailable for legitimate users; this is exactly the goal of a denial-of-service attack. The XML-DoS attacks are extremely interesting in two ways. First, they are very hard to detect, since the attack takes place on the application layer, so the user appears to be legitimate (it's impossible to detect it on the TCP/IP layer). Second, the resources needed to mount the attack are very low compared to what is needed on the web server side to process even a basic but malformed request. This type of attack has been surprisingly left quite aside, despite its efficiency and the omnipresence of web services in Cloud Computing networks. This is the reason why we decided to prove and quantify the impact such attacks can have on Cloud Computing networks, to later propose possible solutions and defenses. We estimated that using a simulated environment was the best option for various reasons, like the possibility to monitor the resources of all the servers in the network, and the greater freedom we had to build our own topology. Our first contribution is to emphasize the vulnerable equipments in a Cloud Computing network, and the various ways to attack them, as well as the various forms an XML-DoS attack can take. Our second contribution is then to use, modify and improve a Cloud Computing simulator (the GreenCloud simulator, based on NS2), in order to make the study of XML-DoS attacks possible. Once the changes are made, we show the efficiency of XML- DoS attacks, and the impact they have on legitimate users. In addition, we compare the main existing defenses against XML-DoS attacks and web services attacks in general, and pick the one that seems to be best suited to protect Cloud Computing networks. We then put this defense to the test in our simulator, to evaluate its efficiency. This evaluation must take into consideration not only the ability to mitigate the attack we led in the previous step, but also the number of false positives and false negatives. One of the major challenges is to have a defense that will conciliate the ability to protect all the machines in the network, while still being able to adapt to the great heterogeneity of the various web services hosted at the same time in a Cloud Computing network. Those experimentations are then subjected to discussions and conclusions on the decisions to take when it comes to XML-DoS attacks. In particular, what defenses should be adopted and what practices should be followed, because the evaluation of the defense at the previous step will show that it may not be the optimal solution; this will be our final contribution. We made the assumption that all the Cloud Computing models could be the target of a XML-DoS attack in some way. No matter the model, it can actually use web services and is then vulnerable to those attacks, whether it is a web server handling incoming requests for all the users, or a web server a user installed on the virtual machine he rents. We thought it was essential to take into consideration the specificity of virtual machines, such as the contention for resources when they are located on the same physical machine.

Département: Département de génie informatique et génie logiciel
Programme: Génie informatique
Directeurs ou directrices: Martine Bellaïche
URL de PolyPublie: https://publications.polymtl.ca/1995/
Université/École: École Polytechnique de Montréal
Date du dépôt: 01 avr. 2016 14:09
Dernière modification: 05 avr. 2024 17:19
Citer en APA 7: Bonguet, A. (2015). Déni-de-service: Implémentation d'attaques XML-DOS et évaluation des défenses dans l'infonuagique [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/1995/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document Afficher document