Conecta con nosotros

Noticias

Minería de Bitcoin en páginas web mediante javascript, ¿en qué consiste?

Publicado el

Bitcoin

Hoy hemos podido saber, gracias a nuestros compañeros de MuySeguridad, de un problema de seguridad con determinadas páginas, que son capaces de emplear los recursos de proceso de nuestros ordenadores para su propio beneficio, incluso cuando (creemos que) no estamos conectados a las mismas y, ni siquiera, tenemos abierto el navegador. La clave consiste en abrir una ventana con el mínimo tamaño posible, que además se sitúa en una zona poco o nada visible del escritorio, y que mantiene abiertos los procesos puestos en marcha por la web. ¿Y con qué fin se efectúa esto? Con los de poner nuestros dispositivos a minar Bitcoins, pero que no seamos nosotros los beneficiarios de dicha tarea. No, en caso de éxito, el receptor de la recompensa será el creador de la página web que ha activado ese proceso en nuestro sistema. Así planteado puede llegar a resultar algo confuso, lo sé, así que empecemos por el principio:

¿Qué es la minería de Bitcoins?

Como seguramente ya sabes, la ciberdivisa está asociada de manera indisoluble a las cadenas de bloques (blockchain), una tecnología que permite, de manera descentralizada, llevar un completo control sobre operaciones realizadas a través de Internet. Así, claro, para gestionar ese registro, es necesaria una determinada (y creciente) capacidad de cálculo. Ahí es donde aparece la minería de Bitcoin, y que no es otra cosa que sistemas dedicados parcial o exclusivamente a realizar esas operaciones. ¿Y por qué la gente pone sus ordenadores a servicio de este fin? Ya he comentado anteriormente que las necesidades de cálculo para sostener blockchain no son baladí, y al final eso significa que hay muchos miles de sistemas dedicando recursos y, por lo tanto, viendo ralentizados el resto de sus usos y, en el caso de dedicarse a ello en exclusiva, generando un coste de consumo eléctrico. La clave, evidentemente, no es el altruismo, sino que por ello puedes obtener una recompensa en modo de Bitcoins. Ojo, aquí es importante aclarar que no estamos hablando de un ingreso proporcional a los recursos que hayas dedicado, no, hablamos de tener suerte, sin más. Así, puede ocurrir que tengas un ordenador encendido, durante años, y dedicado únicamente a este fin, y que pese a ello jamás llegues a ingresar un céntimo de euro por ello. Y, por contra, también es posible que durante tus primeros cinco minutos como «minero», suene la flauta y te lleves un premio de unas cuantas decenas de miles de euros. Una lotería, sí.

¿Webs que minan Bitcoins?

Ahora que ya sabemos que si dedicamos tiempo de proceso de nuestros sistemas, podemos llevarnos un premio en forma de Bitcoins, seguramente te estarás preguntando qué tiene eso que ver con una página web. Pues bien, a los responsables de algunas páginas, como la tremendamente popular The Pirate Bay, se les ocurrió que, para intentar cubrir los costes que ésta genera, podían hacer que, durante las visitas de los usuarios, los ordenadores de los mismos fueran empleados para minar Bitcoins. Unos procesos que, aunque se producen en los equipos de los visitantes, apuntan siempre al responsable de la web que… efectivamente, lo has adivinado, será el receptor del premio si el sistema de alguno de los usuarios logra una recompensa.

Este sistema, en principio, se establece para que quienes ofrecen un servicio, obtengan un rendimiento económico a cambio del servicio que ofrece, y para tal fin se supone que el usuario pone parte de la capacidad de proceso de su sistema a disposición del prestador de dicho servicio durante la visita y el uso del mismo. Sin embargo, con la técnica de la que ha informado hoy MuySeguridad, bastaría una visita de unos pocos segundos a una página para que, hasta que apaguemos el sistema sigamos «minando» para el propietario de dicha web (un apagado completo, suspenderlo o hibernarlo solo detendría la ejecución en esta tarea en esa fase, al reactivar el sistema la operación se retomaría).

¿Por qué en Javascript?

Cuando hablamos de código asociado a las páginas web, existe una división básica: client-side y server-side, es decir, cuándo el código se ejecuta de manera local, en el ordenador que ha accedido a ese recurso online, y cuándo se trata de un código que se ejecuta en el servidor en el que está alojado. Y, aunque hay métodos para lograr una ejecución server-side de código Javascript (de hecho es común encontrar consultas a este respecto en Stack Overflow), lo cierto es que lo más común es que los scripts en este lenguaje se ejecuten de manera local. Esto, sumado a su compatibilidad con prácticamente todos los navegadores, lo convierte en la elección ideal para este tipo de usos, en los que el servidor no puede (o su propietario no quiere) asumir toda la carga de procesarlo, y la delega en cada uno de los sistemas que acceden al servicio.

Esto, que puede sonar un poco extraño, en realidad es muy común. Y es que, de tener que asumir los servidores muchos de esos procesos que se realizan de manera local, hablaríamos de una carga de trabajo inasumible en muchísimos de los servicios que empleamos en la actualidad. Por lo tanto, no debe preocuparnos que haya procesos que «corren» en nuestro sistema, pues es algo totalmente normal y bastante común. La clave es saber qué procesos son esos, emplear soluciones de seguridad que sean capaces de detectar este tipo de usos abusivos del client-side y ante la duda, si detectamos una merma en el rendimiento del sistema, buscar algún proceso que se pueda haber abierto al acceder a determinadas páginas web.

Lo más leído