Oui, on peut faire des programmes garantis sans buffer overflow.
Sans aller chercher jusqu'à l'Atelier B, il suffit de programmer en Java ou en Ada, ou n'importe quel language qui implémente des verification de débordement de tableau et autres à l'execution. (en Ada, en cherchant bien, il doit y avoir moyen de faire pointer un pointeur dans le vide, mais en Java, le pointeur est initialisé à null, et la mémoire n'est désallouée que par le garbage collector, donc, seulement lorsque personne ne pointe dessus.)
MAIS ces vérifications à l'execution sont une perte de temps dans beaucoup de cas ou le programmeur est sur qu'il écrit dans la zone mémoire qu'il veut. Pour des applications destinées à des serveurs, cette perte de temps de calcul serait intolérable.
Pour ce qui est de l'atelier B, il y a si mes souvenirs sont bons 500 hommes.mois de travail pour 50 000 lignes de code pour le métro météor. Fais une règle de trois pour voir ce qu'il faudrait pour le code d'un gros projet, et tu verras que ce n'est pas n'importe qui qui peut se le permettre.
[^] # Re: Faille sendmail et vulnérabilité OpenSSH
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Faille Sendmail et vulnérabilité OpenSSH. Évalué à 4.
Sans aller chercher jusqu'à l'Atelier B, il suffit de programmer en Java ou en Ada, ou n'importe quel language qui implémente des verification de débordement de tableau et autres à l'execution. (en Ada, en cherchant bien, il doit y avoir moyen de faire pointer un pointeur dans le vide, mais en Java, le pointeur est initialisé à null, et la mémoire n'est désallouée que par le garbage collector, donc, seulement lorsque personne ne pointe dessus.)
MAIS ces vérifications à l'execution sont une perte de temps dans beaucoup de cas ou le programmeur est sur qu'il écrit dans la zone mémoire qu'il veut. Pour des applications destinées à des serveurs, cette perte de temps de calcul serait intolérable.
Pour ce qui est de l'atelier B, il y a si mes souvenirs sont bons 500 hommes.mois de travail pour 50 000 lignes de code pour le métro météor. Fais une règle de trois pour voir ce qu'il faudrait pour le code d'un gros projet, et tu verras que ce n'est pas n'importe qui qui peut se le permettre.