¿Qué trabajos en el ámbito de la seguridad de la información requieren fuertes habilidades de desarrollo?

Por habilidades de desarrollo, si se refiere a habilidades de desarrollo de aplicaciones, entonces sí, lo que Andrew Olson señaló parece correcto. Puede usar esas habilidades durante la revisión del código de análisis estático. La revisión de códigos siempre ha sido parte de la ingeniería de seguridad en la mayoría de las organizaciones. Cuando se trata de seguridad ofensiva, debe tener fuertes habilidades de desarrollo, ya que desarrollará exploits para publicar o probar las vulnerabilidades. Las habilidades que necesita en este nivel son completamente diferentes de las habilidades de desarrollo de aplicaciones que se basan en gran medida en el idioma y en las bibliotecas de terceros disponibles en el idioma. Es un poco difícil separar las responsabilidades en función del puesto de trabajo, pero déjame intentar enumerar algunas para ti.

El ingeniero de seguridad de la información (Seguridad de la aplicación) – Revisión de código (tanto manual como automatizado utilizando las herramientas), debe tener un buen conocimiento de los marcos y el lenguaje utilizado para las aplicaciones. Un tipo Java no puede revisar el código de la aplicación .NET, es tan simple como eso.

Ingeniero de seguridad de la información (Seguridad de red): uso mínimo o nulo de las habilidades de desarrollo. La mayor parte del trabajo se realiza con las herramientas disponibles. Si buscas en Google “Networking Tool”, puedes ver que casi todas las herramientas están disponibles. Administración y configuraciones es la tarea que principalmente realiza el ingeniero de seguridad de la información en este campo.

Analista de seguridad de la información (acceso / gestión de identidad): igual que la seguridad de red

Consultor de seguridad de la información: deben estar al día con el cumplimiento, las regulaciones y las políticas. Realizan muchas sesiones de capacitación y talleres. Las softskills se requieren más en este nivel. No es necesario que sea un técnico de núcleo duro, pero aún necesita tener habilidades técnicas en este nivel.

Gerente de seguridad de la información: al igual que el Consultor de seguridad, además podrían administrar otros grupos de seguridad, la habilidad de desarrollo de las personas es imprescindible y este es un trabajo no técnico en lo que respecta a la práctica diaria, principalmente porque gran parte de su tiempo se dedica a la certificación, la acreditación y Toma de decisiones.

Arquitecto de seguridad de la información: uso bastante bueno de habilidades de desarrollo, herramientas y softskill. Este rol exige una combinación adecuada de dominio, tecnología y habilidades de desarrollo de personas. toman decisiones sobre la pila tecnológica y recomiendan recomendaciones desde el punto de vista de la seguridad.

Ingeniero de seguridad (desarrollo de exploits / informática forense) : el conocimiento del lenguaje de nivel ensamblador y el buen dominio sobre un lenguaje de bajo nivel ayuda mucho. Este rol consiste en monitorear de cerca el comportamiento del sistema operativo en diferentes circunstancias y construir un parche de ese rol técnico fallido.

Pruebas de penetración: habilidades de desarrollo mínimas, basadas en herramientas, pero las habilidades de desarrollo siempre son más para posicionarlo mejor probador de penetración.

Personalmente, creo que la seguridad de las aplicaciones y la arquitectura de seguridad es el papel donde cuentan las sólidas habilidades de desarrollo.

He trabajado en arquitectura de seguridad durante muchos años y puedo proporcionar una vista parcial. Sospecho que alguien dentro de la seguridad / ingeniería de la aplicación también podría proporcionar una vista. En resumen, cuanto más alto esté en términos de toma de decisiones, más habilidades blandas tendrá y habrá menos requisitos para un conocimiento técnico profundo. Creo que este diagrama de Fast Company explica muy bien las cosas:

Sin entrar en una taxonomía completa de InfoSec, he visto dos áreas específicas donde se requieren habilidades de desarrollo:

  • Se requieren habilidades específicas del idioma durante la revisión manual del código y, dependiendo de cómo se evalúa un objetivo, también son increíblemente útiles en las pruebas y análisis de penetración de la caja blanca.
  • En los escenarios de nivel superior y más cercano a la administración, se requieren habilidades de desarrollo para comprender algunos problemas de seguridad de la aplicación. Estos son necesarios no solo para comprender algunas implicaciones de tomar una decisión en particular, sino también para las habilidades blandas que menciona. Será difícil relacionarse con los desarrolladores si nunca ha pasado por al menos algunas experiencias similares y no puede comprender algunos conceptos básicos.