Por qué las habilidades de programación son esenciales para los analistas de ciberseguridad
La mayoría de los analistas de ciberseguridad no necesitan saber codificar. Pero eso no significa que no deban molestarse en aprender. Si trabaja en ciberseguridad, adquirir al menos conocimientos básicos de programación puede ayudarle a acelerar su carrera y abordar los desafíos de seguridad de manera más eficiente.
Con esta realidad en mente, siga leyendo para obtener consejos sobre lo que debe saber sobre programación para avanzar en su carrera en ciberseguridad.
¿Por qué es importante la programación en ciberseguridad?
Comencemos explicando por qué aprender a programar puede ser beneficioso para las personas que trabajan en ciberseguridad.
Nuevamente, las habilidades de programación no son absolutamente necesarias para una carrera en ciberseguridad. La mayoría de los trabajos de seguridad de nivel básico no requieren conocimientos de programación y, en algunos casos, incluso los profesionales de seguridad con mucha experiencia no saben cómo codificar.
Sin embargo, dado que muchos de los desafíos de seguridad que los analistas de ciberseguridad deben resolver involucran código, comprender cómo funciona el código es una habilidad valiosa que deben tener los analistas. Cuanto más sepa sobre programación, mejor posición estará para avanzar en su carrera en ciberseguridad.
En general, cabe señalar que algunas áreas especializadas de la ciberseguridad no se benefician mucho de la programación. Si te concentras en Seguridad físicaPor ejemplo, las habilidades de programación no son muy importantes porque el código no juega un papel importante en los riesgos de seguridad física. Asimismo, equipos enfocados en ciberseguridad Respuesta al incidente Quizás no necesites saber mucho sobre programación.
Pero la mayoría de los otros tipos de riesgos de ciberseguridad giran en torno al código. Específicamente, incluyen código de aplicación (donde los errores pueden provocar vulnerabilidades de seguridad, por ejemplo inyección de código Y Desbordamiento del búfer riesgos) o código de configuración (que puede contener procesos de monitoreo que exponen los recursos a problemas como el acceso no autorizado). Cuanto más sepa sobre cómo funciona el código, mejor equipado estará para gestionar esos riesgos.
Científico
Conceptos básicos de codificación para ingenieros de ciberseguridad
Por supuesto, la mayoría de los ingenieros de ciberseguridad no tienen tiempo para dominar todo lo relacionado con la programación. Más bien, debería ser estratégico y centrarse en los aspectos de programación que son más importantes para la ciberseguridad.
Aprende cómo funcionan los lenguajes de programación
Existen cientos de lenguajes de programación e incluso los desarrolladores expertos solo conocen algunos de ellos. Los analistas de ciberseguridad ciertamente no deberían pretender dominar una amplia gama de idiomas.
Pero aprender al menos un idioma proporcionará información valiosa sobre cómo funciona el código y los tipos de errores que pueden cometer los desarrolladores y que podrían provocar fallas de seguridad. Especificado El idioma de tu elección Que aprendas no importa mucho; En la mayoría de los casos, es una buena idea elegir un lenguaje sencillo como Python o JavaScript.
Descubra cómo funciona la infraestructura como código
Del mismo modo, la mayoría de los analistas de ciberseguridad se beneficiarían si aprendieran a escribir el código en el que confían los ingenieros de TI para aprovisionar recursos a través de un proceso conocido como infraestructura como código o IaC.
El código IaC no ejecuta aplicaciones; En cambio, define cómo se configuran los servidores, las redes y otros recursos de TI. Un error en su código IaC, como un código que expone por error un recurso de datos confidenciales al acceso público, puede provocar un incidente de seguridad.
Los analistas de ciberseguridad no necesitan tener grandes habilidades para escribir código IaC, pero es útil elegir una plataforma IaC popular, como Terraform, y saber cómo usarla para configurar la infraestructura. Hacerlo proporcionará una comprensión práctica de cómo suelen surgir los riesgos de seguridad en la infraestructura moderna.
Más información sobre CI/CD
Aprender cómo Canalizaciones de CI/CD Los negocios son otra habilidad esencial que puede ayudar a avanzar en las carreras de ciberseguridad. Trabajar con canalizaciones de CI/CD no requiere escribir ningún código porque las canalizaciones de CI/CD no son código; Es simplemente un conjunto de herramientas y procesos en los que confían los desarrolladores para escribir, crear, probar e implementar código.
Comprender cómo encajan estas herramientas y procesos, y los tipos de riesgos de seguridad (como no restringir el acceso a repositorios de código o servidores de integración continua) que pueden surgir durante los procesos de CI/CD es otra forma para que los ingenieros de ciberseguridad obtengan información sobre cómo funciona la seguridad. surgen riesgos.
Aprende Git
Git es una herramienta de código abierto en la que confían la mayoría de los desarrolladores actuales para ayudar a administrar el código fuente. Si trabaja en ciberseguridad, saber cómo ejecutar comandos de Git probablemente no sea muy importante, pero es útil conocer los conceptos básicos de cómo funciona Git: cómo los desarrolladores verifican el código en un repositorio de Git, cómo modifican el código usando Git y los tipos. de pruebas que hacen. Pueden ejecutarlo a través de Git, etc.
Nuevamente, muchos de los problemas de seguridad que los analistas tienen la tarea de abordar tienen su origen en los procesos de monitoreo que ocurren durante las operaciones de Git, por lo que cuanto más sepa sobre Git, mejor posición estará para ayudar a prevenir los riesgos de seguridad basados en Git.
aprender secuencias de comandos
La capacidad de escribir scripts básicos utilizando un lenguaje como Bash, PowerShell o Perl puede ayudar a los analistas de ciberseguridad a automatizar algunos de sus flujos de trabajo. Por ejemplo, puede escribir scripts que implementen herramientas de monitoreo de seguridad o transformen datos automáticamente.
Las habilidades de secuencias de comandos son menos importantes para comprender los orígenes de las amenazas a la ciberseguridad porque las secuencias de comandos de mantenimiento tienden a no ser fuentes importantes de riesgo (aunque pueden serlo), pero aprender a crear secuencias de comandos puede ayudar a los profesionales de la ciberseguridad a trabajar de manera más eficiente.
En pocas palabras: para mejorar su juego de seguridad, aprenda a codificar
Para la mayoría de los analistas de ciberseguridad, no es necesario ser un programador experimentado que domine los entresijos de todos los aspectos de la programación. Sin embargo, tener una comprensión básica de los aspectos básicos de la programación, como cómo escribir código de aplicación, cómo administrar código a través de canales de CI/CD y cómo desarrollar scripts básicos, puede ser de gran ayuda para ayudar a los profesionales de la ciberseguridad a mejorar sus habilidades. La codificación no es un requisito estricto, pero invertir un poco de tiempo en desarrollar habilidades de programación puede generar enormes dividendos para las carreras de ciberseguridad.
Sobre el Autor
Christopher Tozzi es un analista técnico con experiencia en computación en la nube, desarrollo de aplicaciones, software de código abierto, virtualización, contenedores y más. También da conferencias en una importante universidad del área de Albany, Nueva York. Su libro For Fun and Profit: A History of the Free and Open Source Software Revolution es publicado por MIT Press.