Lors de leur création, les réseaux d’ordinateurs se destinaient essentiellement à l'échange de mails entre chercheurs ou, dans les locaux des entreprises, à échanger des données et partager une imprimante. Les enjeux de la sécurité étaient alors négligeables... Aujourd’hui, à l’heure où tous les services, tous les réseaux s’interconnectent, toutes les données de toute personne reliée à ce vaste réseau sont plus ou moins accessibles à n’importe qui... La sécurité des différents réseaux est devenue primordiale. Pour assurer la sécurité des informations, il a donc fallu restreindre le transit des données sur ces réseaux. Les autorisations de transit de données entre des réseaux interconnectés sont définies et implémentées au niveau du système de contrôle d’accès réseau (Network Access Control System (NACS)). En fonction de la configuration du NACS, il est pourtant possible d’utiliser les flux autorisés pour faire transiter des données arbitraires dont le trafic est interdit, mettant ainsi en place un canal de communication. Certains sont cachés dans les couches basses du modèles OSI alors que d’autres s’inscrivent dans les couches hautes.
Nous proposerons une classification des canaux cachés. Pour chacune de ces grandes familles, nous étudierons au cours de ce blog les techniques utilisées et les programmes les exploitant.
Le principe fondamental de ces "évasions" repose sur l’absence de vérification de la valeur intrinsèque des données qui transitent. Les diverses implémentations de systèmes de contrôle d'accès reposent, en effet, sur l’abstraction protocolaire, qui voudrait qu’un transfert de données s’appuyant sur les diverses couches du modèle OSI, ne puisse servir qu'à transporter les données prévues. Notre exposé ne se veut pas exhaustif mais tentera de fournir une nomenclature des canaux cachés aussi complète que possible. Si on s’appuie sur la pile TCP/IP, il devient possible de classer les différents types de canaux cachés en quatre grandes catégories :
-
Les Canaux cachés de la couche Réseau
-
Les Canaux cachés de la couche Transport
-
Les Canaux cachés au niveau des ports utilisés
-
Les Canaux cachés de la couche application
La famille de canal à utiliser correspondra au type de firewall utilisé applicatif ou couche réseau.
Afin de bien comprendre toutes les spécificités des canaux cachés et comment ces derniers peuvent être utilisés, il convient de se poser au moins deux questions pour chaque canal:
Comment se fait la communication entre l'expéditeur et le récepteur? De manière:
Direct : l'expéditeur communique directement avec le récepteur;
Indirect : l'expéditeur communique avec le récepteur via une machine interposée, un serveur procurateur, qui réexpédie le trafic vers la cible. Cette technique permet une plus grande furtivité que la méthode directe.
Multi-indirect : l'expéditeur envoie son flux vers un grand nombre d'ordinateurs, après quoi les différents flux convergent vers le récepteur. Une autre méthode moins gourmande en ressource, l'expéditeur peut envoyer les données vers un unique serveur, ayant des adresses IP multiples. Cette dernière technique est la plus furtive.
Quel est la quantité de bande passante pouvant être détournée par le canal caché?
En espace: correspond au nombre de bits pouvant être transmis par paquet détourné
En temps: correspond au nombre de bits pouvant être transmis par seconde.
Muni de ces outils de classement des canaux cachés, il nous faut aussi mettre en place un environnement de test pour mettre en pratique l'ensemble de ces outils, mesurer et juger de leurs possibilités de nuisance.