Descentralizando el mundo con blockchain (III)

6 junio, 2017

(Trobareu la versió en català més avall)

En esta serie de artículos, primero hemos visto el funcionamiento técnico de forma simplificada de una cadena de bloques como la de Bitcoin. Después hemos mostrado algunas de las aplicaciones más destacadas basadas en blockchain. Para terminar, en este artículo vamos a repasar posibles problemas de seguridad e inconvenientes que puede tener el uso de esta tecnología. Como veremos, la mayoría de los asuntos que trataremos tiene más que ver con los servicios implementados por encima de blockchain que no con la seguridad informática propiamente de la cadena de bloques.

Para empezar, una primera duda moral que se nos plantea con la implantación de estas tecnologías está relacionada con los malos usos que se puedan hacer con ellas, al no existir organismos centralizados que regulen y controlen. Por ejemplo, es polémico el uso generalizado de Bitcoin para pagar actividades delictivas. El hecho de usar claves criptográficas como identidad de los usuarios que hacen y reciben los pagos en Bitcoin, añade una pseudo anonimidad a los pagos y hace que esta criptomoneda sea la forma más habitual de pago para la compra de drogas y armas en auténticos supermercados virtuales de este tipo de productos, como la archiconocida difunta web Silk Road. Sin embargo, esta aparente anonimidad puede llegar a suponer una trampa que revele el histórico de transacciones financieras de un usuario. De hecho, la policía danesa ya ha utilizado estrategias para analizar el histórico de transacciones que está publicado de forma abierta en el blockchain de Bitcoin para detener a traficantes de droga. Aunque la detención de criminales pueda parecer algo positivo para una gran parte de la sociedad, esta pérdida de privacidad no afecta solamente a los usuarios de Bitcoin que trafican con drogas, sino que afecta a todos ellos. Y como en general, a nadie le gusta que los demás sepan cuánto dinero se tiene, ni que se hace con él, han aparecido nuevos servicios para intentar confundir el rastro histórico de transacciones y aumentar el nivel de privacidad. Por ejemplo, han aparecido soluciones como los Bitcoin mixers o monedas alternativas como Monero.  

A nivel de seguridad de la tecnología blockchain de Bitcoin, BitcoinWiki ofrece una lista con las debilidades más conocidas. Uno de los problemas más populares es el que se plantea si un grupo de usuarios llega a controlar más del 50% de la capacidad de computación de la red P2P de Bitcoin. En condiciones normales, con una proporción pequeña de mineros maliciosos, si alguno de ellos intenta incluir en la cadena un bloque con transacciones inválidas, entonces el resto de los nodos de la red no reconocerán como válido el nuevo bloque creado y no continuarán la cadena utilizando este bloque, con lo que las transacciones incluidas en él no serán confirmadas. Pero, ¿qué pasaría si la mayoría de nodos de la red formara parte de la misma organización y tuvieran suficiente capacidad de computación para incluir en la cadena bloques con transacciones inválidas? Si esto sucediera, estos nodos podrían tener la capacidad de revertir algunas transacciones. Por ejemplo, una vez una transacción ha sido confirmada y el emisor ha recibido un bien o servicio a cambio de cierta cantidad de Bitcoins, los nodos maliciosos podrían volver a computar el bloque sin esa transacción y también recomputar bloques que confirmen el nuevo bloque creado con más rapidez que el resto de la red P2P. Esto crearía dos ramas paralelas de la cadena donde los nodos maliciosos podrían hacer avanzar más rápidamente la cadena que ha revertido la transacción. En cierto momento, la segunda cadena será más larga que la primera y entonces, por la especificación de Bitcoin, todos los nodos aceptarán como buena la cadena más larga, con lo que la transacción quedaría revertida. Aunque parezca difícil poder unir a tantos nodos como para poder manejar una mayoría de poder computacional que pudiera llevar a cabo este tipo de ataque, la realidad es que en 2014 se llegó a una situación donde un pool de mineros de Bitcoin (colectivo de mineros que comparten los beneficios de los bloques que han validado y que han acabado siendo confirmados en la cadena) llamado GHash sobrepasó el 50% de capacidad de computación.

Porcentaje de bloques publicados en la cadena de Bitcoin por cada pool de minería a 11/07/2014. Fuente de datos: Bitcoinchain

Otro tipo de amenazas vinculadas a Bitcoin y a las otras criptomonedas son las nuevas modalidades de los antiguos engaños analógicos. Un ejemplo lo tenemos con un operador de Texas que ofrecía un interesante 7% de interés semanal en un negocio de arbitraje en el mercado de Bitcoin, pero que no era nada más lejos que una nueva versión de la clásica estafa piramidal. Esta estafa le permitió hacerse con 700.000 Bitcoin, unos 4.5 millones de dólares de 2011, año en que se produjo el delito, y más de 700 millones de dólares con la cotización de Bitcoin actual.

Como vemos, el alto valor de Bitcoin hace que éste sea un objetivo goloso para los malefactores, entre ellos los piratas informáticos. Sin embargo, la solidez de blockchain hace que los piratas se centren más en atacar los servicios que dan acceso a las transacciones con Bitcoin, y no tanto en alterar la cadena de bloques. Es conocido, aunque todavía no aclarado completamente, el incidente que ocurrió con Mt.Gox, el principal sitio web de compra/venta de Bitcoins del momento,  donde una intrusión informática en 2011 se llevó aparentemente miles de Bitcoins y hundió la cotización de la moneda en esa plataforma. Aunque se intentó subsanar el ciberrobo, cuando en 2014 cerró esta plataforma, alrededor del 6% de los Bitcoins todavía estaban desaparecidos, cosa que suponía un agujero alrededor de los 300 millones de dòlares.

Más ejemplos de este tipo de vulnerabilidades que afectan al entorno de Bitcoin y que puede suponer un perjuicio enorme para sus usuarios es el malware. Por un lado, se ha detectado malware como Infostealer.Coinbi que busca ficheros .dat en el disco duro de la víctima y los envía por email a una dirección del atacante. Estos ficheros contienen Bitcoin wallets, donde básicamente se guardan las claves públicas y privadas que dan acceso a los usuarios a recibir y gastar las transferencias en la red de Bitcoin.

Por otro lado, existe otro tipo de malware que convierte los ordenadores de las víctimas en una botnet para procesar tareas de minado de Bitcoin. Como hemos comentado en los artículos anteriores, la red de Bitcoin se sostiene gracias a múltiples nodos que tienen el objetivo de validar las transacciones e incluirlas en la cadena de bloques, para lo cual es necesario realizar importantes inversiones en hardware y en electricidad. Por su trabajo, los mineros reciben una recompensa en Bitcoin. Los cibercriminales han visto en este sistema de recompensas una oportunidad perfecta para lanzar botnets que utilicen la capacidad de procesado de otros usuarios como una forma gratuíta de realizar el procesado de minado.

Aunque Bitcoin es la aplicación más conocida y, por lo tanto, los servicios relacionados con esta criptomoneda son los que han sufrido la mayor parte de ataques, otras aplicaciones de blockchain no se libran de los piratas informáticos. Uno de los ataques más conocidos se realizó a la organización DAO. Esta organización gestionaba una plataforma para inversiones de capital riesgo descentralizada que corría usando el mecanismo de smart contracts proporcionado por Ethereum. En 2016, DAO recibió un ciberataque en el que perdió 50 millones de dólares de los 150 millones de capital riesgo que disponía la organización. Para subsanar el ataque y restablecer el dinero robado, Ethereum decidió hacer lo que se conoce como hard fork. Un hard fork es un cambio importante en el protocolo de blockchain que crea una rama paralela de la cadena de bloques mantenida por los nodos de la red que usan el nuevo protocolo. En esta nueva cadena se han revertido las transacciones involucradas en el ataque pudiendo restablecer el dinero robado. Sin embargo, esto ha generado discrepancia entre los seguidores de Ethereum, ya que muchos ven el principio de no poder revertir transferencias como inviolable. Por lo tanto, no todos los nodos de la red P2P han adoptado el nuevo protocolo, con lo que se ha creado otra plataforma, Ethereum Classic, continuando con el protocolo previo al hard fork.

