Seis idiomas básicos para expertos en ciberseguridad

El año pasado fue una fiesta para los ciberdelincuentes, que no solo aumentaron el número de ataques, sino que también mejoraron su complejidad y técnicas de penetración. Si hacen su tarea, los profesionales de TI y seguridad también deben perfeccionar sus habilidades. Esta lista cubre algunas de las principales herramientas necesarias para seguir este camino.

Pero esto no es solo para proteger la empresa. La demanda de expertos en seguridad está en un pico histórico y pueden obtener enormes beneficios laborales. El reciente vTalk muestra que el 70% de los estudiantes de programación o desarrollo eventualmente trabajarán en ciberseguridad.

Según la Oficina de Estadísticas Laborales de EE. UU., El ingreso anual promedio de los desarrolladores de software en los Estados Unidos es actualmente de 110 140 dólares, o 52,95 dólares por hora. En el rango ligeramente más alto, el ingeniero de software es uno de los ocho trabajos de TI más demandados este año. Según la guía de sueldos técnicos de 2021, el ingreso anual de un ingeniero de software es de aproximadamente US $ 123.250.

Algunas instituciones educativas recomiendan que los profesionales de la ciberseguridad aprendan ciertos lenguajes de programación. Los más mencionados son Python, Shell scripting, HTML, JavaScript, SQL y Ruby. Cuatro de ellos aparecen en el top ten del índice TIOBE 2021, que mide la popularidad de los lenguajes de programación. Cuatro, pero no iguales, en la lista de este año de los 10 lenguajes de programación más solicitados:

  1. Python: es parte del grupo «lenguaje universal». Es adecuado para casi cualquier tarea de desarrollo de software. Es un lenguaje de scripting y no hay pasos intermedios de compilación en otros lenguajes. Los programas de Python son más simples, más pequeños y más flexibles que sus equivalentes en lenguajes como C, C ++ o Java. Casi desde su concepto, es un lenguaje orientado a objetos, pero como multi-paradigma, también permite programar en un modelo imperativo y soporta en menor medida la programación funcional. Hay muchos cursos en el mercado, como «Programación para todos (comenzando con Python)» de la Universidad de Michigan o «Python: aprender a programar» de la Universidad Politécnica de Valencia. Un buen punto de partida es el tutorial básico en LearnPython.org
  • Script de shell: El intérprete de comandos es un programa que permite al usuario interactuar con el sistema y procesar los comandos indicados. Los comandos se pueden dividir en internos, que son comandos interpretados por el propio shell, y externos, que son archivos ejecutables fuera del shell. Los comandos proporcionan elementos que mejoran su funcionalidad, como variables, funciones o estructuras de control. Con ellos, los desarrolladores pueden escribir scripts automatizados para realizar muchas tareas rutinarias. Para los usuarios que utilizan sistemas operativos Linux o Mac, puede elegir el lenguaje de scripting Shell de Linux, como Bash. Para aquellos a los que les gusta Windows, existe PowerShell. La opción de entrada proporcionada por ITT Bombay es «Programación de shell: una necesidad para todos los programadores».
  • HTML: lenguaje de marcado de hipertexto HTML es el código que se utiliza para crear y mostrar contenido en páginas web. Aunque no se considera correctamente como un lenguaje de programación, su conocimiento representa las habilidades básicas de los profesionales de la seguridad de redes, ya que para diferentes ataques a sitios web, los atacantes suelen utilizar HTML para incrustar código malicioso. El curso para iniciar este estudio puede ser «Conceptos básicos y mejores prácticas de codificación HTML5», impartido por el W3C.
  • JavaScript: Es un lenguaje de scripting que permite implementar funciones complejas en las páginas web, como el seguimiento de las actividades de los usuarios, la visualización de mapas interactivos, animaciones 2D y 3D, máquinas de reproducción de video móviles, etc. Esta máquina funciona en el navegador sin compilar. JavaScript es un lenguaje orientado a objetos que le permite almacenar valores útiles en variables, realizar operaciones en fragmentos de texto y ejecutar código en respuesta a ciertos eventos que ocurren en la página web. Una opción para aprenderlo es el curso «Programación web con JavaScript» en la Universidad de Pennsylvania.
  • SQL: este es el lenguaje de consulta estructurado (SQL). Está diseñado para administrar y recuperar información en sistemas de administración de bases de datos relacionales. Un solo comando SQL equivale a cientos de líneas de código, que deben usarse en un lenguaje orientado a registros. Al procesar el conjunto de registros, proporciona una alta eficiencia de codificación. Una de sus ventajas es que es un lenguaje universal, todas las bases de datos relacionales utilizan este lenguaje como base y ha sido un lenguaje estable desde la década de 1970. Conocerlo le permite detectar el comportamiento de los atacantes que lo utilizan para robar información confidencial, destruir el almacenamiento de datos y realizar ataques basados ​​en la web. EdX ofrece actualmente un curso de «Introducción a SQL», proporcionado por Davidson College.
  • Ruby: Su creador Yukihiro Matsumoto mezcló elementos de sus lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada y Lisp) para formar un nuevo lenguaje que combina programación funcional e imperativa. La intención de Matsumoto es crear un lenguaje que sea más poderoso que Perl y más orientado a objetos que Python. En Ruby, todo se trata como un objeto. Puede asignar atributos y operaciones a cualquier información y código. Ruby es un proyecto de código abierto y es gratuito. Sus usuarios son libres de usarlo, copiarlo, modificarlo y distribuirlo. Debido a su marco Ruby On Rails, empresas como AirBnB, Couchsurfing o Spotify lo han utilizado como lenguaje de programación que permite a los desarrolladores crear productos en un corto período de tiempo. Para aprenderlo, hay algunas opciones, como «Desarrollo de aplicaciones web: conceptos básicos» proporcionado por la Universidad de Nuevo México, o «Ruby Scripting para DevOps» guiado por Coursera.

Según datos de LinkedIn, dos de los 15 puestos emergentes del año pasado estaban relacionados con este tema: expertos en ciberseguridad y desarrolladores de JavaScript. La oportunidad está ahí, ¿por qué no empezar a aprender uno de estos idiomas?

Translate »