Hechos clave:
-
Una blockchain empresarial podría sufrir ataques internos por parte de un ex-empleado.
-
Los contratos inteligentes de las blockchains privadas, además, también son vulnerables.
¿Cómo se puede hackear una empresa blockchain? Esto lo podemos averiguarlo muy pronto. Los productos de las blockchains empresariales han sido diseñados, en su mayoría, como red privadas; limitadas a partes autorizadas. Esto se supone que las hace más eficientes que las cadenas públicas, como Bitcoin y Ethereum, ya que menos computadoras tienen que llegar al acuerdo sobre quién es dueño de qué, y de cierto modo son más seguras, ya que los participantes se conocen entre ellos.
Dichos productos aplican esta tecnología, originalmente desarrollada para el nuevo mundo de las criptomonedas, a una serie de actividades empresariales poco glamorosas, tales como las transacciones transfronterizas, el almacenamiento de registros y el rastreo de bienes e información. Su promesa ha atraído a algunas de las principales corporaciones y vendedores de software del mundo.
Pero como cualquier software, en teoría, pueden ser hackeados, aunque la forma de evitarlo no está tan bien documentada. Paul Brody, líder mundial de blockchain en el gigante de consultoría EY, comentó: «No recuerdo ni una sola compañía importante que anunciara una pérdida de cualquier tipo por un ataque en una blockchain privada».
Eso podría cambiar en el futuro próximo, cuando las compañías empiecen a sacar estos sistemas seguros del laboratorio y empiecen a utilizarlos en el mundo real. Pavel Pokrovsky, el líder de tecnologías blockchain en Kaspersky —proveedor de software antivirus, ubicado en Moscú—, explicó:
Las grandes compañías han estado trabajando en aplicaciones blockchain desde hace un tiempo. Pronto, comenzarán a empujar dichas aplicaciones a la producción y podrían enfrentar nuevos desafíos en su manejo de riesgos. A medida que se lancen más soluciones de este tipo, los ataques hacia ellas podrían suceder más frecuentemente.
Pavel Pokrovsky, líder en tecnología blockchain de Kaspersky.
Trabajos internos
Un problema es que los sistemas privados con permiso son los más vulnerables a amenazas internas, dijeron Pokrovsky y Brody. Brody, de EY, que ha sido una voz poco común entre las cuatro grandes empresas de servicios profesionales, puesto que ha luchado por la permanencia de los sistemas abiertos, señaló:
Los riesgos internos son particularmente altos en las blockchains privadas, ya que el trabajo que se suele hacer para asegurar la información dentro de la red privada es muy bajo en comparación con las redes públicas. En las redes públicas, hacemos un uso extensivo de pruebas de conocimiento cero y otras herramientas para mantener la información sensible fuera de la cadena.
Paul Brody, líder mundial de blockchain en EY.
Solo uno o dos de los clientes corporativos de EY llegaron a tales extremos con redes privadas, comentó. «Como resultado, si puedes obtener acceso a la red o si ya la tienes como alguien interno, casi toda la información crítica es realmente visible para todos los miembros», destaca.
En general, dijo Pokrovsky, el tipo de ataque más común que puede emplearse teóricamente contra la red de una blockchain empresarial es un ataque de denegación de servicio. Esto es distinto a un DDoS, o denegación de servicio distribuido, donde los servidores de una compañía son inundados de solicitudes inútiles que los agobian.
La denegación de servicio, por otro lado, es un ataque enfocado que utiliza los conocimientos, tal vez de un exempleado, en lugar de la fuerza muscular electrónica. Pokrovsky añadió: «Digamos que un empleado de una compañía fue despedido y está enojado con su ex jefe. Él va a la dark web, y vende sus conocimientos de las vulnerabilidades del sistema a los hackers».
En el caso de las blockchains empresariales, un atacante necesitaría saber las direcciones de los nodos y lo que puede ponerlos fuera de línea. Pokrovsky comentó:
Un atacante puede sobrepasar la capacidad de almacenamiento de datos del nodo, inundandolo de cálculos inútiles. Por ejemplo, uno de los nodos de nuestros clientes no podía procesar números muy grandes, dígase, 12 ceros y más. Simplemente se congelaría.
Pavel Pokrovsky, líder en tecnología blockchain de Kaspersky.
La cura para este tipo de ataque es el filtrado apropiado de los datos que entran en los nodos: «Es un gran error, no filtrar los datos entrantes», concluyó.
Truco barato
Explotar tal vulnerabilidad es fácil cuando se sabe dónde están ubicados los nodos. Y, a diferencia de DDoS, no requiere comprar tráfico en forma de bots que inundan el objetivo con tráfico basura, o desplegar mucho hardware para atacar el servidor. «Solo escribes un simple guion y lo envías a los nodos. Entonces los nodos se desconectan. Esto puede ser utilizado con fines criminales, desde sabotear a un competidor hasta ataques terroristas», dijo Pokrovsky.
La situación puede ser exacerbada por el hecho de que la forma más conveniente de establecer nodos para una blockchain privada, es usar la infraestructura de la nube para que las empresas no tengan que averiguar cómo establecer un nodo físico en su oficina. Brody explicó:
La mayoría de las blockchains privadas tienen muy pocos nodos y, en muchos casos, todos residen dentro de una sola infraestructura de nube, creando un solo punto de fallo. Eso también significa que lejos de ser almacenes inmutables de información, son de hecho fácil de borrar o cerrar.
Paul Brody, líder mundial de blockchain en EY.
Los riesgos pueden variar. Por ejemplo, Masterchain, la blockchain empresarial para bancos desarrollada bajo los auspicios del banco central de Rusia, es una bifurcación —o una copia modificada— de la blockchain Ethereum, que usa un mecanismo de consenso de prueba de trabajo. Eliminar nodos en dicha red llevaría a la redistribución del consenso entre los nodos restantes, que seguirán validando las transacciones.
Sin embargo, si resulta que todos los nodos restantes son controlados por el banco central, los participantes de la red podrían decir que las transacciones registradas cuando los demás nodos estaban bloqueados no son legítimas, según Pokrovsky.
«DDoS es un ataque fácil y barato de organizar, pero también es fácil de prevenir, y los servicios como Cloudflare pueden identificarlos y efectivamente prevenirlos. Pero la denegación de servicio no es identificable por los filtros que usan dichos servicios», dijo Pokrovsky, añadiendo que a veces los atacantes ni siquiera necesitan a una persona interna para localizar los nodos, es posible encontrar esa información a través de métodos de inteligencia de código abierto.
Es muy difícil arreglar tales vulnerabilidades cuando el ataque está sucediendo, cuando todo está destruido, todo el mundo está corriendo y todo está en llamas. Es mejor tratar de predecir estas situaciones en un entorno de pruebas.
Pavel Pokrovsky, líder en tecnología blockchain de Kaspersky.
Contratos no tan inteligentes
Si una blockchain usa contratos inteligentes, pueden ser atacados también, apuntó Pokrovsky.
Para las blockchain empresariales, el ataque típico es cuando un contrato contiene variables que pueden resultar distintas para cada nodo. Por ejemplo, marcas de tiempo o números aleatorios. En este caso, todos los nodos ejecutarán el contrato inteligente con distintos resultados y la transacción no será registrada en la blockchain como resultado.
Pavel Pokrovsky, líder en tecnología blockchain de Kaspersky.
Si un contrato inteligente se refiere a documentos, hay otra forma posible de atacar: insertando códigos maliciosos en el documento. Pokrovsky explicó: «Es lo mismo que el ataque de inyección SQL y para evitarlo se debe filtrar los datos entrantes y limitar el uso de datos externos por el contrato inteligente». Brody, por otro lado, dijo:
El hecho de que la mayoría de las blockchains privadas no disfruten de la atención de una amplia comunidad de blockchain es también una debilidad.
Quizás el mayor riesgo que plantean las blockchains privadas es el riesgo de la complacencia. El código fuente abierto que no es usado ampliamente y no tiene una comunidad vigilante que lo pruebe e inspecciones es mucho menos seguro y fiable que sistemas como Bitcoin y Ethereum, que se refuerzan continuamente por los casi constantes ataques e inspecciones públicas.
Paul Brody, líder mundial de blockchain en EY.
El ángulo de Kaspersky
Con el posible objetivo de la ampliación de su flujo de ingresos, Kaspersky pasó a la investigación y consultoría orientada a blockchain en el año 2018; primero enfocándose en las blockchain públicas, incluyendo Bitcoin y Ethereum. Kaspersky ha estado trabajando con casas de cambio de criptomonedas, y completó una auditoría de seguridad para la compañía de software comercial Merkeleon en octubre de 2018.
En octubre de 2019, Kaspersky empezó a trabajar con blockchain empresariales también. Pokrovsky dijo que la compañía auditó varios de estos sistemas, aunque solo pudo nombrar a dos. La empresa rusa de blockchain Insolar y Waves, que se ha centrado de blockchains públicas a privadas desde el año pasado.
El software de Kaspersky ha sido listado entre los 10 principales productos antivirus a nivel mundial, por PC Magazine en marzo. Sin embargo, ha sido prohibida su instalación en las computadoras del gobierno de Estados Unidos desde 2017, como parte de la respuesta de Estados Unidos a la intromisión rusa en las elecciones presidenciales de 2016. Esta prohibición causó que las ventas se desplomaron en Estados Unidos y Europa, pero se han expandido en Rusia y África. Kaspersky informó de un crecimiento del 4% en ingresos en 2018.
La auditoría de Kaspersky a la empresa Waves Enterprise duró tres meses, desde noviembre de 2019 hasta finales de enero de 2020. “La tarea era revisar la seguridad de los nodos, la infraestructura de la red y las interfaces web de los nodos”, comentó Pokrovsky.
La empresa de seguridad ejecutó lo que llaman pruebas de “Grey Box”. En las que el evaluador no tiene acceso al código completo de la plataforma de blockchain, pero si tiene acceso al sistema a nivel de administrador. Este tipo de pruebas mostraría las posibles amenazas internas, como un exempleado, por ejemplo.
Una vez que terminan las pruebas, Kaspersky presente al cliente una lista de vulnerabilidad y el cliente se ocupa de ellas; entonces las pruebas se ejecutan de nuevo. Pokrovsky no reveló qué debilidades tenían que ser “arregladas” en la blockchain de Waves Enterprise. Waves confirmó que contrató a Kaspersky.
Versión traducida del artículo de Noelle Acheson, publicado en CoinDesk.