Con estos ejemplos, vemos que los ataques informáticos a Bitcoin y a otros esquemas basados en blockchain se están realizando a los servicios que se han montado por encima de la cadena de bloques, y por el momento, parece que no se han encontrado puntos débiles en la arquitectura de blockchain directamente. Esto resulta en una tecnología sólida que gracias a las técnicas criptográficas permite crear una especie de base de datos distribuida solo de inserción y lectura, transparente y auditable. Como hemos visto, las aplicaciones que tiene esta tecnología son muy amplias y parece que gran parte de su potencial está todavía por desatarse. Sin embargo, blockchain en estos momentos no es una tecnología apta para algunas aplicaciones. Por ejemplo, blockchain no es apto para aplicaciones que requieran transacciones a niveles de milisegundos. Tampoco es una tecnología apta para el intercambio de mensajes y, en general, no es apta para el registro de transacciones de poco valor y alto volumen.

Por todos estos motivos, es necesario seguir pensando en nuevas aplicaciones de blockchain y seguir investigando para hacer más seguro el sistema, no tan solo el de blockchain, sino también el de los servicios implementados por encima. Problemas como los mencionados en este artículo que afectaran a plataformas, por ejemplo, de voto electrónico en vez de a los monederos de Bitcoin de algunos usuarios particulares, podrían suponer un desprestigio enorme y dejar tocada de muerte una tecnología con un futuro muy prometedor.
 
Víctor Garcia-Font es investigador de la cátedra UOC-IBM en ciberseguridad.
 

Descentralitzant el món amb blockchain (III)

En aquesta sèrie d’articles, primer hem vist el funcionament tècnic d’una forma simplificada d’una cadena de blocs com la de Bitcoin. Després hem mostrat algunes de les aplicacions més destacades basades en blockchain. Per acabar, en aquest article repassarem possibles problemes de seguretat i inconvenients que pot tenir l’ús d’aquesta tecnologia. Com veurem, la majoria dels assumptes que tractarem té més a veure amb els serveis implementats per sobre de blockchain que no pas amb la seguretat informàtica pròpiament de la cadena de blocs.

Per començar, un primer dubte moral que se’ns planteja amb la implantació d’aquestes tecnologies està relacionada amb els mals usos que es puguin fer amb elles, en no existir organismes centralitzats que regulin i controlin. Per exemple, és polèmic l’ús generalitzat de Bitcoin per pagar activitats delictives. El fet d’usar claus criptogràfiques com a identitat per als usuaris que fan i reben els pagaments en Bitcoin, afegeix una pseudo anonimat als pagaments i fa que aquesta criptomoneda sigui la forma més habitual de pagament per a la compra de drogues i armes en autèntics supermercats virtuals d’aquest tipus de productes, com l’arxiconeguda difunta web Silk Road. No obstant això, aquesta aparent anonimat pot arribar a suposar un parany que reveli l’històric de transaccions financeres d’un usuari. De fet, la policia danesa ja ha utilitzat estratègies per analitzar l’històric de transaccions que està publicat de forma oberta al blockchain de Bitcoin per detenir a traficants de droga. Tot i que la detenció de criminals pugui semblar una cosa positiva per a una gran part de la societat, aquesta pèrdua de privacitat no afecta només als usuaris de Bitcoin que trafiquen amb drogues, sinó que els afecta a tots. I com en general, no ens agrada que els altres sàpiguen quants diners tenim, ni que fem amb ells, han aparegut nous serveis per intentar confondre el rastre històric de transaccions i augmentar el nivell de privacitat. Per exemple, han aparegut solucions com els Bitcoin mixers o monedes alternatives com Monero.

