Mémoire de maîtrise (2012)
Document en libre accès dans PolyPublie |
|
Libre accès au plein texte de ce document Conditions d'utilisation: Tous droits réservés Télécharger (2MB) |
Résumé
Beaucoup de données transitent sur les réseaux informatiques tels que le réseau Internet, et une partie de celles-ci peut être illégale. Les autorités qui contrôlent un réseau donné ont souvent besoin d'empêcher la transmission de certains documents, qu'ils soient dangereux, illicites, ou simplement refusés. Une entreprise pourrait par exemple vouloir empêcher que certains documents sortent de leur réseau interne, de même que des écoles pourraient chercher à filtrer l'accès à des sites sensibles. Nous allons présenter dans ce mémoire un système de détection et de blocage qui vise à repérer le passage de contenus spécifiés sur une connexion réseau. Le but est qu'un utilisateur ne puisse jamais charger ou envoyer une image, un film ou tout autre document référencé comme interdit, quelle qu'en soit la source. Suivant le contexte, il peut être utile de travailler à grande échelle, c'est-à-dire de contrôler le trafic d'une large population avec un système unique et centralisé. On peut alors se placer au niveau des fournisseurs d'accès et de services Internet, ou encore sur la connexion à Internet d'une très grande entreprise. On contrôle ainsi l'ensemble des communications qui entrent et sortent de leurs réseaux sans avoir à modifier la configuration des postes utilisateurs. Le nombre de ce type d'interconnexion est relativement réduit, ce qui simplifie le déploiement. En revanche, les débits en ces points sont très élevés car ils concentrent le trafic de tous les utilisateurs. C'est là qu'apparait le principal défi, car les fibres optiques utilisées aujourd'hui permettent de faire passer 40 à 100 Gb/s, ce qu'un processeur classique d'usage général n'est pas capable de traiter. Travailler avec de tels débits de données demande ainsi une puissance de de calcul importante, et impose de réduire et optimiser les traitements au maximum. Les approches existantes pouvant filtrer autant d'information se basent souvent simplement sur les descripteurs des communications tels que l'adresse de l'émetteur ou du destinataire. Lorsqu'un site internet est suspecté d'envoyer aux clients du contenu interdit, c'est l'ensemble du site internet qui est bloqué, ou l'ensemble des connexions du client qui sont coupées, ce qui manque de précision. Dans notre cas, on cherche à bloquer la transmission de certains contenus uniquement, préalablement référencés, en laissant passer le reste du trafic. Il faut donc être capable de repérer ces contenus (images, vidéos, programmes, etc.) au milieu de l'ensemble des données échangées. De plus, dans la plupart des réseaux utilisés aujourd'hui, les données ne sont pas transmises telles qu'elles en une seule fois, mais sont d'abord divisées en plusieurs petits fragments appelés paquets, qui sont transmis indépendamment. Il faut ainsi détecter des extraits des contenus interdits parmi d'autres données fragmentées, ce qui demande une plus grande précision de détection, ceci avec plusieurs millions de paquets de données par seconde. On bloquera ensuite uniquement la connexion qui a transmis cette partie de document. D'autre part, nous cherchons à référencer un nombre important de documents. Le système ne doit donc pas souffrir de ralentissement lié au nombre de contenus à bloquer. Les programmes antivirus ou de détection d'intrusion, qui fonctionnent sur le même modèle d'analyse des données transmises en temps réel, se réfèrent en général à des bases de données de modèles d'attaques qui doivent être compilées avant d'être utilisées. Plus le nombre de règles à tester est important, plus la compilation est difficile et longue. Les systèmes qui se basent sur cette approche sont alors limités à quelques dizaines de milliers de règles. Notre système peut en revanche stocker un nombre théoriquement infini de documents sources, la seule limite étant la mémoire utilisée, sans impact sur les performances, grâce à un format de base de données de contenus interdits très simple et efficace. Pour relever le défi de traiter de très hauts débits sans limiter le nombre de documents référencés, nous avons utilisé l'algorithme de max-hashing. Cet algorithme a été spécialement conçu pour détecter très rapidement des fragments de documents connus, en un minimum d'opérations. On distingue deux phases : le référencement des documents à détecter et bloquer, puis l'analyse en temps-réel du flux réseau. Seule cette seconde partie est étudiée ici, le référencement étant réalisé hors ligne par les autorités qui décident quels documents interdire. Nous l'avons implémenté sur processeur graphique (GPU) afin de disposer de leur immense puissance de calcul parallèle, très adaptée pour l'analyse des innombrables paquets indépendants à traiter.
Abstract
More and more data are being transmitted every day through computer networks such as the Internet. Part of these data may be illegal and networks authorities often need active filtering so that unwanted contents would not enter the network, or private documents would not leave the intranet. This thesis proposes such a filtering appliance, able to efficiently detect and block known documents passing through a watched connection. The main goal is that users could not load or send any document that would be known as forbidden, regardless of its origin. Working at large scales can be necessary when one wants to control large populations with no need to setup filters on every connected device. One unique and centralized service deals with the whole traffic. Internet services providers are good examples as they agglomerate all their subscribers' communications. They link with each other using quite few interconnection points, which simplifies a global deployment. The first challenge is that these links use fast media with 40 to 100~Gbps bandwidths. Such high data rate cannot be handled by a standard general-purpose processor and filtering that information is therefore very challenging. Previous approaches that are able to filter such amounts of data suffer two different limitations. First, some only use communication descriptors such as emitter and receiver addresses. When a website is suspected to send forbidden information to a network user, either the whole website or the whole user connections are blacklisted as no further investigation is possible. We ought to block specific and previously listed contents only, allowing all harmless data. We therefore need to spot these contents (images, videos, software...) among other flowing data. Moreover, network protocols require splitting sent data into small chunks, namely packets, which are transmitted independently. Thus, we more precisely need to spot extracts of the referenced contents among other fragmented data, at rates of millions of packets per second. Greater precision is required, but we can then block the only flow that is sending the spotted content. The second limitation is the number of referenced documents. We want to detect an important set of different contents and the system cannot loose performances when this set enlarges. Antiviral or anti-intrusion systems, which are based on the same real-time analysis model, often use regular expression patterns as rules. These patterns need to be compiled before they can be used, and large rule sets make compilation slower and harder. Such systems are therefore often limited to several thousand rules. Our system can reference millions of documents with no impact on its computation speed, thanks to our simple and efficient forbidden files database format.
Département: | Département de génie électrique |
---|---|
Programme: | Génie Électrique |
Directeurs ou directrices: | Jean Pierre David |
URL de PolyPublie: | https://publications.polymtl.ca/1001/ |
Université/École: | École Polytechnique de Montréal |
Date du dépôt: | 26 mars 2013 15:11 |
Dernière modification: | 27 sept. 2024 21:16 |
Citer en APA 7: | Lerebours, J. (2012). Filtrage de contenus numériques connus à haute vitesse optimisé sur plateforme GPU [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/1001/ |
---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements