• [^] # Re: Des vulnérabilités des Linux 2.4 permettent un DoS distant

    Posté par . En réponse à la dépêche Des vulnérabilités des Linux 2.4 permettent un DoS distant. Évalué à 2.

    prefast & prefix ont 2 usages distincts

    prefast :
    Il s'occupe de verifier le code dans une fonction, il va verifier que tu fais pas un strcpy d'un buffer de taille inconnue dans ton char toto[6], que tu joues pas avec des pointeurs non initialises, etc...
    Il me semble qu'il fait uniquement de l'analyse syntaxique et semantique.
    Bref, il fait les verifs sur les trucs supposes pas compliques mais que tout le monde fait faux de temps en temps: ecrire dans un buffer trop petit, ne pas relacher la memoire,...


    prefix:
    Il s'occupe de faire des verif pour tout ce qui est appels entre fonctions, bref, zieute les valeurs d'entree, valeurs de retour,...
    Il construit un modele du code, cree un grand nombre de scenarios possibles(valeurs de bornes, etc...) et les simule, vu le nombre de scenarios possibles, ca prend un temps non negligeable, mais prefix est par exemple capable te dire des trucs du genre:
    En passant un buffer de taille 400 a la fonction de haut niveau X, apres 2 recursions, si la condition Y retourne faux, alors tu vas retourner une variable non initialisee.

    Le genre de choses pas forcement evident a voir a l'oeil nu, et c'est presente de maniere assez simple a comprendre pour l'utilisateur.

    D'autre part les 2 softs ont un systeme de plugin qui permet de creer des extensions et chercher d'autres classes de bugs ou choses dans le code que tu veux signaler.