¿Es necesario comprender la seguridad cibernética al desarrollar software?
Tengo un poco diferente después de revisar todas las respuestas.
Algunas de las respuestas se centraron en la seguridad Appsec y Owasp top 10. Algunas de las respuestas introdujeron el concepto de riesgo en lugar de la codificación segura.
- ¿Qué trabajos hay para los ingenieros de software que prefieren ser especialistas?
- ¿Es obligatorio aprender todos los idiomas para las pruebas de software?
- ¿Qué son los desarrolladores full stack, front-end y back-end? ¿Qué hacen cada uno de ellos?
- ¿Se pagará a los desarrolladores web a la par de los desarrolladores de software?
- ¿Por qué estás cambiando tu carrera (de mecánica a software)?
Mi opinión se basa en la premisa de que
- cloud and SaaS está realmente creciendo en la lucha contra las pandillas. $ 10 mil millones y crecimiento de dos dígitos.
SaaS crece a doble dígito también con cerca de $ 30 + mil millones en ingresos. Gartner dice que se prevé que el mercado mundial de servicios de nube pública alcance los $ 204 mil millones en 2016
Microsoft, Adobe y muchos reproductores de software establecidos se están moviendo al servicio SaaS.
Con los datos anteriores, lo que quiero establecer es que SaaS y la nube están aquí para quedarse y crecer. No importa a qué empresa vaya, tendrán alguna estrategia para aprovechar la nube y proporcionar el servicio SaaS. Por supuesto, siempre habrá una excepción a esta regla, pero la mayoría de las veces, según la ley de estadísticas, encontrará que su empleador actual o futuro intenta ingresar a la nube o SaaS o tiene negocios saludables a su alrededor.
Las cosas con SaaS y la nube son que si no confías en tu cliente, no tienes negocios. Período.
La seguridad es una de las principales objeciones para muchos clientes que se mudan a la nube o al servicio SaaS. La mayoría de las veces, estas aplicaciones SaaS son accesibles por cualquier persona a través de Internet.
Por lo tanto, el conocimiento de seguridad es necesario al codificar estas plataformas. El tipo de comprensión que se necesita depende de la capa de pila en la que esté trabajando. Sin embargo, el conocimiento básico de seguridad de redes, aplicaciones y análisis definitivamente ayudará.
La codificación segura ya no es una opción o una cosa basada en el riesgo. Es una forma inteligente de decir que no sé cómo codificar de forma segura.
A veces, como desarrollador, no tiene que saberlo todo, pero sus arquitectos deben conocer las implicaciones y la posible solución para evitar vulnerabilidades comunes.
El conocimiento de seguridad nunca está de más durante la codificación, si algo lo convertirá en un mejor programador.
Cuánto de esa comprensión es suficiente es una pregunta completamente diferente. Pero lo básico debería ser conocido para todos los desarrolladores de software
- Ataques a la red (-DoS / DDoS, escaneo)
- El hombre en el medio ataca
- Ataques de hombre en el navegador
- Inyección SQL / secuencia de comandos de sitios cruzados / inclusión de archivos locales (OWASP top 10 es una buena lista)
- Conocimientos sobre frameworks como hibernate (si eres una tienda Java)
- Conocimiento sobre desbordamiento de búfer (desbordamiento de pila frente a desbordamiento de montón)
Arriba hay una buena lista para saber cómo funcionan estos ataques. Cuando esté codificando, intente ver si alguno de estos ataques puede crear problemas para su código o cómo se comportará en estas situaciones.
Nunca está de más pensar en la seguridad mientras se codifica y quería felicitarlo por pensar en la seguridad.