Ethereum Seguridad 

Un «Bandido Blockchain» está adivinando claves privadas y robando millones en Ethereum


Un equipo de investigadores descubrió que bajo esta modalidad los delincuentes robaron más de USD $50 millones provenientes de direcciones con claves fáciles de adivinar. Se estima que al menos 750 cuentas fueron vaciadas por los atacantes bajo esta modalidad.

***

El verano pasado el consultor de seguridad, Adrian Bednarek, reflexionaba sobre las formas en las que delincuentes llevan a cabo el robo de saldos Ethereum. Bednarek se había sentido atraído por esta criptomoneda en particular debido a su notoria complejidad y a las posibles vulnerabilidades de seguridad.

Bednarek empezó con las preguntas más simples: ¿Qué pasaría si el propietario de un Ethereum almacenara su dinero digital con una clave privada – la indescifrable serie de números de 78 dígitos que protegen la moneda oculta en una determinada dirección- cuyo valor fuese 1?

Para sorpresa de Bednarek, descubrió que la esta clave «simple«, de hecho, alguna vez había tenido dinero. Esta información la corroboró a través de un explorador de bloques en el que verificó las transacciones realizadas en la red de Ethereum, donde encontró que el dinero ya había sido retirado de la billetera respectiva.

En ese momento el investigador hipotetizó que se trataba de un ladrón que -mucho antes que él- había pensado en adivinar esta sencilla clave privada tal como él lo hizo. Después de todo, al igual que pasa con Bitcoin y otras criptomonedas, si alguien conoce una clave privada de Ethereum, puede usarla para derivar la dirección pública asociada que la contraseña desbloquea. La clave privada les permite transferir el dinero a otra dirección como si fueran los legítimos propietarios.

El inicio del experimento

Ese descubrimiento inicial despertó la curiosidad de Bednarek. Así que intentó con unas cuantas claves consecutivas más: 2, 3, 4… y luego un par de docenas más, todas las cuales habían sido vaciadas de manera similar. Así que él y sus colegas de la empresa de seguridad Internet Security Evaluators (ISE) escribieron un código, encendieron algunos servidores en nube y probaron con unos cuantos miles de millones más.

En el proceso, el equipo registró varios descubrimientos que detallan en un documento reciente publicado. Las investigaciones no sólo encontraron que los usuarios de criptomonedas han almacenado, en los últimos años, sus saldos cripto con cientos de claves privadas fáciles de adivinar, sino que también descubrieron lo que ellos llaman un «Bandido Blockchain«. Una sola cuenta de Ethereum parece haber desviado un total de 45.000 ETH – valorados actualmente en más de USD $7,8 millones – utilizando este mismo truco para adivinar las claves privadas.

Al respecto, Bednarek destaca:

«Él estaba haciendo las mismas cosas que nosotros, pero fue más allá. Quienquiera que sea este tipo o estos tipos, están pasando mucho tiempo en el computador olfateando carteras nuevas, viendo cada transacción, y viendo si es que tienen la clave de ellas.«

Una aguja en un pajar

Para explicar cómo opera el «Bandido Blockchain» es importante tener en cuenta que las probabilidades de adivinar una clave privada de Ethereum generada al azar son de 1 en 2256. Ese denominador está muy cerca del número de átomos que hay en el universo. Bednarek compara el hecho de adivinar una clave al azar de Ethereum con la de elegir un grano de arena en una playa, y luego pedirle a un amigo que encuentre ese mismo grano entre un número infinito de playas.

Pero mientras observaba el Blockchain de Ethereum, Bednarek encontró evidencia de que algunas personas habían almacenado Ether con claves mucho más simples y fáciles de adivinar. El error fue probablemente el resultado, explica. Las billeteras de Ethereum cortaron las contraseñas a sólo una fracción de su longitud prevista debido a errores de codificación. O dejaron que los usuarios sin experiencia eligieran sus propias llaves, o incluso que incluyeran algún código malicioso. De esta forma, corrompieron el proceso de aleatorización para hacer que las llaves fuesen fáciles de adivinar para el programador de la billetera.

Bednarek y sus colegas del ISE finalmente escanearon un total de 34.000 millones de direcciones Blockchain en busca de ese tipo de claves débiles. Llamaron al proceso «ethercombing«, un acrónimo que hace referencia a la búsqueda y combinación de granos de arena de una playa, pero aplicado a Ethereum.

Finalmente el equipo encontró 732 claves fácilmente adivinables que en un momento dado contenían Ether pero que desde entonces habían sido vaciadas. Aunque algunas de esas transferencias eran sin duda legítimas, Bednarek estima que esas 732 representan sólo una pequeña fracción del número total de códigos simples de las que se sustrajo ETH desde que se lanzó la moneda en 2015.

