Éclosion de Picviz

Posté par  . Modéré par Nÿco.
Étiquettes :
0
8
août
2008
Sécurité
Picviz vient de sortir. Il s'agit d'un programme libre publié sous licence GPLv3 permettant de tracer des graphes sur des axes parallèles, permettant ainsi de voir N-dimensions sur une surface en 2D.

Ce programme trouve plus particulièrement des applications dans le data mining, la détection de collision dans le contrôle aérien et dans la sécurité informatique, ce pourquoi Picviz a principalement été écrit.

Picviz cherche à répondre à la problématique de recherche d'une aiguille dans une botte de foin, où le nombre de données devient trop important pour être compris et analysé par des recherches de motifs connus... surtout si l'on ne sait pas ce que l'on cherche.

Grâce à un langage simple, fortement inspiré de Graphviz, il est aisé d'automatiser la création de graphes et de trouver des éléments remarquables (des convergences, divergences, des éléments éloignés par rapport aux autres, etc.). J'ai commencé à étudier les coordonnées parallèles un peu par hasard, en générant une image de scan Nessus utilisant cette technique pour présenter le haut de l'iceberg d'un travail sur la corrélation, lors d'une conférence de sécurité.

Finalement, le commentaire de Raffy sur ce graphe m'a encouragé à écrire un programme permettant de facilement écrire, générer et comprendre ce type de graphe. Puis Ron Gula de Tenable Security a commencé à en parler car on voyait assez bien l'efficacité de Nessus face aux autres outils testés.

Après avoir consulté quelques écrit d'Alfred Inselberg du département de maths de l'université de Tel-Aviv, je me suis mis au code il y a quelques semaines, pour arriver à un programme utilisable aujourd'hui pour faire tout simplement ce que je voulais.

J'ai fini par avoir les encouragement d'Alfred sur ce travail, ce qui fait plaisir quand on sait que c'est lui qui a faire la redécouverte (le premier étant Maurice d'Ocagne en 1885), et que surtout son papier sur la gestion de collision dans les aéroports a fini par être utilisé pour de vrai aujourd'hui.

N'hésitez pas à tester, trouver des bugs, vous amuser avec et à m'envoyer les scripts que vous avez fait pour générer ce type de graphes.

Aller plus loin

  • # Voir aussi ggobi

    Posté par  . Évalué à 6.

    Pour info, http://www.ggobi.org/ implémente déjà ces "coordonnées parallèles".
    • [^] # Re: Voir aussi ggobi

      Posté par  . Évalué à 7.

      Tout a fait.

      Bien que ne connaissant pas ce projet au moment où j'ai crée picviz, il s'avère que nous avons eu une approche assez différente : j'ai une bibliothèque en C orientée performance, disposant de bindings python ainsi qu'un language de description (qui n'est pas XML).

      L'idée est de rester dans l'esprit KISS où l'on peut facilement scripter : syslog vers language picviz, modifier le rendu ou la sortie et automatiser le résultat final.

      Picviz possède un binaire en ligne de commande, ainsi qu'un frontend graphique. La séparation des deux est important lorsque l'on veut avoir un rendu dans une page web par exemple.

      Enfin, c'était surtout le classique: "parce que je ne trouvais rien qui me convenait" que je me suis mis à l'écrire.

      Cela dit, Ggobi est un beau projet, essaye-le (aussi) !
  • # Héhé

    Posté par  . Évalué à 5.

    Je crois que le serveur de wallinfire.net vient de se faire "linuxfrisé".

    Faut voir la quantité de "moules" qui squatte le rocher en attendant une news :D

    "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

    • [^] # Re: Héhé

      Posté par  . Évalué à 0.

      j'ai oublié de lire le bon commandement :

      * En mode fast-cgi ou avec mod_python, trac tu installeras

      Voici un bel exemple démontrant à tous ceux qui pensent que python est performant qu'ils feraient mieux de revenir à perl.
  • # Wikipédia

    Posté par  (site web personnel) . Évalué à 3.

    L'article n'explique rien du tout. N'y touchez pas, je suis dessus.
  • # surtout si l'on ne sait pas ce que l'on cherche

    Posté par  (site web personnel) . Évalué à 2.

    comment sait-on alors qu'on a trouvé ? n'y a-t-il pas une certaine absudité ou illogisme là-dedans ?

    T'as le bonjour de JavaScript !

    • [^] # Re: surtout si l'on ne sait pas ce que l'on cherche

      Posté par  . Évalué à 4.

      Par exemple, quand tu cherches un problème dans tes logs, tu fais simplement des grep avec le motif voulu.

      Mais si tu ne connais pas ce motif, tu fais comment ?

      Les vues en coordonnées parallèles mettent assez facilement en évidence un élément différent des autres : tu verras une ligne qui ne rejoint pas la masse globale.

      Ensuite, avec l'interface graphique tu peux la sélectionner et affiner ta recherche.
    • [^] # Re: surtout si l'on ne sait pas ce que l'on cherche

      Posté par  . Évalué à 3.

      C'est le principe d'un certain nombre de techniques de datamining : ça met en lumière des corrélations (ou des absences de corrélation) alors que tu ne sais pas du tout le genre de corrélation que tu cherches.
      • [^] # Re: surtout si l'on ne sait pas ce que l'on cherche

        Posté par  . Évalué à 3.

        Héhé, on pourra toujours rétorquer que dans ce cas tu cherches quand même des corrélations :-+

        (ou des absences, mais là à priori il y a plein d'abscence de corrélation, donc pour remarquer une absence de corrélation particulière il faut avoir subodoré que cette corrélation particulière existait, donc quelque part un peu chercher ladite corrélation.)
        • [^] # Re: surtout si l'on ne sait pas ce que l'on cherche

          Posté par  . Évalué à 2.

          Héhé, on pourra toujours rétorquer que dans ce cas tu cherches quand même des corrélations :-+

          C'est clair. De toutes façons, même sans ça, on aurait pu insinuer que tu cherchais des "trucs". Sauf à inventer un système qui trouve des trucs alors que tu ne cherches pas (et donc qu'à priori lui non plus, sinon d'une certaine manière tu cherches), on n'en sortira pas :)

          (ou des absences, mais là à priori il y a plein d'abscence de corrélation, donc pour remarquer une absence de corrélation particulière il faut avoir subodoré que cette corrélation particulière existait, donc quelque part un peu chercher ladite corrélation.)

          Oui et non, il n'y a pas forcément plein d'absence de corrélation, tout dépend de ton ensemble de paramètres. Et puis tu peux toujours chercher LE paramètre qui n'est pas lié aux autres, ou quelque-chose comme ça.

Suivre le flux des commentaires

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