Un hipotético ataque a la base de código de Bitcoin

Sólo seis hombres pueden aprobar cambios en el código de Bitcoin. Esto es lo que podría pasar si alguno o todos se vieran comprometidos.

En resumen

  • La única parte de Bitcoin Storm que puede describirse como centralizada es su base de código.
  • Sólo un puñado de mantenedores pueden hacer cambios en el código de Bitcoin.
  • Pero qué pasaría si se comprometieran?

Lo que mantiene la red Bitcoin funcionando es un conjunto de reglas. Seiscientas cuarenta y seis mil líneas de código -que deciden cómo se procesan las transacciones y establecen el límite monetario de Bitcoin- se almacenan en un único repositorio público en la plataforma de alojamiento de archivos GitHub.

Sólo unos pocos tienen acceso.

Aunque la red de Bitcoin es descentralizada, este es posiblemente el elemento más centralizado – y potencialmente su mayor debilidad. ¿Qué pasaría si alguien lograra infiltrarse en este código, e insertar un error en la propia red de Bitcoin? ¿Podría un gobierno hacer un esfuerzo concertado para cerrar todo el sistema?

Decidimos realizar este experimento de pensamiento, para llevarlo a sus límites y analizar si hay una potencial debilidad aquí. Hablamos con expertos y desarrolladores de Bitcoin para entender cómo funciona el sistema, y si se podría llevar a cabo un ataque.

Lo que encontramos es que hay muchas áreas de posible ataque pero que el sistema es bastante robusto para manejarlas. Así es como un ataque podría llevarse a cabo.

Quiénes son los mantenedores de Bitcoin?

Primero, necesitamos entender cómo funciona el sistema.

Los mantenedores de Bitcoin Core son las únicas personas que pueden hacer cambios materiales en el código de Bitcoin en el repositorio GitHub. Aunque su sitio web oficial no especifica exactamente quién tiene esta responsabilidad, según los sabios de bitcointalk.org, sólo seis personas tienen acceso a los commits. Estas son: Wladimir van der Laan, Jonas Schnelli, Marco Falke, Samuel Dobson, Michael Ford y Pieter Wuille.

Bitcoin es un proyecto de código abierto, así que los mantenedores no son nombrados formalmente. En su lugar, el privilegio se amplía de forma ad hoc por los mantenedores existentes cuando alguien demuestra las calificaciones adecuadas para conseguir un asiento en la mesa.

Gavin Anderson, fundador de la Fundación Bitcoin, supuestamente eligió a Van der Laan como responsable principal de mantenimiento de Bitcoin, la persona responsable de cargar los cambios en Bitcoin Core.

Para actualizar la base de código de Bitcoin, el equipo de mantenedores de Bitcoin revisará el código propuesto por uno de los miles de desarrolladores de Bitcoin y, si es lo suficientemente bueno, ese código será aprobado.

Aquí es donde entran las claves PGP.

Todos los mantenedores de Bitcoin tienen acceso a una clave PGP, que significa Pretty Good Privacy. Estas claves se usan para firmar, cifrar y descifrar textos, correos electrónicos, archivos y otras formas de comunicación o información.

Dado que la base de código de Bitcoin se almacena públicamente en GitHub, cualquiera puede proponer un cambio en la base de código de Bitcoin. Para evitar que la base de código sea editada ad infinitum por cualquiera, no se realizan cambios a menos que un mantenedor firme en una con su clave PGP.

Jameson Lopp, CTO del proveedor de soluciones de auto-custodia de Bitcoin, Casa, ha dicho que el papel del mantenedor no es un gran riesgo para el hombre clave. „Aunque hay un puñado de cuentas de ‚mantenedor‘ de GitHib a nivel de organización que tienen la capacidad de fusionar el código en la rama maestra, esto es más una función de conserje que una posición de poder“.

Pero también le gusta la frase: „no confíes, verifica“. Así que, hagamos eso.

El acceso no autorizado a Bitcoin Core

Sea cual sea la forma en que lo cortemos, cualquiera que ataque el sistema, incluso alguien que trabaje para GitHub, va a necesitar acceso a una de las claves PGP de los mantenedores.

„Alguien que trabaja para GitHub podría cambiar maliciosamente el código del repositorio de Bitcoin Core. Es por eso que firman los comunicados con una clave PGP. Si el código de GitHub ha sido alterado maliciosamente, entonces las firmas no coincidirán“, dijo el investigador de Bitcoin Andrew Yang a Decrypt.

Pero, ¿qué pasa si un atacante realmente puso sus manos en una clave PGP?

„Si una de esas claves se filtra, un atacante podría potencialmente modificar el código en el repositorio“, dijo a Decrypt Elias Strehle, investigador del Laboratorio de Investigación Blockchain.

