Introduction :
Les hackers ont longtemps utilisé la tactique de dissimulation de leur véritable identité, de déguisements, d'alias de l'appelant. On ne s'étonne donc pas que les hackers qui mènent des activités nuisibles sur les réseaux et les ordinateurs emploient ces techniques. L'usurpation d'adresse IP est l'une des formes les plus courantes de camouflage en ligne.
En usurpant une adresse IP, un attaquant obtient un accès non autorisé à un autre ordinateur cible (ou à un réseau) en faisant apparaître l'IP de la victime (l'IP "spoofée"). Ainsi le matériel attaqué croit que l'échange se fait avec X alors que c'est en fait Y qui est derrière.
Dans cet article, nous allons examiner les concepts d'usurpation d'adresse IP. Pourquoi cela est possible et comment, ses différentes formes et usages et le moyens de s'en défendre.
Histoire :
La notion d'usurpation d'adresse IP a été initialement dévelopée dans les milieux universitaires dans les années 1980. Bien que connue depuis quelque temps, elle était essentiellement théorique jusqu'à ce que Robert Morris, dont le fils a écrit le premier ver Internet, a découvert une faiblesse dans le protocole TCP connue sous le nom de "séquence de prédiction".
Stephen Bellovin a examiné en profondeur les problèmes de sécurité dans le protocole TCP / IP. Par la suite, un document qui traite de problèmes de conception avec le protocole TCP / IP. L'attaque de Kevin Mitnick ("Christmas Day") fissure la machine de Tsutomu Shimomura via l'usurpation d'adresse IP via des failles techniques de prédiction contenues dans des séquences TCP. Bien que la popularité de ces fissures ait diminué en raison de la disparition des services qu'ils a exploité, le spoofing peut encore être utilisé et doit être combattu par tous les administrateurs de la sécurité.
Aspects techniques :
Pour complètement comprendre comment ces attaques peuvent avoir lieu, il faut examiner la structure du protocole TCP / IP. Une compréhension de base de ces en-têtes de réseau et d'échanges est cruciale pour le processus.
Protocole Internet - IP :
IP (Internet Protocol) est un protocole de réseau situé à la couche 3 (réseau) du modèle OSI. Il s'agit d'un modèle de connexion, c'est-à-dire qu'il n'existe aucune information concernant l'état de transaction, qui est utilisé pour router les paquets sur un réseau. En outre, il n'existe pas de méthode mis en place pour veiller à ce qu'un paquet soit livré correctement à la destination.
Examen de l'entête IP :
On peut noter que les 12 premiers octets (ou les 3 premières lignes de l'en-tête) contiennent diverses informations sur le paquet. Les prochains 8 octets (les 2 prochaines lignes), en revanche, contiennent les adresses IP source et destination. En utilisant un des nombreux outils mis à disposition, un pirate peut facilement modifier ces adresses - en particulier, la "source de l'adresse". Il est important de noter que chaque datagramme est envoyé indépendamennt de tous les autres, en raison de la nature de la propriété apatrides.
Transmission Control Protocol - TCP :
La propriété intellectuelle peut être considérée comme un wrapper pour le routage de niveau 4 (transport), qui contient le Transmission Control Protocol (TCP). Contrairement à IP, TCP utilise une connection-oriented design. Cela signifie que les participants à une session TCP doivent d'abord établir une connexion - via le 3-way handshakes (SYN-SYN/ACK-ACK) - puis les mettre à jour par séquences et reconnaissances. Cette "conversation" assure la fiabilité des données puisque l'expéditeur reçoit un OK du destinataire après chaque paquet changé.
Comme vous pouvez le voir ci-dessus, une tête TCP est très différente d'une entête IP. Nous sommes préoccupés par les 12 premiers octets du paquet TCP, qui contiennent le port de l'information de séquençage. Comme un datagramme IP, les paquets TCP peuvent être manipulées en utilisant des logiciels. La source et la destination des ports dépendent de l'application réseau en cours d'utilisation (par exemple, via le port HTTP 80). Ce qui est important pour notre compréhension du spoofing, ce sont les numéros de séquences et d'acquittement. Les données contenues dans ces domaines assurent la livraison des paquets et déterminer si un paquet doit être renvoyé.
Le numéro de séquence est le numéro du premier octet dans le paquet. Le numéro de reconnaissance, à son tour, contient la valeur du prochain numéro de séquence attendu dans le flux. Ce rapport confirme, aux deux extrémités, que les paquets ont été reçus.
Conséquences du protocole TCP / IP : Conception :
Maintenant que nous avons une vue d'ensemble du protocole TCP / IP, examinons les conséquences. Évidemment, il est très facile de masquer une adresse source en manipulant un entête IP. Cette technique est utilisée pour des raisons évidentes, et est employée dans plusieurs des attaques abordées ci-dessous. Une autre conséquence, spécifique à TCP, le numéro de séquence et la prévision, qui peut entraîner un détournement de session ou une usurpation de l'identité hôte. Cette méthode s'appuie sur l'IP spoofing, depuis une session. Nous examinerons le processus de cette attaque ci-dessous.
Spoofing Attack :
Il existe quelques variations sur les types d'attaques qui ont réussi à employer l'IP spoofing. Bien que certaines sont relativement anciennes, d'autres sont très pertinentes aux problèmes de sécurité actuels.
Non-blind spoofing :
Ce type d'attaque a lieu quand l'attaquant se trouve sur le même sous-réseau que la victime. Les numéros de séquence et d'acquittement peuvent être sniffés, éliminant la potentielle difficulté de calculer avec précision. La plus grande menace de spoofing dans ce cas serait le hijacking. Ceci est accompli par une corruption de données lors d'une connexion établie ; elle repose sur des numéros de séquence et d'acquittement de l'attaque machine. A l'aide de cette technique, un attaquant pourrait contourner efficacement les authentifications des mesures prises pour renforcer la connexion.
Blind Spoofing :
Il s'agit d'une attaque plus sophistiquée. Les numéros de séquence et d'acquittement sont inaccessibles. Afin de contourner cela, plusieurs paquets sont envoyés à la machine cible afin d'échantillonner les numéros de séquence. Bien que ce n'est plus le cas aujourd'hui, les machines utilisées dans le passé utilisaient des techniques de base pour générer des numéros de séquence. Il est relativement facile de découvrir la formule exacte et en étudiant les paquets TCP des sessions.
Aujourd'hui, la plupart des séquences d'exploitation appliquent une génération de nombres aléatoires, ce qui rend difficile de prédire avec précision. Si toutefois le numéro de séquence a été compromis, les données peuvent être envoyées à la cible.
Il ya plusieurs années, de nombreuses machines utilisaient l'hôte d'authentification basée sur les services (c'est-à-dire Rlogin). Une attaque bien conçue pourrait ajouter les données nécessaires au système (c'est-à-dire un nouveau compte utilisateur), les yeux fermés, ce qui permet un accès complet pour l'attaquant usurpant l'identité d'un hôte.
Man in the Middle Attack (MITM) :
L'attaque de "l'homme du milieu" nécessite l'interception d'une partie légitime de communication entre deux parties. L'hôte malveillant "écoute" la transmission de paquets entre les victimes A et B et contrôle l'écoulement de la communication (pouvant donc éliminer ou modifier les informations envoyées par l'un des premiers participants à l'insu de l'original ; pour l'expéditeur comme pour le destinataire. De cette façon, un attaquant peut tromper une victime et récupérer des informations par "spoofing" provenant de l'expéditeur, qui lui est pourtant digne de confiance par le destinataire.
Attaque par déni de service (DoS - DDoS) :
L'IP spoofing est presque toujours utilisée dans ce qui est actuellement l'une des attaques les plus difficiles à combattre : les attaques par déni de service (ou DoS). Les ddosers ne sont concernés que par la consommation de bande passante et de ressources, ils n'ont pas besoin de se préoccuper de remplir correctement le handshake, les transactions, etc. Au contraire, ils souhaitent inonder la victime avec autant de paquets que possible en un minimum de temps.
Afin de prolonger l'efficacité de l'attaque, ils falsifient les adresses IP sources ce qui stoppe le traçage DoS rendant difficile voire impossible leur identification. Lorsque plusieurs machines sont compromises (participant à l'attaque), tout le trafic d'envoi étant falsifié, il est très difficile de bloquer le trafic rapidement.
La défense contre les attaques de type spoofing :
Il y a quelques précautions qui peuvent être prises pour limiter les risques d'usurpation d'IP sur votre réseau, telles que :
Le filtrage routeur :
Ajouter des filtres à son routeur est l'essentiel. Vous aurez besoin de mettre en œoeuvre une ACL (liste de contrôle d'accès) qui bloque les adresses IP privées sur votre interface en aval. En outre, cette interface ne doit pas accepter les adresses avec votre gamme interne, la source ; cette faille est exploitée pour contourner les pare-feu. En amont sur l'interface, vous devriez limiter les adresses sources valides en dehors de votre fourchette, ce qui va empêcher quelqu'un de s'infiltrer sur votre réseau via envoi de paquets falsifiés.
Chiffrement et authentification :
La mise en oeœuvre du chiffrement et de l'authentification permettra également de réduire les menaces de spoofing. Ces deux fonctionnalités sont inclues dans les adresses Ipv6, ce qui permettra d'éliminer plus de menaces. De plus, vous devez éliminer toute authentification d'hôte basée sur des mesures communes pour les machines situées sur le même sous-réseau. S'assurer que les mesures d'authentification soient en place et exécutées via un canal en connexion sécurisée (chiffrée).
Conclusion :
Alors que certaines des attaques décrites ci-dessus sont un peu dépassées, telles que le détournement de session basé sur les services, l'usurpation d'adresse IP est encore répandue dans le réseau de numérisation via les attaques par déni de service.
L'IP Spoofing est un problème sans solution facile, car il est inhérent à la conception du protocole TCP / IP. Comprendre comment et pourquoi les attaques de spoofing sont utilisées, combiné avec quelques méthodes simples de prévention, permet de protéger votre réseau à partir de ces techniques de cloaking et de failles réseau.
Les hackers ont longtemps utilisé la tactique de dissimulation de leur véritable identité, de déguisements, d'alias de l'appelant. On ne s'étonne donc pas que les hackers qui mènent des activités nuisibles sur les réseaux et les ordinateurs emploient ces techniques. L'usurpation d'adresse IP est l'une des formes les plus courantes de camouflage en ligne.
En usurpant une adresse IP, un attaquant obtient un accès non autorisé à un autre ordinateur cible (ou à un réseau) en faisant apparaître l'IP de la victime (l'IP "spoofée"). Ainsi le matériel attaqué croit que l'échange se fait avec X alors que c'est en fait Y qui est derrière.
Dans cet article, nous allons examiner les concepts d'usurpation d'adresse IP. Pourquoi cela est possible et comment, ses différentes formes et usages et le moyens de s'en défendre.
Histoire :
La notion d'usurpation d'adresse IP a été initialement dévelopée dans les milieux universitaires dans les années 1980. Bien que connue depuis quelque temps, elle était essentiellement théorique jusqu'à ce que Robert Morris, dont le fils a écrit le premier ver Internet, a découvert une faiblesse dans le protocole TCP connue sous le nom de "séquence de prédiction".
Stephen Bellovin a examiné en profondeur les problèmes de sécurité dans le protocole TCP / IP. Par la suite, un document qui traite de problèmes de conception avec le protocole TCP / IP. L'attaque de Kevin Mitnick ("Christmas Day") fissure la machine de Tsutomu Shimomura via l'usurpation d'adresse IP via des failles techniques de prédiction contenues dans des séquences TCP. Bien que la popularité de ces fissures ait diminué en raison de la disparition des services qu'ils a exploité, le spoofing peut encore être utilisé et doit être combattu par tous les administrateurs de la sécurité.
Aspects techniques :
Pour complètement comprendre comment ces attaques peuvent avoir lieu, il faut examiner la structure du protocole TCP / IP. Une compréhension de base de ces en-têtes de réseau et d'échanges est cruciale pour le processus.
Protocole Internet - IP :
IP (Internet Protocol) est un protocole de réseau situé à la couche 3 (réseau) du modèle OSI. Il s'agit d'un modèle de connexion, c'est-à-dire qu'il n'existe aucune information concernant l'état de transaction, qui est utilisé pour router les paquets sur un réseau. En outre, il n'existe pas de méthode mis en place pour veiller à ce qu'un paquet soit livré correctement à la destination.
Examen de l'entête IP :
On peut noter que les 12 premiers octets (ou les 3 premières lignes de l'en-tête) contiennent diverses informations sur le paquet. Les prochains 8 octets (les 2 prochaines lignes), en revanche, contiennent les adresses IP source et destination. En utilisant un des nombreux outils mis à disposition, un pirate peut facilement modifier ces adresses - en particulier, la "source de l'adresse". Il est important de noter que chaque datagramme est envoyé indépendamennt de tous les autres, en raison de la nature de la propriété apatrides.
Transmission Control Protocol - TCP :
La propriété intellectuelle peut être considérée comme un wrapper pour le routage de niveau 4 (transport), qui contient le Transmission Control Protocol (TCP). Contrairement à IP, TCP utilise une connection-oriented design. Cela signifie que les participants à une session TCP doivent d'abord établir une connexion - via le 3-way handshakes (SYN-SYN/ACK-ACK) - puis les mettre à jour par séquences et reconnaissances. Cette "conversation" assure la fiabilité des données puisque l'expéditeur reçoit un OK du destinataire après chaque paquet changé.
Comme vous pouvez le voir ci-dessus, une tête TCP est très différente d'une entête IP. Nous sommes préoccupés par les 12 premiers octets du paquet TCP, qui contiennent le port de l'information de séquençage. Comme un datagramme IP, les paquets TCP peuvent être manipulées en utilisant des logiciels. La source et la destination des ports dépendent de l'application réseau en cours d'utilisation (par exemple, via le port HTTP 80). Ce qui est important pour notre compréhension du spoofing, ce sont les numéros de séquences et d'acquittement. Les données contenues dans ces domaines assurent la livraison des paquets et déterminer si un paquet doit être renvoyé.
Le numéro de séquence est le numéro du premier octet dans le paquet. Le numéro de reconnaissance, à son tour, contient la valeur du prochain numéro de séquence attendu dans le flux. Ce rapport confirme, aux deux extrémités, que les paquets ont été reçus.
Conséquences du protocole TCP / IP : Conception :
Maintenant que nous avons une vue d'ensemble du protocole TCP / IP, examinons les conséquences. Évidemment, il est très facile de masquer une adresse source en manipulant un entête IP. Cette technique est utilisée pour des raisons évidentes, et est employée dans plusieurs des attaques abordées ci-dessous. Une autre conséquence, spécifique à TCP, le numéro de séquence et la prévision, qui peut entraîner un détournement de session ou une usurpation de l'identité hôte. Cette méthode s'appuie sur l'IP spoofing, depuis une session. Nous examinerons le processus de cette attaque ci-dessous.
Spoofing Attack :
Il existe quelques variations sur les types d'attaques qui ont réussi à employer l'IP spoofing. Bien que certaines sont relativement anciennes, d'autres sont très pertinentes aux problèmes de sécurité actuels.
Non-blind spoofing :
Ce type d'attaque a lieu quand l'attaquant se trouve sur le même sous-réseau que la victime. Les numéros de séquence et d'acquittement peuvent être sniffés, éliminant la potentielle difficulté de calculer avec précision. La plus grande menace de spoofing dans ce cas serait le hijacking. Ceci est accompli par une corruption de données lors d'une connexion établie ; elle repose sur des numéros de séquence et d'acquittement de l'attaque machine. A l'aide de cette technique, un attaquant pourrait contourner efficacement les authentifications des mesures prises pour renforcer la connexion.
Blind Spoofing :
Il s'agit d'une attaque plus sophistiquée. Les numéros de séquence et d'acquittement sont inaccessibles. Afin de contourner cela, plusieurs paquets sont envoyés à la machine cible afin d'échantillonner les numéros de séquence. Bien que ce n'est plus le cas aujourd'hui, les machines utilisées dans le passé utilisaient des techniques de base pour générer des numéros de séquence. Il est relativement facile de découvrir la formule exacte et en étudiant les paquets TCP des sessions.
Aujourd'hui, la plupart des séquences d'exploitation appliquent une génération de nombres aléatoires, ce qui rend difficile de prédire avec précision. Si toutefois le numéro de séquence a été compromis, les données peuvent être envoyées à la cible.
Il ya plusieurs années, de nombreuses machines utilisaient l'hôte d'authentification basée sur les services (c'est-à-dire Rlogin). Une attaque bien conçue pourrait ajouter les données nécessaires au système (c'est-à-dire un nouveau compte utilisateur), les yeux fermés, ce qui permet un accès complet pour l'attaquant usurpant l'identité d'un hôte.
Man in the Middle Attack (MITM) :
L'attaque de "l'homme du milieu" nécessite l'interception d'une partie légitime de communication entre deux parties. L'hôte malveillant "écoute" la transmission de paquets entre les victimes A et B et contrôle l'écoulement de la communication (pouvant donc éliminer ou modifier les informations envoyées par l'un des premiers participants à l'insu de l'original ; pour l'expéditeur comme pour le destinataire. De cette façon, un attaquant peut tromper une victime et récupérer des informations par "spoofing" provenant de l'expéditeur, qui lui est pourtant digne de confiance par le destinataire.
Attaque par déni de service (DoS - DDoS) :
L'IP spoofing est presque toujours utilisée dans ce qui est actuellement l'une des attaques les plus difficiles à combattre : les attaques par déni de service (ou DoS). Les ddosers ne sont concernés que par la consommation de bande passante et de ressources, ils n'ont pas besoin de se préoccuper de remplir correctement le handshake, les transactions, etc. Au contraire, ils souhaitent inonder la victime avec autant de paquets que possible en un minimum de temps.
Afin de prolonger l'efficacité de l'attaque, ils falsifient les adresses IP sources ce qui stoppe le traçage DoS rendant difficile voire impossible leur identification. Lorsque plusieurs machines sont compromises (participant à l'attaque), tout le trafic d'envoi étant falsifié, il est très difficile de bloquer le trafic rapidement.
La défense contre les attaques de type spoofing :
Il y a quelques précautions qui peuvent être prises pour limiter les risques d'usurpation d'IP sur votre réseau, telles que :
Le filtrage routeur :
Ajouter des filtres à son routeur est l'essentiel. Vous aurez besoin de mettre en œoeuvre une ACL (liste de contrôle d'accès) qui bloque les adresses IP privées sur votre interface en aval. En outre, cette interface ne doit pas accepter les adresses avec votre gamme interne, la source ; cette faille est exploitée pour contourner les pare-feu. En amont sur l'interface, vous devriez limiter les adresses sources valides en dehors de votre fourchette, ce qui va empêcher quelqu'un de s'infiltrer sur votre réseau via envoi de paquets falsifiés.
Chiffrement et authentification :
La mise en oeœuvre du chiffrement et de l'authentification permettra également de réduire les menaces de spoofing. Ces deux fonctionnalités sont inclues dans les adresses Ipv6, ce qui permettra d'éliminer plus de menaces. De plus, vous devez éliminer toute authentification d'hôte basée sur des mesures communes pour les machines situées sur le même sous-réseau. S'assurer que les mesures d'authentification soient en place et exécutées via un canal en connexion sécurisée (chiffrée).
Conclusion :
Alors que certaines des attaques décrites ci-dessus sont un peu dépassées, telles que le détournement de session basé sur les services, l'usurpation d'adresse IP est encore répandue dans le réseau de numérisation via les attaques par déni de service.
L'IP Spoofing est un problème sans solution facile, car il est inhérent à la conception du protocole TCP / IP. Comprendre comment et pourquoi les attaques de spoofing sont utilisées, combiné avec quelques méthodes simples de prévention, permet de protéger votre réseau à partir de ces techniques de cloaking et de failles réseau.