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://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.