Home » Understand the internet » Internet architecture

INTERNET ARCHITECTURE

 

 

Before going into pure theory, let's take a practical example:

 

Imagine that you are a secret agent working in the intelligence and that you have to transmit messages to your organization, it has been decided a MTP (the famous Matryoshka Transmission Protocol) which consists in giving a red Matryoshka to a messenger who will take care of transmitting it.

 

It has been agreed between you and your recipients to be sure that this message is really from you, a protocol : the message written on a small piece of paper must be in a small blue doll, then a larger green, a larger yellow and finally the red that the messenger will see and transmit (he will only see a red Russian doll).

 

Then your superiors will just have to receive the red one, open it to discover the yellow, discover the green then the blue which will contain the message.

 

When you communicate on the internet your data goes through different layers that can be compared to Matryoshka, these layers are said to "encapsulate" the information like whe saw before.

 

The architecture of the Internet can be symbolized by different models, the OSI model describes 7 layers and the TCP / IP model 4 layers.

 

We will simplify here as much as possible so feel free to read up on the subject and watch many videos.

 

Imagine the transport of a message by email: "Hi, it's padawan hacker, how are you?" from my computer to yours.

 

According to the TCP / IP model my message will "go through several layers of the computer system" in order to be transported to you. Each layer represents a service. Here we will talk about 5 layers so as not to make people jealous.

 

  • Application Layer

 

Ce sont les applications (des logiciels comme Outlook) et les protocoles que l'on utilise, HTTP, SMTP, POP, IMAP, FTP, etc...

Le message "Salut c'est padawan hacker ça va ?" va être encodé en binaire : 001110010011100011100, une succession de 0 et de 1 avec une séquence de bits  par exemple 5 bits : 01010/11001/11001/01001/10101/ etc...que l'on va appeler tout simplement message.

 

Voir ce petit exercice : comment encoder et décoder en binaire

 

Toutes ces applications (logiciels) pour communiquer utilisent 65536 ports, pour simplifier, on peut considérer les ports comme des portes donnant accès au système d'exploitation de l'ordinateur, on utilise plusieurs logiciels sur une même machine, et même simultanément différents  logiciels en même temps.

Posséder tous ces ports de communication  garanti la communication vers l'extérieur comme l'intérieur de la machine.

 

Si vous consultez des données sur internet, vous utilisez des applications clientes (logiciels clients) et si vous fournissez des données, des applications serveur (logiciels serveurs).

 

Nous verrons cette couche application plus en détail dans le chapitre Scan de Ports

 

  • Transport Layer

 

Protocoles TCP ou UDP, ils sont responsable d'envoyer un message de l'application d'un hôte vers l'application de l'autre hôte, ces 2 protocoles fonctionnent différemment mais ont le même objectif (voir L'informateur sur YouTube).

 

La couche transport sera abordé au chapitre Protocoles internet.

 

 

  • Network Layer

 

Elle fait circuler l'information à travers le réseau, trouve la meilleur route entre deux hôtes, utilise les protocoles IP, RIP, OSPF, BGP, ICMP, etc...

 

Il assigne des adresse à chaque nœuds et à chaque hôte, ce sont les fameuses adresses IP.

 

  • Link Layer

 

C'est la couche de transport par un câble, une fibre optique ou une onde électromagnétique , le protocole Ethernet, IEEE 802.11 ou PPP, pour cela cette couche rajoute une adresse MAC (que chaque appareil possède à sa sortie d'usine) selon le protocole appelé ARP.

 

  • Physical Layer

 

Il s'agit d'un signal, cette dernière couche  ne sera pas abordée ici car elle fait appel à de la physique et des mathématiques complexes.

 

 

 

 

 


L'ENCAPSULATION

 

Lors d'une transmission par internet, les données traversent chacune des couches au niveau de la machine émettrice, à la manière des poupées russes à chaque couche une information est ajoutée au paquet de données.

 

 

A chaque niveau le paquet de données change d'aspect, car on lui ajoute un en-tête ainsi les appellations changent au niveau de chaque couche :

 

  • Le paquet de données est appelé message au niveau de la couche Application/Application Layer

 

  • Le message est ensuite encapsulé sous forme de segment dans la couche Transport/Transport Layer

 

  • Le segment est ensuite encapsulé et prend le nom de paquet dans la couche Réseau/Network Layer

 

  • Le paquet est encapsulé et donne la trame au niveau de la couche Liaison/Link Layer

 

  • Et enfin L'ensemble de cette encapsulation devient un signal au niveau de la couche Physique/Physical Layer

 

 Au niveau de la machine réceptrice le signal repasse toutes les couches successives dans le sens inverse pour redevenir le message initial.

 

