Risques et sécurité de DNS

Le DNS est le Domain Name System. C'est un protocole de UDP et de TCP-based qui écoute sur le port 53. Des raccordements de TCP sont généralement employés pour des transferts de zone.

Le DNS assortit des adresses d'IP aux hostnames (et des hostnames aux adresses d'IP). Un serveur de DNS est responsable, ou bien fondé, pour une partie donnée du Domain Name System (par exemple, mybitofthenet.com).

Les clients font des demandes des serveurs de DNS quand ils veulent communiquer avec les systèmes pour lesquels ils prennent seulement le hostname entièrement qualifié (par exemple, myserver.mybitofthenet.com).

Le DNS est une partie critique de l'infrastructure de réseau. Son échec—si par l'incompétence ou le démenti du service administrative—peut avoir des conséquences principales.

Risques de DNS

  

Le protocole de DNS a des problèmes de sécurité. Une description détaillée de DNS et ses faiblesses de protocole peuvent être trouvées à http://www.geocities.com/compsec101/papers/dnssec/dnssec.html. Le DNS est défini dans un certain nombre de RFCs—voient http://www.dns.net/dnsrd/rfc/ pour les détails complets.

Dans la mesure où le degré de sécurité de centre serveur d'UNIX disparaît, le logiciel le plus largement répandu de serveur de DNS est GRIPPAGE (démon de nom Internet de Berkeley), développé par le consortium de logiciel d'Internet (ISC). Par défaut, le démon de GRIPPAGE "a appelé" des courses avec des privilèges de racine et—c'est important—il ne les jette pas de manière permanente loin après avoir lié pour mettre en communication 53. Par conséquent, les vulnérabilités dans le GRIPPAGE peuvent avoir comme conséquence un compromis complet de système.

Regardons l'expérience professionnelle du GRIPPAGE.

La version 8.2.3 a été libérée en janvier 2001 pour fixer quatre vulnérabilités de sécurité découvertes par des laboratoires de COVERT (sécurité de PGP) et Claudio Musmarra. Deux débordements d'amortisseur permettent aux attaquants à distance de courir n'importe quel code de leur choix. Une erreur de validation d'entrée permet à des attaquants de courir n'importe quel code, et une fuite de l'information permet à des données dans la pile d'être regardées par un attaquant. Ne pourrait pas sembler si mauvais. Après tout, ce n'est pas un compromis direct de racine dans-attendant, mais il aide réellement le développement des exploits contre un emplacement particulier. La pile tient des variables locales, des variables d'environnement, et des adresses de processus importantes. En accédant à ces derniers, un débordement d'amortisseur peut être écrit sans épreuve et erreur. C'est significatif parce que les débordements d'amortisseur sont souvent une attaque monocoup—si vous lui obtenez même légèrement faux, vous sont susceptibles de se briser un service par scribbling partout des données de pile plus tard ont compté au moment par le programme.

Le GRIPPAGE a eu 12 bulletins de renseignements de sécurité de CERT en juste quatre ans—à peine une approbation de sécurité de GRIPPAGE !

Un facteur important est la complexité du code de GRIPPAGE. Les programmeurs expérimentés de C commentent qu'il est incroyablement difficile comprendre le code de GRIPPAGE. Quand les programmeurs accomplis luttent pour comprendre ce qui continue, vous pouvez être sûr des problèmes de sécurité. Le code complexe est dur pour apurer—le travail de conceptions modulaires mieux, dans lequel les petits, discrets programmes (il est à dire plus facile apurer que) effectuent des opérations privilégiées. Naturellement, les lotisseurs d'ISC ne se sont pas mis à écrire quelque chose que même ils trouveraient dur pour maintenir—la difficulté est un résultat de dispositif enflent. Peut-être qui est un de l'ISC de la raison a récemment récrit les majeures parties de GRIPPAGE.

En janvier 2001, l'ISC a annoncé le dégagement d'une nouvelle version importante de la version—9.1.0 de GRIPPAGE. Cette version inclut le soutien de DNSSEC—une prolongation de protocole qui surmonte une partie de la faiblesse de conception de sécurité dans le protocole des actions DNS (DNSSEC est défini dans RFC 2535.) Notamment, le code n'était pas modularized, tellement maintenant nous ont le nouveau code il est encore difficile d'apurer que. Beaucoup d'emplacements sont susceptibles de continuer de courir le GRIPPAGE 8, au moins à court terme.

Il s'avère des attaquants comme la rupture en serveurs de GRIPPAGE, tellement de sorte que les taux de SANS unpatched des serveurs de GRIPPAGE comme problème de sécurité du numéro un sur l'Internet. Les exploits pour le GRIPPAGE abondent. Les serveurs de DNS sont les cibles savoureuses parce que tellement de l'Internet compte au moment alors. Avec la commande d'un serveur de GRIPPAGE, vous pouvez faire des choses véritablement méchantes, par exemple :

· Privez un emplacement du trafic en changeant les tracés d'IP/name en adresse inexistante. Un plus mauvais distillateur, vous pouvez réorienter le trafic à un emplacement pornographique ou de concurrent. Le revenu perdu et la mauvaise pression n'aident pas le cours des actions des actions d'une compagnie.