Si eso ocurriera, sin embargo, los mantenedores de Bitcoin tienen una respuesta, al menos en teoría.

„Asumo que los mantenedores de Bitcoin crearían rápidamente un nuevo repositorio con nuevas claves PGP, subirían el código no dañado y pedirían a la comunidad que usara el nuevo repositorio en lugar del repositorio ‚Bitcoin Core‘ corrupto“, añadió Strehle.

Así que ese ataque debería fallar, pero un trabajo interno podría ser más dañino.

Y si un encargado de mantenimiento se volviera un pícaro?

Hasta ahora, hemos aprendido quiénes son los mantenedores de Bitcoin, y que atacar Bitcoin Core robando una clave PGP de un mantenedor es poco probable que funcione. Ahora, consideremos lo que pasaría si uno de los mantenedores de Bitcoin se viera comprometido, o incluso se volviera corrupto.

Teóricamente, un malévolo mantenedor podría subir código malicioso, esconderlo a la vista, y rezar para que nadie se dé cuenta.

„Debido a la diversidad de actores que tienen que aceptar los cambios, es bastante difícil colar un cambio malicioso en Bitcoin Core, pero quizás sería posible como parte de una actualización que la mayoría de la gente pensara que era buena“, dijo Harry Halpin, CEO de Nym Technologies -un equipo de programadores que trabajan en la privacidad de Internet- a Decrypt, añadiendo, „Un cambio verdaderamente malvado tendría que colarse en una actualización que a la mayoría de la gente le gusta“.

Sin embargo, es poco probable que esto funcione. Por un lado, es poco probable que el resto de los mantenedores de Bitcoin, o cualquiera de los miles de desarrolladores de Bitcoin, no se den cuenta del código malicioso. Pero incluso si eso ocurriera, hay otra defensa.

„Creo que el script de verificación de firmas lo atrapará la próxima vez que alguien envíe una solicitud de extracción o realice pruebas“, dijo el desarrollador de Bitcoin Thomas Kerin a Decrypt. En otras palabras, si un mantenedor deshonesto tratara de enterrar algún código malo en la base de código sin ser notado, la próxima vez que se produzca una actualización, resultaría en una contradicción en el código.

„La atención de cada desarrollador se centraría inmediatamente en lo que pasó“, añadió Kerin.

Si es improbable que un mantenedor deshonesto tenga éxito en su búsqueda de dañar Bitcoin, quizás los mantenedores no sean tan poderosos -o importantes- como parecen a primera vista. Hasta este punto, Bitcoin parece relativamente seguro, pero nuestro experimento de pensamiento no ha terminado todavía.

Y si todos los mantenedores fueran secuestrados?

Tengan paciencia con nosotros, pero digamos que todos los mantenedores fueron secuestrados, la noticia no se difundió lo suficientemente rápido a la comunidad, y una gran parte de los operadores de nodos de Bitcoin introdujeron el nefasto código de un atacante.

Algunos de los gobiernos más poderosos del mundo tienen un bien documentado desdén por las monedas descentralizadas, así que es posible que uno de esos gobiernos poderosos intente dañar la red de Bitcoin.

Primero, podría haber una toma de posesión abierta de Bitcoin, donde el actor malo deja que el mundo vea sus acciones.

Todos los mantenedores, incluido Van der Laan, serían arrestados, y el actor malo empezaría inmediatamente a intentar forzar una actualización perjudicial para Bitcoin Core. Este enfoque no tendría probabilidades de éxito. „La comunidad bifurca el repositorio, tomando el último buen compromiso, y comienza de nuevo desde allí“, dijo Kerin a Decrypt.

Pero hay un segundo enfoque más retorcido: una toma de posesión encubierta. Aquí, el protagonista podría secuestrar a los mantenedores, robar las claves PGP, y liberar un código fuente secreto de puerta trasera que han construido en Bitcoin Core. Este escenario también tiene sus limitaciones.

„No creo que se pueda hacer esto en tantos países sin que la familia se entere“, dijo Kerin.

De cualquier manera, si algo así sucediera, Bitcoin probablemente se bifurcaría.

„Los nodos manipulados y los nodos sanos probablemente no podrían llegar a un consenso sobre el estado de la cadena de bloques, creando así una bifurcación en la que una rama es maliciosa y la otra es sana“, también dijo Strehle.

En lugar de ser desplegado automáticamente en la vasta red de nodos de Bitcoin, cada operador de nodos puede decidir si acepta o no la nueva actualización. Esto evita forzar el código no deseado a los usuarios que no están de acuerdo con la actualización en sí, y actúa como una gran defensa ante esta hipotética situación.

„El código del repo no es empujado a los nodos. El código del atacante sólo puede activarse si los operadores de los nodos lo sacan activamente del repo“, dijo Strehle (el énfasis es nuestro), añadiendo que en caso de un hack, esto podría suceder a corto plazo, pero se correría la voz rápidamente en la comunidad.

