Mit rund 120.000 Bitcoins oder etwa 60 Millionen Euro ist der BitFinex-Hack einer der größten Bitcoin-Hacks der Geschichte. Langsam werden die Puzzlestücke deutlich, die in diesem Hack zusammentreffen.
Der Hergang der Tat
Auch wenn noch längst nicht alles geklärt ist, wird langsam erkennbar, was bei dem Hack geschah. Bitfinex nutzte das Multisig-Wallet-System von BitGo, bei dem alle Auszahlungen auch von BitGo signiert werden. Der Hacker kam jedoch an die privaten Wallet-Schlüssel von Bitfinex sowie deren Schlüssel für die API zu BitGo. Damit konnte er die Auszahlungen an BitGo senden, wo sie dann signiert wurden. Mit den API-Schlüsseln konnte er zudem das tägliche Auszahlungslimit von BitGo erhöhen.
Diese Version wurde noch nicht bestätigt und lässt wichtige Details ungeklärt. Etwa wie der Hacker überhaupt an die Schlüssel kam. War es ein Inside-Job? Oder gab es eine Sicherheitslücke in der Software von Bitfinex?
Die Rolle von BitGo und die Grenzen von Multisig
Neben Bitfinex ist vor allem die Firma BitGo betroffen. Das Unternehmen aus Kalifornien bezeichnet sich selbst als „Leader in Bitcoin Security“. Neben Bitfinex nutzen auch andere Börsen, etwa Bitstamp und Kraken, die Multisig-Wallet von BitGo. Der Hack von Bitfinex stellt ein Scheitern der Software von BitGo dar – möchte man zumindest meinen. Mike Belshe, Gründer von BitGo, sieht das anders. Auf dem Blog der Firma schreibt er „BitGos Systeme wurden nicht gehackt und unsere Software funktioniert korrekt.“
Der CEO der Firma kann wegen der laufenden Ermittlungen nur begrenzt Informationen liefern. Ihm ist bewusst, dass diese Erklärung für viele unzureichend ist, da „nun jeder wissen will, was man machen muss, um zu verhindern, dass das wieder passiert.“ Glücklicherweise sei die Konfiguration von Bitfinex einzigartig gewesen, weshalb andere BitGo-Kunden nichts ändern müssten. Die Firma bietet anderen Kunden jedoch an, die Wallet-Konfiguration zu prüfen.
Für diejenigen, die auf Bitfinex Geld verloren haben, mag es ärgerlich sein, wenn die Firma, die eigentlich dafür verantwortlich war, sichere Wallets zu liefern, die Mitverantwortung an dem Verlust von 120.000 Bitcoins von sich weist. Tatsächlich dürfte Belshe aber nicht unrecht haben – die Software von BitGo hat gemacht, was sie machen sollte. Dies stellt dem Produkt von BitGo jedoch nur ein noch schlechteres Zeugnis aus. Es wird nicht nur technisch, sondern konzeptionell in Frage gestellt. Die Software wurde nicht gehackt – half aber auch nicht, als BitFinex gehackt wurde. Wozu braucht man sie überhaupt? Was bringt Multisig, wenn die dritte Partei (BitGo) sowieso jede Transaktion durchwinkt?
Der Bitfinex-Hack veranschaulicht einmal mehr, dass ein digitales Wertobjekt wie Bitcoin, das genauso geraubt werden kann, wie Gold oder Bargeld unbedingt zuverlässige Sicherheitssysteme benötigt. Lange wurde Multisig für ein Garant für hohe Sicherheit gehandelt; nach dem Bitfinex-Hack ist klar, dass Multisig allein nicht von der Nowendigkeit befreit, saubere und sichere Systeme zu bilden und aufrecht zu halten.
Tatsächlich zu verhindern sind diese Hacks vermutlich aber nur, wenn man Sicherheitsmaßnahmen auf der Protokoll-Ebene implementiert. Der Hack hat Diskussion angestoßen, wie dies möglich ist. Dazu gleich mehr. Zunächst aber widmen wir uns einem spannenden Seitenaspekt des Hacks.
Shorts vor dem Hack: Wurde die Info zuvor im Darknet angekündigt?
Ein Tag nach dem Hack tauchen erste Hinweise auf, dass der Hack nicht für jeden eine Überraschung gewesen sein kann.
#Bitcoin #HackLeak exposed.
hypot. P2SH stats vs Futures @OKCoinBTC, hack info = value.HD: https://t.co/CH4kErhTfs pic.twitter.com/GI4nzBXQf7
— Beetcoin 🦇🔊 (@Beetcoin) August 4, 2016
Etwa eine Stunde, bevor die Bitcoins aus den Multisig-Wallets ausgezahlt wurden, begann auf OKCoin ein massives Shorting. Sprich: Einige User haben eine Menge Geld darauf gesetzt, dass der Kurs abstürzt. Die Ausschläge waren zu deutlich, um ein zufälliges – und für manche glückliches – Rauschen zu sein. Manche müssen also gewusst haben, was passiert – zumindest, dass etwas passiert, was den Kurs nach unten fallen lässt.
Hat der Hacker also auf OKCoin selbst die Shorts gesetzt und so neben dem eigentlichen Hack Millionen von Dollar gewonnen? Oder gab es einen Insider-Job? Die derzeit gängigste Erklärung ist, dass der Hacker die Ankündigung des Hacks im Darknet verkauft hat. Das Wissen, dass ein Hack kommen wird, ist auf den Märkten ungemein wertvoll. Was genau passiert ist, wird man aber vermutlich niemals erfahren.
Danach: Sozialisierung der Verluste wahrscheinlich
Es ist recht wahrscheinlich, dass Bitfinex nicht in der Lage sein wird, den Verlust von rund 60 Millionen Dollar zu tragen. Weder BitGo noch eine Versicherung scheinen beim derzeitigen Stand der Dinge bereit zu sein, einen ernsthaften Beitrag leisten zu wollen oder zu müssen. Zane Tackett hat heute Nacht ein Update angekündigt, wie Bitfinex wohl mit dem Hack umgehen wird.
„Wir arbeiten noch an den Details, daher ist nichts in Stein gehauen, aber wir tendieren zu einem Szenario, in dem die Verluste sozialisiert werden unter Bitcoin-Guthaben und aktiven Krediten auf BTC-USD-Positionen,“ so der Community-Director von Bitfinex auf Reddit. Die ersten Schätzungen, die bereits kursieren, gehen von einem Haircut von 63 Prozent aus. Diese aber sind, so Tackett, Spekulation. „Es ist bislang noch nichts entschieden und wir sind immer noch dabei, die Positionen und Guthaben festzusetzen.“
Ob dies rechtlich einwandfrei ist, ist zu bezweifeln. Daher stehen die Chancen gut, dass auf die Pest die Cholera, also auf den Hack die Gerichtsprozesse, folgen wird.
Wie man solche Vorfälle in Zukuft verhindern kann
Für diejenigen, die nicht direkt betroffen sind, dürfte die spannendste Frage sein, wie man solche Hacks künftig grundsätzlich verhindern kann. Gibt es Möglichkeiten, Transaktionen und Adressen so zu skripten, dass ein Hack einfach keinen Sinn hat?
Ja, sagt Emin Gün Sirer. Der Cornell-Professor, der auf HackingDistributed aktuelle Entwicklungen der Kryptowährungen kommentiert und immer wieder mit Vorschlägen und Konzepten hervortritt, wie man es besser machen kann, hat auch diesmal eine Idee parat. Er skizziert eine Art digitaler Tresor, der Bitcoins so verwahrt, dass eine Transaktion von dort aus für einen gewissen Zeitraum rückgängig gemacht werden kann.
„Wir brauchen ein Schema, das nicht Bitcoins Irreversibilität zerstört, wenn man mit Fremden Handel treibt, aber es erlaubt, dass man eine Transaktion widerruft, wenn es einen Hack gibt.“ Das klingt zunächst widersprüchlich. Bitcoin-Transaktionen sollen irreversibel bleiben, außer, sie werden gehackt? Wie soll das gehen? „Es gibt tatsächlich eine Lösung … Stell‘ dir vor, ich lege meine Guthaben in einer speziellen Art von Cold Storage ab, nennen wir es in Tresoren (vaults). Um für Dinge zu bezahlen, muss ich mein Geld von dem Tresor auf eine normale Wallet übertragen, ein Prozess der, sagen wir einen Tag, dauert. Händler können niemals Zahlungen direkt aus den Tresoren akzeptieren … das Besondere an den Tresoren ist, dass es zwei Schlüssel für sie gibt. Der eine ist dafür da, sie zu öffnen und die Guthaben auf eine normale Wallet zu verschieben. Der andere, nennen wir ihn Notschlüssel, wird benutzt, wenn man bemerkt, dass der Tresor gehackt wurde und die Coins von dem Hacker abgezogen werden. Mit dem Notschlüssel kann man nun den Hack rückgängig machen – wenn man ihn innerhalb von 24 Stunden bemerkt.“
Sirer hat zusammen mit Malte Moeser und Ittay Eyal im Februar ein solches Konzept entwickelt und in einem Paper beschrieben. Um solche „Vaults“ zu ermöglichen, schlagen sie die Einführung eines Bitcoin-OP-Codes namens „CheckOutputVerify“ vor. Neue OP-Codes sind mehr oder weniger neue Möglichkeiten, Bitcoin-Transaktionen zu skripten; sie werden gewöhnlich durch Softforks eingeführt, wie zuletzt „CheckSequenceVerify„. Bisher fehlt aber noch ein konkreter Vorschlag für die Implementierung von CheckOutputVerify.
Ohne zu tief ins Detail zu gehen weist der Vorschlag von Sirer und Co. auf die Stärke einer anderen Kryptowährung, die derzeit ihre ganz eigenen Probleme hat: Ethereum. Denn während die Einrichtung von Vaults bei Bitcoin eine aufwendige Ergänzung des Protokolls benötigt, hat Ethereum bereits alle Grundlagen, um solche Verträge zu verwirklichen. Angeblich reicht dazu eine Seite Code. Im Prinzip braucht Ethereum weder BitGo noch die Vaults. Mit dem Standard-Vertrag, den man mit Mist erzeugen kann, kann man bestimmen, dass ab Überschreitung eines täglichen Auszahlungslimits ein zweiter Schlüssel signieren muss. Dies hätte vermutlich schon gereicht, um Bitfinex zu retten.
Ob mit Ethereum oder Bitcoin – dass es Möglichkeiten gibt, den Diebstahl von Coins grundsätzlich zu unterbinden, kann eine phantastische Nachricht sein. Sollte der Bitfinex-Hack der letzte Tropfen gewesen sein, der dazu führt, dass solche Technologien endlich entwickelt und verwendet werden, hätte er auch etwas Gutes.

