Africa Studio - stock.adobe.com
5 lenguajes de programación esenciales para los profesionales de la ciberseguridad
La codificación es una habilidad importante en casi todas las disciplinas tecnológicas actuales, y la ciberseguridad no es una excepción. Conozca los principales lenguajes de programación para profesionales de la seguridad.
La codificación es una habilidad esencial en casi todas las disciplinas tecnológicas actuales, y la ciberseguridad no es una excepción. Los profesionales de la ciberseguridad deben comprender los conceptos de codificación para interpretar correctamente la actividad de los actores maliciosos en sus redes, y deben ser capaces de escribir código para realizar su propio trabajo de manera más eficiente y eficaz. Si bien no todos los trabajos de ciberseguridad incluyen explícitamente las habilidades de codificación como un requisito laboral, es difícil imaginar una carrera en ciberseguridad que no se beneficie de la capacidad de eliminar al menos algunas líneas de código de vez en cuando.
Los profesionales de la ciberseguridad que quieren aprender a codificar por primera vez se enfrentan a una pregunta un tanto abrumadora: ¿Qué idioma deberían aprender? Actualmente se utilizan docenas de lenguajes de programación populares y elegir un punto de partida puede ser una tarea abrumadora. Hay cinco que considero elementos importantes del conjunto de herramientas de ciberseguridad moderno:
- Python
- Secuencias de comandos de Shell
- HTML
- JavaScript
- SQL
Echemos un vistazo a cada uno de estos importantes lenguajes de programación, examinando por qué los necesitamos y cómo aprenderlos.
-
Python
Por qué lo necesitamos: Python es el caballo de batalla moderno de los lenguajes de programación. Como miembro del grupo de lenguajes conocidos como lenguajes de propósito general, encontrarán que se puede realizar casi cualquier tarea de desarrollo de software en Python y, por esta razón, es increíblemente popular. Si solo van a aprender un idioma, este es definitivamente el lugar para comenzar. El código Python se encuentra debajo de la superficie de muchas herramientas populares de ciberseguridad, y es fácil usar Python para automatizar gran parte de su trabajo.
Cómo aprenderlo: La mejor manera de aprender Python es una combinación de tutoriales y ejemplos. Recomiendo comenzar con un tutorial básico de Python, como los disponibles en LearnPython.org o Codeacademy. A partir de ahí, comiencen a buscar código Python escrito por otros. Quizás, hay algunos ejemplos en su propio entorno de trabajo, o pueden intentar escribir un script de Python que funcione con una herramienta de ciberseguridad común, como Nmap.
-
Secuencias de comandos Shell
Por qué lo necesitamos: Las secuencias de comandos de Shell, o Shell scripting, utilizan muchos de los mismos comandos que ya pueden usar en las sesiones de terminal en el sistema operativo de su elección y permiten a los desarrolladores escribir secuencias de comandos automatizadas para realizar muchas tareas de rutina. ¿Necesitan una forma rápida de aprovisionar cuentas y autorizar el acceso adecuado? ¿Buscan una forma de automatizar rápidamente el bloqueo de seguridad de una configuración del sistema? Las secuencias de comandos de Shell son el lugar para buscar. Si están utilizando un sistema operativo Linux o Mac, querrán aprender uno de los lenguajes de script de Shell de Linux, como Bash. Si es un profesional de Windows, sumérjase en las secuencias de comandos de PowerShell.
Cómo aprenderlo: Si están listos para aprender a usar secuencias de comandos de Shell, lo primero que deben hacer es asegurarse de que se sienten cómodo con las herramientas básicas de línea de comandos disponibles para su sistema operativo. A partir de ahí, pueden comenzar a encadenar algunos scripts básicos siguiendo los ejemplos de tutoriales comunes sobre scripts de Shell de Linux o PowerShell.
-
HTML
Por qué lo necesitamos: Hice un poco de trampa aquí. HyperText Markup Langugage (HTML) no es estrictamente un lenguaje de programación. Técnicamente hablando, es un lenguaje de marcado. Pero es el idioma que se utiliza para crear páginas web en internet. HTML es una habilidad esencial para los profesionales de la ciberseguridad porque muchos tipos de ataques giran en torno al código HTML. Si los atacantes quieren escribir un ataque de inyección SQL o incrustar un script malicioso en un sitio web, lo harán usando HTML. Si desean poder analizar esos ataques, deberán comprender HTML.
Cómo aprenderlo: Afortunadamente, HTML es un lenguaje bastante simple de aprender y pueden aprender los conceptos básicos en unas pocas horas. La razón de esto es que, como lenguaje de marcado, HTML comienza con texto sin formato y luego usa una serie de elementos de código conocidos como etiquetas para formatear ese texto e incluir otros elementos de la página web, como imágenes y videos incrustados. W3Schools ofrece un tutorial HTML gratuito que los pondrá en funcionamiento en poco tiempo. A partir de ahí, aprendan con el ejemplo. Visiten páginas de la web y observen su código fuente HTML. Pueden examinar el trabajo de desarrolladores web expertos y aprender cómo crearon sus sitios favoritos en HTML.
-
JavaScript
Por qué lo necesitamos: Mientras que HTML constituye la base de las páginas web, JavaScript les proporciona su poder. El código JavaScript se usa ampliamente para incorporar elementos externos, rastrear la actividad del usuario y realizar muchas otras tareas web. También es el lenguaje que se utiliza en muchos ataques de aplicaciones basados en la web, como las secuencias de comandos entre sitios. Si desean convertirse en analistas de intrusiones, definitivamente necesitarán algo de experiencia en JavaScript.
Cómo aprenderlo: Al igual que con otros lenguajes de codificación, pueden obtener algo de JavaScript básico en los tutoriales disponibles en cualquier sitio, como los de W3Schools. A partir de ahí, una excelente manera de comenzar a aprender cómo se usa en la práctica es simplemente mirar el JavaScript que se usa en cualquier sitio web que visiten. Vean la fuente de una página web y busquen el código JavaScript, tratando de averiguar el propósito y la intención del código. Esa es exactamente la misma habilidad que usan los profesionales de la ciberseguridad cuando buscan realizar ingeniería inversa en JavaScript en la naturaleza.
-
SQL
Por qué lo necesitamos: El lenguaje de consulta estructurado (SQL) es el lenguaje de las bases de datos relacionales. Los administradores, desarrolladores y usuarios finales de bases de datos escriben consultas en SQL para recuperar, insertar, actualizar y eliminar información almacenada en tablas de bases de datos. Los atacantes también utilizan este lenguaje para robar información confidencial, interrumpir los almacenes de datos y realizar una serie de ataques basados en la web. Si desean comprender la actividad de los atacantes y evitar la inyección de SQL y otros ataques relacionados con la base de datos, necesitarán al menos un conocimiento básico de SQL.
Cómo aprenderlo: Afortunadamente, no es demasiado difícil aprender SQL. Si tienen acceso a una base de datos relacional en el trabajo, explorarla es una excelente manera de comenzar. Si no tienen acceso, muchos tutoriales basados en la web brindan la posibilidad de obtener experiencia práctica. Recomiendo los cursos disponibles en LinkedIn Learning y DataCamp. (Por cierto, soy un autor de LinkedIn Learning).
Si aún se sienten abrumados, elijan uno de los cinco idiomas anteriores y comiencen. Pronto aprenderán que la codificación es una habilidad increíblemente útil para cualquier profesional de la ciberseguridad y, lo mejor de todo, ¡es muy divertido!