A nivell de seguretat de la tecnologia blockchain de Bitcoin, BitcoinWiki ofereix una llista amb les debilitats més conegudes. Un dels problemes més populars és el que es planteja si un grup d’usuaris arriba a controlar més del 50% de la capacitat de computació de la xarxa P2P de Bitcoin. En condicions normals, amb una proporció petita de miners maliciosos, si algun d’ells intenta incloure en la cadena un bloc amb transaccions invàlides, llavors la resta dels nodes de la xarxa no reconeixeran com a vàlid el nou bloc creat i no continuaran la cadena utilitzant aquest bloc, de manera que les transaccions incloses en ell no seran confirmades. Però, què passaria si la majoria de nodes de la xarxa formés part de la mateixa organització i tinguessin prou capacitat de computació per a incloure en la cadena blocs amb transaccions invàlides? Si això succeís, aquests nodes podrien tenir la capacitat de revertir algunes transaccions. Per exemple, una vegada una transacció ha estat confirmada i l’emissor ha rebut un bé o servei a canvi de certa quantitat de Bitcoins, els nodes maliciosos podrien tornar a computar el bloc sense aquesta transacció i també recomputar blocs que confirmin el nou bloc creat amb més rapidesa que la resta de la xarxa P2P. Això crearia dues branques paral·leles de la cadena on els nodes maliciosos podrien fer avançar més ràpidament la cadena que ha revertit la transacció. En cert moment, la segona cadena serà més llarga que la primera i llavors, per l’especificació de Bitcoin, tots els nodes acceptaran com a bona la cadena més llarga, de manera que la transacció quedaria revertida. Encara que sembli difícil poder unir tants nodes com per poder tenir la majoria de poder computacional i poder dur a terme aquest tipus d’atac, la realitat és que al 2014 es va arribar a una situació on un pool de miners de Bitcoin (col·lectiu de miners que comparteixen els beneficis dels blocs que han validat i que han acabat sent confirmats en la cadena) anomenat GHash va sobrepassar el 50% de capacitat de computació.

Percentatge de blocs publicats en la cadena de Bitcoin per cada pool de mineria a 11/07/2014. Font de dades: Bitcoinchain

Un altre tipus d’amenaces vinculades a Bitcoin i a les altres criptomonedes són les noves modalitats dels antics enganys analògics. Un exemple el tenim amb un operador de Texas que oferia un interessant 7% d’interès setmanal en un negoci d’arbitratge en el mercat de Bitcoin, però que no era res més lluny que una nova versió de la clàssica estafa piramidal. Aquesta estafa li va permetre fer-se amb 700.000 Bitcoin, uns 4.5 milions de dòlars de 2011, any en què es va produir el delicte, i més de 700 milions de dòlars amb la cotització actual del Bitcoin.

Com veiem, l’alt valor del Bitcoin fa que aquest sigui un objectiu llaminer dels malefactors, entre ells els pirates informàtics. No obstant això, la solidesa de blockchain fa que els pirates es centrin més en atacar els serveis que donen accés a les transaccions amb Bitcoin, i no tant a alterar la cadena de blocs. És conegut, tot i que encara no aclarit completament, l’incident que va ocórrer amb Mt.Gox, el principal lloc web de compra/venda de Bitcoins del moment, on una intrusió informàtica al 2011 es va emportar aparentment milers de Bitcoins i va enfonsar la cotització de la moneda en aquesta plataforma. Tot i que es va intentar esmenar el ciberrobatori, quan al 2014 va tancar aquesta plataforma, al voltant del 6% dels Bitcoins encara estaven desapareguts, cosa que suposava un forat al voltant dels 300 milions de dòlars.

Més exemples d’aquest tipus de vulnerabilitats que afecten l’entorn de Bitcoin i que pot suposar un perjudici enorme per als seus usuaris és el malware. D’una banda, s’ha detectat malware com Infostealer.Coinbi que cerca fitxers .dat al disc dur de la víctima i els envia per email a una adreça de l’atacant. Aquests fitxers contenen Bitcoin wallets, on bàsicament es guarden les claus públiques i privades que donen accés als usuaris a rebre i gastar les transferències a la xarxa de Bitcoin.

