Qu’est-ce que l’option Vérifications du cycle de vie du développement de la sécurité dans Visual Studio?

J’utilise Visual Studio 2013 Preview, même si je suis sûr de l’avoir vu dans les versions antérieures. Lors de la création d’un nouveau projet à l’aide de l’assistant, je sélectionne C ++, Win32 Console Application et une option permet d’activer les vérifications du cycle de vie du développement de la sécurité sur mon projet. Quelqu’un pourrait-il expliquer exactement ce que cette option fait à mon code / projet?

Le commutateur /sdl est décrit ici . Cela transforme certains avertissements en erreurs, ce qui n’affecte pas votre code. De plus, il applique la vérification /GS plus agressive.

N’attendez pas trop de cela. Microsoft SDL est vraiment une solution de contournement pour la programmation C de style 1980. Même si vous utilisez le C ++ du 20ème siècle, vous n’en avez pas besoin. Par exemple, l’ operator+(std::ssortingng, std::ssortingng) est à la fois sûr et portable. En revanche, la solution SDL de Microsoft n’est pas portable, pas plus qu’elle n’est sûre – l’idée derrière /GS est de trouver des erreurs avec la gestion des chaînes C lors de l’exécution et d’abandonner le programme, en limitant les conséquences sans le sécuriser.

Microsoft Security Development Lifecycle est un processus de développement logiciel utilisé et proposé par Microsoft pour réduire les coûts de maintenance des logiciels et accroître la fiabilité des logiciels concernant les bogues liés à la sécurité des logiciels.

Ceux-ci peuvent être utiles:

http://download.microsoft.com/download/B/5/A/B5A89F4C-D591-4AAB-BF45-D818D80527B6/SDLServices2011.pdf

http://msdn.microsoft.com/en-us/library/windows/desktop/84aed186-1d75-4366-8e61-8d258746bopq.aspx