· Copiez un emplacement d'e-affaires, modifiez le serveur du DNS de l'emplacement pour tracer votre emplacement d'imposter, et rassemblez les détails de carte de degré de solvabilité, le compte d'utilisateur, et les détails de mot de passe.

· Exploitez les rapports de confiance entre les systèmes en traçant un IP d'un côté du rapport de confiance avec votre machine.

· Compromettez un des nameservers de racine.

Celui-là dernier s'inquiète en particulier. Les nameservers de racine sont le point de départ pour adresser sur l'Internet. Il y a seulement 13 nameservers de racine au total (en raison des limitations de protocole). Succédez les nameservers de racine, et vous pouvez avoir l'Internet dans votre main. Comme aparté, le choix de la plateforme et les logiciels d'exploitation pour ces machines suit le principe de la sécurité par la diversité. Pour citer d'un rapport de Y2K sur l'emplacement d'ICANN's (Internet Corporation pour des noms et des nombres assignés) :

Les serveurs de racine eux-mêmes tous emploient une certaine variante du logiciel d'exploitation d'UNIX, toutefois la base de matériel et les variantes de vendors'UNIX sont relativement diverses : des 13 serveurs de racine, il y a 7 plateformes de matériel différentes courant 8 versions différentes de logiciel d'exploitation de 5 fournisseurs différents.

C'est une idée saine—utilisée en nature par Mother Nature elle-même. Naturellement, elle décompose si vous n'avez pas les administrateurs suffisamment divers en main pour contrôler solidement huit logiciels d'exploitation différents.

Hormis des pailles de sécurité, le misconfiguration est commun. Quand classant vers le haut de votre emplacement, les attaquants demanderont des transferts de zone à partir de votre serveur de DNS. C'est fondamentalement une décharge de toute l'information concernant une zone particulière de DNS. C'est aussi bon comme carte de réseau ! Vous ne voulez pas ceci.

Une autre configuration est des nombres de version (encore). Pour découvrir la version du GRIPPAGE que vous courez, un client peut questionner votre serveur de DNS, et votre serveur leur indiquera. Ce n'est pas aussi bon.

L'autre risque principal faisant face au protocole de DNS et l'exécution de GRIPPAGE sont démenti des attaques vice de ser. Des vulnérabilités nombreuses de DOS ont été trouvées dans le GRIPPAGE. Neutralisant le DNS des serveurs empêche des questions de DNS d'être résolue, arrêtant de ce fait des clients comptant sur les services de résolution de DNS (c'est-à-dire, presque chacun) dans leurs voies.

Fixation du DNS

Les contre-mesures évidents doit trouver une alternative au GRIPPAGE fonctionnant. Ici vos choix sont limités—nous vivent dans une monoculture de GRIPPAGE. Vous pourriez commuter à l'exécution du DNS de Microsoft (qui n'est pas à dire une recommandation), ou recherchez un serveur de DNS où la sécurité de l'exécution était un but primaire.

La seule alternative viable que je me rends compte de est le paquet de djbdns par Daniel Bernstein. Ceci a eu l'utilisation suffisante de production à être un compétiteur sérieux À LIER. Il a été conçu et écrit avec la sécurité à l'esprit par un programmeur éprouvé en code bloqué d'écriture. Vous pouvez découvrir plus ici : http://cr.yp.to/djbdns.html.

Si vous collez avec le GRIPPAGE, il y a quelques choses que vous pouvez faire. Un sommaire utile des issues et des contre-mesures est fourni par http://www.acmebw.com/papers/securing.pdf. Vous devriez prenez au moins en considération sérieuse le suivant

· Ne courez pas le GRIPPAGE comme racine. Au lieu de cela, créez un nouvel utilisateur et le groupez. Indiquez ces derniers comme commande-ligne options quand vous exécutez le GRIPPAGE.

· Employez la commande de chroot de courir le GRIPPAGE de sorte qu'il ait limité l'accès au filesystem. Le programme de chroot vous permet d'indiquer l'annuaire qu'un processus traitera en tant que son répertoire racine (imposé par le grain). Pour faire ceci cependant, vous devez créer une mini reproduction de votre logiciel d'exploitation parce que le GRIPPAGE ne pourra plus voir les bibliothèques système et les dossiers importants de configuration. De pleines instructions peuvent être trouvées ici : http://www.etherboy.com/dns/chrootdns.html.

· Le nombre de version est hard-coded dans le code de GRIPPAGE, ainsi si vous avez le code source, vous pouvez simplement l'enlever ou le remplacer avec une version fausse ou un message idiot (ayez l'amusement). Autrement, vous devez pièce rapportée binaire la bonne—chance exécutable ! Des versions récentes du GRIPPAGE peuvent être configurées pour permettre des demandes de version des adresses spécifiques seulement.

· Configurez le GRIPPAGE rejettent le transfert de zone excepté aux serveurs autorisés (tels que des esclaves de DNS).

c'est un article supplémentaire par Andreas Schmidt


Déni : Notre site Web n'est pas responsable de l'information contenue par cet article. Cet article reflète nullement les vues, les avis, les pensées ou la croyance du personnel d'annuaire d'articles.

Notification de traduction : L'article "risques et sécurité de DNS" a été traduit en utilisant un service de traduction automatisé. Nous faisons des excuses sincèrement pour toutes les erreurs de traduction qui se sont produites. Merci de l'arrangement.

Online: 431 users browsing the articles directory