DieHard diminue les plantages de développement
Ce petit logiciel permet de réduire la probabilité de créer des failles de type “ buffer overflow ”. Disponible pour Windows, Linux et Solaris, il modifie le modèle de gestion de la mémoire.
Décision Informatique
le 19/01/2007 à 12h00
L’environnement d’exécution DieHard réduit les risques de plantage des applications écrites en langages où le développeur a directement accès à la gestion de la mémoire comme C ou C++. Il réduit du même coup les risques de sécurité liés aux dépassements de tampon, les buffers overflow, à l’origine de très nombreuses failles de sécurité.
Ce petit logiciel, disponible pour Windows, Solaris et Linux, modifie le modèle de gestion de la mémoire pour supprimer les effets d’une série de problèmes tels que les pointeurs en l’air, les dépassements de tampon, les lectures de zones non initialisées et les instructions d’effacement multiples ou invalides.
La sécurité est améliorée
Pour ce faire, DieHard, qui ne modifie pas le système d’exploitation sous–jacent, exploite deux mécanismes : la distribution aléatoire des zones mémoire permettant de simuler une mémoire de taille infinie, et la réplication de zones mémoire avec comparaison des valeurs de sortie pour détecter et supprimer les erreurs selon un modèle de fonctionnement en redondance déjà largement utilisé en informatique. Dans Windows, seul le premier mécanisme est utilisé, et la protection se limite pour le moment aux navigateurs Mozilla.
“ Il y a deux raisons à cela, explique Emery Berger, cocréateur de DieHard et enseignant à l’université de Massachusetts Amherst. D’abord, il est beaucoup plus facile de remplacer les fonctions de gestion de mémoire dans Unix que dans Windows. Ensuite, la réplication est beaucoup plus facile dans Unix. ” Inconvénient, DieHard augmente significativement la consommation mémoire (Firefox passe de 100 à 200 Mo environ en environnement Windows). Le logiciel est gratuitement téléchargeable pour une utilisation non commerciale. Emery Berger a été contacté par un éditeur qui s’intéresse à cette technologie.
Analyse
Les qualités de C et C++ en font des langages très utilisés en dépit des risques liés à leur modèle de gestion de la mémoire. DieHard apporte une solution intéressante à ces problèmes, d’autant que les questions de haute disponibilité sont désormais familières aux entreprises.