Un dato interesante que destacó Bednarek es que 12 de esas direcciones parecían haber sido vaciadas por la misma persona. Los fondos habían sido transferidos a una cuenta que ahora contaba con una notable suma de 45.000 Ether (Alrededor de USD $7,7 millones al cambio actual).

Competencia entre bandidos

A razón de los hallazcos, Bednarek buscó poner a prueba al ladrón. Primero intentó poner un dólar en saldos ETH en una dirección con clave débil que el ladrón había vaciado previamente. En cuestión de segundos, el dinero fue robado y transferido a la cuenta del criminal. Bednarek intentó entonces poner un segundo dólar en una nueva dirección de clave débil que antes no se utilizaba. También  fue vaciada en segundos. Sin embargo, esta vez el monto fue transferido a una cuenta que contenía sólo unos pocos miles de dólares en Ether.

Así, Bednarek pudo constatar – viendo en las transacciones pendientes en el Blockchain de Ethereum – que otro bandido más exitoso le había ganado al primero por sólo milisegundos. Los ladrones parecían tener una vasta lista de llaves pre-generadas, y las estaban escaneando con una velocidad inhumana, de forma totalmente automatizada.

De hecho, cuando los investigadores analizaron el historial Blockchain de la cuenta del criminal en la red de Ethereum, comprobaron que había sacado Ether de miles de direcciones en los últimos tres años sin haber movido nunca sus saltos. Bednarek sospecha que probablemente se trataba de robos automatizados con ethercombing. Para el mes de enero de 2018 cuando el precio de Ethereum alcanzó su valor más alto, la cuenta del bandido contenía 38.000 ETH. Una suma equivalente a más de USD $54 millones para ese momento. Con el paso del tiempo el valor de Ethereum ha caído en picada, reduciendo el valor de los fondos de los bandidos Blockchain en aproximadamente un 85%.

Al respecto, Bednarek dijo de forma irónica:

«¿No te sientes mal por él? Tienes un ladrón aquí que acumuló toda esta fortuna y luego la perdió cuando el mercado se derrumbó«.

A pesar de rastrear esas transferencias, Bednarek no tiene idea real de quién podría ser el Bandido Blockchain. «No me sorprendería si se tratara de un actor estatal, como Corea del Norte, pero todo eso es sólo especulación«, dice, refiriéndose a los reportes que señalaban al gobierno norcoreano como responsables de robar más de USD $500 millones en criptomonedas en los últimos años.

Debilidad en las claves

Bednarek tampoco puedo identificar las billeteras defectuosas o alteradas que produjeron las claves fáciles de vulnerar. En cambio, sólo puedo ver evidencia de la creación de las contraseñas débiles y los robos resultantes.

«Podemos ver a la gente siendo robada, pero no podemos decir qué billeteras son las responsables«.

No obstante, no está claro si para el Bandido Blockchain, en particular, los robos de claves débiles simples comprenden la mayoría de sus ataques. El bandido podría haber desplegado otros trucos, como adivinar las frases de contraseña para las «billeteras cerebrales«. (Direcciones que se aseguran con palabras memorizables, que son más fáciles de forzar que las claves totalmente aleatorias).

Un equipo de investigadores en el área de la ciberseguridad encontró evidencia en 2017 de un total de 2.846 BTC robados de billeteras cerebrales. Una suma valorada en más de USD $17 millones al cambio actual. A finales de 2015, un solo robo de billetera cerebral de Ethereum resultó en la pérdida de 40.000 ETH, un botín casi tan grande como el del bandido Blockchain.

Consejos de seguridad del equipo

El equipo de ISE aún no ha conseguido replicar su experimento en el Blockchain de Bitcoin. Bednarek, no obstante, realizó algunas comprobaciones al azar de unas 100 claves Bitcoin débiles. El experimento reveló que el contenido de las billeteras correspondientes también había sido robado. Aunque ningún robo había sido tan grande y obvio como los del bandido Ethereum que habían descubierto. Sin embargo, esto podría indicar que – a diferencia de los Bandidos Ethereum – tal vez el terreno de competencia es más feroz y está más repartido entre los ladrones de Bitcoin.

Bednarek argumenta que la lección del ethercombing de ISE ofrece un valioso consejo para los desarrolladores de billeteras. Deben auditar su código cuidadosamente para encontrar cualquier error que pueda acortar las claves y dejarlas vulnerables. Y, para los usuarios, tener cuidado con la billetera que elijan.

Al respecto, Bednarek comentó:

«No puedes llamar a soporte y pedirles que cancelen una transacción. Cuando se realiza, los fondos se perdieron para siempre, la gente debería usar billeteras seguras y descargarlas de una fuente confiable

Fuente: Wired

Traducción de Hannah Estefanía Pérez / DiarioBitcoin

Imagen principal tomada de Unsplash


Related posts