Dans le cas de openSSL c'est une catégorie de failles qui peut être détectée automatiquement mais avec certaines limites. Le problème était de lire une adresse d'un tableau sans vérifier la taille, en C un tableau est simplement un pointeur vers le premier élément et l'information de son type. L'analyseur devrait donc pouvoir retracer comment la mémoire a été attribuée pour savoir si la lecture est valide. Si il y a un appel de fonction entre les deux, l'analyse devrait se faire sur le programme entier et non les fichiers séparément.
Je ne connais pas Ada sur le bout des doigts, mais j'en ai quelques notions et il me semble qu'avec ce langage, il y aurait eu moyen de détectyer ce genre de bug. Y a-t-il des connaisseurs ici qui pourraient confirmer ?
Sinon, une solution à ce genre de problème ne serait-il pas d'utiliser un langage comme Ada pour développer des fonctionnalités secure, (ou - vu que c'est la mode en ce moment - inventer un langage qu'on appellerait "trusted C" par exemple et qui s'inspirerait de la syntaxe du C, permettrait de développer des libs interfacables facilement avec des progs C, mais aurait tous les contrôles que fait Ada à la compilation)
[^] # Re: Les analyseurs ne sont pas non plus une panacee
Posté par totof2000 . En réponse au journal Idée stupide sur la sécurité du code. Évalué à 4.
Je ne connais pas Ada sur le bout des doigts, mais j'en ai quelques notions et il me semble qu'avec ce langage, il y aurait eu moyen de détectyer ce genre de bug. Y a-t-il des connaisseurs ici qui pourraient confirmer ?
Sinon, une solution à ce genre de problème ne serait-il pas d'utiliser un langage comme Ada pour développer des fonctionnalités secure, (ou - vu que c'est la mode en ce moment - inventer un langage qu'on appellerait "trusted C" par exemple et qui s'inspirerait de la syntaxe du C, permettrait de développer des libs interfacables facilement avec des progs C, mais aurait tous les contrôles que fait Ada à la compilation)