69 votes

Les adresses IP sont-elles "triviales à falsifier" ?

Je lisais certaines des notes sur Le nouveau service DNS public de Google :

J'ai remarqué ce paragraphe dans la section sur la sécurité :

Jusqu'à ce qu'une solution standard à l'échelle du système pour les vulnérabilités du DNS soit universellement mise en œuvre, comme le protocole DNSSEC2, les résolveurs DNS ouverts doivent prendre indépendamment certaines mesures pour se protéger des menaces connues. De nombreuses techniques ont été proposées ; voir IETF RFC 4542 : Mesures pour rendre le DNS plus résistant aux réponses falsifiées. pour un aperçu de la plupart d'entre eux. Dans Google Public DNS, nous avons mis en œuvre, et nous recommandons, les approches suivantes :

  • Surdimensionnement des ressources de la machine pour se protéger contre les attaques DoS directes sur les résolveurs eux-mêmes. Comme il est facile pour les attaquants de falsifier les adresses IP, il est impossible de bloquer les requêtes sur la base de l'adresse IP ou du sous-réseau ; le seul moyen efficace de faire face à de telles attaques est d'absorber simplement la charge.

C'est un constat déprimant ; même sur Stack Overflow / Server Fault / Super User, nous utilisons fréquemment les adresses IP comme base pour les interdictions et les blocages de toutes sortes.

Penser qu'un attaquant "talentueux" pourrait trivialement utiliser l'adresse IP qu'il veut, et synthétiser autant de fausses adresses IP uniques qu'il veut, est vraiment effrayant !

Donc ma ou mes questions :

  • Est-ce que c'est vraiment que facile pour un attaquant de falsifier une adresse IP dans la nature ?
  • Dans l'affirmative, quelles sont les mesures d'atténuation possibles ?

10voto

Jim Points 53

L'usurpation d'adresse IP continuera parce que les FAI sont paresseux.

Mon FAI sait parfaitement que je suis sur une adresse spécifique, ou du moins sur le sous-réseau sur lequel je suis. Pourtant, je peux utiliser n'importe quelle adresse source. Pourquoi cela ? Tout simplement à cause du coût.

Si je falsifie quelques adresses ici et là, cela ne coûte rien à mon FAI. Si chaque utilisateur de mon FAI falsifiait un paquet entre 1h00 et 2h00, ce serait toujours à peine un spot sur le radar. Cependant, lorsqu'un botnet envoie de nombreux paquets falsifiés à partir de nombreux hôtes sur de nombreux FAI, la machine ou le réseau cible tombe.

La réalité financière est que, à moins que vous ne soyez la personne attaquée, l'usurpation d'identité ne coûte rien. La mise en place d'un filtrage à proximité du client coûte de l'argent, et celui qui dépense cet argent n'en retire que très peu de bénéfices, si ce n'est la certitude d'être un bon citoyen du réseau.

UDP et ICMP sont les plus faciles à falsifier, mais TCP est également possible. Cela nécessite un système d'exploitation distant non sécurisé, qui utilise des numéros de séquence prévisibles pour l'exploitation. Parfois, ce sont les machines d'équilibrage de charge qui modifient les numéros de séquence et les rendent prévisibles. Donc, TCP est possible, mais plus difficile.

L'anti-spoofing DNS se concentre principalement sur l'aspect sécurité en empêchant quelqu'un de soumettre une fausse réponse à un résolveur récursif. Les aspects d'inondation de l'UDP ne sont pas spécifiques au DNS, si ce n'est qu'une petite requête unique (par exemple, pour '.') provoquera une réponse plutôt importante. Il s'agit donc d'un bon vecteur d'amplification. Il existe de nombreux autres protocoles UDP qui fonctionnent, mais le DNS est utilisé partout, et il est facile de trouver des machines à utiliser pour amplifier les attaques.

Le DNSSEC aggrave encore la situation, avec des paquets UDP dont la taille peut atteindre 4k.

6voto

Jeffrey Cohen Points 191

Les adresses IP sont faciles à falsifier en ce qui concerne les attaques (D)DOS basées sur le DNS, car il s'agit généralement de paquets UDP "fire-and-forget". Pour le trafic HTTP, ce n'est pas le cas. Vous devez donc soit vous trouver sur le même réseau local que le serveur Web (ce qui est tout à fait possible, bien sûr, selon l'endroit où votre site est hébergé), soit contrôler les routeurs intermédiaires.

6voto

TomDestry Points 559

Vous pouvez envoyer une lettre à n'importe qui, et si vous ne mettez pas d'adresse de retour sur l'enveloppe (ou si vous mettez la mauvaise), ils peuvent engager tous les filtreurs de courrier indésirable du monde et ne pas filtrer votre message sans l'ouvrir (le traiter).

Cependant, si l'expéditeur veut une réponse, l'adresse de retour doit être correcte, ou alors il faut un mécanisme de couche d'application pour obtenir l'adresse correcte. Je peux donc vous faire croire que vous ouvrez une lettre de Nana, mais même si je vous trompe avec le contenu de la lettre, vous n'allez pas envoyer à Nana un chèque libellé à l'ordre de CASH à une adresse au Nigeria (à moins que Nana ne soit nigériane). Ainsi, le défi/réponse est une défense efficace tant que vous n'êtes pas aussi l'homme du milieu.

5voto

pdeva Points 145

Je peux définir l'adresse IP source que je veux dans un datagramme.
Quant à savoir si mon fournisseur d'accès laisserait un tel paquet se répandre dans la nature, c'est une autre question.

5voto

Joshua Points 593

Bien qu'il s'agisse d'une réalité à laquelle il faut faire face, le problème sous-jacent n'est pas technique : Des personnes mal intentionnées qui essaient de faire des choses malveillantes. La véritable solution doit donc être également non technique.

Je pense que ce que Stackoverflow a fait est EXACTEMENT la bonne solution pour gérer la deuxième ligne de défense : Les techniques pour restreindre les utilisateurs potentiels de spam à travers les différentes façons de limiter leurs capacités à interagir avec la plate-forme avant d'atteindre un certain niveau de "crédibilité".

Non seulement ces techniques contribuent à améliorer la qualité générale du site, mais elles incitent les utilisateurs à s'impliquer davantage et à fournir des réponses plus crédibles et plus fiables.

D'un point de vue technique, la meilleure chose à faire serait alors de faire comme Google le suggère : il suffit d'être efficace dans l'absorption / le traitement de la charge supplémentaire.

Bon travail et continuez à vous améliorer !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X