Nmap 4 : nouvelle version majeure et interview de son principal auteur

Posté par (page perso) . Modéré par Florent Zara.
Tags :
0
1
fév.
2006
Sécurité
Une nouvelle version majeure de nmap est disponible depuis ce lundi 30 janvier. Securityfocus en a profité pour interviewer son principal auteur, Fyodor.

nmap [1] est un outil distribué sous licence GPL permettant d'explorer et d'auditer la sécurité d'un réseau.

La dernière version importante était la 3.50, et le nombre de modifications/ajouts/corrections apportés depuis donne une taille très impressionnante au changelog [2]. À travers l'interview [3] et/ou le changelog, on apprend que depuis la version 3.5, nmap a bénéficié de l'aide de plus d'une centaine de contributeurs important (on se souvient que Nessus est passé à une licence fermée entre autre à cause de l'absence de contribution). C'est d'ailleurs cette importante communauté qui motive l'auteur à continuer.

Cette nouvelle version fonctionne également sous Windows et dispose d'une nouvelle documentation à la fois mieux organisée et plus accessible, aussi bien pour le manuel d'utilisation [4] que pour celle de compilation et installation [5]. Nmap peut maintenant se compiler également avec Visual C++ 2005 Express, fournit gratuitement par Microsoft.

Le code source est passé de CVS à Subversion. Toutefois, aucun dépôt n'est accessible au grand public pour des raisons de sécurité (?).

