c++ visual-studio sdlc

c++ - ¿Qué es la opción Security Development Lifecycle Checks en Visual Studio?



visual-studio sdlc (2)

Estoy usando Visual Studio 2013 Preview, aunque estoy seguro de que lo he visto en versiones anteriores. Al crear un nuevo proyecto utilizando el asistente, selecciono C ++, la aplicación de consola Win32, y hay una opción para habilitar las comprobaciones del ciclo de vida de desarrollo de seguridad en mi proyecto. ¿Podría alguien explicar exactamente qué hace esta opción con mi código / proyecto?


El ciclo de vida de desarrollo de seguridad de Microsoft es un proceso de desarrollo de software utilizado y propuesto por Microsoft para reducir los costos de mantenimiento de software y aumentar la confiabilidad del software con respecto a errores relacionados con la seguridad del software.

Estos pueden ser útiles:

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


El /sdl se describe here . Convierte algunas advertencias en errores, lo que no afecta su código. Además, aplica el control /GS más agresivamente.

No esperes demasiado de eso. El Microsoft SDL es realmente una solución para la programación estilo C de los años 80. Incluso si usa el C ++ del siglo XX, no lo necesita. Por ejemplo, operator+(std::string, std::string) es seguro y portátil. La solución SDL de Microsoft aquí, por el contrario, no es portátil ni segura: la idea detrás de /GS es encontrar errores con el manejo de cadenas C en tiempo de ejecución y abortar el programa, limitando las consecuencias pero sin hacer que sea seguro.