Contacts

Qu'est-ce que l'usurpation DNS. Nous écrivons un plugin pour le serveur DNS Microsoft afin de se protéger contre l'usurpation d'IDN. IDN Clones - une technique basée sur la similarité externe de l'affichage des noms de domaine

Original : Cyberattaques expliquées : Invasions DNS
Auteur : Prashant Phatak
Date de parution : 22 février 2012
Traduction : A. Panin
Date de transfert : 8 décembre 2012

On voit souvent des sites dégradés, dont les pages principales ont été remplacées par des intrus. Comment les attaquants parviennent-ils à mener de telles attaques et comment pouvons-nous en protéger notre infrastructure réseau ? Cet article explique comment les attaquants peuvent interférer avec le DNS (Domain Name System). Les attaques DNS sont techniquement complexes et dangereuses pour le réseau et l'infrastructure Web. Les administrateurs réseau doivent en savoir autant que possible sur ce type d'attaque et prendre toutes les mesures possibles pour assurer la sécurité de l'infrastructure qu'ils desservent.

Comme nous le savons, la raison de l'existence du DNS est le fait qu'une personne ne peut pas se souvenir de plusieurs adresses IP pour accéder aux sites, alors qu'elle peut facilement se souvenir des noms de sites composés de lettres et de chiffres. Le système DNS a été conçu à une époque où Internet était utilisé par des personnes amicales, ce qui a conduit à certaines des particularités de ce système à l'époque moderne.