D’altra banda, hi ha un altre tipus de malware que converteix els ordinadors de les víctimes en una botnet per processar tasques de minat de Bitcoin. Com hem comentat en els articles anteriors, la xarxa de Bitcoin es sosté gràcies a múltiples nodes que tenen l’objectiu de validar les transaccions i incloure-les en la cadena de blocs, per a això cal fer importants inversions en maquinari i en electricitat. Pel seu treball, els miners reben una recompensa en Bitcoins. Els cibercriminals han vist en aquest sistema de recompenses una oportunitat perfecta per llançar botnets que utilitzin la capacitat de processament d’altres usuaris com una forma gratuïta de realitzar el processament de minat.

Tot i que Bitcoin és l’aplicació més coneguda i, per tant, els serveis relacionats amb aquesta criptomoneda són els que han patit la major part d’atacs, altres aplicacions de blockchain no es lliuren dels pirates informàtics. Un dels atacs més coneguts es va realitzar a l’organització DAO. Aquesta organització gestionava una plataforma per a inversions de capital risc descentralitzada que corria usant el mecanisme de smart contracts proporcionat per Ethereum. Al 2016, DAO va rebre un ciberatac en el què va perdre 50 milions de dòlars dels 150 milions de capital risc que disposava l’organització. Per esmenar l’atac i restablir els diners robats, Ethereum va decidir fer el que es coneix com hard fork. Un hard fork és un canvi important en el protocol de blockchain que crea una branca paral·lela de la cadena de blocs mantinguda pels nodes de la xarxa que fan servir el nou protocol. En aquesta nova cadena s’han revertit les transaccions involucrades en l’atac podent restablir els diners robats. Aquest fet ha estat polèmic entre els seguidors de Ethereum, ja que molts veuen el principi de no poder revertir transaccions com inviolable. Per tant, no tots els nodes de la xarxa P2P han adoptat el nou protocol, amb la qual cosa s’ha creat una altra plataforma, Ethereum Classic, continuant amb el protocol previ al hard fork.

Amb aquests exemples, veiem que els atacs informàtics contra Bitcoin i contra altres esquemes basats en blockchain s’estan realitzant als serveis que s’han muntat per sobre de la cadena de blocs, i de moment, sembla que no s’han trobat punts febles en l’arquitectura de blockchain directament. Això resulta en una tecnologia sòlida que gràcies a les tècniques criptogràfiques permet crear una espècie de base de dades distribuïda de només inserció i lectura, transparent i auditable. Com hem vist, les aplicacions que té aquesta tecnologia són molt àmplies i sembla que gran part del seu potencial està encara per descobrir-se. No obstant això, blockchain a hores d’ara no és una tecnologia apta per a qualsevol aplicació. Per exemple, blockchain no és apte per a aplicacions que requereixin transaccions a nivells de mil·lisegons. Tampoc és una tecnologia apta per a l’intercanvi de missatges i, en general, no és apta per al registre de transaccions de poc valor i alt volum.

Per tots aquests motius, cal seguir pensant en noves aplicacions de blockchain i seguir investigant per fer més segur el sistema, no tan sols el de blockchain, sinó també el dels serveis implementats per sobre. Problemes com els esmentats en aquest article que afectessin plataformes, per exemple, de vot electrònic en lloc dels moneders de Bitcoin d’alguns usuaris particulars, podrien suposar un desprestigi enorme i deixar tocada de mort una tecnologia amb un futur molt prometedor.
 
Víctor Garcia-Font és investigador de la càtedra UOC-IBM en ciberseguretat.

(Visited 100 times, 1 visits today)
Autor / Autora
Victor Garcia-Font
Profesor de los Estudios de Informática, Multimedia y Telecomunicación e investigador del grupo KISON del IN3 de la UOC.
Comentarios
Deja un comentario