Necesitamos más desarrolladores de software interesados en la seguridad. Hay muchos subdominios dentro de Seguridad: Seguridad de red, Análisis forense, Pen Pen, etc. Debe comenzar en algún lugar y luego continuar desde allí según su interés y oportunidad.
Dado que tiene experiencia en desarrollo de software, puede comenzar con Application Security, es decir, ayudar a los desarrolladores de software a comprender mejor la seguridad y ayudar a escribir software seguro.
La mayoría de las empresas tendrán las mejores prácticas de codificación segura. Puede comenzar desde allí para comprender cuáles son, y comenzar a leer más sobre cada uno de esos temas e intentar ver cómo puede integrar eso en su arquitectura y diseño.
Para comenzar, lea la lista de los 10 principales de OWASP y comience a leer más según su interés.
Te sorprenderá con qué frecuencia el equipo de desarrollo hace una y otra vez la misma pregunta (con menos frecuencia, la misma persona)
a) ¿Cuál es la diferencia entre cifrado y hash? ¿Cuál debo usar? por que sal ¿Por qué IV?
b) ¿Diferencia entre clave pública y simétrica? cual usar
c) Te arrinconarán diciendo … si tengo que encriptar, y la clave de encriptación tiene que estar en KeyStore y necesitas contraseña para eso y necesito poner eso en el sistema de archivos, ¿por qué molestarte en hacer algo de todos modos? 🙂 Cuanto más entiendas sobre seguridad y, dada su experiencia en SW, puede ayudar a diseñar mejores productos.
d) Cifrado frente a firma frente a HMAC frente a otras opciones … y cómo puede hacerlo en Java, Python y otros idiomas. ¿Cómo funcionará en todas las plataformas?
e) Tome estos conceptos y superponga eso en cualquier tipo de arquitectura: REST (OAuth), SOAP (WS Security), etc.
f) firewall … ¿qué es? ¿funcionará mi sistema cuando se implemente en producción? ¿hay algún firewall? oh, el equipo de operaciones no me dijo que no puedo implementar esto en DMZ o que el firewall no se puede abrir.
Puedo seguir y seguir … te haces una idea. Si puede comprender estos conceptos y sus temas relacionados y superponerlos con su experiencia de SW, puede comenzar a desarrollar su propia área de experiencia en Seguridad.
- Cómo construir un protocolo de software
- ¿Alguna vez has hecho un software que hizo algo genial que no sabías?
- Si de repente encuentra que es extremadamente lento para su software comunicarse con la base de datos, ¿cuál es el posible problema?
- ¿Cuál es el mejor sitio de aptitud?
- ¿Trabajar en Google o Facebook como ingeniero de software es mejor que la vida universitaria?