¿Sabías que el protocolo criptográfico de Bitcoin ya ha sido vulnerado?

Bitcoin es una innovadora red de pagos que usa tecnología peer-to-peer para operar de manera descentralizada, en otras palabras, actúa sin una autoridad central o bancos. La gestión de las transacciones y la emisión de BTC (moneda digital del protocolo) es llevada a cabo de forma colectiva por la red. Por otra parte, este protocolo también es conocido por contar con mecanismos de seguridad robustos, empezando con un cifrado de dos llaves, es decir, se utiliza una llave para cifrar un mensaje (llave pública) y una llave para descifrarlo (llave privada), lo cual garantiza que las operaciones de Bitcoins sean íntegras y confidenciales entre las dos partes. Otra característica importante es el seguimiento de las transacciones verificadas. Esto se realiza por medio de lo que se conoce como “cadena de bloques” o “Block chain”, el cual consiste en una contabilidad pública compartida en la que se basa toda la red de Bitcoin. De esta manera los monederos Bitcoin pueden calcular su saldo gastable y las nuevas operaciones pueden ser verificadas, asegurando que el cobro se está haciendo a quien realiza el pago.

De acuerdo con lo anterior, la privacidad y la integridad son factores importantes de Bitcoin, por lo que continuamente se escucha decir frases como: “Bitcoin cuenta con una seguridad inquebrantable”, “Bitcoin garantiza la seguridad de sus usuarios al 100%”, “Bitcoin es inhackeable”, etc. Sin embargo, este protocolo ha contado con diferentes vulnerabilidades, siendo una de las de mayor impacto la ocurrida el día 15 de agosto de 2010, cuando se identificó el bloque 74638 con una transacción de 184 mil millones de BTC.

El desarrollador Jeff Garzik fue quién identificó una operación inusual por la cantidad exacta de 184,467,440,737.09551616 de BTC. Más allá de ser una cantidad absurda en una sola transacción, otro aspecto sospechoso es que sobrepasaba el límite de 21 millones establecido por las reglas del software. Una hora después del descubrimiento, otro usuario inició un foro titulado “Overflow bug serious”, en el cual resaltaba la importancia de contar con una solución inmediata para el claro problema de seguridad que estaba presente en el protocolo.

La vulnerabilidad que permitió dicha transacción se conoce como Integer Overflow y ocurre cuando una operación aritmética intenta crear valores numéricos que están fuera del rango dentro de un determinado número de dígitos, ya sea superior al máximo permitido o menor al mínimo permitido. En el caso de Bitcoin, hay dos puntos importantes a considerar: el límite es de 21 millones BTC y no se permiten valores negativos, por lo que el valor mínimo permitido es cero. La falta de validación de las transacciones con respecto a los límites establecidos por el software provoca que la memoria se desborde, lo que deriva en cantidades no esperadas. Para mayor detalle de la vulnerabilidad, se recomienda consultar el artículo “The Curious Case of 184 Billion Bitcoin” que se encuentra listado en las referencias.

Aunque la vulnerabilidad fue mitigada por Jeff Garzik y otros desarrolladores pocas horas después de identificarla, este acontecimiento representó un hecho histórico importante en el protocolo Bitcoin y demostró que el software no está exento de ciberataques.

Es importante recordar que no existen los sistemas 100% seguros. La seguridad es un trabajo continuo que requiere de análisis, identificación e implementación de mejores prácticas, métodos y herramientas que nos ayuden a reducir el riesgo en nuestra organización, siempre focalizando el acoplamiento a los objetivos del negocio.

Referencias:
https://bitcoin.org/es/
https://news.bitcoin.com/bitcoin-history-part-10-the-184-billion-btc-bug/
https://bitfalls.com/2018/01/14/curious-case-184-billion-bitcoin/
https://en.wikipedia.org/wiki/Integer_overflow
Los cambios en código para mitigar la vulnerabilidad:
https://github.com/bitcoin/bitcoin/commit/d4c6b90ca3f9b47adb1b2724a0c3514f80635c84#diff-118fcbaaba162ba17933c7893247df3aR1013
Antony Lewis, (2018), The Basics of Bitcoins and Blockchains: An Introduction to Cryptocurrencies and Technology that Powers Them, Primera edición.