Surveillance de trafic avec accélération matérielle : NetFPGA

Pendant ma 3ème année à Télécom Bretagne, j’ai travaillé avec deux collègues sur un projet pour développer un outil de surveillance de trafic avec accélération matérielle en utilisant un NetFPGA. Ce projet bas-niveau s’est révélé très intéressant et m’a permis de découvrir les subtilités du développement matériel avec le langage Verilog.

Pour vous faire découvrir ce projet, j’ai collé ci-dessous le résumé de notre rapport final.

Résumé

Internet se popularise de plus en plus et les nouveaux services, tels que le streaming ou le Peer-to-Peer, sont toujours plus gourmands en bande passante. Ceci, renforcé par les évolutions technologiques en terme de débit, mène à un trafic en croissance permanente. Les outils de surveillance réseau doivent suivre cette évolution et être capables d’analyser de plus en plus de données de plus en plus vite. L’utilisation d’implémentations matérielles d’algorithmes de surveillance est une réponse à ce nouveau défi.

Notre projet de troisième année à Télécom Bretagne fut l’occasion de travailler sur une telle implémentation matérielle. Nous avons utilisé pour cela un NetFPGA, une carte PCI contenant un FPGA et quatre ports Ethernet. Nous avons commencé par transformer le NetFPGA en hub Ethernet pour ensuite lui ajouter une fonctionnalité de détection de paquets TCP SYN afin de lui permettre de détecter les attaques de type SYN flooding. Afin de réduire l’empreinte mémoire nécessaire à cette détection, nous avons utilisé un algorithme spécial de stream mining : l’algorithme CMS.

Plus d’informations

Tout ce que nous avons fait sur ce projet est disponible en ligne sur le Trac de notre projet. Le rapport final est aussi disponible.