C'est l'exemple des poupées russes.

 

Il faut savoir que dans les nœuds que le flux va traverser , toutes les différentes couches ne sont pas forcément "desencapsulés ", voir le chapitre requête HTTP.

 


ATTENTION :

L'architecture d'internet est bien plus complexe mais il faut bien apprendre les bases si vous voulez pratiquer, l'apprentissage ne se fera efficacement que si vous commencez dors et déjà à pratiquer, pour cela passez au chapitre suivant pour approfondir en "sniffant le réseau".


 

L'encapsulation des données en détail, lisez ça c'est indispensable !

 

 

 


Les défauts du TCP/IP

 

La norme TCP/IP est tellement efficace qu'il est impossible d'empêcher un ordinateur A de communiquer avec un ordinateur B même distants de 10 000 km. Internet est un réseau unifié en tout point du globe, vous accédez depuis n'importe quel point à n'importe quel autre point du réseau  avec une norme unique : le TCP/IP.

 

  • TCP/IP est tellement fiable qu'il est impossible de faire tomber le réseau en panne.

 

  • TCP/IP est tellement faible qu'il est impossible d'empêcher quelqu'un de le pirater.

 

Avec le protocole TCP/IP, tout ou presque peut être relié et peut parler le même langage pour échanger des données.

 

Comme nous l'avons vu dans les chapitres précédents, TCP/IP est capable de faire circuler des données : ce que vous envoyez, messages, photos, etc...sont transformés en paquets qui contiennent des morceaux du message original.

 

La fiabilité  de TCP/IP implique qu'un paquet doit toujours pouvoir "trouver son chemin", il va donc sur un petit réseau se répandre sur tous les nœuds à la recherche de son destinataire.

 

Ce qui signifie que chaque membre du réseau peut observer le trafic des autres membres.

 

Il est donc possible depuis son ordinateur personnel de "sniffer" le réseau afin d'observer les paquets qui y transitent. Un des outils les plus rependu pour le reniflage de réseau est le logiciel WIRESHARK. Et cela tombe très bien car nous allons nous en servir pour comprendre le fonctionnement d'internet à la page suivante.

 

Pour sécuriser le réseau les services bancaires on ajouté une couche supplémentaire à TCP/IP, un système de "tunneling", il s'agit d'un tunnel virtuel crypté qui véhicule les données sensibles, les paquets sont codés et donc illisibles.

 

C'est le principe de la liaison "HTTPS", "S" pour secure, et du VPN (Virtual Privacy Network) créé par Microsoft.

 

Sur Linux on a le système SSH (Secure SHell), protocole qui permet de créer une session interactive avec une machine distante.

 

Ubuntu (un des multiple système d'exploitation Linux) utilise lui le serveur FTP (vsftp) et le SSH.

 

Avec ces protocoles :  impossible de sniffer le réseau. Malgré tout, ils possèdent également des vulnérabilités.

 


ADRESSES IP

 

Lorsqu'un ordinateur est relié à internet via le protocole TCP/IP, il reçoit un numéro IP composée de 4 nombres comme 192.168.1.1 (adresse IPv4) ou un numéro composé de 8 nombres de 2 octets (un octet = 8 bits = 8 "0" et "1") comme 2001:0db8:0000:85a3:0000:0000:ac1f:8001  (adresse IPv6) sous forme d'hexadécimales.

 

Le numéro IP peut être :

 

  • Dynamique (change à chaque connection)

 

  • Statique (attribué à l'ordinateur)

 

La 1ère faille importante d'internet est que l'IP est soumise à publicité et donc publique.

 

Les différentes classes des adresses IP :

 

 

 

Les entreprises possèdent souvent une classe d'adresses IP.

 

Tout ce qui est officiel sur internet est stocké dans des bases Whois (comme un gros annuaire créé depuis le début d'internet), elles référencent les noms de domaines et leurs adresses IP.

 

Lors de nos CTF et de tous nos exercices de pentests l'adresse IP sera votre référence et servira à attaquer la cible.