Si audité mis smart contracts…, ¿por qué me han hackeado?. Esta es la pregunta que muchas empresas se plantean después de que sus aplicaciones descentralizadas hayan sido vulneradas.
La auditoría de los componentes dentro de la blockchain (on-chain) de una aplicación descentralizada es solo una parte del proyecto, ¿qué pasa con los componentes fuera de la blockchain (off-chain) como la web o la aplicación móvil?. Una vez más parece que los cibercriminales van un paso por delante…
La supuesta descentralización
Las aplicaciones basadas en blockchain se suponen descentralizadas; sin embargo, ¿qué ocurre si la web se almacena en un proveedor centralizado de servicios en la nube, como AWS, Google Cloud o Azure?, o ¿si utilizamos GitHub conectado a la nube para aligerar el proceso de actualización?. En lugar de estar más seguros, lo que realmente conseguimos es que la superficie de ataque sea mucho mayor al ofrecer muchos más vectores al atacante.
Mirando blockchain desde el prisma de la ciberseguridad, llevar a cabo un ataque de denegación de servicio (DoS, por sus siglas en inglés) se antoja complicado. Una DoS, por ejemplo contra una web, es un ataque que consiste en enviar un número de peticiones superior al que el servidor puede soportar, por lo que la web quedaría inaccesible. Sin embargo, blockchain se caracteriza por ser resiliente y que, a pesar de que un nodo no sea accesible los otros nodos pueden llevar a cabo la tarea.
Esto, que es un principio esencial en blockchain, ¿por qué lo cumplimos en lo que no se ve (los contratos inteligentes) y no en lo que se ve (web)?.
Cultura de ciberseguridad
Se denota en el mundo de las finanzas descentralizadas una falta de cultura de ciberseguridad que puede provocar problemas devastadores.
Cada ataque que vemos en las noticias o en las redes sociales, vemos como los atacantes roban millones de dólares realizando acciones desde muy poco complejas hasta verdaderamente sofisticadas. Sin embargo, se aprecia que últimamente los atacantes se han dado cuenta de que viejos ataques que funcionaban contra los sistemas de información antes de blockchain y que la industria de ciberseguridad puso remedio vuelven a funcionar contra la parte off-chain de las aplicaciones descentralizadas.
Se está viendo últimamente que es posible desde bypasear la cuenta de administrador en una plataforma de tokens no fungibles (NFT, por sus siglas en inglés) utilizando técnicas muy simples de captura de datos web y manipulación de algunos datos, hasta ataques muy sofisticados como a través del repositorio de GitHub donde tiene almacenados los contratos inteligentes y es público, llegar hasta el servidor de AWS donde están almacenadas las claves privadas para controlar el token desplegado en la blockchain.
Desde mi punto de vista, esto es realmente peligroso y es una consecuencia clara de esa falta de cultura de ciberseguridad.
No está todo perdido… en parte
Como consecuencia de lo expuesto anteriormente estamos asistiendo a un giro por parte de dos tipos de empresas que hasta el momento no encontraban ningún punto en común.
Por una parte, las empresas de auditorías de contratos inteligentes que se dedicaban exclusivamente a auditar el código que estaba por detrás de la aplicación están incorporando en sus filas, cada vez más, a expertos en ciberseguridad para poder ofrecer un servicio más completo a sus clientes que incluya también la parte off-chain.
Por otro lado, las empresas de ciberseguridad tradicionales se han percatado que existe un mercado inexplorado en las finanzas descentralizadas (DeFi, siglas en inglés) donde pueden aplicar su conocimiento y ofrecer al cliente una confianza respaldada por su experiencia en el mundo de la ciberseguridad tradicional. Por supuesto la combinación de ambas está convirtiéndose en tendencia dentro del mundo blockchain.
Sin embargo, el tema de la centralización es algo que da para otro artículo, ya que quizás es el mayor desafío del mundo blockchain en los años venideros. El depender de un solo punto de fallo hace que el sistema se centralice aún más y es algo que va completamente en contra de la “esencia de blockchain”: El conocido como “trilema” de Blockchain “seguridad, escalabilidad y descentralización”.
Ciberseguridad en Blockchain a todos los niveles
La parte de las auditorias ha ocupado (y ocupa) el mayor ámbito de ciberseguridad para blockchain. Sin embargo, cada vez más existe una preocupación por aplicar metodologías de la ciberseguridad tradicional en blockchain.
En el mundo de ciberseguridad si hablamos de SIEM (System Information and Event Management) o de SOC (Security Operations Center) es algo habitual a la hora de hablar de la defensa de las redes. Grosso modo, el equipo qué defiende las redes (SOC) utiliza una herramienta (SIEM) para monitorizar las redes y alertar de cualquier anómalia. ¿Se podría aplicar dicho método en blockchain?. Aplicaciones como Tenderly o Forta (código abierto) apuestan por ello. Un tipo de monitorización on-chain que es capaz de alertar de eventos que ocurren en la cadena de bloques con más o menos antelación.
Si aplicásemos la monitorización correctamente en blockchain y se complementara con una monitorización de los componentes off-chain (algo que se lleva haciendo en la ciberseguridad tradicional durante muchos años) podríamos conseguir una monitorización completa de una aplicación descentralizada que ayudaría en buena medida a protegerse de los ataques venideros. Como objetivo a medio-largo plazo no está nada mal… pero solo el hecho de plantear está aproximación podría ser el principio de algo, ¿no creéis?
Descargo de responsabilidad
Descargo de responsabilidad: De conformidad con las pautas de Trust Project, este artículo de opinión presenta la perspectiva del autor y puede no reflejar necesariamente los puntos de vista de BeInCrypto. BeInCrypto sigue comprometido con la transparencia de los informes y la defensa de los más altos estándares periodísticos. Se recomienda a los lectores que verifiquen la información de forma independiente y consulten con un profesional antes de tomar decisiones basadas en este contenido.