
Des chercheurs polonais ont proposé une nouvelle méthode de stéganographie réseau basée sur les caractéristiques du fonctionnement du protocole de transport TCP largement utilisé. Les auteurs de l'étude estiment que leur schéma, par exemple, pourrait être utilisé pour la transmission de messages cachés dans des pays totalitaires imposant une forte censure d'internet. Voyons donc en quoi réside réellement cette innovation et à quel point elle est utile.
Tout d'abord, il faut définir ce qu'est la stéganographie. Eh bien, la stéganographie est la science de la transmission cachée de messages. Cela signifie qu'en utilisant ses méthodes, les parties essaient de cacher le fait même de la transmission. C'est là que réside la différence entre cette science et la cryptographie, qui tente de rendre inaccessibles au lecteur le contenu du message. Il convient de noter que la communauté professionnelle des cryptographes considère la stéganographie avec un certain mépris en raison de la proximité de son idéologie avec le principe de « Sécurité par l'obscurité » (je ne sais pas comment cela se dit en russe, quelque chose comme « Sécurité par l'ignorance »). Ce principe, par exemple, est utilisé par la société Skype Inc. - le code source de l'application populaire est fermé et personne ne sait vraiment comment le chiffrement des données est effectué. Récemment, à ce sujet, la NSA s'en est plainte, comme l'a mentionné l'expert connu Bruce Schneier sur son blog.
En revenant à la stéganographie, répondons à la question de son utilité par rapport à la cryptographie. En effet, il est possible de chiffrer un message à l'aide d'un algorithme moderne et avec une clé suffisamment longue, rendant ainsi le message illisible, sauf si vous le souhaitez. Pourtant, il arrive parfois qu'il soit plus avantageux de cacher le fait même de la transmission secrète. Par exemple, si les autorités interceptent votre message chiffré, qu'elles ne peuvent pas déchiffrer, mais souhaitent néanmoins en connaître le contenu, il existe des méthodes non informatiques d'influence et d'obtention d'informations. Cela peut sembler dystopique, mais convenez qu'une telle situation est en principe possible. Il serait donc préférable de faire en sorte que ceux qui ne sont pas autorisés ne sachent même pas qu'une transmission a eu lieu. Des chercheurs polonais ont justement proposé une telle méthode. De plus, ils suggèrent de le faire via un protocole que chaque utilisateur d'internet utilise des milliers de fois par jour.
Ici, nous nous approchons de près du protocole de contrôle de transmission (TCP). Expliquer tous ses détails n'a pas vraiment de sens - c'est long, ennuyeux, ceux qui en ont besoin le savent déjà. En résumé, on peut dire que le TCP est un protocole de niveau transport (c'est-à-dire qu'il fonctionne « au-dessus » d'IP et « en dessous » des protocoles de niveau application, comme HTTP, FTP ou SMTP) qui assure la livraison fiable des données de l'expéditeur au destinataire. Une livraison fiable signifie que si un paquet est perdu ou arrive avec des modifications, le TCP s'assurera de le renvoyer. Il est à noter que par modifications dans le paquet, on entend les erreurs qui surviennent lors de la transmission à un niveau physique, et non pas une corruption intentionnelle des données. Par exemple, pendant que le paquet voyageait à travers des fils en cuivre, quelques bits ont changé de valeur ou se sont complètement perdus parmi le bruit (pour l'Ethernet, le taux d'erreur de bits est généralement d'environ 10^-8). La perte de paquets en route est également un phénomène relativement courant sur Internet. Elle peut se produire, par exemple, en raison de la surcharge des routeurs, ce qui entraîne un débordement des tampons et, par conséquent, le rejet de tous les nouveaux paquets entrants. En général, la part des paquets perdus est d'environ 0,1 %, et lorsque ce taux atteint quelques pourcents, le TCP cesse de fonctionner correctement - l'utilisateur subit de terribles ralentissements.
Ainsi, nous voyons que la retransmission des paquets est un phénomène fréquent et en réalité nécessaire pour le TCP. Alors, pourquoi ne pas l'utiliser pour les besoins de la stéganographie, sachant que le TCP, comme mentionné ci-dessus, est omniprésent (selon différentes estimations, la part du TCP sur Internet atteint actuellement 80-95 %) ? L'idée de la méthode proposée est d'envoyer dans le message transféré non pas ce qui était dans le paquet original, mais les données que nous essayons de cacher. Il n'est pas si simple de détecter un tel remplacement. En effet, il faut savoir où regarder - le nombre de connexions TCP simultanées passant par le fournisseur est tout simplement énorme. Si l'on connaît le niveau approximatif de retransmission sur le réseau, on peut ajuster le mécanisme de transmission stéganographique de telle sorte que votre connexion ne se distingue en rien des autres.
Bien sûr, cette méthode n'est pas exempt de défauts. Par exemple, d'un point de vue pratique, sa mise en œuvre ne sera pas si simple — cela nécessitera une modification de la pile réseau dans les systèmes d'exploitation, bien qu'il n'y ait rien d'extrêmement complexe là-dedans. De plus, avec une quantité suffisante de ressources, il est toujours possible de détecter des paquets « secrets », car cela nécessite d'examiner et d'analyser chaque paquet sur le réseau. Mais en général, cela est pratiquement impossible ; par conséquent, on recherche habituellement des paquets et des connexions qui se démarquent, et la méthode proposée rend justement votre connexion non remarquée. Et rien ne vous empêche de chiffrer vos données secrètes, juste au cas où. Dans ce cas, la connexion elle-même peut rester non chiffrée afin de susciter moins de soupçons.
Les auteurs de l'étude (d'ailleurs, pour ceux que cela intéresse, elle) ont montré, au niveau des simulations, que la méthode proposée fonctionne comme prévu. Peut-être qu'à l'avenir, quelqu'un mettra leur idée en pratique. Et alors, espérons-le, il y aura un peu moins de censure sur Internet.
Source : habr.com