Los mineros de Bitcoin se protegerán

Otra salvaguarda es la forma en que se incentiva a los mineros de Bitcoin para que comprueben si hay código malicioso y se mantengan alejados de él.

Adam Back, CEO y cofundador de la compañía de tecnología de cadenas de bloques Blockstream, dijo a Decrypt que vale la pena enfatizar lo poco probable que es que un operador de nodos quiera actualizarse a un código nefasto. „No creo que esto perjudique a otras personas más que a la propia protección financiera de los operadores de nodos“, dijo Back.

Esto se debe a que cada operador de nodo tiene la opción de sacar las actualizaciones del repositorio de GitHub. Como Back añadió, „Un nodo que reenvíe bloques inválidos será desconectado por otros nodos, y un nodo que envíe bloques viejos será ignorado y anulado por otros nodos que envíen más bloques actualizados“.

En otras palabras, es bastante improbable que el código del atacante vaya a ser aceptado por suficientes operadores de nodos como para tener alguna atracción real. „Estaría muy claro que la cadena de bloques no coincidiría y por lo tanto fallaría y sería rechazada“, dijo Jason Deane, analista de Bitcoin en Quantum Economics, a Decrypt.

Así que si este ataque dirigido por el gobierno te suena poco realista, es porque lo es.

Los mantenedores y las claves secretas hacen que los oponentes de la centralización sean un poco aprensivos, pero en última instancia, Bitcoin está a la vista, y cualquiera puede retomar donde el buen trabajo dejó.

„Si eres un hacker y consigues una clave PGP para el repositorio de Bitcoin Core, tienes casi las mismas opciones que un streaker corriendo en un campo de fútbol“, concluyó Strehle, añadiendo, „Puedes llamar mucho la atención, causar algo de confusión, quizás interrumpir el juego por un tiempo, pero eso es todo“.

Was bedeutet der Kauf von In-Apps?

Was sind In-App-Käufe und wie nutzt man sie?

Apps sind aus der heutigen Welt nicht mehr wegzudenken. Wenn Sie sich nun aber fragen: was sind in-app-käufe und wo finde ich diese, wird dieser Artikel Ihnen alle Ihre Fragen beantworten können. Ein In-App-Kauf ist ein Teil des Inhalts oder der Funktion, der innerhalb der App und nicht über den App Store erworben wird. Dies kann so einfach sein wie der Kauf eines elektronischen Buches zu etwas Komplexem wie das Freischalten zusätzlicher Funktionen in einer App zu etwas Laufendem wie einem Abonnement für HBO Now.

Während In-App-Käufe innerhalb der App getätigt werden, steuert der App Store weiterhin den Kauf, einschließlich der Abrechnung. Und auf dem iPhone und iPad können Sie auch In-App-Käufe deaktivieren, was für Eltern ideal ist.

Keine In-App-Käufe für Familienbibliotheken:

In-App-Käufe können jedoch nicht für Familienbibliotheken freigegeben werden. Dazu gehören sowohl das Apple Family Sharing-Programm als auch die Google Play’s Family Library. Dies ist besonders wichtig, wenn Sie sich zwischen einer kostenlosen App mit einem In-App-Kauf zur Freischaltung von Premium-Features und der Pro-App mit diesen bereits freigeschalteten Funktionen entscheiden möchten. Wenn Sie am Familien-Sharing teilnehmen, ist es oft am besten, die „pro“-App zu kaufen, anstatt die In-App in der kostenlosen App zu kaufen. (Denken Sie daran, Sie können die kostenlose App immer noch herunterladen, um zu sehen, ob sie Ihren Bedürfnissen entspricht!)

In-App-Käufe

Was sind die verschiedenen Arten von In-App-Käufen?

Wir haben in den letzten Jahren eine starke Zunahme von Apps gesehen, die auf In-App-Käufen basieren. Tatsächlich hat die Gaming-Branche große Veränderungen durchlaufen, da In-App-Käufe in fast alle Bereiche der Branche eindringen, und während In-App-Käufe immer Hand in Hand mit kostenlosen Apps und Spielen gegangen sind, sind sie jetzt in allen Apps sehr beliebt, einschließlich derjenigen, die Sie für den Download bezahlen müssen.

Was sind also die verschiedenen Arten von In-App-Käufen?

Freischaltbar. In-App-Käufe die Inhalte oder Funktionen freischalten, gelten als dauerhaft, d.h. wenn Sie sie einmal gekauft haben, müssen Sie sie nicht mehr kaufen. Diese „Freischaltlisten“ können Inhalte wie ein E-Book oder eine Erweiterung zu einem Spiel oder Funktionen wie die Möglichkeit, in einer Textverarbeitung zu drucken, beinhalten.

