Bueno, para ser “bueno” en seguridad necesita saber cómo funciona un “sistema” debajo.
Los idiomas interpretados lo multiplican aún más, ya que tiene un intérprete constantemente en funcionamiento, una especie de VM. Debe comprender la interacción del intérprete con el “sistema”, así como con el código. Explotar el intérprete puede darle acceso al resto del sistema sin activar muchas alarmas.
Entonces, para ser un ingeniero de seguridad en una compañía que usa, por ejemplo, Java, tiene sentido saber cómo JVM interactúa con el sistema, cuáles son sus vulnerabilidades y cómo se comportará si es atacado, o incluso ejecuta algún código “malformado”.
- En la autenticación de dos factores, ¿son los tokens suaves más seguros que los tokens duros?
- ¿Cómo puede ocurrir un ataque de malware en una base de datos móvil?
- ¿Qué temas pueden estar relacionados con el seguimiento ocular, las ondas cerebrales o la captura de movimiento y la seguridad de los sistemas de TI?
- Quiero trabajar en el campo de la seguridad cibernética. ¿Qué debo comenzar a hacer? ¿Qué sería beneficioso?
- Como administrador del sistema Linux, ¿qué utiliza para mantenerse actualizado con todas las actualizaciones de seguridad y versiones, fallas de seguridad y nuevas tecnologías?
Esto ni siquiera menciona cómo JVM maneja el código de bytes, etc., que también se debe aprender, pero no creo que sea necesario de inmediato.
Algunos recursos para “por qué”
El exploit de seguridad de Java en (principalmente) inglés simple
Ataques de inyección
PHP es particularmente susceptible a ataques, por lo que si trabaja en Facebook, supongo que la mayoría de los pasantes comenzarían a probar el código PHP.