it-swarm-es.com

¿Cómo puedo mantener informados a mis collegues programmer sobre los problemas de seguridad?

Actualmente estoy terminando un título universitario en la programación y me parece que los temas de seguridad a menudo son tan comprendidos por los estudiantes y los maestros. Me lleva a pensar que hay muchos desarrolladores con casi ningún conocimiento básico sobre la seguridad. Eventualmente, trabajaré con esos desarrolladores y estoy un poco despistado sobre cómo puedo, como programador, ayudarlos a estar al tanto de los problemas de seguridad y mantenerlos informados sobre los problemas de seguridad. ¿Cuáles son los buenos enfoques y cuáles son las cosas que debe evitar?

14
HoLyVieR

Si trabaja con estos desarrolladores en una asignación de codificación o algún otro proyecto, puede traer problemas de seguridad mientras trabaja juntos. Eso podría ser durante la "programación de pares" si trabaja así, o como parte de una revisión de código.

Si elige este enfoque, debe presentarse problemas realistas basados ​​en amenazas reales. Si mencionas todas las posibilidades paranoicas para los ataques, entonces es probable que solo moleste a la gente y no obtenga su mensaje de manera efectiva. Incluso cuando trabajaba para un vendedor de seguridad, encontré los paranoíticos frustrantes.

15
user185

Eche un vistazo a esta pregunta ¿Qué recursos de seguridad deben seguir un desarrollador? Como esto está orientado a los desarrolladores.

Si desea obtener más información, eche un vistazo a estos enlaces:

... recursos para aprender sobre la seguridad

... sitio web para aprender básicos de seguridad informática

... Si solo pudieras tener un libro de seguridad, ¿cuál sería

8

He trabajado en entornos centrados en el desarrollo durante mi carrera, y puedo confirmar que "la mayoría" los desarrolladores siempre tomarán la ruta más corta a la victoria, y el corte corto, siempre que sea posible, a menos que cause la ejecución de código lento. Normalmente, las preocupaciones de seguridad simplemente no consiguen una mirada en absoluto.

No hay respuesta correcta o incorrecta a esto, ya que cada grupo de desarrolladores/desarrollo tiene una dinámica y responda diferente de diferentes maneras. Dicho esto, hay cosas que puedes hacer, como:

  1. Invierta en algún entrenamiento de codificación segura interna. La mayoría de las principales casas Pentest ofrecerán esto como un servicio en el que enviarán uno de sus mejores y lo mejor para venir y trabajar con sus devs por un período de unos pocos días, caminarlos a través de los peligros de no escapar de los personajes y dejar los tampones sin marcar: ) Este es un gran punto de partida, ya que los hace al menos comenzar a considerar el error de sus formas, pero no debería estar aislando o una actividad única.

  2. A continuación, puede que desee intentar ejecutar un poco de una captura interna de la bandera/hack-Fest que los consigue todos trabajando en un ataque y defienden la capacidad para comenzar a vivir los problemas que crean inadvertidamente. La cerveza y la pizza gratis usualmente ayudan a conducir estas sesiones :)

  3. Después de eso, para mí, el siguiente paso en la ecuación es darles las herramientas y la inteligencia que necesitan para solucionar estos problemas en la fuente a medida que avanzan. La mayoría de las boutiques de prueba de bolígrafos le dirán que las únicas personas que deberían/​​pueden hacer análisis de código son probadores de pluma capacitados con años de experiencia. Esto, por supuesto, es una mentira basada en ventas. Hay algo de verdad, en tanto que un revisor de código fuente sazonado puede arrastrarse a través de miles de líneas de código de manera mucho más eficiente que su promedio de un desarrollador, cuando buscan errores, pero ¿qué pasa si el desarrollador realmente lo hace como el código? ? En ese caso, el desarrollador va a ser más eficiente que el probador de la pluma, y ​​aquí es donde esto comienza a pagar dividendos. Esencialmente, tome un montón de herramientas de revisión de código fuente gratuita, como AppCodenescan, Checkstyle, Hammurapi, JCR (revisor de código Java) O2 OWASP y luego los hacen parte de la construcción del desarrollador y dales el tiempo que necesitan para ponerse al día con la velocidad con ellos. Si sus devs pueden eliminar la última función, escriben, o un cambio importante, en una herramienta rápida y sucia como la anterior antes de que hicieran compilar, y obtenga una pista de que algo va a causar un problema, pueden arreglarlo rápido, antes de la liberación. , pre alfa incluso.

  4. La parte final de la ecuación para mí es que las pruebas de lápiz PRE y POST de la publicación deben devolver los resultados al ciclo de desarrollo, de modo que los desarrolladores puedan ver los problemas que causan y poner estrategias para detener la repetición. Suena simple, pero a menudo se pasa por alto!

Como dije al principio, no hay una respuesta correcta o incorrecta aquí, pero con suerte, lo anterior puede darle una idea o dos para irse y jugar con.

7
JabawokJayUK

Sugiero encontrar algo como un capítulo local de OWASP , o algo así.
Vaya a sus reuniones mensuales (o siempre que lo tengan), y traiga a sus colegas con usted.
Incluso si algunas de las conferencias pueden no ser relevantes, aportará seguridad a la vanguardia de sus mentes, y conseguirá que lo piensen. Por lo general, también obtendrás un excelente contenido.

5
AviD

Dales un curso/certificación CISSP. Es mejor para su carrera, se acepta internacionalmente y cubre conceptos básicos de seguridad en profundidad. Sin embargo, no espere que se conviertan en expertos en un área en seguridad. Así que los programadores no se convertirán en expertos en seguridad de software, pero al menos serán muy conscientes de las amenazas de seguridad.

Además de "forzarlos", para hacer CISSP es más fácil que forzarlos para leer blogs o sitios web. Puede "vender" obtener la certificación CISSP al presentarla como algo útil para ellos, lo que les ayuda en su carrera.

2
Henri