Tecnología Info Tecnología

La naturaleza del malware inteligente, su composición y fabricación está basada en software, firmware, hardware o una combinación de ellos

Campos de acción, confluencias e impactos de las vulnerabilidades en la evolución y ciclo de vida del malware inteligente avanzado (ofensivo y defensivo)

Prof. Dr. Javier Areitio Bertolín, director del Grupo de Investigación Redes y Sistemas, Universidad de Deusto

04/10/2021
En el presente artículo se examinan las características que personalizan al malware inteligente avanzado, en sus dos facetas: el malware ofensivo (es por defecto el malo, está diseñado para realizar operaciones perversas: espionajes, apropiación de dinero, denegación de servicios, desinformar, sabotajes, robo-secuestro de identidad, etc.) y el malware defensivo (es el antagónico al malware ofensivo, está diseñado para neutralizar, inhabilitar, bloquear, inactivar, esterilizar, detener, eliminar, desfragmentar, extinguir, limpiar (de forma retrospectiva yendo hacia atrás: qué ocurrió, cómo, por qué, cuando, dónde, quién, etc., centrado en el conjunto de causas raíz generadoras del malware ofensivo), cazar, cambiar, etc. al malware ofensivo). Por último, se explora la progresión del malware y se visualizan las vulnerabilidades elemento clave para la evolución del malware inteligente (tanto ofensivo como defensivo) identificando su campo de acción, confluencias e impactos.

La naturaleza del malware inteligente, su composición y fabricación está basada en software, firmware, hardware o una combinación de ellos. Actualmente el malware inteligente (por defecto es el malware ofensivo) se ha desarrollado para realizar tareas intencionadamente maliciosas, perversas, letales, insidiosas, intrigantes, diabólicas y abominables y ciberataca a todo tipo de objetivos (primarios, secundarios, etc.): sistemas, datos, infraestructuras, plataformas, personas, dispositivos de computación, móviles (2G, 3G, 4G, 5G, WiFi, por satélite, etc.), todo tipo de entidades conectadas (directa o indirectamente) a Internet (IoE/IoT), opera en todo tipo de entornos y ecosistemas OT/IT (desde redes (infectando-degradando la calidad de servicio o QoS y la calidad de experiencia o QoE), vehículos conectados/autónomos, UAVs (Unmanned Aerial Vehicles), servidores de BDs, ERP/IT, CRM/IT, SCADA/OT, PCs, smartphones (de todo tipo incluidos los COTS (Commercial Off-The-Shelf)), gadgets, satélites (de geolocalización como GPS, Glonass, BeiDou, GNSS, Galileo, etc. y de comunicaciones (voz e Internet) como Hispasat, Iridium, Eutelsat, Inmarsat, Corona, Thuraya, Intelsat, Globalstar, Terrestar, Indium, Astra, SES, etc.), USVs (Unmanned Space Vehicles), tablets, infraestructuras críticas, UMVs (Unmanned Marine Vehicles), objetos IoT/IIoT/IoMT/IAoT, PLCs/OT, módulos inteligentes de electrónica embebida, UTVs (Unmanned Terrestrial Vehicles), wearables, Redes Sociales (y aplicaciones OTT (Over The Top) como YouTube degradando su QoE), CPS (Cyber Physical Systems)/OT, ICS (Industrial Control System)/OT, nubes (cloud-fog-edge-computing), selfie-drones, electrodomésticos inteligentes, cámaras de seguridad, juguetes para niños y juguetes para adultos eróticos/sexuales conectados a Internet (estos juguetes pueden interaccionar a distancia y los malware 'pueden hacer de las suyas' (pueden escuchar, grabar videos, conversar, engañar, secuestrar, etc.)): vibrador, estimulador, preservativo inteligente, robot-social-muñeca sexual, cinturón de castidad que puede bloquear un malware y pedir recompensa, etc.).

Imagen

No obstante, también existe el malware inteligente defensivo (más moderno y menos conocido) con la misión contraria (antagonista al malware ofensivo) de neutralizar, esterilizar, proteger, inhabilitar, bloquear, inactivar retrospectivamente, desfragmentar, eliminar, etc., malware ofensivo y ciberriesgos. El malware inteligente puede cambiar el comportamiento de los sistemas operativos (Android-12, Windows-10, Linux, iOS-15 con el iPhone-13, Solaris, etc.), hipervisores (como Xen, HyperV, KVM, VMWare, etc.), de las aplicaciones/APPs, del firmware, de la electrónica, etc. Puede crear brechas de ciberseguridad (si es malware ofensivo) en redes, sistemas, dispositivos, datos sensibles (datos personales, metadatos, tokens, claves privadas, datos de geolocalización-posicionamiento, credenciales, identificadores de usuario y de sesión, código fuente de aplicaciones, etc.), etc.

El malware inteligente (es sigiloso, persistente, posee múltiples funcionalidades, opera en base a un conjunto de módulos, de fragmentos, de semillas, de agentes-bots móviles y entidades polifacéticos, es polimórfico, metamórfico, oligomórfico, utiliza -scripts, dlls, macros, APIs, drivers, el Registro de Windows, etc. para progresar e infectar-, es asintomático, actualizable, no detectable, ciberresiliente, etc.), puede acceder de forma no autorizada a dispositivos, sistemas y redes para ejecutar de forma remota código sin autorización alguna, para robo, sabotajes, espionaje, denegación de servicios, interrumpir, fabricar, modificar e interceptar recursos y elementos de hardware, software, firmware y datos.

Cuando el malware inteligente ofensivo lanza su carga útil múltiple (conjunto de funcionalidades maliciosas de infección como backdoors, spyware, worms, troyanos, etc.), ciberatacará la disponibilidad, integridad, autenticación, autorización, no repudio, frescura de la información (posibilitando las repeticiones ilegales), la confidencialidad-privacidad (por ejemplo, el credential-stuffing implica la filtración de datos compuestos por nombre de usuario, de correo electrónico y contraseña). En el informe de la compañía F5 se denuncia que el credential-stuffing se debe al deficiente almacenamiento de contraseñas, donde no hay protección para contraseñas almacenadas en texto sin formato), etc. de todo tipo de entidades y dispositivos de computación, redes, servidores, tecnología móvil, objetos IoT/IIoT/IoMT/IAoT, salud de las personas, medio ambiente, ecología, sostenibilidad, etc.

El malware inteligente ofensivo permite obtener el control, de forma no autorizada, de los sistemas de computación (si pertenece a un avión del propio avión), una vez bajo control pueden dañar los intereses del propietario del sistema (OT/IT) fugando información sensible, alterando datos críticos (que puede dar lugar a sabotajes, explosiones y accidentes involucrando personas, a fugas de tóxicos al medio ambiente, etc.), se puede dañar la reputación, se puede utilizando vulnerabilidades 0-day/N-day del software de satélites modificar la información de posicionamiento por satélite (GPS, Glonass, Galileo, etc.) de vehículos por tierra, mar y aire de modo que no puedan encontrar su camino correcto y se pierdan/accidenten e incluso se puede modificar la trayectorias visible de un vehículo para robarlo/secuestrarlo (se puede hacer creer que un vehículo circula por una ruta/carretera cuando de hecho está parado escondido en un túnel o circulando por otra trayectoria), se puede secuestrar la identidad de una entidad, se puede desinformar, se puede inducir al suicidio, se puede controlar la voluntad de las personas-entidades, se puede consumir recursos de computación valiosos caso de la minería ilegal de criptomonedas (basadas en Blockchain con algoritmos, como por ejemplo, Proof-of-Work) como: Ethereum, Litecoin, Dogecoin, Monero, Bitcoin, etc.

Imagen

El malware inteligente puede transportarse-importarse utilizando las redes (por Web, correo electrónico, mensajería instantánea -Telegram, Whatsapp, etc.-, SMS, MMS, VoIP, chat, callbot, chatbot, comunicaciones por satélite, acceso remoto para actualizaciones de servidores SCADA, MES, DCS, etc., actualización del firmware FOTA -Firmware Over The Air- de todo, incluso de chips -SIP/System-In-Package, SOC/System-On-Chip, etc.-, navegadores Web -como Google Chrome, Mozilla Firefox, Tor, Safari, etc.-, actualización del software SOTA -Software Over The Air-, videoconferencias, servicios Web donde el usuario accede a medios sociales -redes sociales- y otros servicios basados en Web, puestos de trabajo remotos, bancos, procesos de votaciones, compras, sanidad, energía, ventas, fabricación, trenes, finanzas, relax, buques, juegos online, etc.), empleando medios removibles infectados como unidades de memoria USB, pendrives flash, DVDs, CDROMs, discos con y sin RAID, infectando la cadena de suministro, etc.

