Definición de código malicioso
El código malicioso consiste en scripts de programación informática dañinos, diseñados para crear o aprovechar vulnerabilidades en un sistema. Este código está diseñado por un actor de amenazas para generar cambios no deseados, daños o acceso continuo no deseados a sistemas informáticos.
El código malicioso puede resultar a puertas traseras, filtraciones de seguridad, robos de datos e información y otros daños potenciales a archivos y sistemas informáticos.
¿Qué es el código malicioso?
El código malicioso es el lenguaje utilizado por las partes hostiles para manipular sistemas informáticos y hacer que tengan comportamientos peligrosos. Se crea al escribir e introducir cambios o complementos a la programación existente de programas, archivos e infraestructuras de ordenadores.
Esta amenaza es la herramienta principal utilizada para llevar a cabo la gran mayoría de los ataques de ciberseguridad. Los hackers buscan debilidades basadas en los lenguajes utilizados para programar computadoras.
Después, crean "frases", conocidas como scripts o listas de comandos, para abusar las vulnerabilidades en estos lenguajes. Estos scripts pueden reutilizarse y automatizarse a través de macroinstrucciones (también conocidas como macros).
Los hackers y otros actores de amenazas se moverían muy lento si tuviesen que limitarse a métodos manuales de explotación de sistemas informáticos. Por desgracia, el código malicioso les permite automatizar los ataques.
Algunos códigos incluso pueden replicarse, propagarse y causar daños por su propia cuenta. Otras clases de código pueden necesitar usuarios humanos para descargarlo o interactuar con él.
Las consecuencias del código malicioso suelen ser algunas de las siguientes:
- Corrupción de datos
- Ataque distribuidos de denegación de servicio (DDoS)
- Robo de credenciales o información privada
- Pago de rescates o extorsión
- Molestias o inconvenientes
Para ayudar a protegerte, veamos cómo funcionan estas amenazas.
¿Cómo funciona el código malicioso?
El código malicioso puede manipular cualquier componente programado de un sistema informático. Los objetivos de estos ataques pueden ser tanto componentes de gran escala (p. ej., infraestructuras de redes informáticas) como componentes más pequeños (aplicaciones móviles o de escritorio).
Los servicios web, como sitio web o servidores en línea, también pueden ser objetivos. El código malicioso puede infectar cualquier dispositivo que utilice un ordenador para funcionar, como los siguientes:
- Dispositivos informáticos tradicionales: ordenadores de escritorio, ordenadores portátiles, teléfonos móviles, tablets.
- Dispositivos de IoT: dispositivos domésticos inteligentes, sistemas de infoentretenimiento para vehículos (IVI).
- Dispositivos de redes de ordenadores: módems, enrutadores, servidores.
Los atacantes utilizan scripts y programas maliciosos para acceder a partes de confianza de los sistemas informáticos. Desde este punto, buscan realizar alguna de las siguientes acciones:
1. Exponer a los usuarios a código malicioso, para infectar sus sistemas y propagarse.
2. Acceder a información privada en los sistemas vulnerados.
3. Supervisar el uso de un sistema vulnerado.
4. Vulnerar un sistema aún más.
El código malicioso se crea y utiliza en distintas fases. Puede que el script malicioso necesite interacción humana o las acciones de otro ordenador para iniciar el próximo evento en cada etapa. De forma notable, algunos códigos pueden operar de manera completamente autónoma.
La mayor parte del código malicioso cumple con la siguiente estructura:
1. Sondear e investigar el sistema en busca de vulnerabilidades.
2. Programar mediante la escritura de código para aprovechar vulnerabilidades.
3. Exponer los sistemas informáticos al código malicioso.
4. Ejecutar el código a través de un programa relacionado o por su cuenta.
Sondear y programar son las fases de configuración de un ataque. Antes de que un atacante pueda acceder al sistema, debe tener las herramientas para hacerlo. Deberá crear el código si aún no existe, pero también puede usar o modificar código malicioso existente para preparar le ataque.
El resultado de los scripts maliciosos puede ser una aplicación autoejecutable que pueda activarse a sí misma en tomar diferentes formas.
Algunos pueden incluir macros y scripts en JavaScript, controles de ActiveX, el mal uso de Powershell, contenido forzado, complementos, lenguajes de scripting u otros lenguajes de programación diseñados para mejorar páginas web y correos electrónicos.
La exposición de los sistemas informáticos puede ocurrir a través de puertos de interfaz directa como USB o de conexiones de red en línea como redes móviles o Wi-Fi.
Para completar la exposición, solo se necesita una manera en la que el código se transporte a la máquina objetivo.
La exposición en ataques generalizados se basa en canales de alto contacto, como sitios web populares y spam de correo electrónico, mientras que los esfuerzos más dirigidos utilizan métodos de ingeniería social como el spear phishing.
En algunos intentos internos, se implanta código malicioso en una red privada, como la intranet corporativa, mediante la conexión de una unidad USB directa en el ordenador de un usuario final.
La ejecución ocurre cuando un sistema expuesto es compatible con el código malicioso. Una vez que el dispositivo o el sistema objetivo se expone al código malicioso, el ataque resultante puede incluir intentos no autorizados de cualquiera de las siguientes acciones:
- Modificar datos: cifrado no autorizado, debilitación de la seguridad, etc.
- Eliminar o corromper datos: servidores de sitios web, etc.
- Obtener datos: credenciales de cuentas, información personal, etc.
- Acceder a sistemas restringidos: redes privadas, cuentas de correo electrónico, etc.
- Ejecutar acciones: replicación de sí mismo, propagación de código malicioso, control remoto del dispositivo, etc.
¿Cómo se propaga el código malicioso?
El código malicioso puede utilizarse para acceder a sistemas por su propia cuenta, permitir actividades maliciosas secundarias o replicarse a sí mismo. En cualquier caso, el código original debe moverse de un dispositivo a otro.
Estas amenazas pueden propagarse a través de casi cualquier canal de trasmisión de datos. Por lo general, los vectores de propagación incluyen los siguientes:
- Redes de Internet: intranets, envío de archivos de usuario a usuario, sitios web en una conexión pública a Internet, etc.
- Comunicaciones sociales: correo electrónico, SMS, contenido push, aplicaciones de mensajería móvil, etc.
- Conectividad inalámbrica: bluetooth, etc.
- Interfaces de dispositivos directas: USB, etc.
isitar sitios web infectados o hacer clic en un vínculo de correo electrónico o archivo adjunto malicioso son las principales vías de acceso para que el código malicioso penetre en el sistema.
Sin embargo, esta amenaza puede ingresar a través de fuentes tanto legítimas como explícitamente maliciosas. Desde estaciones de carga USB públicas hasta herramientas de actualización de software pirateadas que se utilizan para estos propósitos.
El "empaquetamiento" de código malicioso no siempre es obvio, pero las conexiones de datos públicas y cualquier servicio de mensajería son los caminos que más se deben tener en cuenta.
Los atacantes suelen usar vínculos de URL y de descargas para incrustar código peligroso.
Tipos de código malicioso
Muchos tipos de código malicioso pueden dañar tu ordenador si encuentran puntos de entrada para acceder a datos valiosos. Si bien la lista expande todo el tiempo, estos son algunos de los más habituales.
Virus
os virus son fragmentos de código malicioso autopropagables que se une a programas basados en macros para ejecutarse. Estos archivos se mueven a través de documentos y otras descargas de archivos, lo que le permite al virus infiltrar el dispositivo.
Una vez que el virus se ejecuta, se puede propagar de manera autónoma a través del sistema y las redes conectadas.
Gusanos
Los gusanos también son fragmentos de código que pueden replicarse y propagarse de manera autónoma como los virus, pero no necesitan ninguna otra acción para hacerlo.
Una vez que un gusano infecta un dispositivo, estas amenazas pueden ejecutarse por sí mismas, sin la intervención de un programa ejecutado por el usuario.
Troyanos
Los troyanos son archivos de señuelo que contienen cargas de código malicioso, y es necesario que un usuario utilice el archivo o programa para ejecutarse.
Estas amenazas no pueden replicarse o propagarse de forma autónoma. Aun así, su carga maliciosa puede contener virus, gusanos o cualquier otro código.
Ataques de scripting entre sitios (XSS)
El scripting entre sitios interfiere con la navegación web de un usuario al inyectar comandos maliciosos en las aplicaciones web que podría utilizar.
Esto suele cambiar el contenido web, interceptar información confidencial o infectar el dispositivo del usuario por sí mismo.
Ataques de puerta trasera
Puede escribirse código de acceso por puerta trasera a una aplicación para que los ciberdelincuentes accedan de forma remota al sistema en riesgo.
Además de exponer datos confidenciales, como información corporativa privada, una puerta trasera puede hacer que el atacante se convierta en una amenaza avanzada persistente (APT).
Luego, los ciberdelincuentes pueden moverse de forma lateral a través del nivel de acceso obtenido, eliminar los datos de un ordenador o incluso instalar spyware.
Estas amenazas pueden alcanzar un nivel muy alto: la Contraloría General de EE. UU. incluso advirtió sobre la amenaza de código malicioso a la seguridad nacional.
Ejemplos de ataques de código malicioso
El código malicioso puede adquirir muchas formas y ha sido muy activo en el pasado. Estos son algunos de los casos más conocidos de estos ataques:
Troyano Emotet
El troyano Emotet apareció por primera vez en 2014 y evolucionó a partir de sus orígenes como malware para volverse en un ataque de spam de correo electrónico lleno de código malicioso.
Los atacantes usaban tácticas de phishing como asuntos urgentes en los correos electrónico (p. ej., "Pago necesario") para hacer que los usuarios realicen descargas.
Una vez que estaba en el dispositivo, Emotet ejecutaba scripts que entregaban virus, instalaban malware de comando y control (C&C) para el reclutamiento de dispositivos para botnets y más.
Esta amenaza dejó de utilizarse durante un tiempo en 2018, antes de renacer como una amenaza de malware de SMS.
Gusano Stuxnet
El gusano informático Stuxnet, junto con sus sucesores, ataca infraestructuras nacionales desde el año 2010. El primer ataque documentado del malware involucró a instalaciones nucleares iraníes, a través de una unidad flash USB, y destruyó equipamiento crítico.
Desde entonces, Stuxnet no volvió a usarse, pero el código de origen se utilizó para crear ataques selectivos similares durante el 2018.
Cómo protegerte de los ataques de código malicioso
Para la mayoría de las amenazas maliciosas, un software antivirus con actualizaciones automáticas, capacidades de eliminación de malware y seguridad de navegación web es la mejor defensa. Sin embargo, la prevención del código malicioso puede no ser posible con un software antivirus por sí solo.
Los antivirus suelen prevenir y eliminar virus y otras formas de malware (o software malicioso), que son una subcategoría del código malicioso. La categoría más amplia de código malicioso incluye scripts de sitios web que pueden aprovechar vulnerabilidades para cargar malware.
Por definición, no todas las soluciones de protección antivirus pueden proteger frente a ciertas infecciones o acciones causadas por código malicioso.
Si bien los antivirus son esenciales para la eliminación y defensa proactivas frente a infecciones, estas son algunas formas valiosas de protegerte:
- Instala software antiscripting para prevenir la ejecución no autorizada de código de JavaScript o relacionado.
- Ten precaución con los vínculos y archivos adjuntos. Cualquier mensaje que contenga vínculos URL o archivos adjuntos, ya sea que se envíe por correo electrónico o mensaje de texto, puede ser un vector para código malicioso.
- Activa el bloqueador de anuncios emergentes del navegador para evitar que los scripts presenten contenido malicioso en ventanas no deseadas en el navegador.
- Evita usar cuentas de nivel de administrador para el día a día. Los permisos de alto nivel suelen ser necesarios para ejecutar scripts y programas de manera automática.
- Utiliza copias de seguridad de datos para proteger archivos y documentos irremplazables.
- Ten cuidado al usar una conexión de datos pública. Las conexiones USB suelen pasarse por alto, pero pueden incluir código malicioso fácilmente. Las redes Wi-Fi públicas también son una amenaza común que los atacantes pueden usar para enviar código malicioso.
- Utiliza un firewall bien configurado para bloquear conexiones no autorizadas. Si el código malicioso se infiltra en tu máquina y establece una conexión saliente para solicitar cargas de malware, un firewall puede ayudar a impedirlo. Asegúrate de que el firewall esté configurado para bloquear de manera predeterminada y permitir cualquier conexión de confianza.