Código malicioso: ¿qué es y cómo prevenirlo?
¿Qué es un código malicioso?
El panorama actual de las ciberamenazas se ha vuelto más sofisticado y desafiante. El número de ciberataques y filtraciones de datos se ha disparado en los últimos años, tanto en tamaño como en alcance. Las estadísticas recientes sobre malware muestran que el malware sigue siendo un problema importante en todo el mundo. En el centro de estos desafíos de seguridad se encuentra una aplicación siniestra llamada código malicioso. Un código malicioso o malware es cualquier software creado intencionalmente para actuar en contra de los intereses del usuario de la computadora causando daños al sistema informático o comprometiendo los datos almacenados en la computadora.
Desde que el acceso a Internet de banda ancha se volvió omnipresente, el software malicioso se ha diseñado con mayor frecuencia para tomar el control de las computadoras de los usuarios con fines lucrativos y otros fines ilícitos, como la modificación de datos, el robo, la destrucción, el sabotaje o la toma de rehenes. La mayoría del malware puede instalarse en el sistema de la víctima, hacer copias de sí mismo y propagarse a otras víctimas, utilizar un evento para iniciar la ejecución de la carga útil (robar o eliminar archivos, instalar puertas traseras, etc.), eliminarse después de que se haya ejecutado la carga útil, y utiliza todo tipo de técnicas de evasión para evitar ser detectado. Algunos de los métodos utilizados para evadir la detección incluyen:
- Evasión de detección mediante toma de huellas dactilares del entorno cuando se ejecuta.
- Herramientas de detección automatizadas confusas, como el software antivirus basado en firmas, al cambiar el servidor utilizado por el malware.
- Se ejecuta siguiendo acciones específicas tomadas por el usuario o durante períodos vulnerables específicos, como durante el proceso de arranque, mientras permanece inactivo el resto del tiempo.
- Están ofuscando datos internos para que las herramientas automatizadas no detecten malware.
- Utilice técnicas de ocultación de información como la esteganografía para evadir la detección (stegomalware)
¿Cómo ocurren las infecciones de malware?
Las infecciones de malware pueden afectar su computadora, aplicación o toda una red. Las infecciones se producen a través de diversos medios, incluidos físicos y virtuales. Los autores de malware suelen utilizar trucos para intentar convencer a los usuarios de que descarguen y abran archivos maliciosos. Por ejemplo, ataques de phishing son un método común de entrega de malware en el que los correos electrónicos disfrazados de mensajes legítimos contienen enlaces o archivos adjuntos maliciosos que pueden entregar el archivo ejecutable de malware a usuarios desprevenidos.
El malware también puede propagarse a través de unidades extraíbles infectadas, como unidades flash USB o discos duros externos. El malware se puede instalar automáticamente cuando conecta la unidad infectada a su PC. Además, algunos programas maliciosos vienen incluidos con otro software que usted descarga. Esto incluye software de sitios web de terceros, archivos compartidos a través de redes peer-to-peer, programas utilizados para generar claves de software (keygens), barras de herramientas del navegador y complementos, entre otros.
Los atacantes pueden aprovechar los defectos (vulnerabilidades) del software existente debido a prácticas de codificación inseguras para infectar su aplicación con códigos maliciosos. El código malicioso puede presentarse en forma de ataques de inyección ( inyección SQL , inyección JSON, secuencias de comandos entre sitios, etc. ), ataques de cruce de directorios , falsificación de solicitudes entre sitios (CSRF) ataques, entre otros. Un ejemplo típico de defectos en el software es el vulnerabilidad de desbordamiento del buffer . Muchos programas maliciosos aprovechan las vulnerabilidades de desbordamiento del búfer para comprometer las aplicaciones o sistemas de destino.
Los ataques de malware sofisticados a menudo incluyen el uso de un servidor de comando y control que permite a los actores maliciosos comunicarse y controlar los sistemas infectados en un red de robots para robar datos confidenciales o hacer que cumplan sus órdenes.
¿Cómo puede saber que su computadora ha sido infectada con código malicioso? Un usuario puede detectar una infección de malware si observa cualquier actividad inusual, como una pérdida repentina de espacio en el disco, velocidades prolongadas, movimientos extraños del cursor y clics del mouse, denegación de acceso a su dispositivo o datos, la aparición de aplicaciones desconocidas que no instalado, tráfico anómalo de red, entre otros.
¿El malware afecta a Mac, Linux y dispositivos móviles?
La mayoría de los usuarios piensan que sólo las máquinas con Windows son vulnerables al malware. Suponen que los usuarios de dispositivos Linux y Mac son inmunes y no necesitan tomar precauciones. La verdad es que el malware puede afectar a dispositivos Windows, Linux e incluso Mac.
Los dispositivos Windows se consideran un objetivo más importante para el malware que otras plataformas porque dominan la cuota de mercado, lo que los ha convertido en el objetivo más importante y accesible para los actores maliciosos. Hoy en día, las Mac ya no son tan seguras como solían ser. A medida que los dispositivos Mac ganan popularidad, los autores de malware parecen centrarse más en ellos. De acuerdo a Informe sobre el estado del malware de 2020 de Malwarebytes , la cantidad de malware en Mac está superando a la de PC por primera vez.
También existen códigos maliciosos que apuntan específicamente a los sistemas operativos de dispositivos móviles como tabletas, teléfonos inteligentes y relojes inteligentes. Estos tipos de malware se basan en las vulnerabilidades de determinados sistemas operativos móviles. Aunque el malware móvil no es tan generalizado como el malware dirigido a estaciones de trabajo, se está convirtiendo en una preocupación creciente para los dispositivos de consumo.
Los dispositivos Apple iOS, como los iPhone, tienen menos probabilidades de infectarse con malware que los dispositivos Android. Esto se debe a que los dispositivos iOS están altamente bloqueados y las aplicaciones pasan por controles exhaustivos antes de ingresar a la App Store. Sin embargo, sabemos que algunos gobiernos y delincuentes sofisticados están armados con herramientas de piratería informáticas valoradas en millones de dólares que pueden penetrar los iPhone. No obstante, los dispositivos iOS son generalmente más seguros y sólo se volverán más vulnerables si se les hace jailbreak.
¿Cuáles son los tipos comunes de malware?
Código malicioso es un término amplio que se refiere a una variedad de programas maliciosos. Los ejemplos incluyen virus informáticos, gusanos, spyware, adware, rootkits, bombas lógicas, malware sin archivos, troyanos y ransomware.
Virus informáticos Son pequeñas aplicaciones o cadenas de códigos maliciosos que infectan sistemas informáticos y aplicaciones host. Los virus informáticos no se propagan automáticamente; Requieren un portador o medio como USB o Internet para propagarse y casi siempre corrompen o modifican archivos en una computadora de destino. Los virus informáticos se presentan en diferentes formas, algunas de las cuales incluyen:
- Virus polimórfico: el virus polimórfico intenta evadir las aplicaciones antivirus basadas en firmas cambiando su firma al infectar un nuevo sistema.
- Virus de compresión: un virus que se agrega a los archivos ejecutables del sistema y los comprime utilizando los permisos del usuario.
- Virus de macro: un virus escrito en lenguajes de macros como las macros de Microsoft Office o Excel.
- Virus del sector de arranque: un virus que infecta el sector de arranque de una PC y se carga al iniciar el sistema.
- Virus multiparte: un virus que se propaga a través de múltiples vectores. También llamado virus multiparte.
- Virus sigiloso: un virus que se oculta en los sistemas operativos como aplicaciones antivirus.
gusanos : Los gusanos son malware que se replican para propagarse a otras computadoras. Son más infecciosos que los virus y, a menudo, utilizan una red informática para propagarse, dependiendo de defectos de seguridad en la computadora de destino para acceder a ella. Los gusanos son peligrosos debido al código malicioso que transportan (carga útil) y su potencial para causar degradación del ancho de banda o incluso denegación de servicio debido a una autopropagación agresiva. Uno de los gusanos informáticos más famosos es estuxnet , que apuntaba a los sistemas SCADA de Siemens. Se creía que era responsable de causar daños sustanciales al programa nuclear de Irán.
Software espía y publicitario: El software espía es un tipo de software malicioso instalado en secreto para recopilar información (incluidos hábitos de navegación) sobre un usuario o entidad en particular, que luego envía a otra entidad con intenciones maliciosas, como robo de identidad, spam, publicidad dirigida, etc.
software publicitario es un software que genera ingresos para sus desarrolladores al generar automáticamente anuncios en línea. Los anuncios se pueden proporcionar a través de ventanas emergentes, componentes de la interfaz de usuario o pantallas presentadas durante el proceso de instalación. El objetivo del adware es generar ingresos por ventas, no llevar a cabo actividades maliciosas, pero algunos adware utilizan medidas invasivas que pueden causar problemas de seguridad y privacidad.
Rootkits: Un rootkit es una colección de herramientas de software malicioso diseñadas para permitir el acceso de root a una computadora o a un área de su software que de otro modo no estaría permitido. Los rootkits se cargan en el sistema comprometido para permitir que el atacante lleve a cabo actividades maliciosas mientras oculta sus huellas. El atacante suele sustituir las herramientas predeterminadas del sistema por nuevas herramientas comprometidas, que comparten nombres similares.
Los rootkits pueden residir en el nivel de usuario o de kernel del sistema operativo. También puede vivir en el firmware o en un hipervisor de un sistema virtualizado. Un rootkit a nivel de usuario tiene privilegios mínimos y, por lo tanto, no puede causar tanto daño. Si un rootkit reside en el hipervisor de un sistema, puede explotar las funciones de virtualización de hardware y apuntar a los sistemas operativos host. Los rootkits en el firmware son difíciles de detectar porque la verificación de la integridad del software generalmente no se extiende al nivel del firmware. Detección y eliminación de rootkits puede ser complicado porque el rootkit puede subvertir el software destinado a encontrarlo. Los métodos de detección incluyen métodos basados en el comportamiento, escaneo basado en firmas y análisis de volcado de memoria.
Bombas lógicas: Una bomba lógica es un código malicioso insertado intencionalmente en un sistema de software para activar una función negativa cuando se cumplen condiciones específicas. El software de la bomba lógica puede tener muchos activadores que activan la ejecución de su carga útil en un momento específico o después de que un usuario realiza una acción particular. Por ejemplo, un actor malintencionado puede instalar y configurar una bomba lógica para eliminar toda la evidencia digital si se llevan a cabo actividades forenses.
Malware sin archivos: Malware sin archivos , tal como su nombre lo indica, no escribe ninguna parte de su actividad en archivos en el disco duro de la computadora; en cambio, opera exclusivamente desde la memoria de la computadora de la víctima. Como no hay archivos que analizar, es más difícil de detectar que el malware tradicional. También dificulta la investigación forense porque el malware desaparece cuando se reinicia la computadora de la víctima.
Dado que no hay archivos que puedan analizarse antivirus ni herramientas forenses, detectar dicho malware puede resultar difícil. En 2017, Kaspersky Lab publicó un informe sobre ataques de malware sin archivos que afectan a 140 redes empresariales en todo el mundo, siendo los principales objetivos los bancos, las empresas de telecomunicaciones y las organizaciones gubernamentales.
Caballo de Troya: A caballo de Troya es cualquier malware que se disfraza de programa legítimo para engañar a los usuarios sobre su verdadera intención. Los caballos de Troya realizan sus funciones normales esperadas además de las funciones maliciosas en segundo plano. Los usuarios suelen ser engañados mediante algún tipo de ingeniería social para que carguen y ejecuten troyanos en sus sistemas. Una vez instalados, los troyanos también pueden utilizar señuelos para mantener la ilusión de que son legítimos.
Por ejemplo, cuando se ejecuta, un troyano disfrazado de fondo de pantalla o aplicación de juego normalmente se ejecutará como un fondo de pantalla o aplicación de juego. Mientras el usuario se distrae con estos señuelos, el troyano puede realizar silenciosamente acciones maliciosas en segundo plano. Los troyanos se clasifican según el tipo de acciones maliciosas que realizan. Los ejemplos incluyen troyanos bancarios, troyano de acceso remoto (RAT) , troyano de puerta trasera, troyano FakeAV, etc. Ejemplos notables de troyanos incluyen Zeus, MEMZ y FinFisher.
Secuestro de datos: El ransomware es un tipo de malware que amenaza con publicar los datos de la víctima o bloquear perpetuamente el acceso a ellos cifrando los archivos de la víctima a menos que se pague un rescate. Los ataques de ransomware generalmente se llevan a cabo como parte de una estafa de phishing o mediante el uso de un troyano disfrazado de archivo legítimo que se engaña al usuario para que lo descargue o lo abra cuando llega como un archivo adjunto de correo electrónico. El atacante procede a cifrar información específica que sólo puede abrirse mediante una clave matemática que conoce. Cuando el atacante recibe el pago, los datos se desbloquean.
Los ataques de ransomware notables incluyen Quiero llorar (2017) y REvil (2020). El ransomware WannaCry se propagó a través de Internet en 2017, infectando más de 230.000 computadoras en más de 150 países y exigiendo 300 dólares por computadora. REvil es un privado ransomware como servicio (RaaS) operación que amenaza con publicar los datos de las víctimas en su blog ( doxing ) a menos que se pague un rescate. En abril de 2021, REvil robó los próximos planos de productos de Apple y amenazó con publicarlos a menos que se pagara un rescate de 50 millones de dólares. Tanto WannaCry como REvil han sido eliminados.
¿Cómo puede prevenir y proteger sus activos de TI contra infecciones de malware?
Proteger su dispositivo, sus aplicaciones críticas y, de hecho, toda su red de esas largas listas de malware requiere algo más que implementar un software antivirus. Hoy en día, los antivirus y otros enfoques de seguridad basados en firmas ya no se consideran suficientes para proteger los sistemas de las amenazas cibernéticas modernas. Con más de 350.000 nuevos malware descubiertos cada día , es prácticamente imposible que las aplicaciones antivirus controlen estas amenazas nuevas y emergentes.
Esta es la razón por la que las organizaciones necesitan desarrollar un programa de seguridad de la información basado en riesgos que adopte los principios de la modelo de seguridad de confianza cero en su estrategia de seguridad para impulsar la resiliencia cibernética. Un programa de seguridad debe abordar las cuestiones de riesgo desde un punto de vista estratégico, táctico y operativo. Esto incluye diseñar e implementar controles administrativos, físicos y técnicos para proteger los activos digitales críticos, como se detalla en la Tabla 1.0 a continuación. Los controles administrativos se centran en políticas, procedimientos y directrices de seguridad, capacitación en concientización sobre seguridad y otros factores humanos de seguridad que definen al personal o las prácticas comerciales en línea con los objetivos de seguridad de la organización. Los controles físicos son medidas implementadas para evitar el acceso físico no autorizado a activos de TI críticos. Los controles técnicos se centran en componentes de hardware o software como antivirus, firewalls, IPS/IDS, listas de control de acceso (ACL) , lista blanca de aplicaciones , etc.
Físico | Control de acceso físico | Registros de cámaras de vigilancia y CCTV | Reparar y restaurar activos físicamente dañados. |
Administrativo | Gestión de riesgos, políticas y procedimientos de seguridad, plan de respaldo, etc. | Auditoría, gestión de eventos de seguridad, gestión de cambios, etc. | Plan de respuesta a incidentes, DR/BCP. |
Técnico | Antivirus, IPS, solución MFA, actualizaciones, listas blancas, ACL, etc. | IDS, honeypots, escáneres de vulnerabilidad, pruebas estáticas, etc. | Parches, listas negras, técnicas de cuarentena, etc. |
Tabla 1.0 | Comparación de controles de seguridad administrativos, físicos y técnicos.
Para las organizaciones que desarrollan aplicaciones críticas para el negocio, una forma de evitar que el código malicioso arruine sus aplicaciones es adoptar prácticas de codificación segura , incluido el análisis de código estático en su ciclo de vida de desarrollo de software. El análisis estático se utiliza para proteger aplicaciones revisando el código fuente cuando no se está ejecutando para identificar códigos maliciosos o evidencia de prácticas inseguras conocidas. Es una de las formas más efectivas de evitar que el código malicioso cause daños a las aplicaciones críticas de su empresa. Herramientas automatizadas como Invencible , acunetix , Veracode , jaquemarx y otros implementan análisis de código estático para detectar y prevenir códigos maliciosos como puertas traseras, bombas lógicas, rootkits, etc.
Los usuarios que buscan proteger y evitar que códigos maliciosos infecten sus PC pueden instalar software antimalware como capa adicional de seguridad. Más allá de eso, los usuarios pueden evitar el malware practicando un comportamiento seguro en sus computadoras u otros dispositivos personales. Esto incluye mantener el software actualizado, utilizar cuentas no administrativas tanto como sea posible, tener cuidado al descargar programas desconocidos y archivos adjuntos que puedan contener malware encubierto, entre otros.