La figure 1 illustre les principes fondamentaux du service de résolution de noms de réseau. Lorsqu'une application (telle qu'un navigateur) souhaite se connecter à un service distant, elle interroge le serveur DNS pour une adresse IP. Cette requête sous forme de paquet est envoyée sur le port UDP 53, après quoi le serveur renvoie une réponse sous forme de paquet. (Notez qu'en raison du datagramme UDP de 512 octets, la pile de protocoles utilise automatiquement TCP pour faire des demandes et recevoir des réponses.) Lorsque le client accepte la réponse, il ajoute les données à son cache local, ce qui accélérera les appels ultérieurs au même domaine. Les éléments du cache local sont automatiquement détruits après leur durée de vie (paramètre TTL (Time to Live)).

Figure 1 : Résolution de nom de domaine

Le système DNS utilise des types d'enregistrement tels que A, CNAME, SOA, MX et autres. Bien que la description de ces types d'enregistrements dépasse le cadre de cet article, il est important que les administrateurs système sachent quand et comment ils doivent être utilisés, et des recherches doivent être effectuées avant de les utiliser pour la sécurité future du système. Avant d'examiner les attaques contre le système DNS, nous devons examiner deux types de requêtes : itératives et récursives.

  • Requêtes DNS itératives: Pendant que le client envoie une requête au serveur DNS, souhaitant obtenir des informations sur le domaine, le serveur DNS peut ou non avoir des informations sur ce domaine. Si le serveur DNS n'a pas de réponse, au lieu de compléter la requête, il envoie au client le nom du serveur DNS supérieur, qui peut avoir les informations dont il a besoin. Ce processus est communément appelé référence DNS. Le client envoie une requête au serveur suivant (spécifié) ; s'il n'a pas de réponse, il envoie le nom du serveur supérieur au client. Ce processus se poursuit jusqu'à ce que le client reçoive une adresse IP ou un message d'erreur indiquant que la demande n'a pas pu être satisfaite.
  • Requêtes DNS récursives: Dans ce cas, le processus commence par le client faisant une demande de résolution de nom de domaine directement au serveur DNS. Si le serveur DNS n'a pas de réponse, il est censé faire le travail de communication avec les serveurs supérieurs au lieu de simplement fournir leurs noms au client. Encore une fois, si le serveur supérieur n'a pas les informations pour répondre à la demande, il transmet la demande au serveur supérieur. Ce processus se poursuit jusqu'à ce que la demande atteigne le serveur DNS racine, qui devrait avoir information nécessaire et une réponse est renvoyée au client, et si le nom demandé n'existe pas, un message d'erreur est renvoyé au client le long de la chaîne de serveurs. Contrairement à la méthode itérative, la requête récursive est considérée comme plus agressive dans l'obtention du résultat.

Les requêtes itératives sont généralement effectuées par les serveurs DNS, tandis que les requêtes récursives sont effectuées par les clients, car ce type de requête évite d'avoir recours à un mécanisme complexe de traitement des redirections DNS. Du point de vue de la sécurité du système, les administrateurs doivent connaître les bases du fonctionnement des systèmes DNS, car une organisation peut exploiter plusieurs serveurs DNS, synchronisant les enregistrements de zone pour maintenir la cohérence des données.

Les données DNS sont synchronisées périodiquement sans qu'il soit nécessaire de redémarrer les services système, et lorsque des modifications sont apportées sur le serveur racine, il envoie automatiquement les données modifiées aux serveurs en aval. Le temps nécessaire pour synchroniser les données est défini par le paramètre de durée de vie de chaque enregistrement. Dans le cas de serveurs DNS géographiquement dispersés, la période de synchronisation des données peut durer jusqu'à une journée, car chacun des serveurs de la chaîne utilise son propre cache pour accélérer le traitement des requêtes.

Attaques DNS

Il a été observé que administrateurs système passent beaucoup de temps à développer des systèmes de sécurité pour les applications, les serveurs et autres composants de l'infrastructure, mais ont malheureusement tendance à oublier les systèmes de sécurité pour les serveurs DNS. Considérez la figure 2, qui montre les faiblesses possibles des serveurs DNS qui les rendent vulnérables aux attaques. Le DNS est conçu de telle manière que la plupart des communications s'effectuent via UDP, il manque de sécurité intégrée et de prise en charge intégrée de l'authentification, ce qui le rend plus vulnérable aux attaques que les autres services réseau. Jetons un coup d'œil à plusieurs types d'attaques DNS les plus courantes.


Figure 2 : Faiblesses potentielles du serveur DNS

Empoisonnement du cache DNS

Cette attaque vous permet d'interférer avec le processus de résolution de noms de deux manières. Dans la première méthode, le pirate installe un logiciel malveillant (rootkit ou virus) qui doit être contrôlé par le Cache DNS sur la machine du client. Les enregistrements dans le cache DNS local sont ensuite modifiés pour pointer vers différentes adresses IP.

Par exemple, si un navigateur essaie d'accéder à un site avec l'adresse http://www.cnn.com/, au lieu de l'adresse IP CNN, il reçoit une adresse définie par le logiciel du pirate, qui mène généralement à un site situé sur un serveur appartenant au pirate informatique et contenant un logiciel malveillant ou un message offensant l'utilisateur.

La deuxième méthode, plus dangereuse, est que l'attaquant attaque le serveur DNS et modifie son cache local, de sorte que tous les serveurs utilisant ce serveur pour la résolution de noms reçoivent des adresses IP incorrectes, ce qui finira par conduire à leur violation et peut entraîner la perte ou le vol d'informations.

Dans de très rares cas, les attaquants peuvent accéder au serveur DNS racine, qui stocke les enregistrements principaux des domaines racine tels que .com, .net ou les enregistrements du système de noms de domaine de pays individuels. Les attaquants peuvent modifier les enregistrements sur ce serveur, tandis que les autres serveurs recevront automatiquement les données modifiées, ce qui peut entraîner des pannes mondiales des services et des sites de réseau commercial. Bien que de telles situations soient très rares, elles se produisent - il n'y a pas si longtemps, un grand réseau social a été perturbé par une attaque similaire.

Substitution de serveur DNS (piratage DNS)

Cette attaque est également souvent utilisée pour modifier le fonctionnement des systèmes DNS. Dans ce cas, aucune modification n'est apportée au cache DNS du client, mais des modifications sont apportées aux paramètres, après quoi toutes les demandes de résolution de nom sont adressées au serveur DNS personnel de l'attaquant. Typiquement, cette attaque ne vise pas à voler des données, mais à collecter des informations statistiques à partir de l'ordinateur du client. Toutes les demandes de résolution de noms envoyées au serveur de l'attaquant fonctionnent correctement, mais l'attaquant reçoit des informations sur les sites visités par le client.

Ces informations peuvent être utilisées ultérieurement pour les montrer au client. publicité contextuelle... Certains attaquants utilisent la redirection des utilisateurs vers leurs sites ou moteurs de recherche pour récolter des fonds grâce à la publicité ou simplement pour voler des données et utiliser des techniques d'ingénierie sociale. Dans les cas où cette fonctionnalité Le fonctionnement du DNS ne peut pas être utilisé à des fins personnelles ; il est utilisé par de nombreux sites et fournisseurs d'accès Internet bien connus pour collecter des données statistiques sur les ressources visitées par l'utilisateur.

Usurpation DNS

Cette attaque est une attaque d'écoute clandestine assistée par l'homme dans laquelle un attaquant prend le contrôle du réseau exécutant le serveur DNS et modifie le cache ARP en usurpant les paquets. Une fois que le réseau contrôle le niveau d'adresse MAC, l'attaquant calcule l'adresse IP du serveur DNS et commence à surveiller et à modifier les requêtes destinées à ce serveur.

Toutes les requêtes du réseau passent par l'ordinateur de l'attaquant et atteignent le vrai serveur DNS. Cette attaque peut avoir des conséquences graves, puisque tous les ordinateurs du réseau n'enregistreront en aucun cas le fait de l'attaque et enverront toutes les requêtes DNS à l'adresse de l'ordinateur de l'attaquant.

Existe manière alternative cette attaque, appelée usurpation d'identité DNS. Chaque requête et réponse DNS possède des identifiants uniques conçus pour séparer les requêtes envoyées au serveur DNS en même temps. Ces identifiants uniques sont souvent formés à partir de l'adresse MAC, de la date et de l'heure de la demande et sont automatiquement générés par la pile de protocoles.

L'attaquant utilise un renifleur pour capturer une ou plusieurs requêtes et réponses avec leurs identifiants correspondants, puis génère une requête avec l'identifiant correspondant et avec une adresse IP usurpée. À la suite de ces actions, une adresse IP falsifiée est enregistrée dans le cache local du système attaqué. Après cela, le système attaqué peut être endommagé en le plaçant sur le serveur avec l'adresse du malveillant Logiciel.

Reliure DNS

Cette attaque est aussi appelée « DNS pinnig » et est une attaque particulièrement complexe. Dans le processus, l'attaquant enregistre d'abord son propre nom de domaine, puis définit la valeur minimale pour la durée de vie des enregistrements, ce qui empêche les informations sur ce nom de domaine d'entrer dans le cache.

Attaques par déni de service DNS

Comme nous l'avons appris dans le premier article de la série, bombarder le port 53 avec des paquets UDP ou TCP avec des requêtes peut conduire à un déni de service du serveur. Une autre méthode pour mener à bien cette attaque est l'attaque avec un flux de paquets ping ou de segments TCP SYN. L'idée principale derrière ces actions est de maximiser l'utilisation des ressources du serveur ( unité centrale de traitement et mémoire vive) pour empêcher le serveur de répondre. Bien que les serveurs DNS soient protégés par des pare-feu, si les ports DNS UDP ne sont pas bloqués d'accès à partir de réseaux non approuvés, le système de résolution de noms de domaine devient disponible pour de ce genre attaques.

Une charge élevée fait référence au chargement du serveur DNS avec des tâches que le serveur est incapable d'effectuer. Il existe plusieurs manières de démarrer un serveur et de le rendre finalement inutilisable. Pour mettre en œuvre l'une des méthodes, un logiciel malveillant (cheval de Troie) est utilisé qui modifie le cache DNS local de nombreux nœuds. Après ces étapes, tous les nœuds avec le cache modifié commencent à envoyer des requêtes à un serveur de noms spécifique, présélectionné par les attaquants.

Chaque serveur ne peut répondre qu'à un nombre limité de demandes dans un laps de temps limité (en fonction des performances et de la configuration du processeur) et commence finalement à ajouter des demandes à la file d'attente. Plus les clients sont soumis à des modifications du cache DNS local, plus les requêtes seront mises en file d'attente et à terme le serveur sera paralysé.

Dans un autre type de cette attaque, le cracker modifie le cache Serveur dns; au lieu de remplacer les adresses IP qui correspondent aux enregistrements A ou CNAME, les noms de domaine sont modifiés. Pour compliquer les choses, la longueur de chaque nom de domaine peut aller jusqu'à plusieurs centaines ou milliers de caractères. Le processus de synchronisation des données post-modification implique l'envoi de plusieurs kilo-octets de données du serveur de noms maître aux serveurs en aval et éventuellement aux clients.

Après l'expiration de la durée de vie des enregistrements, le processus de synchronisation des données recommence et peut entraîner la défaillance d'un ou plusieurs serveurs DNS de la chaîne. Ces effets de cache simulent une attaque par déni de service distribué qui est dangereuse et difficile à contrôler.

Protéger les systèmes basés sur des logiciels libres

Dans le monde des systèmes libres, il existe une mise en œuvre du service de résolution de noms de domaine, connu dans le monde entier en raison de la vitesse de travail la plus élevée par rapport aux analogues. Cette solution la plus utilisée et la plus connue est le service Bind. Cependant, étant donné que la plupart des attaques contre les services DNS exploitent des failles de protocole, la tâche de sécuriser des systèmes libres avec des services de résolution de noms de domaine devient plus difficile.

La toute première étape de la conception d'un système de sécurité doit être de bloquer couche réseau... En plus des ports pour la maintenance du serveur, seuls les ports pour les requêtes DNS doivent rester ouverts et tous les autres ports doivent être bloqués à la fois sur le pare-feu et directement sur le serveur utilisant le système d'exploitation.

La prochaine étape importante consiste à s'assurer qu'aucun logiciel n'est installé sur le serveur autre que le service de résolution de nom de domaine. Cette précaution doit être prise en particulier lorsque vous travaillez avec un serveur de résolution de noms racine d'entreprise qui prend en charge la résolution de tous les noms de domaine internes et sert toutes les demandes de résolution de noms aux serveurs externes pour le réseau local.

Il arrive souvent qu'une vulnérabilité dans programme tiers vous permet de pénétrer le serveur de résolution de noms. Bien que les parties les plus critiques de l'infrastructure réseau soient protégées par un pare-feu, la gestion unifiée des menaces et de puissants Logiciel antivirus, il est souvent nécessaire de renforcer la protection avec le Système de Détection d'Intrusion. Il protège contre les attaques OSI de couche 2 et 3 telles que l'usurpation d'identité ARP, l'usurpation d'adresse IP, les attaques de renifleur et d'autres types d'attaques.

En plus des précautions critiques décrites ci-dessus, il existe plusieurs méthodes complexes qui doivent également être appliquées. Comme nous l'avons appris précédemment, chaque requête a son propre identifiant unique et est envoyée dans un paquet UDP. Malheureusement, en raison des caractéristiques de conception de la pile DNS décrites dans les normes RFC, ces identifiants sont facilement prévisibles, donc l'utilisation de nombres aléatoires pour générer des identifiants est une bonne idée pour aider à prévenir les attaques d'usurpation d'identité. De même, le numéro de port UDP sur lequel le serveur de résolution de noms accepte les demandes et répond est également facilement prévisible et peut être modifié en un numéro aléatoire.

À ces fins, il existe des programmes à ouverture code source, mais lors de leur utilisation, n'oubliez pas qu'ils introduisent un petit délai dans le traitement de la demande. Une technologie de sécurité relativement nouvelle et populaire est DNSSEC (DNS Security Extensions). Il protège les clients et les serveurs des attaques qui modifient le cache DNS en signant les enregistrements à l'aide du cryptage avec Clé publique... Semblable à SSL, le demandeur et le répondeur établissent une connexion de confiance l'un avec l'autre, et une fois qu'elle est établie, le processus de résolution de nom commence.

Une fois le processus de résolution de nom terminé, la session est abandonnée et la sécurité des deux parties est donc maintenue. La technologie DNSSEC est implémentée sur la plupart des serveurs des fournisseurs d'accès Internet dans le monde.

La falsification du DNS est un type d'attaque courant. Cela commence par l'exploitation des failles du protocole et conduit l'attaquant à accéder à l'infrastructure informatique ou à utiliser des ordinateurs pour mener d'autres types d'attaques, telles que le phishing. Les systèmes de logiciels libres sont également sensibles à ces attaques, les administrateurs système doivent donc comprendre et utiliser des techniques pour protéger l'infrastructure sous-jacente contre la perte ou le vol de données.

Cet article fait partie d'une série sur les cyberattaques du même auteur (Prashant Phatak). Voir les autres articles de cette série.

Usurpation DNS

système DNS ( Système de noms de domaines) convertit un nom de domaine (par exemple www.test.com) en son adresse IP (par exemple 192.168.0.1) et vice versa. Cette attaque utilise la technologie consistant à envoyer de fausses réponses aux requêtes DNS de la victime. L'attaque repose sur deux méthodes principales.

Usurpation d'identité DNS

L'en-tête du paquet de protocole DNS contient un champ d'identification pour faire correspondre les demandes et les réponses. Le but de l'usurpation d'identité DNS est d'envoyer votre réponse à une requête DNS avant qu'un véritable serveur DNS ne réponde. Pour ce faire, vous devez prédire l'ID de la demande. Localement, cela se fait en écoutant simplement le trafic réseau. Cependant, il est beaucoup plus difficile d'effectuer cette tâche à distance. Il existe différentes méthodes :

    tout vérifier valeurs disponibles champ d'identification. Pas très pratique puisque le nombre total de valeurs possibles est de 65535 (la taille du champ est de 16 bits) ;

    envoyer plusieurs centaines de requêtes DNS dans le bon ordre. Évidemment, cette méthode n'est pas très fiable ;

    Recherche d'un serveur qui génère des identifiants prévisibles (par exemple, en augmentant de 1). Ce type de vulnérabilité est inhérent à certaines versions de Bind et Systèmes Windows 9x.

Dans tous les cas, vous devez répondre avant le vrai serveur DNS. Ceci peut être réalisé, par exemple, en effectuant une attaque par déni de service contre le serveur.

Pour une attaque réussie, un attaquant doit contrôler le serveur DNS (ns.attaquant.com) faisant autorité pour la zone attaquant.com. Le serveur DNS cible (ns.cible.com) est censé générer des numéros d'identification(augmentant de 1 à chaque demande).

Une attaque nécessite quatre étapes :

En conséquence, le cache du serveur DNS cible contiendra la correspondance requise par l'attaquant et les prochains clients demandant l'adresse www.spoofed.com recevront l'adresse de la machine de l'attaquant. Il peut contenir une copie de ce site, à l'aide de laquelle un attaquant peut voler des informations confidentielles.

Modification de l'empoisonnement du cache DNS

Les serveurs DNS utilisent un cache pour stocker les résultats des requêtes précédentes pendant un certain temps. Ceci est fait pour éviter des demandes répétées constantes aux serveurs autorisés des domaines correspondants. La deuxième variante d'une attaque d'usurpation DNS consiste à modifier le cache du serveur DNS. Voici un exemple :

Nous utilisons les mêmes données que dans l'exemple précédent. Voici les points clés de cette option d'attaque :

    envoyer une requête DNS pour résoudre le nom www.attaquant.com au serveur DNS du domaine cible.com ;

    le serveur DNS cible envoie une requête de résolution du nom www.attaquant.com au serveur DNS de l'attaquant ;

L'usurpation DNS est une méthode simple d'usurpation du DNS du système, un bloc de résolution de nom DNS utilisant de fausses informations reçues d'un hôte qui n'est pas responsable de ces informations. Chaque paquet DNS a un numéro d'identification de 16 bits, le numéro d'identification fait partie du paquet DNS qui permet d'identifier chaque paquet DNS qui passe par le port 53 et la demande peut également être effectuée plusieurs fois. id est le seul moyen de distinguer les différentes demandes liées au DNS que les serveurs DNS utilisent pour déterminer quelle était la demande d'origine. Dans le cas de BIND, ce numéro est incrémenté de 1 niveau pour chaque requête. Une attaque comme TCP seq id peut être effectuée, même si c'est plus difficile. Même si BIND ne peut pas mettre en cache les informations que vous envoyez, il renverra la réponse à l'hôte d'origine. Dans le cas où ircd fera une demande PTR en réponse à l'hôte qui s'y connecte, le paquet de réponse peut être formulé pour contenir Information additionnelleà partir duquel ircd fera la mise en cache interne. Cette attaque nécessite un accès root "a" sur le serveur DNS responsable de l'in-addr. Arpa dns information block. De plus, ircd ne peut mettre en cache qu'un seul domaine. Il y a une autre attaque puisque l'id est de 16 bits. L'utilisateur pourrait itérer sur le Pour falsifier votre dns, disons sur DALNet "e, vous devez envoyer 65000 requêtes générées au serveur ns, dès que l'ordinateur reçoit une réponse à la requête, vous devrez lire le paquet, et l'identifiant correct y sera écrit. Dès que vous obtenez l'identifiant, vous devez trouver n'importe quel "paquet" outil de création"pour faire un paquet DNS. Il ne reste plus qu'à usurper les paquets DNS, les envoyer à ns. dal. net et obtenir une usurpation d'une connexion TCP.

Formulation générale du problème En lien avec la croissance rapide d'Internet, le problème de la protection ressources d'information deviennent de plus en plus importants. Si vous êtes connecté à Internet, votre système peut être attaqué. Jetons un coup d'œil au fonctionnement du DNS. L'adressage des segments externes est effectué par des adresses IP, mais les serveurs sont généralement adressés par des noms de domaine. À cet égard, un système de conversion (mapping) des noms de domaine en adresses IP a été créé - les serveurs DNS (Domain Name System). Ce système est chargé de trouver l'adresse IP d'un hôte distant par son nom. Le principe de fonctionnement du système DNS est le suivant - l'hôte distant envoie une requête spéciale à l'adresse IP du serveur DNS le plus proche, qui indique le nom du serveur dont l'adresse IP est à trouver. Après avoir reçu la requête, le serveur DNS recherche dans sa base de données le nom de domaine demandé. Si le nom est trouvé, le serveur DNS renvoie une réponse indiquant l'adresse IP recherchée. Si le serveur DNS n'a pas trouvé le nom spécifié dans la requête dans sa base de noms, alors la requête DNS est envoyée par le serveur DNS à l'un des serveurs DNS racine et la procédure décrite dans ce paragraphe est répétée jusqu'à ce que le nom soit trouvé. Considérons un schéma généralisé d'un faux serveur DNS : en attente d'une requête DNS ; ayant reçu une requête DNS, en extrayant les informations nécessaires et transmettant une fausse réponse DNS sur le réseau à l'hôte demandeur, au nom de (à partir de l'adresse IP) du vrai serveur DNS, qui indique l'adresse IP du faux DNS serveur; en cas de réception d'un paquet d'un hôte, changer son adresse IP dans l'en-tête IP du paquet en l'adresse IP du faux serveur DNS et transmettre le paquet au serveur (c'est-à-dire que le faux serveur DNS fonctionne avec le serveur sur son propre nom); en cas de réception d'un paquet du serveur, changer son adresse IP dans l'en-tête IP du paquet à l'adresse IP du faux serveur DNS et transmettre le paquet à l'hôte (pour l'hôte, le faux serveur DNS est le vrai serveur ).

Une condition préalable à ce type d'attaque est l'interception de la requête DNS. Ceci n'est possible que si l'attaquant se trouve soit dans le chemin du trafic principal, soit dans le segment du vrai serveur DNS. Le respect d'une de ces conditions pour la localisation de l'attaquant dans le réseau rend une telle attaque à distance difficile à mettre en œuvre en pratique (l'attaquant échouera très probablement à entrer dans le segment du serveur DNS, et plus encore dans l'inter -segment canal de communication). Cependant, si ces conditions sont réunies, il est possible de mener une attaque à distance cross-segment sur Internet. Le résultat de cette attaque est l'introduction d'une correspondance imposée entre l'adresse IP et nom de domaine dans le cache du serveur DNS. À la suite de l'exécution réussie d'une telle attaque, tous les utilisateurs du serveur DNS recevront des informations incorrectes sur les noms de domaine et les adresses IP. Cette attaque se caractérise par gros montant Paquets DNS avec le même nom de domaine. Cela est dû à la nécessité de sélectionner certains paramètres d'échange DNS.

Comme le montre l'analyse des méthodes de protection existantes, les attaques peuvent être contrecarrées par les méthodes suivantes. En convertissant DNS en TCP Le passage d'UDP à TCP ralentira quelque peu le système. Lors de l'utilisation de TCP, il est nécessaire de créer une connexion virtuelle, et il convient également de considérer que les systèmes d'exploitation du réseau final envoient d'abord une requête DNS en utilisant le protocole UDP, et s'ils reçoivent une réponse spéciale du serveur DNS, alors le réseau Le système d'exploitation enverra une requête DNS en utilisant TCP ... L'utilisation de TCP compliquera l'attaque d'usurpation de paquets, mais la ralentira. En analysant le trafic DNS. Vous pouvez contrer les attaques en analysant le trafic. Des paquets frauduleux avec de fausses adresses IP sont constamment envoyés au serveur DNS. Si le faux paquet reçu correspond à la demande, alors la fausse IP est acceptée comme vraie. Si le paquet n'est pas intercepté depuis le serveur, alors l'attaque est caractérisée par un grand nombre de paquets DNS portant le même nom. Cela est dû à la nécessité de sélectionner certains paramètres d'échange DNS. En analysant le trafic DNS, vous pouvez ignorer ces paquets afin d'éviter d'usurper l'adresse IP.

Conclusions Après avoir examiné le fonctionnement du serveur DNS, on peut voir que la version actuelle est plutôt sous-optimale et vulnérable aux attaques de toutes sortes. Vous pouvez contrer les attaques en analysant le trafic DNS ou en transférant le DNS d'UPD vers TCP. Aucune des deux méthodes n'offre une protection complète contre les attaques ; les deux méthodes ne font que rendre plus difficile la réalisation d'une attaque. Les deux méthodes nécessitent des ressources supplémentaires du serveur. Dans le cas du transfert du serveur DNS vers TCP, le temps d'échange entre serveurs augmente également, puisque le protocole UDP est plus rapide que le protocole TCP. Au ce moment, les modèles de contre-attaque proposés sont les plus efficaces et il est conseillé de les combiner pour obtenir la sécurité maximale possible.

Les tactiques consistant à se faire passer pour quelqu'un afin d'accéder à des données confidentielles ou à des comptes bancaires sont utilisées avec succès non seulement par les criminels dans le monde réel, mais aussi par leurs collègues dans l'espace virtuel. Cette pratique est appelée spoofing - une catégorie collective qui inclut les concepts d'usurpation d'adresse IP (envoi de messages à des ordinateurs en utilisant l'adresse IP d'une source fiable), d'usurpation d'e-mail (usurpation de l'en-tête d'e-mail pour déguiser le véritable expéditeur) et d'usurpation DNS (modification les paramètres du serveur DNS pour la redirection du nom de domaine vers l'adresse IP des attaquants).

Comment fonctionne l'usurpation d'identité ?

L'usurpation d'identité est une technique utilisée pour usurper l'identité d'une autre personne afin d'inciter un réseau ou un utilisateur spécifique à faire confiance à la source d'informations. Par exemple, les pirates d'usurpation de courrier électronique peuvent induire l'utilisateur en erreur sur l'identité de l'expéditeur et accéder à des données sensibles. Ou, ils peuvent essayer d'utiliser des techniques d'usurpation d'adresse IP et DNS pour tromper le réseau de l'utilisateur en le redirigeant vers des sites malveillants qui se font passer pour de vrais, provoquant l'infection de l'ordinateur de l'utilisateur.

Comment reconnaître l'usurpation d'identité ?

Le moyen le plus simple de reconnaître l'usurpation d'email est que la cible directe est l'utilisateur lui-même. Tout message électronique Un e-mail qui requiert des informations personnelles de la part de l'utilisateur peut être une tentative d'usurpation, en particulier s'il est invité à fournir des informations d'identification. N'oubliez pas qu'aucune agence privée ou gouvernementale de confiance ne demande des informations personnelles de cette manière. Faites attention à l'adresse de l'expéditeur pour vous assurer qu'elle est légitime. Cependant, l'utilisateur ne saura presque jamais qu'il est victime d'une usurpation d'adresse IP ou DNS, bien que l'habitude de porter une attention particulière aux détails et aux changements dans le comportement habituel du site puisse être extrêmement bénéfique. Si le site ou son comportement font l'objet du moindre doute, il est préférable d'abandonner l'opération prévue afin de protéger vos données et vos fonds.

Comment éliminer l'usurpation d'identité ?

L'usurpation consiste à masquer la véritable source et n'est donc pas facile à "éliminer". Vous ne pouvez vous protéger qu'en suivant le bon sens et en observant règles de base travailler en toute sécurité sur le réseau, par exemple, en aucun cas, sans donner vos données personnelles par e-mail. courrier, même si la réputation de l'expéditeur ne fait aucun doute.

Comment éviter l'usurpation d'identité
  • Ne répondez pas aux messages vous demandant d'envoyer vos informations personnelles ou vos informations d'identification
  • Vérifiez attentivement l'adresse de l'expéditeur
  • Faites attention aux comportements étranges ou aux différences dans les détails des sites auxquels vous êtes habitué.
Protégez-vous de l'usurpation d'identité

D'une part, la protection contre l'usurpation d'identité peut reposer sur le respect des principes de base d'une navigation sûre sur Internet. Cependant, vous pouvez faire beaucoup plus pour votre propre sécurité. Tout d'abord, vous pouvez confier la protection de votre PC et des données qui y sont stockées à une solution antivirus puissante, par exemple celle développée par Avast, qui protège de manière fiable contre les sites frauduleux et bloque les virus qui tentent de pénétrer votre réseau.

L'usurpation d'identité est une méthode d'attaque intéressante que de nombreux professionnels de la sécurité négligent. Et en vain, beaucoup en vain. À partir de cet article, vous comprendrez à quel point ce monde diversifié peut être trompeur. N'en croyez pas vos yeux !

ATTENTION

Toutes les informations sont fournies à titre informatif seulement. Ni le comité de rédaction ni l'auteur ne sont responsables des dommages éventuels causés par les matériaux de cet article.

Introduction

J'entends souvent des collègues du magasin que l'usurpation d'identité en tant que vecteur d'attaque ne devrait même pas être considérée. Cependant, je peux vous assurer que si les méthodes d'usurpation d'identité sont soigneusement réfléchies, elles peuvent être utilisées pour beaucoup, beaucoup. De plus, l'ampleur et les résultats de telles attaques sont parfois catastrophiques. Après tout, après avoir trompé vos yeux une fois, je continuerai à vous tromper. L'argument le plus important en faveur du fait que les attaques par spoof représentent un réel danger est que pas une seule personne n'en est à l'abri, y compris les professionnels. Il est à noter ici que l'usurpation en elle-même ne fait rien : pour mener une véritable attaque de hacker, il faut utiliser la post-exploitation. Dans la plupart des cas, les objectifs de la post-exploitation sont une prise de contrôle standard, une élévation des privilèges, une distribution de masse malware et, par conséquent, le vol de données personnelles et de clés numériques électroniques des systèmes bancaires avec un autre blanchiment d'argent. Dans cet article, je veux d'abord parler du type de méthodes d'usurpation d'identité en général et, deuxièmement, vous parler en détail de certaines approches modernes. Naturellement, toutes les informations vous sont fournies uniquement pour vous aider à vous défendre contre ce genre d'attaques.

Usurpation du passé et du présent

Initialement, le terme « usurpation » était utilisé comme terme de sécurité réseau, impliquant la falsification réussie de certaines données afin d'obtenir un accès non autorisé à une ressource réseau particulière. Au fil du temps, ce terme a commencé à être utilisé dans d'autres domaines de la sécurité de l'information, bien que la plupart des soi-disant spécialistes de la vieille école continuent aujourd'hui à utiliser le mot « usurpation » uniquement pour clarifier le type d'attaques réseau.

Premiers clones IDN

L'attaque par homographe IDN a été décrite pour la première fois en 2001 par Evgeny Gabrilovich et Alex Gontmakher du Technion Israel Institute of Technology. Première attaque réussie connue utilisant cette méthode, a été rendu public en 2005 lors de la conférence des hackers ShmooCon. Les pirates ont réussi à enregistrer un faux domaine paypal.com (xn--pypal-4ve.com en Punycode), où la première lettre a est cyrillique. Une publication sur Slashdot.org a attiré l'attention du public sur le problème, suivi par les navigateurs et de nombreux administrateurs de domaine haut niveauélaboré et mis en œuvre des contre-mesures.

Ainsi, lorsque le Web n'en était qu'à ses balbutiements, la plupart des efforts des programmeurs et des développeurs étaient principalement orientés vers l'optimisation des algorithmes pour le fonctionnement des protocoles réseau. La sécurité n'était pas aussi critique qu'aujourd'hui et, comme c'est souvent le cas, a reçu très peu d'attention. En conséquence, nous obtenons des erreurs banales et fondamentales dans protocoles réseau, qui continuent d'exister aujourd'hui, malgré divers types de correctifs (car aucun correctif ne peut corriger une erreur de protocole logique). Ici, des changements totaux sont nécessaires, auxquels le réseau dans la vue existante ne survivra tout simplement pas. Par exemple, dans l'article « Attaques DNS : hier, aujourd'hui, demain » (] [ #5 2012), j'ai parlé des vulnérabilités fondamentales désastreuses des systèmes DNS - l'utilisation d'UDP (qui, contrairement à TCP / IP, n'est pas sécurisé car il manque un mécanisme intégré pour empêcher l'usurpation) et le cache local.

Vecteurs

Selon les buts et objectifs, les vecteurs d'usurpation peuvent être divisés en directions locale (locale) et réseau (net). Ce sont eux que nous allons considérer dans cet article. La cible d'attaques à vecteur local est le plus souvent considérée comme l'OS lui-même, installé sur l'ordinateur de la victime, ainsi que certains types d'applications qui nécessitent souvent une analyse complémentaire selon la situation. En revanche, les objets d'attaques à vecteur réseau sont plus abstraits. Les principaux sont les composants systèmes d'information représentés par des réseaux locaux et mondiaux. Examinons les principaux types d'usurpation d'identité.

  1. Spoofing TCP / IP & UDP - Attaques de la couche de transport. En raison d'erreurs fondamentales dans la mise en œuvre du transport des protocoles TCP et UDP, les types d'attaques suivants sont possibles :
    • Usurpation d'adresse IP - l'idée est d'usurper l'adresse IP en modifiant la valeur du champ source dans le corps du paquet IP. Il est utilisé dans le but d'usurper l'adresse de l'attaquant, par exemple, afin d'appeler un paquet de réponse à l'adresse souhaitée ;
    • L'usurpation d'identité ARP est une technique d'attaque sur les réseaux Ethernet qui vous permet d'intercepter le trafic entre les hôtes. Basé sur l'utilisation du protocole ARP ;
    • Cache DNS Empoisonnement - empoisonnement du cache DNS du serveur ;
    • Spoofing NetBIOS / NBNS - basé sur les spécificités de la résolution des noms de machines locales au sein des réseaux Microsoft.
  2. Spoofing de référent - usurpation de référent.
  3. Empoisonnement des réseaux de partage de fichiers - phishing dans les réseaux de partage de fichiers.
  4. Usurpation d'identité de l'appelant - usurpation d'un numéro de téléphone qui sonne dans les réseaux VoIP
  5. Usurpation d'adresse e-mail - usurper l'adresse e-mail de l'expéditeur.
  6. Spoofing GPS - usurper les paquets du satellite afin de confondre l'appareil GPS.
  7. Usurpation de messagerie vocale - substitution de numéros messagerie vocale dans le but d'hameçonner les mots de passe de la victime.
  8. L'usurpation de SMS est une méthode d'usurpation d'identité basée sur l'usurpation des numéros de l'expéditeur d'un message SMS.

Le dernier cri en matière d'usurpation d'identité

Les techniques les plus courantes sont déjà assez anciennes et éculées. Réseau mondial littéralement grouillant d'informations sur les variations possibles de leur fonctionnement et de leur protection. Aujourd'hui, nous allons examiner plusieurs des dernières techniques d'usurpation d'identité qui prennent de l'ampleur, des vecteurs locaux aux vecteurs réseau. Donc, tout est en ordre.

L'usurpation de certificat scandaleux de Flamer et Microsoft

Avis de sécurité Microsoft (2718704) - Les certificats numériques non autorisés pourraient permettre l'usurpation d'identité. Une chose assez intéressante a été trouvée dans les copies du célèbre bot espion Flamer : à la suite de l'ingénierie inverse des composants de ce malware, un morceau de code a été trouvé responsable de la réalisation d'attaques d'usurpation d'identité telles que le phishing. Simulant la fourniture de certificats originaux de grandes entreprises, le bot a mené une attaque MITM, dont le but était d'intercepter les données personnelles des utilisateurs réseau d'entreprise avec envoi ultérieur au serveur du développeur. Cet incident d'usurpation d'identité a reçu l'avis de sécurité n° 2718704 avec une cote de gravité élevée.

Usurpation du système d'exploitation

1. Spoofing d'extension - usurpation d'extension de fichier

Une technique qui a vu le jour grâce aux réalisations d'un chercheur chinois dans le domaine de sécurité de l'information Zhitao Zhou. L'essence de cette technique est d'utiliser le caractère de contrôle 0x202E (RLO) dans le nom de fichier, ce qui vous permet de changer l'ordre des caractères lors de l'affichage du nom de fichier dans Windows Explorer(explorer.exe). Voici un exemple d'utilisation de cette technique simple :

Super musique téléchargée avant 15h.SCR

Le fichier 3 pm.SCR n'est rien de plus qu'un fichier exécutable qui implémente certaines fonctions (programme cheval de Troie. - NDLR). Si au début du nom de fichier "3 pm.SRC" vous insérez le caractère de contrôle 0x202E (voir Fig. 1), alors l'ordre des caractères est inversé et le nom du fichier est affiché dans l'explorateur Windows déjà autrement:

Super musique téléchargée par RCS.mp3

Pour changer l'icône du fichier, utilisez n'importe quel éditeur de ressources (Restorator, Hacker de ressources). Cette technique est conçue pour un utilisateur imprudent qui peut confondre ce fichier avec une chanson et l'ouvrir d'un double clic, lançant ainsi un programme malveillant. Malheureusement, cette technique ne fonctionnera pas dans les programmes analogiques Explorer prenant en charge Unicode. Vous trouverez ci-dessous le code C # qui modifie le nom du fichier en ajoutant le caractère de contrôle 0x202E :

Public Sub U_202E (fichier As String, extension As String) Dim d As Integer = file.Length - 4 Dim u As Char = ChrW (823) Dim t As Char () = extension.ToCharArray () Array.Reverse (t) Dim dest As String = file.Substring (0, d) & u & New String (t) & file.Substring (d) System.IO.File.Move (file, dest) End Sub

2. Usurpation de nom de fichier - clonage du nom de fichier

Cette technique a été présentée par le chercheur japonais Yosuke Hasegawa lors de la conférence Security-Momiji. Il est basé sur l'utilisation de caractères de longueur nulle (ZERO WIDTH Characters), qui n'affectent en rien l'affichage du nom du fichier (voir Fig. 2). Vous trouverez ci-dessous tous les symboles de cette catégorie :

U + 200B (ZERO LARGEUR ESPACE) - U + 200C (ZERO LARGEUR NON JOINATEUR) - U + 200D (ZERO LARGEUR JOINNER) - U + FEFF (ZERO LARGEUR ESPACE SANS RUPTURE) - U + 202A (GAUCHE A DROITE INTÉGRATION)

De plus, il est possible d'utiliser l'encodage UTF pour falsifier les noms de fichiers existants. Cette technique est souvent utilisée par les logiciels malveillants modernes. Je suis tombé sur des échantillons de logiciels malveillants qui ont mené ce type d'attaques. Par exemple, le malware TrojanDropper : Win32 / Vundo.L (utilisé pour hameçonner les sites vk.com, vkontakte.ru, * odnoklassniki.ru) utilise exactement cette technique.


Le fichier % SystemRoot% \ system32 \ drivers \ etc \ hosts a été copié dans le fichier de clonage des hôtes avec le caractère UTF "o" (0x043E), après quoi l'original le fichier hosts attribué fichier caché et son contenu ont été écrasés par l'ajout des entrées suivantes :

92.38.66.111 odnoklassniki.ru 92.38.66.111 vk.com 92.38.66.111 vkontakte.ru


Usurpation de navigateurs Web

1. Barre d'état / Spoof de lien

Le principe de cette attaque est de changer dynamiquement l'adresse d'un lien hypertexte ( ). Par exemple, la victime passe le curseur de la souris sur un lien, après quoi l'adresse à laquelle ce lien mène est affichée dans la barre d'état du navigateur. Après avoir cliqué sur le lien, le code JavaScript délicat remplace dynamiquement l'adresse de référence. Un de mes amis chercheur, connu sous le surnom de iamjuza, était engagé dans l'étude et le développement de PoC pour utiliser cette technique dans la pratique, mais ses développements n'étaient pas universels et ne fonctionnaient que sur des navigateurs spécifiques. Dans une étude similaire, j'ai obtenu de meilleurs résultats en étant capable de rendre cette technique d'usurpation universellement exploitable sur tous les moteurs de navigateur. La preuve de concept est publiée sur 1337day.com. L'implémentation technique ressemble à ceci :

Méthode this.href = " :
Méthode location.replace ("") :

Methon location.assign ("") :

Méthode window.location.assign ("") :

Méthode window.location.replace ("") :

Méthode window.location.href = "":

Le code HTML donné remplace dynamiquement l'adresse spécifiée ( www.google.com) à l'adresse du site] [() en utilisant diverses méthodes basées sur l'événement JavaScript onclick = "".

2. URL Bar Spoofing - substitution d'un lien dans la barre d'adresse du navigateur

À première vue, cela semble impossible, mais croyez-moi, ce n'est qu'une tâche pour développer l'ingéniosité. Considérez la vulnérabilité CVE-2011-1452, qui va usurper la barre d'adresse dans l'invincible Google Chrome jusqu'à la version 11.0.696.57 :

Cliquez moi

  • une nouvelle fenêtre s'ouvre (spoofing.php) avec l'affectation à la variable "a" ;
  • après 4500 microsecondes (4,5 secondes) (la fonction window.setTimeout), l'historique des transitions est renvoyé, dont la fonction a.history.back() affectée à la variable "a" est responsable ;
  • après 5000 microsecondes, la variable "a" est définie sur un nouvel emplacement pour spoofing.php, situé dans le même répertoire.

Ainsi, la barre d'adresse est réécrite vers la nouvelle URL dans le contexte de la première page du "parent".

La prochaine vulnérabilité CVE-2010-4045 (Opera<= 10.62):

Preuve de concept - OPERA High Location Bar Spoofing




Lorsque vous cliquez sur le bouton, qui est représenté par une image (), la page est automatiquement rechargée (location.reload()), alors qu'il est possible de réécrire la barre d'adresse dans le contexte de l'onglet en cours.

Certains sites de paiement/banque inclus ici.
  1. démarrer le poc cliquez sur le bouton pour exécuter le poc.


"); myWindow.focus(); return false; }




Lorsque vous cliquez sur le bouton Demo, la variable et l'objet myWindow reçoivent la valeur d'une fonction qui ouvre apple.com avec des dimensions de 200x100, ce qui correspond à la zone d'extension du navigateur Safari mobile. Ensuite, myWindow injecte du code HTML supplémentaire (JavaScript / VB / etc) à l'aide de la fonction document.write(). La dernière étape consiste à amener le focus du navigateur Safari sur l'objet myWindow.

Il n'y a rien de compliqué à usurper l'adresse dans la barre d'adresse du navigateur, la seule chose est que vous devez utiliser votre ingéniosité correctement là où cela est nécessaire ;-).

3. Usurpation de code source - falsification du contenu de la page et du code source

L'exploitation est réalisée grâce au caractère de contrôle UTF-8 déjà connu 0x202E (RLO). La méthode a été découverte par l'étudiant de Virginia Tech, John Kurlak. Pour démontrer la technique, il a utilisé la fonction JavaScript History.replaceState(), qui permet de modifier dynamiquement l'adresse de la page dans la barre d'adresse. Preuve de concept (source.html) :

La source

Pouvez-vous afficher ma source depuis Chrome ?



Contenu du fichier source.html [% 20% 2E] Vous pouvez, mais pas si facilement...

L'essence de cette méthode est de remplacer le contenu du code source de la page en utilisant l'astuce avec le caractère de contrôle RLO à la fin du fichier (voir Figure 4). Lorsque nous essayons de visualiser le code source de la page source.html, nous obtenons le contenu du deuxième fichier source.html% 20% 2E. Une méthode d'usurpation d'identité assez intéressante et exotique, avec un profit très étrange, comme vous pourriez le penser à première vue. Ce qui est le plus intéressant, c'est que ce script permet de "cacher" le code source de la page, en le masquant non seulement dans le contexte de l'adresse, mais aussi dans le contexte du nom d'hôte.


4. Clones IDN - une technique basée sur la similarité externe d'affichage des noms de domaine

Rien d'innovant ici, la technique est pratiquée depuis l'origine du système DNS, mais c'est l'utilisation des IDN (Internationalized Domain Names) qui a permis de créer des « clones » de noms de domaine quasiment indiscernables. La mise en œuvre technique de l'attaque de phishing est la suivante :

  1. Un nom de domaine est enregistré dont l'orthographe est la plus proche possible du domaine attaqué. Habituellement, la similitude des lettres avec les chiffres dans certaines polices est utilisée (lettre l et chiffre 1, lettre O et chiffre 0), similitude des combinaisons de lettres (rn et m, cl et d).
  2. Un faux du site d'origine est créé, qui est placé sur le "clone" créé.
  3. Des liens vers un domaine de phishing se propagent (courrier indésirable, spam sur les réseaux sociaux, via des services populaires tels que Twitter, utilisation d'iframes, de portes).
  4. Cela s'avère être un profit :).

La principale différence entre cette attaque, basée sur la similitude des noms de domaine, par rapport aux autres types de phishing utilisant des pages web factices, est qu'elle ne nécessite pas d'interférence avec les protocoles réseau : d'un point de vue technique, un domaine factice est légitime.

Des méthodes de protection contre les attaques IDN ont commencé à être mises en œuvre à la mi-2005, lorsque des accords ont été adoptés par les bureaux d'enregistrement de noms de domaine pour restreindre la capacité d'enregistrer n'importe quel domaine IDN. Par exemple, le domaine international .org limite le nombre de caractères autorisés à l'un ou l'autre sous-ensemble de l'alphabet latin étendu. Mais grâce à certains bureaux d'enregistrement sans scrupules et à l'ingéniosité, il existe encore aujourd'hui toutes les possibilités d'enregistrer un domaine de phishing.

La défense la plus radicale contre la menace homographique serait d'éliminer complètement le décodage IDN à l'écran. Ensuite, le nom factice commencerait toujours par "xn" et se terminerait par une séquence de caractères illisible, ce qui le distinguerait nettement de l'original. Malheureusement, cette option annule presque tous les avantages des IDN.

La principale protection contre l'usurpation d'IDN côté client est la barre d'état du navigateur. Lorsque vous survolez le lien dans la barre d'état, l'équivalent punycode du domaine IDN s'affiche, ce qui suggère immédiatement un éventuel phishing. Mais ce n'est pas une panacée, vous pouvez vous tromper si vous faites preuve d'ingéniosité ;-). Voir mon exploit universel pour tous les moteurs de navigateur.

Conclusion

L'usurpation d'identité a toujours été et sera toujours demandée, car elle est la base et la garantie d'attaques réussies dans de nombreuses directions. J'espère que vous avez tiré les bonnes conclusions. Soyez attentif à l'immensité du Web.





Vous avez aimé l'article ? Partagez-le