Réseau et cybersécurité : Qu’est-ce qu’un “service caché” ? Partie 2
L’anonymat applicatif, l’authentification réseau et la suppression de l’exposition sont trois caractéristiques intimement liées au principe de service caché. Dans l’article précédent : Qu’est-ce qu’un “service caché” ? Partie 1, nous avons mis en lumière ces trois aspects du mécanisme, mais ils ne sont pas seuls à apporter des propriétés intéressantes en matière de sécurité réseau. Dans ce nouvel article, il nous paraissait intéressant de mettre en avant quatre autres caractéristiques, beaucoup moins connues que les premières, et qui apportent pourtant une véritable plus-value défensive.
Services cachés
Même si l’anonymat est la première caractéristique (parfois la seule !) qui nous vient en tête lorsqu’on évoque le principe de service caché, elle n’est pas unique. D’ailleurs, selon Chimere, c’est même la moins intéressante. Alors, qu’en est-il des autres ?
La micro-segmentation
Dans la partie 1 de l’article, nous avions évoqué le fait qu’un service caché n'était plus accessible via le logiciel client par une adresse IP et un port, mais par une clé cryptographique qui l’identifie au sein du réseau. Cette clé, désigne ainsi strictement l’application et non la machine ou la zone réseau dans laquelle elle se trouve. En d’autres termes, la connaissance de la clé cryptographique ne permet d’atteindre que le service, et uniquement le service. A la différence des réseaux et des services plus ‘classiques’, avec lesquels il est nécessaire d’associer des pares-feux ou d’autres solutions pour segmenter les réseaux, les services cachés sont nativement cloisonnés de toutes les autres ressources du réseau, et il n’est pas possible d’atteindre un service caché depuis une ressource annexe sans la connaissance de l'élément cryptographique associé.
Cette caractéristique fondamentale fait du mécanisme des services cachés une méthode intéressante pour permettre l’accès à des applications sensibles ou secrètes à une population désignée d’utilisateurs, sans fournir un accès complet au réseau, ou à un sous-réseau, comme c’est habituellement le cas via un VPN.
Ainsi, cette micro-segmentation fait particulièrement écho chez les entreprises fournissant des accès à certaines de leurs applications à des prestataires, mais qui ne souhaitent pas fournir d’accès VPN, considérés comme “trop larges” et trop dangereux pour l’intégrité du réseau.
La suppression du tiers de confiance
La plupart des solutions de Zero-Trust Network Access du marché s’inspirent largement du mécanisme des services cachés. Cependant, elles n’utilisent généralement que quelques-unes des caractéristiques proposées. L’une des propriétés habituellement écartée est celle-ci : le fait de ne pas devoir faire confiance en l’intermédiaire. Les services cachés et les solutions ZTNA partagent une même réalité technique : ils s’appuient tous deux sur un réseau fourni par un tiers pour fonctionner. Ce réseau, superposé à internet, met en relation les utilisateurs et les applications publiées. Cependant, dans la plupart des cas, l’administrateur des services et l’utilisateur ont besoin de faire confiance au réseau intermédiaire et à son opérateur. Ce dernier est souvent en mesure d’accéder aux services publiés, sans connaissance de leurs clés cryptographiques (parfois, les fournisseurs ZTNA ne s’appuient même pas sur des mécanismes cryptographiques pour la négociation de connexion entre utilisateurs et services).
Dans l'état de l’art du mécanisme des services cachés, il est possible de ne pas faire confiance en cet intermédiaire. C’est d’ailleurs le cas, avec le réseau Tor : le réseau étant communautaire, des opérateurs malveillants peuvent exécuter des machines en son sein, et tenter de réaliser des attaques à l’encontre des utilisateurs ou des services. Lors de sa conception, il fallait nécessairement que la solution puisse résister à une telle menace interne, et c’est le cas aujourd’hui. Ainsi, une telle implémentation des services cachés apporte les caractéristiques suivantes :
- Il n’est pas possible pour l’opérateur du réseau d’espionner les conversations entre les utilisateurs et les applications. Cette caractéristique étant apportée par des mécanismes “classiques” de chiffrement de bout-en-bout.
- Il n’est pas possible pour l’opérateur du réseau d’accéder aux services qui y sont publiés. Cette caractéristique étant apportée par le principe d’authentification réseau décrite dans la partie 1.
- Le réseau étant communautaire, la disponibilité est assurée par la notion de “confiance distribuée”. Si un opérateur vient à devenir indisponible, les services se republient automatiquement sur la partie du réseau encore valide. De même pour les utilisateurs cherchant à accéder aux services: les connexions sont automatiquement ré-établies en utilisant les machines opérationnelles.
La sécurité par le mouvement
La dernière caractéristique du point précédent nous amène à cette propriété intéressante : la “position” d’un service caché au sein du réseau étant finalement déterminée par sa clé cryptographique, il devient aisé d’envisager de “déplacer” un service en effectuant une rotation de cette clé. Aussi, même en considérant une clé cryptographique statique, les services peuvent se rendre disponibles à un endroit donné à un instant T, puis ailleurs à un instant T+1. C’est d’ailleurs un mécanisme que l’on retrouve au sein de l’implémentation Tor, qui combine la clé cryptographique de chaque service avec un élément calculé par le réseau et qui change à intervalles réguliers. La valeur ainsi obtenue est utilisée pour stocker les informations de négociation de connexion sur une table de hachage distribuée sur le réseau. L’instant suivant, le service se rend disponible ailleurs et stocke ainsi les nouvelles informations de contact à un autre endroit. Cette sécurité par le mouvement rend ainsi les applications insaisissables, et permet de lutter efficacement contre les menaces internes au sein du réseau intermédiaire ou les attaques par déni de service à l’encontre des applications.
Les services passifs deviennent actifs
Enfin, le changement de paradigme apporté par les services cachés impose une nouvelle façon de concevoir la négociation des connexions. Auparavant, les services en écoute sur une adresse IP et un port n’avaient d’autres choix que d’accepter les connexions entrantes. Il fallait nécessairement vérifier l’identité du client en amont via l’utilisation de solutions annexes (comme les pares-feux et le white-listing d’adresses IP) pour s’assurer que la demande de connexion était légitime et que le risque vis-à-vis du service était limité.
Les services cachés bousculent cette façon de faire car ils sont les derniers à clôturer la connexion avec le client. Etant donné que les services et les clients sont mis en relation au sein d’un réseau intermédiaire, ils initient chacun des connexions sortantes jusqu’à un “point de rendez-vous”. Dans cette logique, le service est le dernier à effectuer l’action, qu’il peut refuser ou non en fonction de l’identité du client qui cherche à le joindre. Ainsi, les applications, qui étaient auparavant “passives” deviennent “actives” dans l'établissement des connexions et en reprennent le contrôle.
Les services cachés du réseau Chimere
Si le paradigme des services cachés vous intéresse et que vous souhaitez l’essayer, vous pouvez publier vos services ou une partie de ceux-ci sur le réseau Chimere et vous assurer ainsi que seuls vos utilisateurs soient en mesure de communiquer avec eux, tout en bénéficiant de l’ensemble des caractéristiques présentées dans cet article et le précédent.
Essayer Chimere est réalisable en quelques minutes. Cela ne nécessite pas de changement intrusif dans votre système d’information, et ne coupe pas les accès nominaux.
Vous voulez essayer ? Contactez-nous, et nous vous fournirons un accès au réseau Chimere pour dissimuler vos services.
N’oubliez pas de vous inscrire à la newsletter Chimere pour ne pas manquer les prochains articles: