Articles : Fusillez vos applications avec Fusil 0.6
Posté par Victor STINNER (page perso, ). Modéré le 19 décembre 2007.
Le fuzzing est une technique d'assurance qualité logicielle visant à rechercher des bugs en injectant des données invalides. Fusil est un framework dédié au fuzzing comprenant divers outils pour créer des processus, surveiller un processus existant ou encore injecter des erreurs dans un fichier.
Chaque exécution de la cible se voit attribuer une note de -100% à +100% en utilisant diverses sondes pour déterminer si l'application a planté ou non. Des sondes surveillent l'état d'un processus et sa consommation processeur, d'autres surveillent des fichiers texte tel que syslog, d'autres encore se basent sur la durée d'exécution, etc. Le système de notation est réutilisé pour autoconfigurer Fusil : l'agressivité, nombre d'erreurs injectées, évolue en fonction des notes précédentes. Divers exemples sont fournis pour essayer Fusil et voir de quoi il est capable : Mplayer, Image Magick, ClamAV, PHP, printf, etc. Un dossier temporaire est généré pour chaque exécution. Il est utilisé comme répertoire de travail et est conservé en cas de plantage de la cible.
Chaque exécution de la cible se voit attribuer une note de -100% à +100% en utilisant diverses sondes pour déterminer si l'application a planté ou non. Des sondes surveillent l'état d'un processus et sa consommation processeur, d'autres surveillent des fichiers texte tel que syslog, d'autres encore se basent sur la durée d'exécution, etc. Le système de notation est réutilisé pour autoconfigurer Fusil : l'agressivité, nombre d'erreurs injectées, évolue en fonction des notes précédentes. Divers exemples sont fournis pour essayer Fusil et voir de quoi il est capable : Mplayer, Image Magick, ClamAV, PHP, printf, etc. Un dossier temporaire est généré pour chaque exécution. Il est utilisé comme répertoire de travail et est conservé en cas de plantage de la cible.
Projet du framework Fusil (1085 hits)
Journal linuxfr.org présentation l'ancienne version (0.5) (241 hits)
> Lire la dépêche (17 commentaires, moyenne: 1,2).
Vous avez demandé le commentaire #891172.




[+] Framework ... je te hais
Fusil n'a pas l'air d'un framework, il ne produit pas de logiciel.
Et pourquoi diable utiliser framework quand on peut utiliser "environnement de ..." ou "ensemble d'outils ...." ou "suite".
Par contre je suis d'accord pour l'emploi de fuzzing. Il n'y a pas à ma connaissance d'équivalent français.
[^]Re: Framework ... je te hais
"A framework is a basic conceptual structure used to solve or adress complex issues."
ça t'ira ? il n'y en a pas qu'en informatique.
"This very broad definition has allowed the term to be used as a buzzword, especially in a software context." - c'est peut-être ça ton soucis...
Windows has no users. It has hostages.
[^]Re: Framework ... je te hais
> "This very broad definition has allowed the term to be used as a buzzword, especially in a software context." - c'est peut-être ça ton soucis...
Non. Mon soucis est l'utilisation de terme anglais alors que le français fait parfaitement l'affaire.
M'enfin, les gens ne veulent pas rater une occasion d'utiliser de l'anglais, ça fait "moderne", dans le coup.
Ce qui n'est pas dans le coup, c'est ceux qui ne connaissent pas l'anglais ou son soucieux du français (NB: je n'ai pas dit ennemi de l'anglais, j'en lis trop pour dire une connerie pareil).
Faisons le constat, les français sont de moins en moins attachés à la langue française. Son image est moins flatteuse que l'anglais.
[^]Re: Framework ... je te hais
de terme -> de termes ou d'un terme
son soucieux -> sont soucieux
connerie pareil -> connerie pareille
Pour un donneur de leçons...
Certains mots anglais (ou autre, du reste) n'ont pas réellement d'équivalent en français (et c'est le cas de framework, de mon point de vue). Les adopter, c'est ce qui différencie une langue vivante d'une langue morte. Les Québécois parlent un français beaucoup plus influencé par l'anglais que les français (utilisation de certains mots, et même de certaines tournures de phrases). Pour autant peut-on dire qu'ils défendent moins la langue française ? À mon avis non, au contraire.
[^]Re: Framework ... je te hais
Certains mots anglais (ou autre, du reste) n'ont pas réellement d'équivalent en français (et c'est le cas de framework, de mon point de vue).
Canevas ?
[^]Re: Framework ... je te hais
En effet. Reste que canevas ne m'évoque pas ce que framework m'évoque, dans le domaine informatique. C'est très subjectif, je sais bien, mais c'est comme ça.
[^]Re: Framework ... je te hais
> ça t'ira ?
Ce n'est pas la définition que pointe la dépêche :
Tu peux développer une appli avec Fusil ?
On est dans le cas où on utilise un terme anglais pas pour ce qu'il signifie, mais seulement car il est anglais. Une horreur.
[+] [^]Re: Framework ... je te hais
Même la doc de Fusil ne parle pas de framework. C'est dire le stupide de l'utilisation de "framework" dans cette dépêche.
M'enfin, moinsez moi.
[^]Un chasseur sachant programmer...
A l'époque des cartes perforées, ça devait être possible. Il suffisait de bien viser et d'avoir des cartouches adaptées pour faire des trous de bonne taille.
OK, je -> []
[^]Re: Un chasseur sachant programmer...
Pas du tout ! Les trous des cartes perforées étaient rectangulaires. C'étaient les bandes perforées qui avaient des trous ronds que l'on aurait pu faire avec des petits plombs de chasse.
[^]Re: Un chasseur sachant programmer...
Bah, dans ce cas, il suffit d'utiliser des plombs carrés :)
[^]Re: Framework ... je te hais
Fusil n'a pas l'air d'un framework, il ne produit pas de logiciel.
Je considère chaque projet de fuzzing comme un logiciel indépendant, car il existe plein de petits logiciels (écrit à partir de rien, souvent en C) qui testent un type d'attaque pour une cible donnée. Voir par exemple :
http://www.digitaldwarf.be/products.html
Maintenant, l'utilisation de « framework » est peut-être un peu abusive.
[^]Re: Framework ... je te hais
en collant à sa signification originelle (accessoirement en anglais), c'est pas du tout abusif.
maintenant sa version française pue à un tel point que c'en est un faux ami, je ne l'utilise pas.
Windows has no users. It has hostages.
[^]Re: Framework ... je te hais
> en collant à sa signification originelle (accessoirement en anglais), c'est pas du tout abusif.
Ben quasi n'importe quoi est un framework alors.
Dlfp est un framework de communication.
Php un framework pour faire des pages web.
Gnome est aussi un framework.
Bugzilla est un framework pour traquer les bugs.
GNU/Linux un framework pour faire tourner des programmes.
Ma cuisine est un framework pour faire à bouffer.
Un clavier est un framework pour rentrer des donnés.
etc.
Ce mot n'a donc aucun intérêt.
[^]Re: Framework ... je te hais
C'est le principe de tous ces mots anglais technico-techniques, qui sont intraduisibles, non pas parce qu'on ne peut pas créer un mot en français/espagnol/haut-sorbien mais parce qu'ils sont déjà vide de sens à la base même. C'est le principe quintessentiel du buzzword, qui plaît à tous mais ne sert à rien.
M'enfin, je dis ça, je dis rien !
[^]Re: Framework ... je te hais
Mhumpf, en général, l'idée d'un 'framework' (moinsez moi si je dis des conneries grosses comme moi) c'est d'avoir un morceau de logiciel sur lequel se baser et qui sert à déterminer la forme de ce qu'on met dessus - dans les grandes lignes hein, un bon 'framework' n'est pas contraignant (et surtout pas trop intrusif). À rapprocher de l'idée de canevas en broderie (un cadre pour l'œuvre à construire). En principe, on délègue au 'framework' la plus grande partie possible du code (les tâches triviales, répétitives) pour se concentrer sur le 'métier' (celui là aussi il est pas mal galvaudé comme terme), autrement dit la 'charge utile' du code.
Après, quoi considérer comme 'framework' (ou 'cadriciel' pour nos amis québécois), je ne pense pas que ce soit très déterministe... Struts (pour les adeptes du café) peut être considéré comme tel, il impose un modèle MVC (ou presque). Les gens de PHP considèreront, suivant leur paroisse, Zend et/ou Symfony comme étant des 'frameworks'.
Par contre pour les exemples non liés à l'informatique il ne m'en vient pas de trivial à l'esprit. Personnellement, je ne pense pas que 'framework' soit le pire des termes échangés à mauvais escient (en général) entre décideurs. J'ai plus tendance à tiquer quand on me dit qu'une pauvre page avec un champ de recherche en Ajax, c'est du 'Web 2.0'...
Debian GNU/Linux unstable user
Kernel panic: <EOF> from device: /dev/brain0