Mémoire de maîtrise (2012)
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.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