Verbrauchsmaterial. Dies gilt vor allem für Free-to-Play-Spiele, die (trotz des Namens) nicht immer so kostenlos sind. Das Free-to-Play-Modell etabliert eine „In-Game-Währung“ wie Goldmünzen oder Zaubertränke, mit der man Funktionen freischalten oder die Spielzeit verlängern kann. Die meisten dieser Spiele ermöglichen es Ihnen, diese Währung durch das Spielen des Spiels zu erwerben, aber die Rate, mit der es erworben wird, kann sehr langsam sein. Dies führt dazu, dass die Spieler die In-App-Währung kaufen, so dass sie nicht warten müssen. Dies ist nur eine Art von Verbrauchsmaterial, aber es ist bei weitem die beliebteste.

Abonnements. Wie Sie vielleicht vermuten, gehen Abonnements über Zeitschriften und Premium-Kabelsender hinaus. Apple und Google haben In-App-Abonnements für Entwickler im Allgemeinen eröffnet, so dass wir mehr Apps sehen, die Abonnement-Services anbieten, um die App zu nutzen oder erweiterte Funktionen in der App zu nutzen.

Wo man In-App-Käufe findet und wie man sie kauft:

In-App-Käufe werden vollständig von der App gesteuert, so dass es nicht einen einzigen Ort gibt, an dem Sie sie finden. Einige Apps und Spiele haben einen In-App-Shop, der die verschiedenen verfügbaren Käufe auflistet. Andere Anwendungen fragen Sie, wenn Sie versuchen, eine eingeschränkte Funktion zu verwenden. Eine App, die die Kamera Ihres Smartphones verwendet, kann beispielsweise einen In-App-Kauf für den Druck haben, der angeboten wird, wenn Sie versuchen, ein Dokument zu drucken.

Während der Kauf von der App angeboten wird, ist es wichtig, sich daran zu erinnern, dass der App Store diesen Kauf tatsächlich kontrolliert und In-App-Käufe, die Inhalte freischalten, dauerhaft sind. Wenn Sie die App neu installieren oder das Telefon wechseln müssen, ist der Kauf der In-App weiterhin möglich, da alle von Ihnen erworbenen Apps auf Ihr neues Gerät übertragen werden.

Wie man Apps mit In-App-Käufen auf dem iPhone und iPad erkennt.

Alle Apps im Apple App Store, die In-App-Käufe enthalten, haben einen Haftungsausschluss neben der Schaltfläche Kaufen. Apps, die nicht kostenlos sind, werden durch Antippen des Preisschildes gekauft. Kostenlose Apps werden heruntergeladen, indem Sie auf die Schaltfläche Get klicken. Der Haftungsausschluss für den Kauf in der App befindet sich direkt rechts neben diesen Schaltflächen.

Die Detailseite der App listet auch alle In-App-Käufe auf. Dies ist eine großartige Sache, um sicherzustellen, dass die App alles tut, was Sie brauchen, um nur den Kaufpreis und keine zusätzlichen In-App-Käufe zu tätigen.

  • Scrollen Sie auf der Detailseite der App im App Store nach unten, indem Sie Ihren Finger von unten nach oben bewegen.
  • Finden Sie In-App-Käufe im Abschnitt Informationen der Details.
  • Dieser befindet sich direkt über dem Link zur Website-Adresse des Entwicklers und den Datenschutzrichtlinien.
  • Tippen Sie auf Ja neben In-App-Einkäufe, um die Liste der einzelnen In-App-Einkäufe durchzulesen.
  • Sie können auch In-App-Käufe deaktivieren, indem Sie die Settings-App öffnen und zu General -> Restrictions navigieren und auf den Ein-/Ausschalter neben In-App Purchases tippen.
  • Sie müssen zuerst auf Einschränkungen aktivieren tippen.

Wie man Apps mit In-App-Einkäufen im Google Play Store erkennt

Jede App im Google Play-Shop, die In-App-Käufe anbietet, ist mit einem Haftungsausschluss für In-App-Käufe gekennzeichnet, der oben in der Liste unter dem Namen der App, dem Entwickler und der altersgerechten Bewertung der App steht. Dies ist direkt über und links neben dem Kauf-Button in der Google Play-Liste.

Der Google Play-Shop bietet keine detaillierte Auflistung aller In-App-Käufe, aber Sie können die Preisspanne der In-App-Produkte unter Zusatzinformationen auf der Detailseite sehen.

Sie können In-App-Käufe auf Android-Geräten nicht direkt deaktivieren, aber wenn Sie Ihren Android kindersicher machen möchten, können Sie alle Käufe so einstellen, dass ein Passwort erforderlich ist, indem Sie die Google Play-App öffnen, auf das dreizeilige Menü-Symbol tippen und unter Benutzerkontrollen Passwort wählen.

Veröffentlicht in App