entrenamiento de codificación de seguridad el mejor enfoque

2

Para capacitar al equipo de desarrollo, hay varias opciones que se pueden tomar: presentación interna con ejemplos de código, CBT para que los desarrolladores lo hagan en su mejor momento, cursos en el sitio o en la planta (costosos) dirigidos por un instructor, usando bases de conocimientos como enlace

Enviamos a un desarrollador a un curso muy costoso, regresó, pero de repente no es un experto y el resto no se benefició de su conocimiento. Apuesto a que se ha olvidado de todo ahora.

Me pregunto, ¿cómo obtendría los mejores resultados y el compromiso de los desarrolladores? Me imagino que si les damos un montón de videos y CBT para ver, realmente no lo tomarán en serio. ¿Crees que asignar a cada desarrollador un tipo de ataque y pedirles que investiguen y encuentren las mejores prácticas de defensa y las muestras de código que se presenten al resto, podrían involucrarlos o disuadirlos?

    
pregunta Goli E 10.01.2015 - 00:00
fuente

3 respuestas

2

Hay algunas cosas que he visto que tienen buen éxito.

Estándares para desarrolladores : esto incluiría bibliotecas para usar, cifrados cifrados y fortalezas para usar, información sobre pruebas de saneamiento de entradas, etc. La clave aquí es trabajar muy de cerca con los líderes en el desarrollo org.

Mientras los datos estén actualizados, sean precisos y estén bien reunidos, se ahorra mucho tiempo a los desarrolladores. Esto asegurará que sus desarrolladores pasen el menor tiempo pensando en configuraciones de seguridad predeterminadas y puedan centrarse en la solución de problemas para la que realmente están ahí. Esto también es muy útil ya que a los nuevos desarrolladores les lleva menos tiempo realmente ponerse al día.

Desafíos de piratería : estos pueden requerir muchos ajustes, pero como mencionó Schroeder, los desarrolladores desafiantes para resolver rompecabezas pueden ser una forma divertida de aprender. Puede instalar un sistema que sea vulnerable a una vulnerabilidad relativamente común y desafiar a los desarrolladores a obtener algún tipo de datos que no deben hacer. El idioma / plataforma / sistema operativo, etc., depende un poco del código de sus desarrolladores.

Análisis estático : desarrolle buenas herramientas de análisis estático y exponga los resultados a sus desarrolladores. Ayúdelos a aprender a interpretarlos para que puedan escribir códigos más seguros. Este es potencialmente un montón de trabajo, pero vale la pena dependiendo de cuántos desarrolladores tengas que entrenar.

Campeones de seguridad : al igual que con cualquier otro tema, algunos desarrolladores están más fascinados por la seguridad que otros. Encuentre a estas personas en sus diversos equipos, envíeles información específica, asegúrese de que le informen sobre extraños problemas de seguridad, etc. Puede ayudarles a enseñarles el uso más avanzado de las herramientas de seguridad y darles al menos un conocimiento básico de la auditoría de códigos para que puedan ayudar a revisar el código de su equipo. Dales camisetas, pequeños premios y otros reconocimientos y siempre, asegúrate de GRACIAS. :)

    
respondido por el theterribletrivium 10.01.2015 - 01:52
fuente
1

Creo que la seguridad web se resume en esta frase:

Don't Trust any data received from the client...!

1) A medida que sus desarrolladores intenten atenerse a esta regla, comprenderán algunos ataques basados en parámetros como SQLI y XSS ...

2) Después de eso, deberán conocer bien su marco y ser expertos en su idioma, su marco y sus características y capacidades.

A medida que alcancen las dos habilidades que mencioné anteriormente, ¡se convertirán en expertos en fortalecimiento en su campo ...!

El problema con este camino es que lleva tiempo ... Un desarrollador diligente necesita estudiar y practicar al menos un año para poder mitigar los ataques de manera efectiva y confiable.

Creo que no hay necesidad de cursos costosos o materiales de aprendizaje. Hay muchos recursos y referencias excelentes como CVE , CWE , CAPEC , OWASP y WASC que presenta información educativa o clasificación de amenazas que puede usar gratis ...

    
respondido por el AminSaghi 11.01.2015 - 06:57
fuente
0

¿La mejor manera de entrenar a un desarrollador? Dales un rompecabezas para resolver las herramientas para hacerlo:

Bríndeles la mejor capacitación que pueda pagar, pero recompénselos por encontrar / romper el código de sus compañeros usando lo que han aprendido. Los encontrará motivados para aprender y aplicar sus conocimientos.

    
respondido por el schroeder 10.01.2015 - 00:59
fuente

Lea otras preguntas en las etiquetas