Accueil du site > La société > Prévenir les failles de sécurité : quelques astuces
Prévenir les failles de sécurité : quelques astuces

Les failles de sécurité, découvertes tout au long de l’été dans Adobe Flash player, Acrobat et Acrobat Reader, que ce soit sous Windows, MacOS ou Linux, sont l’occasion de rappeler, à ceux qui développent des applications Windows, que chaque nouvelle version de Visual Studio intègre de nouvelles protections permettant de réduire ces problèmes de sécurité. Il incombe donc aux développeurs que nous sommes de bien les mettre en pratique lors du développement :

  • Compiler avec /GS : permet de vérifier les corruptions de stack ainsi que les stack Overflow et arrête l’exécution du logiciel si ce type de problème est détecté. Pour Visual 2005 SP1 et sup., il est de bon ton de rajouter un #pragma strict_gs_check(on) pour améliorer encore la détection des corruptions de stack.
  • Linker avec /SafeSEH  : permet la protection des handlers d’exception, au cas où un programme malveillant remplacerait le code de handlers d’exception pour être ainsi exécuté en cas de "plantage" de l’application.
  • Linker avec /DYNAMICBASE (à partir de la version 8.00.50727.161 du linker) : permet de garantir que les DLL chargées par une application ne se retrouvent pas toujours à la même adresse en RAM ( ce qui est justement reproché à Adobe).

Parmi les quelques autres bonnes pratiques à mettre en place, on peut citer le DEP (Data Execution Prevention) qui interdit l’exécution de code dans des segments de données mais cela exige de prendre quelques précautions si la compatibilité avec Windows XP doit être maintenue.

Nous vous invitons à lire l’article "Windows ISV Software Security Defense" (http://msdn.microsoft.com/en-us/library/bb430720.aspx# ) qui détaille la mise en place de toutes ces protections.

Et pour ceux d’entre-vous que la sécurité intéresse tout particulièrement, nous conseillons le blog "Security Research & Defense" de Microsoft  : http://blogs.technet.com/b/srd/.

Copyright © 2013 Philog™ | Plan du site | mentions legales | Intranet