El malware inteligente presenta diversas características que lo personalizan: utiliza vulnerabilidades de forma indiscriminada y dinámica (0-day y N-day), realiza su propagación-distribución a través de caminos específicos (aunque puede también realizar propagación de todos-a-todos, multicamino, omnidireccional, difusión, uso de caminos transversales, etc.), la detección del malware es prácticamente imposible (cuando el malware desea desinformar permite vislumbrar módulos/semillas/fragmentos de sacrificio pero manteniendo lejos lo más importante para la subsistencia del malware), ciberataca de forma muy inteligente, sus tareas son específicas y dinámicas, su arquitectura es modular (basado en semillas, fragmentos distribuidos con autonomía completa), el control del malware es tanto autocontrol como control externo, puede actualizarse de forma extremadamente oculta, opera como un ejército de agentes móviles, etc.

El término malware (integra las palabras malicious software-firmware-hardware; opera en tres entornos programas-software, microprogramas-firmware y circuitos electrónicos -routers, discos duros, microprocesadores incluso M1 Apple, HCX-PRO AI, Intel Core i9, AMD-Radeon-Ryzen 7 5800, etc.-) es tanto una ciberamenaza (presente en todos los frentes/dominios de nuestro mundo -preocupado de la digitalización y cada vez más basado y definido por software, conectado, etc.-: tierra -por ejemplo, vehículos, personas, casas, tanques, etc.-, mar -por ejemplo, barcos, submarinos, portaviones, etc.-, aire -por ejemplo, aviones, drones, misiles balísticos, etc.-, espacio -por ejemplo, satélites, sondas espaciales, estaciones orbitales, etc.- y ciberespacio -que se integra en los cuatro frentes anteriores-), como una ciberarma ofensiva o defensiva autónoma o guiada (ejemplos de malware/ciberarmas ofensivas (algunas del tipo APT -Advanced Persistent Threat-) son: Stuxnet (para sabotajes), Flame (para espionaje), Duqu (para espionaje), Wiper-Meteor (troyano contra red ferroviaria iraní en julio 2021), Equation Group, Clop (tipo ransomware), Glupteba y Rustock.B (tipo backdoor), CTB-Locker, XAgent, TeslaCrypt, Zeus (tipo troyano), Octubre-Rojo, CryptoLocker (tipo ransomware), Shamoon, Energetic-Bear-Dragonfly, CryptoWall, Icefog, RCS, Grupo ByC, ComWar (tipo worm), Cabir (tipo worm, opera en Bluetooth), Narilam, Triton -planta petroquímica de Arabia Saudí-, LockerGoga -compañía noruega de aluminio-, Hangover, Snake-Uroburos, Conficker, APT1, NetTraveler, Careto/The Mask, Valak -tipo infostealer-, BlackEnergy -KillDisk-, Remcos -tipo RAT-, Ursnif -tipo troyano-, WannaMiner -tipo cryptomining-, Zloader, RubyMiner, NanoCore, Groovemonitor-Maya, Lotoor, xHelper, XMRig, Dark-Seoul, Emotet/Geodo, Cerberus, Trickbot, Mirai, DoppelPaymer, RCS Lucifer, DownPaper, Ramnit, SnatchLoader, Rozena, GhostRAT, EvilBunny, Ethernal-Petya, Dropshot, ISFB, PreAMO, NetTraveler, RigEK, Dridex, Ryuk, Obot, KPOT, PLC-Blaster -worm que se ejecuta en PLCs S.-S7-, Hawkeye, BitPaymer, DarkGate, etc. Como ciberarma ofensiva utiliza actualizaciones inalámbricas de firmware y software estilo FOTA/SOTA ya que las actualizaciones por el aire presentan numerosas vulnerabilidades), como una herramienta muy sofisticada de ciber-ataque (para ciber-ataques tipo espionajes, sabotajes, DoD/DDoS, MITM, Sybil (por ejemplo, en entornos de tráfico, suplanta otros vehículos conectados para que parezca que existen muchos vehículos en la carretera vacía), etc., o todo lo contrario, una herramienta muy sofisticada de ciberdefensa (protege la privacidad, protege ante todo tipo de ciber-ataques, intrusiones e infecciones de malware ofensivo con actuaciones reactivas, proactivas, predictivas, en equipo, retrospectivas, de recuperación, de eliminación, de neutralización, de inactivación, de esterilización, de limpieza, etc.).

Imagen

El malware inteligente integra una carga útil (de infección o de protección) múltiple, por ejemplo, con funcionalidades, módulos, semillas como worm, backdoor, spyware, rootkit, virus, etc. Algunas funcionalidades son ligeramente detectables ‘a propósito’ (son cargas útiles de sacrificio o señuelos) y otras (las importantes) son extraordinariamente difíciles de detectar. El malware inteligente es persistente, ciber-resiliente, está basado en inteligencia artificial, es modular, actualizable (de forma subliminar, con el exterior/interior para ganancia de funciones) es altamente no detectable, utiliza ‘técnicas de ocultación’ basadas en cibermimetización, esteganografía, cifrado, compresión, uso de side-channels, anti-ciberforensia, se virtualiza, se hace transparente, se sitúa en hardware y lugares inimaginables, etc., puede ser bien autónomo/auto-control o bien guiado por IA y una red distribuida oculta de servidores C&C con o sin bot-masters, etc.

El malware inteligente en su evolución, progresión y ciclo de vida pasa por muchas etapas/hitos, por ejemplo: reconocimiento-contacto-posicionamiento (investigar, explorar, identificar y seleccionar objetivos de actuación/ocultación así como de elementos de protección en ciberseguridad que puedan localizar-dañar al malware ofensivo o bien de elementos ofensivos que el malware defensivo deba inactivar, eliminar, etc.), armarse (integrar malware de acceso remoto con exploits en una carga útil reubicable y reentregable, por ejemplo, ficheros Office Microsoft, pdf Adobe, etc. contaminados), entrega (transmisión del malware a los objetivos, por ejemplo, utilizando ficheros adjuntos en correos electrónicos, visitando sitios Web infectados a través de links-botones o códigos QR, dispositivos USB, CDROMs, DVDs, etc. infectados), explotación (una vez entregado el código del malware se dispara explotando sistemas, aplicaciones, objetos IoT/IIoT/IoMT/IAoT, dispositivos vulnerables, etc.), instalación (el malware instala diversos módulos como keyloggers, spyware, etc., en los dispositivos-sistemas objetivos e incluso backdoor para permitir acceso persistente), interactúa con servidores C&C (Command&Control) (servidores externos/internos se comunican de forma subliminar y esteganográfica con el malware para proporcionar acceso dentro de la red objetivo, para transferir actualizaciones, para transferir datos robados, para ganancia de funciones, etc.), acciones sobre los objetivos (en el malware ofensivo se realizan operaciones como exfiltración de datos, destrucción, bloqueo y modificación de datos, intrusiones en otros objetivos, sabotajes, etc., en el malware defensivo se neutralizan-inactivan acciones maliciosas del malware ofensivo).

El uso de las TTPs (Tácticas, Técnicas y Procedimientos) facilitan la ocultación, el despiste y la ciberresiliencia (permiten al malware su supervivencia, persistencia, tolerancia a fallos a ciberataques, evitan intentos de observación, destrucción, etc., para ello borra rastros, logs de SIEM, datos de ciberforensia, información de trazabilidad y usa ficheros-módulos de sacrificio y desinformación, realiza estrategias de equivocación como desplazamientos multidireccionales y multidominio, pivotaciones, movimientos multilaterales para evitar observación, borra-modifica logs, recursos SIEM, perturba relojes, mecanismos de sincronización, registros temporales ocultos, etc.). El malware inteligente utiliza técnicas de ‘modificar lo observado’ para que no tenga éxito la monitorización, vigilancia, visualización, seguimiento, trazabilidad, registro, etc., del malware.

Según la compañía Riskrecon como media el 33% de las empresas tienen servicios de red inseguros accesibles desde Internet, pero por ejemplo en agricultura es el 45,8% y en fabricación es el 43,4%. Cuanto más avanzado es un malware inteligente menos señales de existencia genera para su posible descubrimiento. El malware inteligente integra diferentes elementos para su subsistencia: (predice, infiere y prevé) todo lo que puede detectar con anticipación (alertas tempranas); lo que no puede (inferir-prevenir-predecir), anula, inactiva, bloquea, inhabilita, elimina, caza lo que no puede detectar en su contra.

Los malware inteligentes capturan credenciales que cruzan la red, las craquean, las utilizan en otros dispositivos, crean archivos no autorizados, se mueven lateralmente, escalan privilegios, infiltran nuevas cargas maliciosas que permiten nuevas acciones, permanecen en silencio (con un nivel de ruido en el ciberataque y en su presencia prácticamente despreciable) en la red mientras reconocen los activos, buscan lugares para esconderse y vulnerabilidades que sean explotables (0-day y N-day) en ese entorno en concreto o en otros, etc.

Imagen

Progresión del malware inteligente avanzado

En la compleja progresión del malware inteligente se pueden identificar:

(a) Vectores de entrada. Son situaciones o puntos de vulnerabilidad como visitar, incluso de forma breve, un sitio Web infectado (se denomina técnicamente drive-by download/drive-by compromise o simplemente drive-by, esto se puede producir al prestar brevemente nuestro móvil a un desconocido (y este accede a un sitio infectado) o escanear un código QR que nos lleve a un sitio infectado), ejecutar un fichero adjunto infectado, por ejemplo, existente dentro de en un correo electrónico o servicios de mensajería instantánea, hacer clic en links maliciosos insertados en un (correo electrónico, IM, Red Social, SMS, MMS, pop-up, etc.), hacer clic en botones maliciosos (bajo el engaño de “me-gusta”), etc. Secuestro o infección del navegador Web del usuario. Enchufar un pendrive USB infectado a dispositivos como móviles, PCs, PLCs, smart-TV, vehículo conectado, etc. puede infectar al dispositivo huésped al que se le conecta y robar, cambiar datos, hacer que realice operaciones maliciosas (o defensivas) e incluso secuestrar información y bloquear al dispositivo. El cargar eléctricamente un dispositivo (móvil, PC, etc.) desde una conexión pública USB o una base de recarga inalámbrica NFC puede ser peligroso pues además de enviar alimentación eléctrica puede conectarse con el canal de datos y meter malware, espiar contenidos, fotos, audio, exfiltración de datos, ver la agenda, etc. Como defensa a los cargadores públicos por USB intercalar un “codón USB” que elimina los hilos de datos. Análogamente, los cargadores infectados para recargar vehículos eléctricos, pueden inyectar malware en el vehículo si acceden al canal de datos e incluso hacer estallar la batería. El conectar un pendrive, por ejemplo, con música a un puerto USB dentro de un vehículo conectado puede transferir malware al vehículo o viceversa un vehículo conectado infectado puede infectar al pendrive. Existen dispositivos denominados USB-killers que tienen la apariencia de un pendrive y al ser insertados en el dispositivo (PC, PLC, etc.) generan una fuerte descarga eléctrica que daña e incluso inutiliza al dispositivo.

(b) Distribución, expansión, desarrollo, dispersión, etc. El malware inicial redirecciona el navegador del usuario o víctima a un sitio Web seleccionado dependiendo de su tipo de sistema operativo y navegador Web para ajustar mejor su forma de infectar.

(c) Despliegues, escaneo, explotación, etc. Un kit-exploit sondea el sistema del usuario víctima en busca del mayor número de vulnerabilidades de todo tipo (N-day y 0-day).

(d) Infección y aplicación de acciones maliciosas. El malware inteligente puede infectar software, firmware y hardware. Una cierta carga útil maliciosa (quizás de múltiples funcionalidades perversas) se descargan e infectan el sistema de la víctima con malware. Entre los posibles módulos de infección está el de craqueo de contraseñas, por ejemplo, basado en JTR (John-The-Riper), en el abuso de credenciales en APIs, en los intentos de inicio de sesión masivos por fuerza bruta utilizando botnets, el uso de herramientas automáticas de relleno de credenciales, etc.

(e) Ejecución. El malware espía, fuga y modifica información sensible, cambia datos, intenta extorsionar al usuario víctima para que pague (tipo malware con funcionalidad de ransomware), modifica ficheros de forma específica, cambia APPs/APIs, firmware, bloquea redes y dispositivos finales, realiza sabotajes contra objetivos, etc.

(f) Movimientos laterales, pivotado, desplazamientos multidireccionales y ciber-resiliencia. Se trata de que el malware pueda subsistir, si éste detecta que alguien intenta observarle, modifica lo observado (donde está, que hace, su estructura de módulos, sus extensiones, etc.), genera señuelos para desinformación y realiza el sacrificio de los módulos, semillas o fragmentos sin importancia, etc. Cuando una entidad (persona, programa, robot, etc.) hace ‘clic’, una organización (industria, empresa, ecosistema) puede hacer ‘crack’. La entidad puede hacer ‘clic’ por diferentes razones como engaño (utilizando ingeniería social, phishing, etc.), tecnología (utilizando pharming, envenenamiento de tablas ARP, a través de vulnerabilidades en aplicaciones y en motores autónomos de inferencia para IA (implantados en ICs/chips/SIP/SOC, etc.), etc.

Imagen

Ejes principales para la evolución del malware inteligente

Actualmente crece el número y sofisticación de técnicas (incluida la inteligencia artificial y sus derivadas: redes neuronales profundas y convolucionales, sistemas expertos, aprendizaje automático, procesamiento del lenguaje, deep-learning, machine-learning, etc.), utilizadas por el malware inteligente para progresar, evolucionar, posicionarse, contagiar, transmitirse, infectar, mejorar, actualizarse, ocultarse, etc.

Las vulnerabilidades son la clave para el empoderamiento, magnificación y expansión de la vida del malware inteligente y su campo de acción-confluencias-impactos. Las vulnerabilidades son en esencia: debilidades, fallos, errores, confianzas (sin verificación), defectos, deficiencias, errores, bugs (son errores que existen en el nivel de implementación, sólo suelen existir en el código fuente), flaws (son errores a nivel mucho más profundo, por ejemplo, en el diseño y probablemente en el nivel de código, son difíciles y costosos de corregir), etc., en todo lugar: en (diseño, implementación, configuración, despliegue, explotación de software, firmware, hardware), en APPs, en algoritmos, protocolos, ingeniería e implementación de sistemas, en APIs, en sistemas operativos, en procesos organizacionales, en infraestructuras, en dispositivos de red (la vulnerabilidad CVE-2020-8515 aparecida en los router Draytek-Vigor permite la ejecución remota de código, lo que posibilita a un malware no autenticado ejecutar código arbitrario con privilegios de root vía meta-caracteres shell), en personas (la ingeniería social permite engañar a las personas para que cometan fallos (foco de vulnerabilidades e infecciones), por ejemplo utilizado (en correo electrónico, IM, RRSS, SMS, chat, spam, etc., a veces la dirección del remitente del correo aunque nos parezca correcta y que viene de alguien conocido puede estar falsificada ya que puede incluir caracteres no imprimibles/invisibles lo que significa que viene de otro sitio -del ciberatacante-), bajo el término de: phishing (opera globalmente sin discriminación enviando a todos), spear-phishing (está dirigido a un grupo de personas o empresas), whaling (está dirigido a un grupo más reducido de ejecutivos de alto nivel de empresas), vishing (el engaño opera utilizando conversaciones de voz, por ejemplo, bajo VoIP), smshing (el engaño se realiza utilizando SMS), tailgating (el engaño se efectúa en persona. Se utiliza amabilidad, ‘mano izquierda’, sostener una puerta a alguien con credenciales que accede primero a un sitio restringido), shoulder-surfing (consiste en espiar y mirar disimuladamente por encima del hombro lo que teclea la víctima frente a un ATM o su móvil), dumpster-diving (consiste en revisar los contenedores de basuras en busca de información confidencial como cartas con números de tarjetas, contraseñas, etc.), etc., que cuando se explotan o comprometen dan lugar a una brecha en ciberseguridad.

Ventana de exposición de una vulnerabilidad es el intervalo de tiempo que abarca las siguientes zonas temporales: el inicio es el descubrimiento de una vulnerabilidad 0-day (nivel de riesgo elevado), tras un cierto tiempo aparece el instante de tiempo en el que se hace pública la vulnerabilidad (nivel de riesgo algo mayor), tras un cierto tiempo aparece el instante en el que la vulnerabilidad la conoce el fabricante de la entidad con vulnerabilidad (nivel de riesgo algo mayor), tras un cierto tiempo aparece el instante en el que el fabricante a veces notifica a sus clientes (nivel de riesgo algo menor), tras un cierto tiempo aparece el instante donde se actualizan herramientas de ciberseguridad (firmas AV, IDS, módulos de detección de vulnerabilidades, etc.) (nivel de riesgo algo menor), tras un cierto tiempo aparece el instante en el que se publica el parche (nivel de riesgo menor), tras un cierto tiempo aparece el instante en el que la existencia del parche es ampliamente conocida (nivel de riesgo algo menor), por último, tras un cierto tiempo aparece el instante donde el parche se instala en todos los sistemas afectados, pero cuidado si el dispositivo de computación afectado posee un sistema operativo muy antiguo posiblemente el parche no sirva o no se pueda aplicar.

El uso de vulnerabilidades no críticas, ofrecen un beneficio al explotarlas ya que justamente al no ser críticas están en menor prioridad en el proceso de poner remedios. Algunos ejemplos de vulnerabilidades software son: ‘world-writeable password file’ (permiten la modificación de datos críticos del sistema); ‘phf’ (permiten la ejecución del comando remoto como usuario ‘nobody’); ‘rpc.ttdbserverd’ (permiten la ejecución del comando remoto como root). La vulnerabilidad ‘Less.js’ causa que el sitio Web fugue claves secretas, por ejemplo, en AWS (Amazon Web Services). Las siglas CVE (Common Vulnerabilities Exposures) hacen referencia a un estándar para identificar vulnerabilidades http://cve.mitre.org. La vulnerabilidad CVE-2021-31956 (posee una puntuación de impacto (de 0 a 10) CVSS (Common Vulnerability Scoring System) = 7,8) posibilita una elevación de privilegios de Windows NTFS. La vulnerabilidad CVE-2021-31955 posibilita la divulgación de información del kernel de Windows. La vulnerabilidad CVE-2021-33742 (posee una puntuación de impacto CVSS = 7,5) posibilita la ejecución remota de código de la plataforma Windows MSHTML. La vulnerabilidad CVE-2021-1914/CWE-835 posibilita un lazo con condición de salida no alcanzable (‘lazo infinito’). La vulnerabilidad CVE-2017-11882 hace referencia a que el componente de Microsoft Office ‘Microsoft Equation Editor’ contiene una vulnerabilidad de pila de buffer-overflow que permite RCE (Remote Code Execution) en un sistema vulnerable. La vulnerabilidad CVE-2020-5902 afecta al interfaz TMUI (Traffic Management User Interface) también denominado utilidad de configuración permite que cualquier usuario con acceso remoto al TMUI ejecute comandos del sistema y obtenga control completo sobre el sistema vulnerable. La vulnerabilidad en el ‘PHP Package Manager’ deja las APPs Web abiertas a abusos. La vulnerabilidad ‘node.js’ permite un secuestro de dominio remoto. Una vulnerabilidad hardware afecta al chip-procesador ‘Tegra X1’ de Nvidia, esta vulnerabilidad (impresa en hardware-ROM/WORM/quemando e-Fuses) permite copiar código arbitrario en cualquier lugar de la memoria del dispositivo y por tanto sobre-escribir y anular el comando de verificación de firmas de lo que se instalaba a partir de ese punto en el dispositivo, con ese fallo impreso en hardware se rompe la cadena de confianza y nada de lo que aparezca detrás (el software) puede considerarse auténtico, integro, seguro, etc.

Imagen

Según la compañía Veracode la mayoría de las empresas priorizan las vulnerabilidades recientemente descubiertas mientras dejan persistir las más antiguas no resueltas (no parcheadas hace años) lo cual es muy peligroso. Según un informe de la compañía Skybox Security durante 2017 se publicaron 200 nuevas vulnerabilidades para entornos OT, un 120% más con respecto al 2016. Además, se registró un aumento del 76% de exploits del lado del servidor. Según un informe de la compañía RiskRecon y el Instituto Cyentia tener dispositivos IoT sin una configuración y ciberseguridad adecuada multiplica por 70 el ciber-riesgo de exposición de los activos críticos de las empresas debido entre otros aspectos a la dificultad de parchear las vulnerabilidades software.

Existen vulnerabilidades: debidas a fallos de los mecanismos SSO (Single-Sign-On) que unifican múltiples autenticaciones; debidas a una identificación defectuosa de identidades en AIM y SSO; debidas al uso de requisitos débiles para contraseñas; debidas a la existencia de mecanismos deficientes de recuperación de contraseñas para contraseñas olvidadas; debidas a un insuficiente valor para la expiración de sesión (o dejar la sesión siempre abierta); debidas a una autenticación deficiente con inadecuadas restricciones de excesivos intentos de autenticación, que permiten acceso no autorizado a datos de proceso o subproceso; debidas a fallos-deficiencias-infección en la cadena de suministro cibernética (suministro de productos y servicios de ciber-protección, véase el documento NISTIR-8276); debidas a defectuosas configuraciones; debidas a debilidades y deficiencias en el cifrado de los protocolos de mensajería instantánea Telegram y Whatsapp; debidas a un comportamiento anómalo de containers (incluyen recursos como CPU, memoria, peticiones, uso rendimiento, etc.); que permiten el escalado de privilegios no autorizado (llamadas de sistema no permitidas); debidas a fallos críticos en estaciones de carga eléctrica de vehículos EVlink; debidas a errores de interfaz en general y de interfaz de usuario en particular (en: GUI (Graphical User Interface), CLI (Command Line Interface), TUI (Text-based User Interface), API (Application Programming Interface), TMUI (Traffic Management User Interface), interfaces a través de voz (tipo Alexa, Siri, etc.); debidas a fallos y debilidades en elementos criptográficos (algoritmos defectuosos y/o gestión deficiente de claves criptográficas); debidas a errores de handler; que permiten crear ficheros de forma no autorizada; que posibilitan fugas de información; debidas a un firmware defectuoso en cámaras IP; debidas al elevado número de APIs, plug-ins y APPs poco seguras; debidas al uso de componentes con deficiencias conocidas; debidas a fallos en los mecanismos de verificación biométricos incluso mutimodales; debidas a fallos en cifradores, funciones hash, PRNG, firma digital, ZK, OT, etc.; debidas a la calidad deficiente del código (software/firmware); debidas a errores-fallos de gestión de memoria (que conducen a buffer-overflows), format strings, etc.; debidas a una insuficiente validación de entradas; debidas a una deficiente gestión de credenciales; debidas a deficiencias que facilitan el abuso de APIs; debidas a una deficiente gestión de errores; debidas a fallos en la validación y estructura; debidas a fallos a la hora de manipular elementos especiales comunes; debidas a errores de canal y path; debidas a errores de equivalencia y de pathname traversal; debidas a debilidades en procesos de autenticación mono y multifactor; debidas a errores de gestión de recursos; debidas a una insuficiente verificación de datos; debidas a una deficiente evaluación del código, inyección, aleatoriedad y predictibilidad; debidas a una deficiente configuración de ciberseguridad; debidas a errores numéricos, defectos en el tiempo, estado, etc.; debidas a mantener siempre activo (‘always-on’) protocolos de comunicaciones como Bluetooth, WiFi; debidas a utilizar contraseñas de pequeña longitud, baja entropía y que aparecen en el diccionario; debidas a eliminar el mecanismo de límite de reintentos o aumentar el número de reintentos admisible a la hora de introducir contraseñas incorrectas; debidas a la existencia de routers WiFi que tengan su firmware desactualizado; debidas a conectar nuestros equipos con tarjetas de memoria periféricas, pendrives, DVDs, CDROMs, etc. infectados (un dispositivo USB infectados con malware tipo APT Stuxnet se utilizó para sabotear PLCs asociados a centrifugadoras de enriquecimiento de Uranio de Irán); debidas a la existencia de protocolos inseguros o con deficiencias como SNMPv1, SMBv1, GSM, NTP, etc.; debidas a la existencia de aplicaciones/APPs y sus APIs mal diseñadas, mal implementadas, con configuraciones de red defectuosas; por ejecutar ciertos códigos Shell; debidas a no verificar adecuadamente las entradas y los contenidos; debidas a no comprobar adecuadamente la autenticidad e integridad de mensajes que recibe un vehículo conectado-autónomo como mensajes V2X (vehículo-vehículo y vehículo-infraestructura) CAM, DENM, etc.; debidas a permitir la compartición no intencionada de datos de vehículos conectados-autónomos (errores de administrador, datos almacenados en servidores de garajes, etc.); debidas a la existencia de fuentes y procesos de verificación contaminados y modificados maliciosamente, debido a no actualizar debidamente nuestros servidores; debidas a no controlar qué puertos están abiertos en nuestro firewall; debidas a deficientes procesos de microsegmentación que violan los controles de red; debidas a deficiencias en los controles de acceso; debidas a fallos en la programación (con todo tipo de lenguajes: Python, JavaScript, PHP, Ruby, C++, Perl, Java, VB, etc.); debidas a fallos en los sistemas operativos (como Android, iOS, Windows, Linux, Solaris, Unix, etc.); debidas a mecanismos deficientes de cifrado y de almacenamiento de claves criptográficas; debidas a dejar sesiones y conexiones abiertas por cualquier causa (por estar configuradas por defecto); debidas a fallos en el control de acceso a las aplicaciones; debidas a procesos de actualizaciones y parches (vía FOTA o SOTA) que permiten accesos no autorizados en dispositivos y vehículos conectados/autónomos; debidas a dejar entrar o consumir datos antes de validarlos y comprobarlos; debidas a existir configuraciones deficientes, fallos en firewall, routers, módems, objetos IoT, motores autónomos de inferencia de IA, browsers, sistemas operativos, APPs, correo electrónico, etc.; debidas a descargas Torrents/P2P en las organizaciones; debidas a no tener en cuenta la Dark-Web; debidas a dejar sin actualizar motores, firmas y parches antimalware; debidas al robo de direcciones de correo electrónico, MAC, IP, URL, etc.; debidas al uso de ingeniería social e ingeniería inversa; debidas a utilizar la misma clave-contraseña débil (de baja entropía) para múltiples servicios como RRSS, BDs, correo-electrónica, IM, IoT, etc. y para diversos dispositivos-plataformas (smartphone, tablet, PC, smarthome, wearables, electrodomésticos inteligentes, vehículos conectados-autónomos, objeto IoT/IIoT/IoMT/IAoT, etc.); debidas a fallos en los navegadores Web y sus plugins; debidas a no actualizar correctamente los navegadores Web (Chrome de Google, Firefox de Mozilla, Metacrawler, Tor, Edge o Internet Explorer de Microsoft, Opera, Safari, etc.) y/o sus complementos Web (extensiones y plugins). Los complementos Web se utilizan por razones como extensibilidad, flexibilidad, personalización, etc.

Imagen

Cuanto mayor sea el número de complementos mayor será el riesgo de vulnerabilidades. Los complementos pueden dividirse en:

(a) Extensiones. Se ejecutan en el contexto del navegador Web de modo que tienen los mismos derechos que el propio navegador Web. Ejemplos de extensiones son: ‘NoScript’ para Firefox, BHO (Browser Helper Objects) para Internet Explorer es un DLL/Dynamic Link Library que se ejecuta automáticamente cuando se carga Internet Explorer, etc. Las extensiones en Internet Explorer utilizan el interfaz COM. Es vital analizar si las DLL están infectadas, por ejemplo, pepflashplayer.dll, etc.

(b) Plugins. Se ejecutan como procesos separados e interactúan con el navegador utilizando una API. Ejemplos de plugins son: Flash de Adobe, ActiveX Objects, etc., también son infectables; debidas a deficiencias y debilidades en nuevas tecnologías de Internet como: blockchain, objetos IoT/IIoT/IoMT, nubes, AmI, juguetes-electrodomésticos inteligentes, vehículos conectados y autónomos, 5G, robótica social, etc.; debidas a deficiencias y debilidades en el propietario, operador o personal de mantenimiento para que realice una acción que posibilite un acceso no autorizado en un vehículo conectado-autónomo; debidas a fallos que posibilitan el acceso no autorizado a información por parte de fuentes no fiables-seguras y capaces de cargar datos contaminados en vehículos conectados-autónomos; debidas a colocar scripts maliciosos en ficheros Office-MS que interactúan con PowerShell a nivel fileless; debidas a colocar macros infectadas dentro de documentos Office; debidas a poder descargar aplicaciones móviles o APPs contaminadas incluso de sitios oficiales (Google-Play o APP-Store) o de sitios desconocidos, por ejemplo, a partir de un código QR o un link/botón; debidas a poder sustituir un script.ini legal por uno malicioso, lo que provoca que el malware tenga acceso a los ficheros de claves; debidas al envenenamiento-modificación de las tablas de correspondencias entre direcciones URL-L5 e IP-L3 (se denomina pharming o envenenamiento de las tablas DNS) y entre las direcciones MAC-L2 e IP-L3 (se denomina envenenamiento de las tablas o cachés ARP por ejemplo para realizar MITM); debido a la existencia de puertas traseras y de motores de correo electrónico embebidos defectuosos; debidas a realizar el ‘Jailbreak/root’ sobre un dispositivo permite liberarlo (aumenta sus privilegios), posibilita, por ejemplo, realizar descargar actualizaciones, APPs, etc., de cualquier sitio Web tanto oficial como desconocido, etc.; el Jailbreak se usa para el sistema operativo iOS de Apple y el root para el sistema operativo Android. Los privilegios excesivos posibilitan el acceso a áreas del móvil o tablet que los usuarios normales no lo deberían tener debido a que permite privilegios excesivos (root). La existencia de excesivos privilegios a los necesarios para poder trabajar, abre brechas de ciberseguridad; debidas al uso de canales de comunicación que permiten inyectar código, manipular, sobreescribir, borrar, introducir-escribir datos/código malware en vehículos conectados-autónomos o en cualquier otra entidad conectada; debidas al empleo de ingeniería social (timos Nigerianos) sobre Web, SMS (Short Messaging Service), MMS (Multimedia Messaging Service), RRSS, etc.; debidas a pasar cerca de puntos de acceso WiFi, puntos Bluetooth, puntos RFID-NFC o antenas de telefonía celular 2G, 3G, 4G, 5G, etc., con nuestro móvil pueden saber nuestra geolocalización (por triangulación) sin necesitar GPS; debidas a acceder a los sitios Web de Internet (IoE) o a sus subconjuntos como IoT, IIoT, IoMT, etc. infectados utilizando WiFi-7 (IEEE802.11be-30Gbps)/WiFi-6 (IEEE802.11ax-9,6 Gbps)-WLAN, WWAN 2G, 3G, 4G, 5G, futura 6G, fibra óptica, comunicación a través de redes de satélites, LoRaWan, etc.

Algunas herramientas de escaneo de vulnerabilidades para ecosistemas malware son: Nikto. Es un escaner de servidores Web diseñado para encontrar los diversos ficheros, configuraciones y programas inseguros, https://cirt.net/nikto2-docs/. Nessus. Es un escaner de vulnerabilidades de red, http://www.nessus.org/nessus. Retina. Es un escáner de seguridad de red y valoración de vulnerabilidades. http://www.eeye.com. Netrecon. Es un escáner de vulnerabilidades de Symantec. http://www.symantec.com. ISS (Internet Security Systems). Es un escáner de vulnerabilidades, http://www.iss.net. Paros. Es un escáner de vulnerabilidades de aplicaciones. http://parosproxy.org/index.shtml. Wikto. Es un escáner de vulnerabilidades de servidores Web. http://www.sensepost.com/research/wikto/. GFI LANguard NSS (Network Security Scanner). Es un escaner de vulnerabilidades de red. http://www.gfi.com/languard. Metasploit, https://www.metasploit.com. OpenVAS (Open Vulnerability Assessment System), w3af, etc.

Un estudio de la compañía ESET revela que el 40% de los usuarios utiliza entre una y tres aplicaciones financieras (o fintech) pero sólo la mitad de ellos cuenta con software de ciberseguridad en dichos dispositivos. Las APPs operan con un código que evoluciona con el tiempo según las necesidades del objeto industrial (sensor-actuador) o cliente, por lo tanto, cualquier cambio tiene la capacidad de introducir vulnerabilidades que exponen a la aplicación, al proceso industrial o a la organización. El detectar y corregir a tiempo las vulnerabilidades en el software es una carrera contrarreloj.

Existe un elevado peligro a la hora de creer que certificar la ciberseguridad de todo un sistema o subsistema (ICS, vehículo, CPS, etc.), se puede realizar simplemente certificando sus componentes (aplicando estándares, explorando vulnerabilidades, realizando test de penetración, etc.) que después van a ser utilizados en la realización de dichos sistemas/subsistemas ya que sólo son los componentes pero se olvidan de lo que los va a con-conjuntar/orquestar, además del hecho de que el software y programas son actores vivos en continua evolución con una generación de vulnerabilidades en continuo crecimiento y donde se detecta una interactividad con el exterior (redes, satélites, nubes, etc.) infectados o no, con usuarios, con otras entidades, etc.

No podemos sacar una instantánea (de que es ciberseguro) y afirmar que, de la evaluación de vulnerabilidades, auditorías, pentest, etc., de un sistema/subsistema apto en un instante de tiempo seguirá siendo ciberseguro hasta el próximo año. Existen numerosas vulnerabilidades en todo CPS. La arquitectura de un CPS se compone de bloques funcionales como: el sistema físico en sí, los sensores (los ‘ciberataques poltergeist/AMpLe’ consisten en volver ciegos o confundir a vehículos (u otras entidades: fábricas, IoT, etc.) de varios modos, bien con malware que cambie los datos generados por los sensores o bien enviando desde el exterior señales acústicas o electromagnéticas a los sensores del vehículo para que crea que no hay obstáculos donde los hay o detecte obstáculos donde no los hay), los actuadores, la red de comunicaciones y los controladores distribuidos.

En este entorno tan complejo y con tantas interacciones, las vulnerabilidades-fallos están presentes (y crecen y campan a sus aires) en cada uno de los bloques funcionales además de la interactividad de los propios usuarios, el entorno o entidades IA que dan soporte en tiempo real a las capacidades del CPS. Las acciones-operaciones y la orquestación que se llevan a cabo en el CPS generan continuamente vulnerabilidades causantes de impactos y daños irreversibles. El certificar cada bloque funcional por separado no asegura que el CPS en su conjunto sea de confianza ya que existen numerosas interacciones impredecibles entre bloques (vía actualizaciones FOTA, SOTA, personas, redes externas, satélites, IA, etc.), las redes son entes vivos y los usuarios transmiten información con mayor o menor protección, existen fallos humanos, técnicos, se añaden cada día nuevos elementos a la red que aumentan la superficie de ciberataque/vulnerabilidades y la propagación-actuación-veredicto final puede ser una quimera a medio plazo.

Imagen

Algunas de las vulnerabilidades software más peligrosas según el ranking CWE (Common Weakness Enumeration) del 2021 de Mitre (2021 CWE Top 25) son: Escritura fuera de los límites (esta vulnerabilidad CWE-787 -con puntuación de peligrosidad de 65,93- es del tipo ‘corrupción de memoria’, escribe datos de manera que puede conducir a la explotación de datos, ejecución de código o a un accidente de memoria. Esta vulnerabilidad puede transformar la aritmética que controla el índice de la posición de memoria para que este fuera de los límites del buffer). Lectura fuera de los límites (esta vulnerabilidad CWE-125 -con puntuación de peligrosidad de 24,9- permite que el malware se entere de todos los datos sensibles existentes en otras posiciones de memoria y ayuda a crear un accidente. Este tipo de accidentes ocurre cuando el código se entera de diferentes cantidades de datos y después asume que existe un guarda que impide la operación de lectura, como un NULL en un string). Neutralización inadecuada de la entrada durante la generación de la página Web XSS (Cross-Site-Scripting). (El malware puede aprovecharse de esta vulnerabilidad CWE-79 -con puntuación de peligrosidad de 46,84- para ejecutar sus propios scripts en el sistema objetivo. Sucede normalmente: siempre que una APP incluye datos inseguros en una página Web nueva sin la validación adecuada o bien siempre que una página Web existente se actualice con datos suministrados por el usuario utilizando una API del navegador Web que puede crear HTML o JavaScript. Existen tres clases de XSS: tipo-0 (XSS basado en DOM), tipo-1 (XSS reflejado no persistente), tipo-2 (XSS almacenado persistente). Los malware utilizan diversos métodos para codificar la porción maliciosa del ciberataque como codificar URL o Unicode y hace la petición no sospechosa). Validación incorrecta de las entradas (esta vulnerabilidad CWE-20 -con puntuación de peligrosidad de 20,47- obtiene la entrada o datos sin el OK de que la entrada tiene las propiedades que se necesitan en el proceso que afirma que los datos son seguros y precisos. La validación deficiente de la entrada posibilita entradas peligrosas de modo que acepta entradas no seguras para su procesado dentro del código). Neutralización incorrecta de los elementos especiales utilizados en un comando de sistema operativo -OS Command Injection- (esta vulnerabilidad CWE-78 -con puntuación de peligrosidad de 19,55- ensambla cada parte de un comando de OS que se está utilizando externamente y fue influenciado por una entrada de un elemento anterior. Pero no compensa ni contrabalancea incorrectamente los elementos específicos que pudieron transformar el comando OS designado). Neutralización incorrecta de los elementos especiales utilizados en un comando SQL -SQL Injection- (esta vulnerabilidad CWE-89 -con puntuación de peligrosidad de 19,54- puede utilizarse para alterar la lógica de la query SQL al objeto de saltarse las comprobaciones de seguridad o para insertar sentencias adicionales que modifiquen la base de datos, posiblemente incluyendo la ejecución de comandos del sistema. Esta vulnerabilidad depende del hecho que SQL no hace una distinción real entre los planos de control y de datos. Sin un control adecuado en las entradas del usuario, la query generada puede causar que las entradas se interpreten como SQL en vez de datos ordinarios de usuario). Utilizar y después libre (esta vulnerabilidad CWE-416 -con puntuación de peligrosidad de 16,83- ofrece la capacidad de ‘cascar’ un programa utilizando valores no esperados o ejecutando código arbitrario. Esta vulnerabilidad tiene dos circunstancias solapadas: situaciones de error y otros eventos no comunes y al liberar la memoria crea confusión sobre que parte del programa es responsable). Restricción inadecuada de operaciones dentro de los límites de un buffer de memoria (esta vulnerabilidad CWE-119 -con puntuación de peligrosidad de 5,84) es de buffer de memoria y fuera del límite del buffer la posición de memoria que está disponible puede ser explotada por el malware para leer o escribir. Como resultado de esto puede permitir a los malware realizar acciones como: leer información sensible, alterar el control de flujo diseñado, ejecutar código arbitrario, causar que el sistema se accidente y ‘casque’). Permisos predeterminados incorrectos (explotando esta vulnerabilidad CWE-276 -con puntuación de peligrosidad de 5,09- un malware puede modificar los ficheros instalados en el sistema afectado ya que los permisos se colocan por defecto a ‘todos lo pueden modificar’). Falsificación de solicitudes del lado del servidos (o SSRF -Server-Side Request Forgery-). (Explotando esta vulnerabilidad CWE-918 -de ataque de puerto cross-site, con puntuación de peligrosidad de 3,78- un malware puede hacer que hosts y puertos no esperados crean que el servidor les está enviando peticiones proporcionándoles URLs para saltarse los controles de acceso de firewalls y herramientas de ciberseguridad). Neutralización inadecuada de elementos especiales utilizados en un comando -o inyección de comando o ‘command Injection’- (esta vulnerabilidad CWE-77 -con puntuación de peligrosidad de 3,58- utilizando una entrada influenciada externamente de un componente anterior permite que cualquier malware desarrolle un comando y cuando el comando propuesto se envía a un componente posterior el malware obtiene la capacidad de modificar el comando). Restricción incorrecta de la referencia a entidad externa XML -o XXE -XML External Entity- (esta vulnerabilidad CWE-611 -con puntuación de peligrosidad de 4,02- permite que un malware elabore un fichero doc XML con URIs que causa que el documento coloque documentos incorrectos en su final, el resultado es la exposición de los contenidos del fichero). Falsificación de solicitudes entre sitios -o CSRF -Cross-Site Request Forgery- (esta vulnerabilidad CWE-352 -con puntuación de peligrosidad de 14,46-, genera malfuncionamiento del sistema afectado debido a que el sistema afectado no podría comprobar o distinguir adecuadamente entre una petición consistente válida bien formada genuina y una petición consistente creada intencionadamente. Para explotar esta vulnerabilidad el malware abusa la URL, carga de imagen, XMLHttpRequest, etc., lo que conduce a una ejecución de código no deseada). Falta autenticación para función crítica (esta vulnerabilidad CWE-306 -con puntuación de peligrosidad de 7,93- no autentica ninguna funcionalidad que utilice una cantidad significativa de recursos o necesite una cierta identidad de usuario). Autenticación incorrecta (explotando esta vulnerabilidad CWE-287 -con puntuación de peligrosidad de 6,58- un malware puede presentar una identidad que parezca genuina para engañar al sistema y hacer que se apruebe todo diciendo que es correcto y verificado adecuadamente).

Transferencia sin restricciones de fichero con tipo peligroso (explotando esta vulnerabilidad CWE-434 -con puntuación de peligrosidad de 8,45- un malware puede procesar tipos de ficheros peligrosos dentro del entorno del producto transfiriéndolos -o uploading-. Utilizando esta vulnerabilidad un malware puede crear problemas de consumo de recursos en el sistema afectado). Desbordamiento de enteros -o wraparound-. (Cuando la lógica pretende que el valor original siempre será menor que el valor resultante, se produce un ‘integer overflow’. Esta vulnerabilidad CWE-190 -con puntuación de peligrosidad de 7,12- realiza un cálculo que causa que salgan otras debilidades y como resultado permite al malware realizar: concatenación, copia, determinar el desplazamiento o tamaño en los comportamientos como asignación de memoria, tomar una decisión de seguridad, control looping). Exposición de información confidencial/sensible a un actor no autorizado (debido a esta vulnerabilidad CWE-200 -con puntuación de peligrosidad de 4,74- un malware puede obtener acceso no autorizado a información sensible presente en el sistema afectado. Algunos de los datos que pueden ser expuestos son: datos financieros, información del sistema operativo, packages instalados, localización geográfica, mensajes personales, registros de salud, detalles de contacto, secretos de negocios y de propiedad intelectual, status y configuración de red, logging de conexiones o cabeceras de mensaje, código propio del producto o estado interno, discrepancia entre dos operaciones internas que pueden ser observadas por un agente externo, etc.). Limitación incorrecta de un pathname a un directorio restringido (o ruta transversal o ‘path traversal’). (Para construir un pathname esta vulnerabilidad CWE-22 -con puntuación de peligrosidad de 14,69- utiliza una entrada externa y hace esto para detectar un directorio localizado bajo un directorio origen restringido. Sin embargo, dentro del pathname no se neutralizan adecuadamente los elementos especiales como “..” y separadores “/”. Utilizando estos elementos especiales fuera de la localización restringida un malware puede escapar accediendo a ficheros o directorios de sistemas infectados). Uso de credenciales codificadas de forma rígida -hard-coded- (esta vulnerabilidad CWE-798 -con puntuación de peligrosidad de 6,27- contiene credenciales hard-coded como: contraseñas, secretos biométricos, claves criptográficas. Explotando esta vulnerabilidad un malware puede utilizarla para: autenticación de entrada, comunicación de salida a componentes externos y para cifrado de datos internos). Falta de autorización (explotando esta vulnerabilidad CWE-862 -con puntuación de peligrosidad de 5,47- un malware puede evadir el proceso de autorización para obtener un recurso y realizar un amplio conjunto de acciones como: denegación de servicios, ejecución de código arbitrario y exposición de información). Deserialización de datos que no son confiables (sin verificar adecuadamente los datos válidos esta vulnerabilidad CWE-502 -con puntuación de peligrosidad de 6,71- deserializa los datos no seguros. Explotando esta vulnerabilidad un malware puede realizar acciones no aprobadas como crear un Shell). Mal referenciado del puntero nulo -NULL pointer- (esta vulnerabilidad CWE-476 -con puntuación de peligrosidad de 6,54- ocurre cuando un puntero nulo es mal referenciado por la aplicación afectada como puntero válido. Además, también puede ocurrir por ‘race conditions’ y omisiones simples de programación). Asignación incorrecta de permisos para recursos críticos (esta vulnerabilidad CWE-732 -con puntuación de peligrosidad de 4,2- es una vulnerabilidad de permiso incorrecto que define los permisos que son pedidos por un recurso de seguridad crítico. Sin embargo, generalmente permite que el recurso sea leído o transformado por el malware. Cuando un recurso obtiene los permisos que implementan el acceso a un amplio conjunto de malware y esto es porque puede dar resultados para la exposición de datos críticos). Credenciales insuficientemente protegidas (esta vulnerabilidad CWE-522 -con puntuación de peligrosidad de 4,21- generalmente transfiere o abastece todos los datos sensibles e implementa toda clase de métodos inseguros que son bastante susceptibles a la interceptación y/o recuperación ilegal. Esta vulnerabilidad conduce a un diseño inadecuado del software afectado que esta, asociado con los métodos de seguridad de arquitectura). La vulnerabilidad CWE-601 posibilita el redireccionamiento abierto.

Imagen

Algunas de las vulnerabilidades software actuales más comunes según el ranking Top 10 OWASP son: Autenticación deficiente-rota (las funciones de la aplicación de gestión de sesión y autenticación no se encuentran implementadas correctamente o no existen. Esto crea una vulnerabilidad que puede explotar el malware para obtener acceso a información personal). Configuración deficiente de ciberseguridad (suele ser el resultado de: configuraciones no seguras por defecto, configuraciones incompletas, improvisadas, almacenamiento en ‘open cloud’, cabeceras HTTP mal configuradas o bien mensajes de error prolijos que contienen información sensible). Insuficientes o deficientes procesos de logging y monitorización (deja los datos vulnerables a modificación, extracción o incluso destrucción). Control de acceso deficiente/roto (las restricciones de usuario deben ejecutarse adecuadamente ya que si se rompen pueden crear una vulnerabilidad que el malware puede explotar). Deserialización no segura (estas vulnerabilidades normalmente dan lugar a ejecución remota de código. Permite al malware realizar repeticiones, inyección y escalado de privilegios). Vulnerabilidades de inyección (ocurren cuando datos no seguros se envían como parte de un comando o query. Esto engaña al sistema objetivo para que ejecute comandos no deseados. Puede proporcionar al malware acceso a datos protegidos. Un ejemplo es SQL-Injection operando sobre software deficiente). XXE (XML External Entities) (XML es un formato de datos -al igual que JSON- se utiliza en servicios Web, documentos, ficheros de imágenes, etc. Se necesita un XML parser para entender los datos XML. Si no está configurado adecuadamente y la entrada XML contiene una referencia a una entidad externa surge la vulnerabilidad. Un malware podría causar una denegación de servicios). Exposición de datos sensibles (los datos sensibles -contraseñas, tokens, secretos, claves privadas, números de cuenta, información médica, direcciones, etc. que pueden estar expuestos en código, imágenes, etc.-, se deben proteger adecuadamente, en caso contrario el malware puede aprovecharse de estas vulnerabilidades para obtener acceso). Utilización de componentes con vulnerabilidades conocidas (normalmente los componentes (están hechos de librerías, frameworks y otros módulos software) se ejecutan con los mismos privilegios que sus aplicaciones. Si un componente es vulnerable puede explotarlo el malware y causar pérdida de datos o tomar el control del servidor). Vulnerabilidades XSS (Cross-Site-Scripting). (El malware puede aprovecharse de las vulnerabilidades XSS para ejecutar sus propios scripts en el sistema objetivo/víctima. En general las vulnerabilidades XSS suceden bien siempre que una aplicación incluye datos no confiables de una página Web nueva sin la validación necesaria o bien siempre que una página Web existente se actualice con datos suministrados por el usuario utilizando una API de browser que puede crear HTML o JavaScript).

Consideraciones finales

Actualmente se observa que el parque de equipamiento informático-telemático (OT/IT/IoT) se encuentra en general muy desactualizado, esto facilita los ciber-ataques malware al existir mayor número de vulnerabilidades. Una de las principales reglas de juego y vías de acceso para que pueda evolucionar, magnificarse y progresar todo tipo de malware inteligente son las vulnerabilidades que crecen día a día en todo lugar y más ahora con la digitalización, BYOD, IoT, el creciente número de entidades conectadas a Internet, nubes públicas, etc. En general la filosofía más extendida hoy en día a la hora de fabricar algo (software, firmware, hardware, servicios, APPs, etc.) es simplemente que funcione, que tenga más facilidad de uso y al menor precio posible (la ciberseguridad quizás ya se pondrá más tarde si se necesita, sino para qué, sobra).

Esto posibilita al malware una infinidad de vulnerabilidades (que son puertas-caminos de acceso) a todos los niveles: diseño, algoritmo, desarrollo, pila de protocolos TCP/IP, ingeniería, implementación, despliegue, configuración, cadena de suministro, etc. Según el informe titulado ‘The 2020 Cyber Hygiene Report: What You Need to Know Now’ de Automox y AimPoint Group la mitad de las empresas no son capaces de parchear las vulnerabilidades (fallos) de ciberseguridad lo suficientemente rápido como para evitar brechas de ciberseguridad.

Según IBM la mitad (50%) de las causas de las brechas en el sector sanitario corresponden a ciber-ataques maliciosos. La tasa de infección define las estadísticas de ciber-ataque del malware. Actualmente se observa un crecimiento de la tasa de infección exponencial con el agravante de que la mayor parte del malware no es detectable. Existen herramientas como Google-Dark y motores de búsqueda de dispositivos como Shodan que permiten encontrar agujeros de ciberseguridad (como impresoras online, WebCams sin username ni password, objetos IoT vulnerables, etc.).

Una investigación de Akamai ha identificado numerosas vulnerabilidades en la propia forma en la que se crean y desarrollan los APIs (Application Program Interfaces) que facilitan el abuso de credenciales. Los APIs son especialmente vulnerables poniendo en riesgo datos confidenciales como información sensible, tokens, claves privadas, datos personales, registros de cuentas, etc. Los APIs generan brechas de ciberseguridad, así mismo los cambios en los APIs crean vulnerabilidades que abren puntos de entrada desde Internet al lugar donde operen. Cada vez que se hacen cambios en APIs se deben realizar auditorías de código (estático y dinámico) para no dejar nuevas vulnerabilidades.

Imagen

MarketsandMarkets vaticina que para el 2026 la inteligencia artificial en ciberseguridad generará un mercado de 35.800 millones de euros. Existen grupos de especialistas que se dedican a descubrir vulnerabilidades en prisiones de máxima seguridad para impedir que puedan escapar posibles presos por fallos-vulnerabilidades en la prisión. El descubrimiento (detección, predicción, inferencia, localización, etc.) de vulnerabilidades (nuevas o 0-day y viejas o N-day) en el ciberespacio es una tarea sin fin. Para ello se utilizan numerosas tecnologías, por ejemplo, la inteligencia artificial su objetivo es descubrir vulnerabilidades en todo tipo de entorno-ecosistema OT/IT (en toda clase de tecnologías, en software, firmware y hardware, en infraestructuras, nubes, etc.).

Existen vulnerabilidades en el software de Blockchain y sus derivados (smart-contracts, criptomonedas (no cifrar wallet, etc.), NFTs (Non-Fungible-Tokens), derechos de autor con fechado temporal, gestión de identidades, sistemas de ciberseguridad, etc.). Según ESG (Enterprise Strategy Group) los principales problemas relacionados con las APIs son un 63% de vulnerabilidades encontradas en las APIs, un 62% de pérdida de datos como resultado de un uso no seguro de las APIs, un 50% de introducción de malware y un 34% de uso de APIs no aprobadas.

El sistema de puntuación CVSS para estimar el impacto de una vulnerabilidad (utiliza un valor numérico de 0 a 10) se compone de tres grupos de métricas: grupo base (es obligatorio; son cualidades intrínsecas de la vulnerabilidad como: vector de acceso (local, adyacente, red), complejidad de acceso (bajo, medio, alto), autenticación (ninguna, una, múltiple), impacto de confidencialidad (ninguna, parcial, completa), impacto de integridad (ninguna, parcial, completa) e impacto de disponibilidad (ninguna, parcial, completa)), grupo temporal (es opcional; son características que cambian con el tiempo como: explotabilidad (no probada, prueba de concepto, exploit funcional, elevado, no definido), nivel de remedio (parche oficial, parche temporal, solución, no disponible, no definido) y confianza del informe: (no confirmado, no corroborado, confirmado, no definido)) y grupo del entorno (es opcional; son características relacionadas con el entorno del usuario como: potencial de daño colateral (ninguno, bajo, medio-bajo, medio-alto, alto, no definido), distribución del objetivo (ninguno, bajo, medio, alto, no definido) y requerimientos de seguridad: confidencialidad-integridad-disponibilidad (bajo, medio, alto, no definido)).

Zscaler analizó la superficie de exposición de numerosas empresas encontrando 49% con vulnerabilidades de alta o crítica gravedad no parcheadas, 400.000 servidores expuestos y detectables a través de Internet, un 47% de protocolos utilizados obsoletos y malas configuraciones en las nubes (GCP, MAC, AWS, etc.). Las vulnerabilidades surgen cada vez, más rápido (debido a que el código software y firmware se incrementa día a día y está siempre activo e interactúa con todo tipo de agentes sin parar cuyo número crece exponencialmente), en sistemas operativos, APPs, APIs, hipervisores, redes sociales, nubes (edge-fog-cloud según su proximidad del objeto final), navegadores Web, plataformas Web amateur, vehículos conectados-autónomos, objetos IoT/IIoT/IoMT/IAoT, infraestructuras críticas, satélites, aviones, drones, submarinos, buques, trenes, sistemas financieros, centros de cálculo, sistemas de control industrial, sistemas ciber-físicos, editores de texto, juegos on-line, juguetes inteligentes, electrodomésticos inteligentes, cámaras de seguridad, máquinas de vending, altavoces inteligentes, cámaras de visión (para todo: para tráfico, dentro de supermercados, en portales, en garajes, para pago en autopistas, para visión de procesos industriales, etc.), etc.

Según un estudio de la compañía Redscan durante el 2020 del total de vulnerabilidades detectadas, el 57,45% fueron consideradas críticas de alta gravedad, el 22,22% fueron de elevado impacto y facilidad de uso y el 68% de las vulnerabilidades descubiertas no requieren interacción del usuario para poder ser explotadas (esto implica que el malware sólo tiene que detectar que sistemas las tienen y actuar). Subestimar las vulnerabilidades de bajo riesgo/peligrosidad puede conducir al “encadenamiento” en el que el malware pueda pasar de una vulnerabilidad a otra para obtener acceso gradual en etapas cada vez más críticas.

Referencias

  • Areitio, J. ‘Seguridad de la Información: Redes, Informática y Sistemas de Información’. Cengage Learning-Paraninfo. 2020.
  • Areitio, J. ‘Identificación y exploración de tendencias en el incremento, tipos de impactos y efectos del malware’. Revista Eurofach Electrónica. Noviembre 2020.
  • Areitio, J. ‘Exploración longitudinal y transversal de las infecciones de malware’. Revista Seguridad. Interempresas. Febrero 2021.
  • Areitio, J. ‘Matizaciones sobre los efectos de la no anticipación contra el incremento creciente del malware oculto no detectable’. Revista Eurofach Electrónica. Interempresas. Nº 481. Abril 2021.
  • Areitio, J. ‘Exploración, identificación y detección de malware inteligente para evitar caos ciber-epidemiológicos y ciber-pandemias’. Revista Seguridad. Interempresas. Julio 2021.
  • Areitio, J. ‘Identificación y exploración del horizonte de sucesos y espacio de observación vinculado al moderno malware’. Revista Seguridad Interempresas. Septiembre 2021.
  • Karbab, E.B., Debbabi, M. Derhab, A. and Mouheb, D. ‘Android Malware Detection using Machine Learning: Data Driven Fingerprinting and Threat Intelligence’. Springer. 2021.
  • Stanford, E. ‘Crypto Wars: Faked Deaths, Missing Billions and Industry Disruption’. Kogan Page. 2021.
  • Ludwig, M. ‘The Giant Black Book of Computer Viruses’. American Eagle Books. 2019.
  • Mohanta, A. and Saldanha, A. ‘Malware Analysis and Detection Engineering: A Comprehensive Approach to Detect and Analyze Modern Malware’. Apress. 2020.
  • Astra, J.D. ‘Malware’. Shadow Alley Press. 2021.
  • Monnappa, K. A. ‘Learning Malware Analysis: Explore the Concepts, Tools, and Techniques to Analyze and Investigate Windows Malware’. Packt Publishing. 2018.
  • Sanders, C. ‘Intrusion Detection Honeypots: Detection through Deception’. Applied Network Defense. 2020.
  • Ligh, M.L. ‘The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory’. Wiley. 2014.
  • Matrosov, A., Rodionov, E. and Bratus, S. ‘Rootkits and Bootkits: Reversing Modern Malware and Next Generation Threats’. No Starch Press. 2019.
  • Stamp, M., Alazab, M. and Shalaginov, A. ‘Malware Analysis Using Artificial Intelligence and Deep Learning’. Springer. 2021.
  • Bilge, L., Cavallaro, L., Pellegrino, G. and Neves, N. ‘Detection of Intrusions and Malware, and Vulnerability Assessment’. 18th International Conference, DIMVA 2021. Springer. 2021.

Comentarios al artículo/noticia

Deja un comentario

Para poder hacer comentarios y participar en el debate debes identificarte o registrarte en nuestra web.

Suscríbase a nuestra Newsletter - Ver ejemplo

Contraseña

Marcar todos

Autorizo el envío de newsletters y avisos informativos personalizados de interempresas.net

Autorizo el envío de comunicaciones de terceros vía interempresas.net

He leído y acepto el Aviso Legal y la Política de Protección de Datos

Responsable: Interempresas Media, S.L.U. Finalidades: Suscripción a nuestra(s) newsletter(s). Gestión de cuenta de usuario. Envío de emails relacionados con la misma o relativos a intereses similares o asociados.Conservación: mientras dure la relación con Ud., o mientras sea necesario para llevar a cabo las finalidades especificadasCesión: Los datos pueden cederse a otras empresas del grupo por motivos de gestión interna.Derechos: Acceso, rectificación, oposición, supresión, portabilidad, limitación del tratatamiento y decisiones automatizadas: contacte con nuestro DPD. Si considera que el tratamiento no se ajusta a la normativa vigente, puede presentar reclamación ante la AEPD. Más información: Política de Protección de Datos

REVISTAS

NEWSLETTERS

  • Newsletter Seguridad

    19/11/2024

  • Newsletter Seguridad

    12/11/2024

ÚLTIMAS NOTICIAS

OPINIÓN

SERVICIOS