Pour la liste complète des changements/ajouts, je vous invite à aller voir le changelog. Toutefois, on peut citer :
  • La possibilité d'effectuer des scans ARP. Ceci permet un gain de vitesse considérable car contrairement au scan IP, l'OS n'a plus besoin de déterminer quelle est l'adresse MAC des paquets à traiter ;
  • La possibilité de spécifier l'adresse MAC utilisée dans les trames ethernet envoyées ;
  • Réécriture du "moteur" de scan en utilisant de nombreux nouveaux algorithmes. Le réultat permet un gain considérable en vitesse pour divers types de scans (jusqu'à 100 fois plus rapide dans certains cas !), mais aussi une diminution de la mémoire utilisée. Ce fut aussi l'occasion de supprimer une fuite mémoire de quelques centaines d'octets par hôte scanné. Insensible lors d'une utilisation "classique", cela devenait gênant lors du scan de millions de machines !
  • La base de donnée contient maintenant plus de 3100 signatures correspondant à 381 services différents. De même, presque 1700 empreintes de systèmes d'exploitation sont aujourd'hui répertoriées, avec les ajouts, entre autre, de Sony AIBO, Mac OS X 10.4, Windows Server 2003 SP1, ou de multiples firewalls, imprimantes et autres périphériques de VoIP. Une bonne partie du travail sur la détection d'OS a été réalisée par Zhao Lei lors du Summer Of Code de Google ;
  • Ajout d'un mode interactif. Lors d'un scan, certaines touches ont maintenant un effet : v pour rendre l'affichage plus verbeux, Entr. pour avoir une estimation du temps restant, etc ;
  • Mise à jour de NmapFE (une interface graphique pour nmap) afin d'utiliser GTK+2 au lieu de GTK+1;
  • Et encore plein d'autres choses : près de 230 améliorations depuis la version 3.50 !
  • # amen

    Posté par . Évalué à 2.

    Voila un bel exemple de la puissance du libre :-)
    Ca promet encore de belles heures d'utilisation et de frayeurs ( ou pas ).

    Qu'il soit plus rapide n'est pas un mal. Allez hop configure make et toussah.

    // Le réultat permet un gain considérable s/réultat/résultat/ //
    • [^] # Re: amen

      Posté par . Évalué à -2.

      Voila un bel exemple de la puissance du libre

      Bel exemple, en effet. Fyodor a une interprétation à géométrie variable de la GPL, et revend les bases de signatures collectées par de nombreux contributeurs, ou le code, qui ne lui appartient pas à 100%.
      Qu'il soit plus rapide n'est pas un mal.

      C'est malheureusement faux, tout comme la pub sur la consommation mémoire réduite.
      Fyodor devrait passer plus de temps à coder et moins de temps à raconter des conneries sur Nessus.
  • # GPL ?

    Posté par . Évalué à 3.

    Je comprends pas très bien cette phrase :
    Le code source est passé de CVS à Subversion. Toutefois, aucun dépôt n'est accessible au grand public pour des raisons de sécurité (?).


    Ca veut dire que si je ne suis pas contributeur, je n'ai pas accès aux sources ?
    • [^] # Re: GPL ?

      Posté par . Évalué à 9.

      Tu as acces aux sources mais pas au CVS.
      • [^] # Re: GPL ?

        Posté par . Évalué à 8.

        à subversion en fait ;)
    • [^] # Re: GPL ?

      Posté par (page perso) . Évalué à 10.

      Tu peux télécharger les sources. Mais tu n'a pas accés au dépot subversion. La GPL n'oblige pas de donner accés au dépot des sources hein ;-), la GPL donne juste l'obligation de livrer les sources à ceux qu'ils le demandent, des versions sorties. Note bien la différence entre "livrer" et "acceder" ;-)



      Bien sûr, si tu deviens un contributeur régulier, je suppose qu'ils te donneront accés au dépot. Mais faut montrer "patte" blanche à mon avis, vu le caractère sensible de ce logiciel.
      • [^] # Re: GPL ?

        Posté par (page perso) . Évalué à 5.

        Reste que la phrase n'est pas très compréhensible. En quoi l'absence accès en lecture seule au dépôt peut-il être une mesure de sécurité ?
        • [^] # Re: GPL ?

          Posté par (page perso) . Évalué à 5.

          pas d'accés public : moins de "surface" visible pour les éventuels pirates, pas besoin de divulguer le serveur subversion, donc moins de tentatives potentielles pour tenter de profiter de failles, de corrompre les sources etc..

          Enfin j'imagine.. Et puis bon, vu la nature du logiciel, je suppose que les développeurs de nmap sont un tantinet parano ;-)

          Le mieux est encore de leur demander, pourquoi.
      • [^] # Re: GPL ?

        Posté par (page perso) . Évalué à 10.

        la GPL donne juste l'obligation de livrer les sources à ceux qu'ils le demandent, des versions sorties

        Hem... perdu :)

        pour pinailler :
        La GPL donne juste l'obligation de livrer les sources à ceux qui le demande ET à qui on a donné/vendu le logiciel correspondant aux-dites sources.
    • [^] # Re: GPL ?

      Posté par (page perso) . Évalué à 3.

      Le code source est dispo à http://www.insecure.org/nmap/download.html

      Ca n'explique pas l'absence d'accès au dépôt SVN.
      • [^] # Re: GPL ?

        Posté par . Évalué à 1.

        AMTTHA, l'explication est simple : accéder au dépôt, c'est avoir une chance de plus d'injecter du code malicieux dedans. Il me paraît sain que les gestionnaires de nmap prennent des mesures pour éviter ça, et louable qu'ils le fassent sans déroger à la GPL.
        • [^] # Re: GPL ?

          Posté par (page perso) . Évalué à 10.

          Accéder au dépôt, ça ne veut pas dire pouvoir écrire dans le dépôt !

          Je ne connais aucun projet qui donne l'accès en écriture à son dépôt à n'importe qui.

          Où est l'inconvénient d'une mise à disposition du dépôt en lecture seule ?
          La seule hypothèse que je vois serait d'éviter que des gens puissent suivre l'évolution du code et par là déviner/détecter des failles possibles.
          • [^] # Re: GPL ?

            Posté par . Évalué à 10.

            Bien sûr qu'on peut donner l'accès au dépôt en lecture seule, mais une personne sensible à la sécurité connaît la différence entre "donner l'accès en lecture seule" et "avoir l'assurance que l'accès sera en lecture seule" : il faut prendre en compte de possibles scénarios d'attaque conduisant à une élévation des droits d'accès ou au détournement du serveur de sources.

            En donnant l'accès en lecture seule à tout le monde, donc à une multitude d'attaquants potentiels, on se rend dépendant d'une éventuelle faille du système de gestion de versions. En bloquant l'accès public, on s'affanchit de cette faille.

            Comme toujours, c'est une équilibre entre les défauts et avantages du dépôt en lecture seule : sacrifier une des défenses du code source est-il justifié par la mise à disposition d'un code qui de plus par nature risque d'être moins stable ? AMA, non.
            • [^] # Re: GPL ?

              Posté par . Évalué à 1.

              Continuons dans la parano ...

              Dans tous les cas, rien n'empêche quelqu'un de malicieux de se faire passer pour un dévellopeur, donc avoir accès au dépôt, en faire une copie ailleurs, lui permettant de l'analyser, faire des paquets foireux où je ne sais quoi d'autre.

              À mon avis la vérité est ailleurs.
              • [^] # Re: GPL ?

                Posté par (page perso) . Évalué à 10.

                À mon avis la vérité est ailleurs.

                Tu ne crois pas si bien dire:
                http://seclists.org/lists/nmap-hackers/2004/Oct-Dec/0004.htm(...)

                Pour ceux qui ont la flemme d'aller lire le message de Fyodor, le FBI lui a cassé les pieds (doux euphémisme) par le passé pour qu'il fournisse les logs de son serveur (avec les IP de ceux qui avaient téléchargé nmap). On ne peux évidemment pas en déduire qu'il a fermé l'accès à Subversion pour cette seule et unique raison, mais combien d'entre nous auraient fait de même à sa place?
                • [^] # Re: GPL ?

                  Posté par . Évalué à 6.

                  A sa place j'aurais déménagé mon site au Togo, profitant de l'occasion pour lui trouver un nom super classe et branché, ce qui aurait fait de moi un évident expert en sécurité informatique.

                  ( http://cr.yp.to )
                  • [^] # Re: GPL ?

                    Posté par . Évalué à 10.

                    Sauf que Daniel J. Bernstein est vraiment mathématicien, expert en sécurité informatique et cryptologie, et auteur d'excellents logiciels, nottament serveurs : le MTA qmail et le serveur DNS djbdns, sans aucune failles connues à ce jour si je ne m'abuse (d'ailleurs D.J.B. offre 500$ à celui capable d'exhiber une faille de sécurité dans ces deux derniers). Par contre les licences de ces logiciels sont discutables : sources disponibles mais impossibilité de redistribuer une version modifiée sans l'accord de l'auteur.
                    • [^] # Re: GPL ?

                      Posté par . Évalué à 3.

                      Plus que ça, il est permis de distribuer le code source qmail, mais interdit de le distribuer sous forme de binaires.

                      Sous debian, par exemple si on veut installer qmail il faut installer qmail-src puis construire le package.

                      Dan Bernstein (qmail's author) only gives permission for qmail to be distributed in source form, or binary for by approval. This package has been put together to allow people to easily build a qmail binary package for themselves, from source.

                      Le monde à l'envers en quelque sorte ... Mais c'est dommage parce que ça doit gêner quelque peu son adoption.

                      • [^] # Re: GPL ?

                        Posté par (page perso) . Évalué à 4.

                        En fait, ce que djb interdit, c'est de distribuer une version patchée, sous forme de source comme sous forme de binaires. Il n'interdit ni de distribuer une version binaire du qmail de base, ni de distribuer les sources plus des patches. (cf. http://cr.yp.to/qmail/dist.html )
                        • [^] # Re: GPL ?

                          Posté par . Évalué à 1.

                          Oui mais les restrictions à la distribution sous forme de binaires sont vraiment importantes :


                          You are permitted to distribute a precompiled var-qmail package if (1) installing the package produces exactly the same /var/qmail hierarchy as a user would obtain by downloading, compiling, and installing qmail-1.03.tar.gz, fastforward-0.51.tar.gz, and dot-forward-0.71.tar.gz; (2) the package behaves correctly, i.e., the same way as normal qmail+fastforward+dot-forward installations on all other systems; and (3) the package's creator warrants that he has made a good-faith attempt to ensure that the package behaves correctly. It is not acceptable to have qmail working differently on different machines; any variation is a bug. If there's something about a system (compiler, libraries, kernel, hardware, whatever) that changes qmail's behavior, then that platform is not supported, and you are not permitted to distribute binaries.


                          Le premier point est déjà impossible à respecter pour la plupart des distributions qui ont leur propre organisation du système de fichiers.

                          Quant au dernier point, je ne comprends pas bien ce qu'il veut dire, mais je ne vois pas comment une distribution pourrait s'engager sur ce point !!!
                • [^] # Re: GPL ?

                  Posté par . Évalué à 0.

                  Je suis très dubitatif vis à vis des excuses de Fyodor.
                  À une époque oubliée, le source incluait la liste des contributeurs de signatures pour l'OS fingerprinting. Cette liste a disparu du jour au lendemain. Prétexte invoqué : spam.
              • [^] # Re: GPL ?

                Posté par . Évalué à 8.

                À mon avis la vérité est ailleurs.

                Hmm... extrait du changelog :
                Changed from CVS to Subversion source control system (which
                rocks!). Neither repository is public (I'm paranoid because both CVS
                and SVN have had remotely exploitable security holes), so the main
                change users will see is that "Id" tags in file headers use the SVN
                format for version numbering and such.

                Je suis rassuré : je ne suis pas plus parano que Fyodor. :)
                • [^] # Re: GPL ?

                  Posté par (page perso) . Évalué à -2.

                  Effectivement, c'est ta théorie qui est celle de Fyodor. Et à mon sens, elle est ridicule.

                  En raisonnant comme ça, il devrait cesser d'utiliser apache.
                  Par ailleurs, ce n'est pas comme si un commit sur SVN passait inaperçu, il est possible de prévoir des notifications qui ne peuvent être retirées même avec un accès distant exploitant une faille.
  • # Correction du lien "Interview"

    Posté par . Évalué à 6.

    Est-ce qu'un modérateur pourrait corriger le lien sur l'Interview qui pointe actuellement sur la deuxième page de l'interview (remplacer le 2 par 1 à la fin de l'URL) ?
  • # Visual C++ 2005 Express

    Posté par . Évalué à 1.

    A ce propos est-ce que quelqu'un a déjà essayer d'installer ce Visual C++ 2005 Express + le SDK avec wine ? Ce serait bien de pouvoir compiler nmap version windows sans quitter son linux.
    • [^] # Re: Visual C++ 2005 Express

      Posté par (page perso) . Évalué à 9.

      Heu... A part le challenge technique, c'est quoi l'interêt ? nmap version linux fonctionne très bien, non ?
      • [^] # Re: Visual C++ 2005 Express

        Posté par . Évalué à 3.

        Et bien tout simplement pour ne pas quittez son environnement linux lorsque tu développes des programmes qui doivent aussi tourner sous windows. Ainsi nul besoin d'installer un windows pour fournir des executables windows ou des librairies à tes clients.
        • [^] # Re: Visual C++ 2005 Express

          Posté par . Évalué à 3.

          installer ce Visual C++ 2005 Express + le SDK avec wine ?
          Bon la ok, je vois l'intérêt, mais la remarque plus haute doit porter sur la phrase:
          Ce serait bien de pouvoir compiler nmap version windows sans quitter son linux.

          Parce que moi non plus je n'en vois pas l'intérêt :)
          • [^] # Re: Visual C++ 2005 Express

            Posté par . Évalué à 2.

            Ok je reconnaît c'était pour lancer le débat sur comment installer un environnement de développement windows en utilisant wine.

            Je reconnais c'est mal et ça pollue de thread mais j'étais tellement content de savoir qu'il existait un Visual C++ 2005 Express gratuit qui me permettait de me passer de mon Visual C++ 6 (nul pour tout ce qui touche la surcharge des templates) que je voulais savoir si des gens avaient installé ce genre de choses sur leur machine à l'aide de win.
            en fait je suis lassé de rebooter ma machine pour savoir si ma librairie compile aussi sous MSVC6. Voila :)
            • [^] # Re: Visual C++ 2005 Express

              Posté par (page perso) . Évalué à 7.

              Et pourquoi est-ce que tu n'utilises pas mingw ? avec ça t'as un vrai compilateur c++, le même que sous linux ou sous macos, t'as même des ptits bout d'unix sous windows si tu installes msys , tu peux continuer à utiliser emacs et gdb, comme sous linux, il est déjà fourni par ta debian pour cross-compiler, bref mingw c'est du bonheur en branches.
            • [^] # Re: Visual C++ 2005 Express

              Posté par . Évalué à 3.

              Personnelement j'ai abandonné dans la mesure du possible l'utilisation de Visual et je suis passé au couple CodeBlocks/mingw.
              De plus pour le developpement d'environnement graphique j'utilise wxWidgets/wxAUI ce qui me permet de faire des GUI multiplateformes avec un look professionnel.
              J'ai commencé un article à ce sujet disponible ici : http://www.smartdev-info.com/article.php3?id_article=6
              , pour le moment je developpe toujours sous windows car je prefère mais les infos disponibles sont valables sous linux.
        • [^] # Re: Visual C++ 2005 Express

          Posté par (page perso) . Évalué à 5.

          Déjà entendu parler de cross-compilation ? :)

          http://www.dumbbell.fr/howto/win32-cross-compilation.fr.html

          Marche très bien ...
          • [^] # Re: Visual C++ 2005 Express

            Posté par . Évalué à 4.

            Exactement !
            Ou bien encore plus simple : apt-get install mingw32
            Mais bon, c'est sur, du coup, on perd le côté challenge technique ;-)
      • [^] # Re: Visual C++ 2005 Express

        Posté par (page perso) . Évalué à 8.

        A part le challenge technique, c'est quoi l'interêt ?


        Alors, je vais parler un peu de ma vie, parce que ce genre de chose m'interresse aussi.

        Donc voilà, je développe un logiciel, basé sur Gecko. Lors du dev, je suis sous linux, je teste sous linux une version pour linux. Mais quand je sors une nouvelle version, je fourni non seulement un binaire linux, mais aussi un binaire windows. (Ba oui, y a des gens, ils veulent pouvoir utiliser ce que je fais sous windows ;-) )

        Bon, bref, il faut que je compile sous windows. Pour cela, il faut que je boote sous windows, où il n'y a d'installer que le minimum pour la compilation (VC++, cygwin ...). et je compile. Ce qui me prend au moins 35 min. C'est bien beau de regarder passer pendant au moins 35 min plein de lignes de commande gcc, mais bon, y a mieux à faire. Comme par exemple continuer à coder, en profiter pour lire ses mails, faire autre chose de productif quoi. Le problème, c'est que tout mon environnement de travail est sous linux, configuré sous linux.

        Donc voilà, si je pouvais compiler une version windows sous linux, je pourrais pendant la compil faire autre chose que surfer ou rester à regarder défiler des lignes de compil...

        voilà voilà...
        • [^] # Re: Visual C++ 2005 Express

          Posté par . Évalué à 2.

          VMWare ?
          • [^] # Re: Visual C++ 2005 Express

            Posté par (page perso) . Évalué à 7.

            Ou mieux en libre : qemu.
            • [^] # Re: Visual C++ 2005 Express

              Posté par . Évalué à 5.

              Oui c'est bien toutes ces choses mais il faut acheter une licence de windows pour pouvoir ensuite installer son visual c++. Le rêve serait de se passer de l'étape j'achète la licence windows pour pouvoir fournir des binaires windows. Du coup on économise et on ne paye pas la dîme windows. Après que les clients achètent une licence windows pour des raisons X ou Y cela les regarde. Donc voila la question reste posée : qui a déjà installé un environnement de développement MSVC avec wine. sans utiliser windows ?.
        • [^] # Re: Visual C++ 2005 Express

          Posté par (page perso) . Évalué à 0.

          Suffirait d'avoir une box dédiée a cela. Un acces via TSclient, ou VNC dessus (donc pas d'ecran). et ca devrait etre reglé.
        • [^] # mingw32 ?

          Posté par (page perso) . Évalué à 5.

          Description: Minimalist GNU win32 (cross) compiler
          A Linux hosted, win32 target, cross compiler for C/C++
          .
          Freedom through obsolescence. Those who still really need to
          can now build windows executables from the comfort of Debian.

          pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

    • [^] # Re: Visual C++ 2005 Express

      Posté par (page perso) . Évalué à 2.

      J'ai l'impression qu'il y a besoin de .net :
      http://msdn.microsoft.com/vstudio/express/visualc/download/

      Donc mal barré.
      • [^] # Re: Visual C++ 2005 Express

        Posté par . Évalué à 1.

        Comme le dit le monsieur, je dois compiler en utilisant cl.exe :). Et donc il faut un environment de développement Microsoft. Je préférerais travailler uniquement avec gcc même sous windows mais, on ne fait pas toujours ce que l'on veut dans la vraie vie.

        A ce propos j'écris pour le synchrotron français http://synchrotron-soleil.fr une librairie permettant de faire des calcules pour piloter des diffractomètres. Est-ce que ça intéresse des gens ici ?
        • [^] # Re: Visual C++ 2005 Express

          Posté par (page perso) . Évalué à 3.

          Je pense que la bonne url est : http://www.synchrotron-soleil.fr

          une librairie permettant de faire des calcules pour piloter des diffractomètres. Est-ce que ça intéresse des gens ici ?

          Peut etre que tu pourrais commencer par expliquer ce qu'est un diffractomètre ? :)
        • [^] # Re: Visual C++ 2005 Express

          Posté par . Évalué à 0.

          Enfin un mec qui fait quelque chose d'utile !
          Je connais les personnes qui bossent sur Lucia, pour le moment, elles montent leur ligne au SLS , au Paul Scherrer Institut, en attendant le transfert sur Soleil.
  • # GPL ?

    Posté par . Évalué à 4.

    On peut se demander si Nmap est réellement en GPL. On peut aussi se demander dans quelle licence il est tout court, car le discours de Fyodor change avec son interlocuteur.
    Un exemple de ses incohérences sur Daily Dave :
    http://lists.immunitysec.com/pipermail/dailydave/2005-October/002591.html
    qui dit le contraire de ce qu'il écrit dans la page de manuel.

    La suite est intéressant, mais Dave a rapidement clos la discussion quand elle a viré au "Fyodor-bashing":
    http://lists.immunitysec.com/pipermail/dailydave/2005-October/002592.html
  • # Version française du man

    Posté par . Évalué à 1.

    http://www.insecure.org/nmap/man/fr/

    Bravo à Gromu pour la traduction ;-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.