pasBill pasGates a écrit 16287 commentaires

  • [^] # Re: Rien de nouveau

    Posté par  . En réponse au journal Fuzzing : éprouver les entrées de vos développements. Évalué à -2.

    Belle idée, on y avait réflechi (pour des outils autres que SAGE), et au final ce n'était pas faisable car :

    a) Il faudrait un moyen de s'assurer que la personne est vraiment l'auteur du soft --> etape manuelle et couteuse

    b) Il n'est vraiment pas simple de supporter un utilisateur qui n'a pas acces au soft, donc pas la possibilité de voir tout ce qui se passe de près, à moins d'investir sérieusement dans l'UI, logs, etc… il fera régulirement appel au support, et c'est chiant

    c) Il faut gérer le cas ou le gars te fait un upload de son soft qui n'est qu'wrapper qu'il utilise pour tester le soft de qq'un d'autre, pas simple

    d) C'est bien trop d'efforts pour un truc qui au final n'est pas le coeur de métier de l'organisation ou j'étais. Cette org ne s'occupe pas de sécuriser la planète, mais les softs et services MS.

  • [^] # Re: Rien de nouveau

    Posté par  . En réponse au journal Fuzzing : éprouver les entrées de vos développements. Évalué à 4.

    C'est pourtant simple. MS a des dizaines et dizaines d'ingénieurs sécurité et a (avait ?) des milliers de testeurs, dont l'objectif est de trouver des bugs.

    Vu l'objectif, ils essayent évidemment tout ce qui se trouve à l'exterieur, car c'est évidemment plus facile d'utiliser un truc existant qu'un truc qui n'existe pas et qu'il faut écrire. Il y a d'autres contraintes qui entrent en jeu aussi, genre le support disponible, possibilités d'intégration, voire même la licence, mais évidemment que les groupes sécurité MS regardent tout ce qui est publique est recommandé publiquement, ils ne sont pas stupide.

  • [^] # Re: Rien de nouveau

    Posté par  . En réponse au journal Fuzzing : éprouver les entrées de vos développements. Évalué à -1.

    Non, c'est l'exploration des chemins qui prend un temps infini, l'exploration des branches est réalisable.

    Oui, mauvaise utilisation de termes, c'est évidemment les chemins que SAGE suit.

    Pour quelqu'un qui a passé 8 ans à travailler avec c'est un normal quelque soit le logiciel.

    Ah si seulement c'était vrai, ca me ferait plaisir…

    C'est quoi le plan vu que tu a était dans le secret des dieux ? Se toucher la nouille en expliquant qu'on a la plus grosse mais en la cachant du mieux que l'on peut ?

    T'as raté la partie ou MS Research a publié plusieurs papiers décrivant ce qu'ils font ?

    Il n'y a que le code source qui compte maintenant ?

  • [^] # Re: Rien de nouveau

    Posté par  . En réponse au journal Fuzzing : éprouver les entrées de vos développements. Évalué à 3.

    Non il est en interne uniquement.

    Pour ce qui est du coté "vaporware", ben tu peux croire ce que tu veux… ou voir des choses genre http://talosintel.com/files/publications_and_presentations/presentations/Fuzzing_and_Patch_Analysis-SAGEly_Advice.pdf

    qui, oh surprise, est une tentative de réimplementer SAGE en open source… par qui ? Par un ancien ingénieur sécurité de MS (ancien collègue à moi plus précisement) qui est maintenant chez CISCO.

    On se demande pourquoi, après avoir quitté MS, il essaierait de réimplementer un vaporware…

    Ou https://www.syscan360.org/slides/2012_EN_SecurityEngineeringAndProductImprovementsInTheNewOffice_TomGallagher.pdf avec le manager securité d'Office décrivant l'utilisation de SAGE pour Office.

    Conspiration globale à travers la boite, et même les ex-employés pour vanter un outil interne qui n'existerait pas ?

    On va dire que c'est plutôt amusant comme idée, mais pas très réaliste.

  • [^] # Re: Rien de nouveau

    Posté par  . En réponse au journal Fuzzing : éprouver les entrées de vos développements. Évalué à 7.

    oui, et afl qui a mouliné quelques jpg a trouvé de nouveaux bugs dans des produits microsoft. OMG! le fuzzer le plus perfectionné au monde qui ne travaille pas au hasard et qui prend tous les branchements de code aurait laissé passé un bug? Mais comment est-ce possible?

    Comment ? Ben en comprenant que les branches ca ne fait pas tout, et qu'explorer toutes les branches prend un temps infini. C'est pas pour rien qu'au premier post j'ai parlé d'asymptotique.

    afl, tout simple et bête qu'il est, va être capable de dire, tiens le chemin d'exécution:
    a() -> b() est différent de b() -> a(). Et différent de a() -> a() -> a() -> b() -> a() -> crash!

    Parce que tu crois que SAGE ne connais que a()->b() ? Mais tu n'as vraiment rien compris à SAGE mon cher ! Il suit l'execution depuis le debut du processus, il ne se limite pas un subset.

    Sage, ça reste ardu à mettre en oeuvre. Les équivalents, idem. C'est lourd, c'est long, ça demande un temps délirant à démarrer et il faut 25 ingénieurs qui le surveillent en permanence.

    Mais arrètes de raconter n'importe quoi… SAGE c'est un répertoire avec executables et libraries, c'est un executable a lancer avec diverses options, tu mets 1h grand maximum à comprendre comment le lancer et quelles sont les options principales, et tu peux le lancer à l'aveugle avec des options de base en 5 minutes.
    C'est quand même dingue… tu ne l'as jamais utilisé, et tu essayes d'expliquer à un gars qui l'a utilisé de manière répetéee comment il marche…

    Combien d'années de recherches à MS? Combien d'années.hommes? Et tu as afl. Quelques semaines de taf d'une personne. Nombre de bugs trouvés: énormes. Il faudrait que MS research porte afl sur leurs produits et teste un coup. Je serais très curieux du résultat.

    C'est ta naiveté qui te fait croire que MS ne connait pas AFL et ne l'a jamais utilisé et testé ?

  • [^] # Re: Rien de nouveau

    Posté par  . En réponse au journal Fuzzing : éprouver les entrées de vos développements. Évalué à 2.

    Ce n'est pas spécialement "pour te protèger" (quoique ca joue un peu), mais plutôt pour "que tu ne me fasses pas la gueule quand ils t'attaquent, et que je n'aie pas l'air con si ils trouvent des failles dans mes propres softs"

    Rien à voir avec l'avantage concurrentiel. J'ai vécu la chose personnellement, je suis sur à 100% de la raison. Je ne l'aime pas beaucoup, mais je la comprend d'un point de vue business.

  • [^] # Re: Rien de nouveau

    Posté par  . En réponse au journal Fuzzing : éprouver les entrées de vos développements. Évalué à 3.

    Si SAGE donnait de bons résultats, ce serait un produit connu, vendu et/ou livré avec Visual Studio.

    LOL, justement non. MS ne fera jamais cela, pour la même raison qu'aucun des outils que j'ai développé là-bas n'a été publié.

    Si MS publiait un outil offensif comme SAGE ou autre fuzzer non ridicule (ils ont publié un minifuzz qui était un gros gag et qui ne trouvera jamais rien de sérieux, il a été publié principalement pour que des débutants puissent gentiment se mettre à faire des tests de sécurité) les gens utiliseraient un outil MS pour attaquer des softs d'éditeurs et clients de MS, voire des softs MS. MS ne veut certainement pas entuber tout le monde en faisant ca, et n'a certainement pas envie que des gens trouvent des failles dans ses softs, avec ses propres outils d'attaque.

    Et pour le premier guignol qui voudrait sortir "si ils avaient fait tourner ces softs eux-même personne ne trouverait de failles dans les softs MS", j'invite ce guignol potentiel à s'informer et comprendre comment des softs qui doivent explorer un espace de recherche infini fonctionnent.

    En fait même s'il donnait des résultats moyens, vu que Microsoft n'a aucune hésitation à sortir des trucs honteux lorque l'occasion se présente (je pense en particulier à Microsoft Dynamics NAV, anciennement Navision, car je l'ai connu, mais il y a bien d'autres exemples).

    Ce que j'aime chez toi c'est cette force à parler de trucs dont tu ne connais rien et dire qu'ils sont à chier.

  • [^] # Re: Rien de nouveau

    Posté par  . En réponse au journal Fuzzing : éprouver les entrées de vos développements. Évalué à 8.

    T'es gentil :)

    Je te rappelle donc que j'ai passé 13 ans à MS. A peu près 8 de ces années ont été passées à construire des fuzzing frameworks et fuzzers. SAGE j'ai revu son design, je l'ai utilisée de manière répetée moi-même, j'en ai parlé avec les auteurs directement, j'en ai parlé avec des dizaines de testeurs et ingénieurs sécurité qui l'utilisent, j'ai vu les bugs qu'il a trouvé, je sais exactement comment il fonctionne et ce qu'il faut pour qu'il fonctionne.

    Pour résumer, on a Sage qui est apparemment génial, qui demande un bac+18 pour être mis en oeuvre, sur un sous-ensemble réduit de fonctionnalités.

    Tu en sais quoi ? Tu n'a aucune idée de la manière de l'utiliser. Et devines quoi, tu as totalement tort.

    Dans le monde réél, je ne crois pas avoir lu: "This bug has been found with Sage". Par contre, j'ai beaucoup lu "Alors le bug machin qui a été trouvé, on a essayé de le reproduire avec Sage, on a monitoré la fonction coupable et on a réussi à retrouver la faille, regardez comme Sage c'est génial et ça écrase les fuzzers".

    C'est parce que tu ne lis pas au bon endroit. Lien donné par Benoit Sibaud plus haut : http://research.microsoft.com/en-us/um/people/pg/public_psfiles/SAGE-in-1slide-for-PLDI2013.pdf

    1/3 des bugs trouvés dans les composants desktop & multimedia de Windows 7 l'ont été par SAGE. Ca inclue tout ce qui est PNG/JPG/MPG/… et bien plus, et c'était donc avant 2009, SAGE a été optimisé et amélioré depuis pour optimiser ses prioritizations de branches et sa manière de surveiller les processus.

    Tu peux lancer SAGE sur Word ou Excel donc, c'est légérement plus qu'un soft de 8 lignes.

    Tu as visiblement focalisé sur le fait que SAGE vient de MS Research, et donc est probablement juste un projet de recherche inutilisable dans le monde réel. Tu as faux sur toute la ligne, c'est un projet qui a été construit dans l'idée de l'utiliser en production, par des testeurs normaux, pour trouver des bugs, et il en trouve à la pelle.

    J'ai dit plus haut que c'était le système le plus efficace que j'ai jamais vu, je dis ça en connaissance de cause. Je connais Sulley, Peach, AFL, SAGE, les fuzzers que j'ai construit moi-même, Codenomicon, … SAGE les éclate tous en ce qui concerne le fuzzing de fichiers (pour le traffic réseau c'est une autre pair de manche vu le coté transactionnel des protocoles réseaux)

  • [^] # Re: Rien de nouveau

    Posté par  . En réponse au journal Fuzzing : éprouver les entrées de vos développements. Évalué à 10.

    Ca revient à cela :

    SAGE va passer un fichier de base à ton soft(en réalité il y a un corpus, de manière à accélérer SAGE en utilisant plusieurs fichiers qui ensemble couvrent de base la majorité des branches). Il va regarder toutes les instructions que ton code éxécute pendant le parsing du fichier. Il va ensuite regarder quelles sont les branches de code qui pourraient être prises et qui ne l'ont pas été. Il va alors créer des fonctions mathématiques pour résoudre le problème suivant :
    - a quoi devrait ressembler le fichier pour que la branche X soit éxécutée ?

    Il va ensuite utiliser un solveur (Z3 de MS Research) pour résoudre cela, créer le fichier, et le repasser dans le soft.

    Il fait ça constamment, pour au final éxécuter toutes les branches de ton code (idéalement, en asymptotique).

    La différence avec AFL :

    • AFL fait un changement au hasard, et si une branche diffèrente est éxécutée, il fait un changement de plus, pour essayer d'avancer dans la nouvelle branche. C'est une méthode un peu à l'aveugle
    • SAGE sait exactement ce qu'il faut faire pour avancer dans une branche, de manière mathématique

    SAGE a des limites : genre si t'as une one-way hash dans ton format, il ne va évidemment pas pouvoir faire une résolution pour trouver une valeur de hash correcte, et si il y a de la compression, cela ralentit SAGE de manière significative. Mais c'est de loin, très loin, le système de fuzzing le plus efficace que j'ai jamais vu( au point ou je préféres ne pas utiliser le mot fuzzing pour SAGE, parce que justement ce n'est pas aléatoire du tout), et j'ai passé la majorité de ma carrière sur ce sujet précis à MS.

  • # Rien de nouveau

    Posté par  . En réponse au journal Fuzzing : éprouver les entrées de vos développements. Évalué à 8.

    Cette approche est une forme primitive de résolution de contraintes appliquée aux tests sécurité. Quelque chose que Microsoft fait depuis presque 10 ans avec SAGE :

    http://research.microsoft.com/en-us/um/people/pg/public_psfiles/ndss2008.pdf

  • [^] # Re: rectification et précisions

    Posté par  . En réponse au journal Logiciels pré-installés : actualité. Évalué à -1.

    Techniquement parlant oui ce serait idéal. Le problème est que ta méthode ajoute une étape pour tous les utilisateurs, ce qui garantit des problèmes car le papier avec la clé est perdu ou autre. Et cette étape devrait être ajoutée à tout le monde pour résoudre un problème qui ne touche que 1% des gens en gros… Bref en théorie bien, en pratique pas top.

  • [^] # Re: Gérer les licences

    Posté par  . En réponse au journal Jargon légal chez Microsoft?. Évalué à -1.

    Tu as oublié l'élément le plus important: La productivité des employés.

    Quand aux éditeurs, le fait qu'ils se plaignent de piratage ne signifie pas forcément que la gestion de licence soit une partie importante du tco pour les entreprises, ces 2 choses ne sont pas liées.

  • [^] # Re: Gérer les licences

    Posté par  . En réponse au journal Jargon légal chez Microsoft?. Évalué à 2.

    Faudrait quand même voir à ne pas exagérer hein… le TCO c'est bcp, bcp plus que cette gestion de licences.

    Les logiciels proprios oui ont cela en plus dans leur colonne, ça ne veut pas dire que cela fait automatiquement pencher la balance.

  • [^] # Re: Déjà ils proposent un PDF ..;

    Posté par  . En réponse au journal À quoi sert le RGI ?. Évalué à -1.

    Ben il y a 2 possibilités :

    a) T'as raison, c'est simple à régler et se sont des nuls
    b) C'est pas aussi simple que cela

    La vraie réponse ? J'en sais rien, mais j'ai tendance à me dire qu'ils ne sont pas tous stupides et que donc la résolution du problème est probablement plus complexe que cela.

  • [^] # Re: Déjà ils proposent un PDF ..;

    Posté par  . En réponse au journal À quoi sert le RGI ?. Évalué à 5.

    Mais juste proposer (fortement) de ne pas imposer des polices exotiques dans les pdfs c'est un truc trop complexe sinon quelqu'un l'aurait fait ?

    Oui ça l'est.

    Parce que les employés, ils partent, de nouveaux arrivent, des internes sont mis sur la tâche chiante du jour. Ils ont 4233 règles à suivre, ils ne se souviennent que des plus importantes, ils créent un document 10% de leur temps si ça se trouve, c'est pas le coeur de leur métier.

    Cette règle, tu crois qu'elle va être suivie tout le temps ? Evidemment que non.

    Faudrait faire quoi alors ? Ecrire une plateforme qui automatise la vérification des PDFs ?

    Qui va payer pour ?
    Qui va la maintenir ?
    Comment tu t'assures que tous les documents sont vérifiés par cette plateforme ?
    etc…

    Tu veux utiliser un système de pénalités plutôt que construire cette plate-forme ? Comment tu vas justifier ça aux employés ?

    Tu as visiblement un gros problème à comprendre qu'il y a un facteur humain là dedans.

    Tu es resté trop longtemps sous windows ou tout semble si compliqué.

    Ah cette obsession de toute ramener a MS-Windows dés que j'ouvres la bouche… triste et inutile.

  • [^] # Re: Déjà ils proposent un PDF ..;

    Posté par  . En réponse au journal À quoi sert le RGI ?. Évalué à 1.

    Ben c'est simple.

    Tu peux te taper la tête contre les murs, en te disant que tous ces gens sont incroyablement stupides et incompétents, qu'au final c'est super simple et logique, qu'il suffit de faire X ou Y.

    Ou tu peux te dire qu'au final, ces gens ne sont pas en moyenne plus bête que toi ou moi, ils sont allé dans les mêmes écoles que toi ou moi, ils ont certainement des compétence sur un sujet donné, et pas sur d'autres, comme toi et moi.

    Tu peux te dire que si ce problème est systématique, qu'il est là depuis si longtemps, c'est que la solution n'est probablement pas si simple, sinon quelqu'un l'aurait déjà résolu ce problème.

  • [^] # Re: Déjà ils proposent un PDF ..;

    Posté par  . En réponse au journal À quoi sert le RGI ?. Évalué à 8.

    Ben oui tu es un martien.

    Il n'y a qu'un geek/informaticien qui pensera à cette problématique de gérer plusieurs lecteurs PDFs, de savoir qu'il y a des polices intégrées dans des lecteurs, que les utiliser réduit la taille, et même que réduire la taille est important.

  • [^] # Re: petite question

    Posté par  . En réponse au journal Microsoft sort sa distribution Linux, dédiée au réseau du Cloud Azure. Évalué à -2.

    Ah oui tiens, c'est vrai, il n'y a que les drivers pour ces ASICs qui comptent, j'avais oublié !

    Perso je trouves quand même amusant cette obsession que vous avez de vouloir vous convaincre et convaincre les gens autour de vous que Linux est "mieux" que Windows. C'est quoi exactement ce besoin ? Vous ne pouvez pas imaginer utiliser Linux sans cela ? Vous avez absolument besoin de cette validation pour vous convaincre que vous avez fait le bon choix ?

  • [^] # Re: petite question

    Posté par  . En réponse au journal Microsoft sort sa distribution Linux, dédiée au réseau du Cloud Azure. Évalué à -2.

    C'est quoi l'explication ? Tu n'as pas un QI assez élevé pour comprendre que des choses comme la disponibilité de drivers et support pour le HW spécialisé comptent ?
    Moi perso je votes plutôt pour une mauvaise foi crasse.

  • [^] # Re: petite question

    Posté par  . En réponse au journal Microsoft sort sa distribution Linux, dédiée au réseau du Cloud Azure. Évalué à -4.

    C'est bon tu as temporairement calmé tes frustrations en crachant ta haine sur MS ? Tu es calmé maintenant ?

  • [^] # Re: petite question

    Posté par  . En réponse au journal Microsoft sort sa distribution Linux, dédiée au réseau du Cloud Azure. Évalué à 0.

    Seul un idiot, ou une personne d'incroyablement mauvaise foi se braque et refuse de changer d'opinion sans voir le code car il y a plein d'autres elements qui prouvent clairement que la stack reseau est fondamentalement differente.

  • [^] # Re: petite question

    Posté par  . En réponse au journal Microsoft sort sa distribution Linux, dédiée au réseau du Cloud Azure. Évalué à 5.

    a) Non il n'a jamais dit ca. Il repetait simplement que les guignols comme toi qui sortaient leur FUD en disant que c'etait une stack BSD pompee mentaient a pleines dents
    b) Je ne vois nulle part dans cette annonce un lien entre les perfs de la stack reseau de Windows et leur choix. Devines quoi, il y a plein de raisons qui amenent a un choix particulier, mais visiblement c'est trop complique a comprendre pour toi.

  • [^] # Re: Tu peu même élargir ...

    Posté par  . En réponse au journal C'est lundi : Mon expérience Linux ou l'utopie devient réalité extatique. Évalué à 2.

    6 mois, c'est effectivement trop long dans la plupart des cas (même si il y en a certains à qui ça convient, comme par exemple Intel). Ceci étant, je n'ai aucune statistique sur le délai moyen entre un premier pull request dans stagging et une inclusion dans le mainline.

    mainline on s'en fiche. Ce qui importe c'est le délai pour que le pekin moyen sur son Ubuntu/Suse/… le reçoive. C'est la seule date qui compte pour l'éditeur.

    Par ailleurs, je réitère : beaucoup de périphériques n'ont pas à avoir un driver en espace noyau.

    Bien évidemment que pour ceux-ci le problème ne se pose pas, mais on ne parle pas d'eux ici.

    Je ne dis pas que tout le monde peut faire ça, mais pour la plupart des boites dont l'écriture de drivers n'est pas le coeur de métier (par exemple des compagnies qui veulent commercialiser un nouveau produit dont le driver n'est qu'une interface, l'innovation étant vraiment dans le produit en soi), il n'y a aucun problème avec le modèle actuel.

    Là tu te fourvoies. Il y a nombre de choses ou un driver noyau est essentiel pour le bon fonctionnement de la chose, et cela n'inclut pas forcèment du matériel.

    Pour les boites plus grosses, pour qui les drivers représentent en soi un atout important, oui, j'espère que ceux-ci sont terminés 3 mois avant la sortie du produit qu'ils accompagnent, et que les développeurs sont passés à l'écriture du driver de la génération suivante.

    Et elle sort d'ou cette règle arbitraire ? En quoi faudrait-il attendre 3 mois pour sortir un truc plutôt que le sortir quand il est prêt ?

  • [^] # Re: Tu peu même élargir ...

    Posté par  . En réponse au journal C'est lundi : Mon expérience Linux ou l'utopie devient réalité extatique. Évalué à -1.

    Et le driver, tu l'as fini 2 jours avant de devoir livrer le produit? Parce que fondamentalement, c'est ça le problème…

    2 jours non, je suis sensé le finir 6 mois avant aussi ? A chaque update je dois attendre 6 mois ? Sur des projets dont le cycle est de moins de 6 mois, on va dire que c'est pas top.

    Pour ce qui est de le faire tourner sur les distribs existantes, si tu tiens absolument à rester hors de l'arbre principal du kernel, tu fais comme tous les fabricants de matériel : tu certifies le fonctionnement sur certaines distros commerciales (RedHat, Suse, Ubuntu, etc.) et si l'utilisateur veut l'installer sur son Damn Small Linux, ben c'est son problème (ou plutôt le tien, puisque cet utilisateur là, pour qui tout aurait bien fonctionné si tu avais empaqueté ton driver dans le kernel, n'achèteras probablement plus tes produits).

    Ça on est bien d'accord, c'est pas le problème.

    Après, effectivement, si tu es une boîte qui compte distribuer planétairement un produit dont le driver a été terminé une semaine avant la sortie commerciale, le modèle de Windows convient mieux.

    Le problème c'est d'être forcé à être en synchro complète avec ces 232 diffèrents kernels des distribs. Ca crée plusieurs dépendences externes sur lesquelles il y a très peu de contrôle, qui se chevauchent, … C'est juste le bordel, c'est compliqué et couteux.

    La question que je me pose, c'est surtout de savoir si je veux acheter ce genre de produits…

    Tous les produits que tu achètes ont été terminé 3 mois avant leur sortie ? Ils font quoi les développeurs entre temps ? Du ski ?

  • [^] # Re: Tu peu même élargir ...

    Posté par  . En réponse au journal C'est lundi : Mon expérience Linux ou l'utopie devient réalité extatique. Évalué à 2.

    dkms est bien, le problème c'est qu'il ne résoud pas tout (pas sur Fedora notamment) et qu'il force l'installation de compilateur et tout ce qui vient avec.

    Tu prends le standard PCI pour les systemes ayant des données sensibles, il demande que seul le minimum soit installé sur ces systèmes. Quand on va expliquer à ces utilisateurs qu'ils doivent mettre un compilateur, make, etc… sur leurs machines, ils ont une crise cardiaque.

    De nouveau, c'est pas de la théorie là, c'est du vécu.