¿Cómo puedo mantener informados a mis colegas programadores sobre problemas de seguridad?

14

Actualmente estoy terminando un título universitario en programación y encuentro que los temas de seguridad a menudo son apenas comprendidos por estudiantes y maestros. Me lleva a pensar que hay muchos desarrolladores que casi no tienen conocimientos básicos sobre seguridad. Eventualmente trabajaré con esos desarrolladores y no tengo ni idea de cómo puedo, como programador, ayudarles 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 se deben evitar?

    
pregunta HoLyVieR 07.12.2010 - 05:40
fuente

5 respuestas

15

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

Si elige este enfoque, debe encontrar problemas realistas basados en amenazas reales. Si menciona todas las posibilidades paranoicas de ataques, entonces es probable que solo moleste a la gente y no transmita su mensaje de manera efectiva. Incluso cuando estaba trabajando para un proveedor de seguridad, encontré a los paranoicos frustrantes.

    
respondido por el user185 07.12.2010 - 13:56
fuente
8
respondido por el random65537 07.12.2010 - 07:20
fuente
7

He trabajado en entornos muy centrados en el desarrollo durante mi carrera, y puedo confirmar que la mayoría de los desarrolladores siempre tomarán el camino más corto hacia la victoria y lo acortarán siempre que sea posible, a menos que cause una ejecución lenta del código. Por lo general, los problemas de seguridad no se pueden ver en absoluto.

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

  1. Invierta en alguna capacitación interna de codificación segura. La mayoría de las casas principales de PenTest ofrecerán esto como un servicio donde enviarán a lo largo de uno de sus mejores y más brillantes equipos de trabajo durante un período de unos días, guiándolos a través de los peligros de no escapar de los personajes y dejando los búferes sin marcar: ) Este es un gran punto de partida, ya que al menos los hace comenzar a considerar el error de sus formas, pero no debe ser aislado o una actividad única.

  2. A continuación, puede intentar ejecutar un poco de una captura interna de la bandera / hack-fest que hace que todos trabajen en un ataque y defender la capacidad para comenzar realmente a vivir los problemas que crean sin darse cuenta. Cerveza gratis & La pizza generalmente ayuda 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 el origen a medida que avanzan. La mayoría de las boutiques de prueba de la pluma le dirán que las únicas personas que deben / pueden hacer el análisis de código son los examinadores de la pluma entrenados con años de experiencia. Esto, por supuesto, es una mentira basada en las ventas. Hay algo de cierto en esto, ya que un experimentado revisor de código fuente puede rastrear miles de líneas de código de manera mucho más eficiente que su desarrollador promedio, cuando buscan errores, pero ¿qué sucede si el desarrollador realmente hace esto mientras codifica? ? en ese caso, el desarrollador va a ser más eficiente que el probador de bolígrafos, y aquí es donde esto comienza a pagar dividendos. Esencialmente, obtenga un montón de herramientas gratuitas de revisión de código fuente como AppCodeScan, Checkstyle, Hammurapi, JCR (Java Code Reviewer) o2 OWASP y luego conviértalos en parte de la compilación del desarrollador, y deles el tiempo que necesitan para ponerse al día. ellos. Si sus desarrolladores pueden colocar la última función que escribieron, o un cambio importante, en una herramienta rápida y sucia como la anterior antes de que compilen, y obtener una pista de que algo va a causar un problema, pueden solucionarlo rápidamente. , pre alfa incluso.

  4. Para mí, la parte final de la ecuación es que las pruebas de lápiz previas y posteriores a la publicación DEBEN introducir los resultados en el ciclo de desarrollo, de modo que los desarrolladores puedan ver los problemas que causan y poner estrategias para detener la ofensa. . Suena simple, pero a menudo se pasa por alto!

Como dije al principio, aquí no hay una respuesta correcta o incorrecta, pero espero que lo anterior pueda darte una idea o dos para irte y jugar.

    
respondido por el JabawokJayUK 19.12.2011 - 16:25
fuente
5

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

    
respondido por el AviD 07.12.2010 - 23:34
fuente
2

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

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

    
respondido por el Henri 07.12.2010 - 22:10
fuente

Lea otras preguntas en las etiquetas