Criptodivisas: su papel en el malware
Introducción
A medida que evoluciona la tecnología, todo lo relacionado con ella también lo hace, y las técnicas maliciosas son las que se adaptan más rápido, es por eso que ya se han subido al carro de las criptodivisas.
Por lo general, en una red de criptodivisas, la cantidad de monedas disponibles es inmutable, globalmente siempre hay la misma cantidad de monedas y su valor se basa en la ley de la oferta y la demanda.
La aparición de estas monedas afirma tener como objetivo un modelo económico descentralizado, es decir, que las transacciones no dependan de un tercero (banco o entidad), sino únicamente de los usuarios que realizan la transacción y siendo validadas por el resto de nodos de la red de criptomonedas.
Bitcoin, Ethereum, Monero, Litecoin, son los nombres de las divisas más conocidas. El principio que tienen todas estas criptodivisas es común, pero son las diferencias que tienen entre ellas las que las hacen más o menos atractivas.
Monero la preferida por los desarrolladores de malware
Monero es una criptodivisa que prioriza en la privacidad, ya que los nodos de su red desconocen quienes son los usuarios que intervienen en la transacción y la cantidad de criptomonedas que se transfieren. También aboga por una minería más igualitaria.
El anonimato que confiere esta criptomoneda se debe a que implementa una variante del protocolo de encriptación CryptoNote, la función de hash CrytoNight PoW. Ambas implementan las firmas en anillo que permiten ocultar los datos del emisor entre los datos de otras transacciones, las direcciones furtivas, procedentes de otras transacciones, se emplean para ocultar la dirección del receptor y las transacciones confidenciales que confiere el anillo ocultan la cantidad transferida. De este modo emisor, receptor y cantidad se mezclan junto con otras direcciones complicando toda posibilidad de rastreo de cualquier elemento de la transacción, únicamente el emisor y receptor saben esta información.
Las cualidades conferidas por estas funciones permiten la ofuscación de blockchain. Tal anonimato confiere a Monero la particularidad de ser una moneda fungible o intercambiable, toda cantidad de moneda puede ser sustituida por otra cantidad de igual valor. Esto impide que las carteras puedan ser añadidas a las listas negras.
Otra propiedad que dispone esta criptomoneda es ser diseñada para dificultar los cálculos a circuitos integrados para aplicaciones específicas (ASIC) de minado de criptomonedas, esto hace que la minería de Monero sea más igualitaria para procesadores convencionales y tarjetas gráficas.
Estas cualidades la han convertido en una de las más empleadas entre los desarrolladores de malware, ya que permite el anonimato y el minado está pensado para que pueda ser realizado en dispositivos comunes como ordenadores, portátiles, servidores, smartphones y tablets.
El coste de la minería
Simplificándolo, a la hora de generar nuevas monedas, el proceso conocido como minado consiste en el cálculo de hashes que son empleados para añadirlos al blockchain.
No todos los hashes generados son válidos, deben estar construidos de una cierta manera. En el caso de Bitcoin, por ejemplo, deben terminar por un número determinado de ceros. Es por eso que encontrar un hash válido es complejo y, a medida que pasa el tiempo, la dificultad para encontrar dicho hash aumenta, ya que cada vez los parámetros de entrada son más grandes y esto conlleva a más tiempo de cálculo por parte de la función para generar un hash y que este sea válido para añadirlo al blockchain.
Por ello, que cada vez el coste de la minería requiere un mayor desembolso económico tanto en equipos de altas prestaciones como un elevado coste energético.
Por ejemplo, un equipo informático doméstico que disponga de un procesador y tarjeta gráfica de gama media con un consumo máximo de 400W/h entre todos los componentes externos e internos (pantalla, periféricos, ordenador, altavoces), que se encuentre minando 24 h, con un gasto de 0.13€ KW/hora, tiene un gasto aproximado al mes de 18.20€ y anualmente supone un gasto de 221€. A este coste hay que sumarle el coste del equipo informático, a parte del desgaste que conlleva este proceso al estar manteniendo al equipo a un alto estrés constante.
Para un atacante, ejecutar el código de minado en distintos equipos que no le pertenecen le permite obtener beneficios directos, ya que no hace falta que se descapitalice adquiriendo equipos ni el mantenimiento de estos, así como el ahorro en el coste energético que estos realizan.
Casos reales
Actualmente están proliferando casos de malware que se sirven de criptomonedas para obtener unos beneficios directos, aunque todavía existen casos en los que las criptomonedas son un simple método de pago para la extorsión.
Cryptojacking
Este método de minado se está volviendo muy popular actualmente. Consiste en la inyección de un javascript para el minado en una página web para que cuando un usuario se conecte desde el navegador emplee los recursos de su dispositivo para minar criptodivisas sin su consentimiento.
Un caso bastante conocido es del plugin de navegador Browsealoud, que ha afectado incluso a páginas gubernamentales. Este plugin era empleado para ayudar a personas con deficiencias visuales tales como el daltonismo o dislexia, haciéndoles más accesibles las páginas web que lo incluían. En este caso, Browsealoud incluía en su código fuente el script de Monero Coinhive para minar criptodivisas.
Otras páginas abren una ventana nueva del navegador con el script de minado ocultándola detrás del reloj de la barra de tareas del equipo, de este modo cuando el usuario cree que ha cerrado la página o el navegador este sigue ejecutándose, minando furtivamente.
Ataques a infraestructuras críticas
También los sistemas de control industrial (SCI) se han visto afectados por esta nueva oleada de malware diseñado para el minado de criptodivisas. La compañía de seguridad Radiflow detectó que una planta de purificación de agua había sido comprometida para que el sistema de control industrial SCADA que emplean utilizara sus recursos de procesamiento para minar criptomonedas. Pudieron detectarlo gracias a las peticiones HTTP externas que empleaba el script.
Monero como moneda de pago
También está empezando a emplearse como moneda de pago ante casos de ransomware. Los creadores del ransomware Kirk, tematizado en Star Trek, exige el pago del rescate en Monero. El cambio de criptodivisa con respecto al tradicional pago con Bitcoin es debido a que Monero permite a los atacantes permanecer en el anonimato al realizar las transferencias.
Viejos conocidos que se han adaptado: WannaMine
Si creíamos que nos íbamos a olvidar de WannaCry estábamos equivocados. Recientemente se ha conocido una variante denominada WannaMine que emplea la misma vulnerabilidad que su hermana, el exploit EnternalBlue. El procedimiento es el mismo pero la finalidad es distinta, en vez de extorsionar a la víctima encriptando sus datos y pidiendo un rescate, lo que hace esta variante es instalar de forma silenciosa un malware que dedica los recursos del equipo al minado de criptomonedas, así la víctima pasa a formar parte de la botnet e infecta a las máquinas cercanas. Actualmente hay más de 500.000 equipos afectados por este malware.
[Actualización 20/07/2023]
Las campañas de malware que se están mostrando estos días solo dependen de la imaginación del desarrollador para buscar un nuevo método para minar criptodivisas sin que el propietario de los recursos de hardware sea consciente de ello.
Medidas de protección
Para protegerse contra el malware de minería pueden tomarse las siguientes medidas específicas.
- Control estricto de acceso y permisos: unas políticas rigurosas de control de acceso y administración de privilegios de usuario ayudan a evitar la instalación o ejecución no autorizada de software malicioso, incluidos los de minería. Esto implica limitar los derechos de los usuarios para instalar extensiones de navegador no aprobadas y mantener un control constante de las configuraciones para prevenir modificaciones no autorizadas.
- Controlar la actividad de nuestros sistemas: a la hora de detectar si nuestros sistemas están afectados, es crucial contar con un registro histórico del consumo de recursos que refleje toda la actividad de nuestros sistemas. Esto facilita la identificación de aquellos picos de actividad no esperados o inusuales que puedan indicar una actividad maliciosa, ya que los procesos de minería consumen muchos recursos, como uso de CPU o de memoria. Además, toda esta potencia necesaria hará que el consumo de energía se vea afectado, siendo otro de los posibles indicadores que nos ayuden a detectar la actividad maliciosa.
- Investigar los procesos sospechosos: una vez identificada la actividad sospechosa, es fundamental investigar y determinar los procesos que la causan para determinar si tienen un origen malicioso. Para ello, se deberá comprobar el explorador de procesos de nuestro sistema operativo o de nuestro navegador. Una vez acotados, podrán ser eliminados apropiadamente.
- Utilizar software para la navegación segura: existen soluciones antimalware específicas, como CryptoMining Blocker o MinerBlock, diseñadas para detectar y neutralizar estas amenazas concretas, que suelen incluir funciones de bloqueo de URL sospechosas, así como de detección y de neutralización de comportamientos anómalos en los navegadores. Algunas soluciones de escritorio también cuentan con capacidades de aprendizaje automático para detectar nuevas variantes de malware que aún no han sido catalogadas.
Conclusiones
La creciente popularidad de las criptomonedas y su diversificación en nuevas formas emergentes, como los Non-Fungible Tokens (NFT), ha supuesto nuevas oportunidades lucrativas y de negocio, tanto para usuarios legítimos como para actores maliciosos. Sin embargo, este auge no está exento de riesgos, siendo el malware de minado uno de los más destacados.
Por eso, es crucial mantenerse alerta y adoptar medidas de seguridad pertinentes para prevenir tales amenazas. Estas medidas deben incluir el uso de soluciones de seguridad actualizadas, la vigilancia continua del uso de recursos, la promoción de prácticas seguras de navegación, la concienciación para evitar los ataques de ingeniería social o cualquier otro vector de entrada de malware y el uso de las copias de seguridad, por si en última instancia es necesario restaurar el sistema a un estado seguro.