Si vous aviez un langage de programmation qui vérifiait lors de l'exécution que tous les accès tampons étaient valides, comment pourriez-vous obtenir un dépassement de mémoire tampon? Il y a beaucoup de langauges comme celle-ci (par exemple, Java). Une question plus pratique est, y a-t-il des services Web qui sont entièrement mis en œuvre (de bas en haut) de cette façon? J'en doute; la plupart sont construites sur un OS, généralement écrit en C, et il y a la faiblesse. Vous n'avez aucune garantie pratique que la machinerie sous-jacente à votre système d'exploitation (ou votre environnement d'exécution Java, d'ailleurs) ne contient pas de débordement de tampon caché. Une chose que vous pouvez faire est de convertir votre langage de programmation "sans contrôle d'accès au tampon" en un langage "coché" qui ne peut pas faire une erreur sans le signaler. Voir notre CheckPointer pour un outil qui fait exactement cela pour le langage de programmation C. À l'heure actuelle, cet outil n'est pas pratique à utiliser dans un environnement de production, car il ajoute plutôt beaucoup de frais généraux. Il y a de l'espoir, cependant; Il y a des projets de recherche qui produisent des programmes qui ne peuvent pas accéder en dehors de sa propre mémoire, mais qui échangent la correction fonctionnelle/la précision des rapports pour la performance, et ceux-ci ont des frais généraux assez bas. Finalement, ces méthodes sont susceptibles d'être utilisées dans ces couches inférieures de logiciels, pour s'assurer qu'ils ne peuvent pas causer de problème, soit.
Avec quelle plateforme? Java? .NET? Quelle version? –