Aller au contenu
ARTICLE
Sécurité des SI : comprendre le problème de l’exposition

L'une des faiblesses de TCP/IP n'est toujours pas résolue aujourd'hui : l'exposition des services.

Retour

Sécurité des SI : comprendre le problème de l’exposition

L'une des faiblesses de TCP/IP n'est toujours pas résolue aujourd'hui : l'exposition des services.

S’il existe une problématique réseau et sécurité aussi ancienne qu’internet, c’est certainement celle de l’exposition des services. Le réseau internet permet à quiconque de rendre accessibles des services à travers deux informations : une adresse IP, généralement codée sur 4 octets, et un port codé sur deux octets. La plupart du temps, la connaissance de ces informations suffit à établir une connexion avec l’application associée, et ce, sans prendre en considération le profil de l’utilisateur, qu’il soit légitime, ou qu’il s’agisse d’un attaquant.

En creusant un peu, on réalise qu’elle est la cause de la majorité des intrusions au sein des systèmes d’information.

Retour sur un mécanisme omniprésent sur internet et au sein des réseaux privés.

L’origine du mal : TCP/IP

Quand Arpanet, l’ancêtre d’internet, est conçu dans les années 60, il s’agit d’un réseau de confiance : il est à destination des universités, des laboratoires et entreprises impliqués dans la recherche et le développement. L’armée américaine l’utilise également.

En 1974, les protocoles TCP et IP sont inventés pour uniformiser le réseau, et sont toujours utilisés actuellement. Ces protocoles sont conçus à une époque et dans un contexte très différents de ceux que l’on connait aujourd’hui : il n’y a pas encore de cybermenaces et le réseau est peu étendu.

C’est peu dire quand on sait qu’une cartographie presque exhaustive d’internet tient alors sur une feuille A4.

ARPANET

Carte logique du réseau ARPANET en mars 1977, exposée au musée de l'histoire de l'ordinateur.

L’une des caractéristiques de TCP/IP est, d’une part, de fournir la possibilité de router des paquets à travers le réseau jusqu’à une machine de destination (le protocole IP s’en charge via l’adresse IP), et d’autre part, d’adresser l’application adéquate portée par la machine (TCP s’en occupe via le numéro de port).

La base est posée : une application réseau est adressable à travers le combo [adresse IP et port]. Une autre caractéristique importante découle de ce fonctionnement : l’application (on parle aussi de service) rendue accessible à travers le réseau est « en écoute » et accepte les connexions de la part des clients. Par conséquent, l’application serveur se positionne dans un état « passif », tandis que le client est « actif » : il initie les connexions vers le serveur, et le serveur accepte la connexion.

Les éventuelles méthodes d’authentification sont essentiellement portées par l’application, et appelées une fois que la connexion est établie. Dans les années 80, les premiers pares-feux font leur apparition pour ajouter des principes de segmentation au sein des réseaux basés sur ce modèle.

En quoi est-ce un problème ?

Bien que TCP/IP apporte des propriétés indispensables à un usage intensif des réseaux (notamment en termes de fiabilité à travers le système de contrôle de transmission ou de performance avec le contrôle de congestion), certaines de ses caractéristiques facilitent les compromissions. L’une d’entre elles est d’ailleurs largement exploitée par les attaquants et est centrale dans la phase de découverte qui précède la majorité des attaques.

Le réseau est facile à cartographier

Quiconque a déjà fait un peu de pentest sait à quel point la phase de découverte est une promenade de santé. Quelle soit externe ou interne, l’attaquant va systématiquement chercher à lister les services avec lesquels il est en mesure d’établir une connexion.

Lorsque l’attaque est lancée depuis l’extérieur du système d’information et qu’elle est ciblée, l’attaquant identifie les adresses IP (ou les plages d’adresses) qui l’intéresse puis va scanner les ports ouverts afin d’obtenir la liste des services exposés. Cette première étape va permettre d’identifier une partie de la surface d’attaque vers laquelle s’orienter.

Lorsque l’attaque est externe et n’est pas ciblée, le pirate a généralement en sa possession des informations concernant une vulnérabilité sur une application donnée, dans une version donnée, et va chercher une cible qui expose un tel service sur internet. Dans ce deuxième cas, un scan du réseau internet va lui permettre de trouver un système vulnérable. Soit il réalise le scan lui-même, soit il utilise des services en ligne qui cartographient et publient une base de données d’applications exposées. C’est le cas du célèbre Shodan.io.

Une poignée de main maladroite

Cette capacité à scanner la surface d’attaque tire parti de deux choses :

  • Tout d’abord, le nombre d’adresses IP et de port est relativement faible. On dénombre, au niveau mondial, 4,3 milliards d’adresses IPv4 possibles, chacune pouvant proposer jusqu’à 65 535 services. C’est peu car un scan exhaustif du réseau est en réalité possible, avec des moyens relativement limités. Ce manque d’adresses IPv4 disponibles est d’ailleurs une des raisons du développement de IPv6. Cette caractéristique permet facilement aux attaquants de générer un grand nombre d’adresses IP et de ports qu’ils peuvent ensuite utiliser en entrée dans leur processus de scan ;
  • Ensuite, il est facile de déterminer si un service est en écoute sur un couple (adresse IP, port) donné. Le handshake TCP/IP étant conçu pour indiquer immédiatement au client, qui cherche à se connecter, que le service est disponible. C’est le principe de passivité du service.

Lorsque l’attaquant est déjà à l’intérieur du réseau de l’entreprise, cette même facilité de cartographie s’applique, mais cette fois-ci sur des adresses IP privées.

Une fois la surface d’attaque obtenue, l’attaquant va poursuivre ses activités et pourra :

  • Exploiter des vulnérabilités au sein des services listés pour en prendre le contrôle, et éventuellement rebondir au sein du système d’informations ;
  • Utiliser des identifiants qu’il aura récolté par hameçonnage ou à travers une précédente fuite de données, pour passer les mires d’authentification et accéder à des données sensibles ;
  • Attaquer les applications exposées pour provoquer des dénis de service ;
  • Obtenir des informations techniques lui permettant de faciliter d’autres compromissions.

Comment se protéger ?

Il existe trois manières usuelles de traiter ce problème de l’exposition, et toutes nécessitent, au préalable, de cartographier correctement son propre réseau afin de considérer l’ensemble des points. Le Shadow IT est d’ailleurs l’ennemi principal à abattre quand on s’attaque au problème.

En considérant que la liste des services exposés est exhaustive, on retrouve les stratégies suivantes :

  1. Protéger les points d’exposition, en ajoutant des couches et des solutions supplémentaires qui traitent les menaces externes ;
  2. Réduire l’exposition, et basculer les services sur des adresses privées, puis exposer seulement quelques points d’entrée permettant d’y accéder ;
  3. Transférer l’exposition à acteur tiers (et donc la responsabilité de la sécurisation de cette exposition).

Ces stratégies seront décrites plus en profondeur dans un prochain article.

Vous pouvez renseigner votre adresse e-mail ici pour recevoir une alerte lors de sa publication :