Warum ahnungslose Datenlecks ein Schlüssel zu grassierenden Blockchain-Hacks sind

Im vergangenen Monat sah sich die Solana-Blockchain einem weiteren Angriff in einer Reihe von jüngsten Angriffen gegenüber, die auf Blockchains abzielten. Blockchains sind die ultimative Aufzeichnung von Krypto-Assets und die Aufzeichnung von Transaktionen von einer Brieftasche zur anderen im Ledger garantiert, dass Geld transferiert wird und der Vorgang praktisch anonym bleibt.

Dies ist ein absolutes Juwel für Kriminelle, weil 1) in dieser modernen dezentralisierten Finanzwelt (DeFi) derzeit nur wenige Finanz- und Sicherheitsvorschriften existieren und; 2) Anonymität auf der Blockchain garantiert einen sehr schwierigen Ermittlungsweg und fast keine Möglichkeit, genau zu bestimmen, wohin das Geld tatsächlich gegangen ist.

Stellen Sie sich Hunderte vor DB Coopers Jeden Tag mit Taschen voller Bargeld aus Hunderten von Flugzeugen springen 😀

Die Hauptvektoren von Blockchain-Angriffen sind Smart-Contract-Schwachstellen, Protokoll- und Designfehler, kryptobezogene Bugs, Rug-Pull-Betrug usw. Davon sind Wallet-Kompromittierungen und Schlüssellecks zusammen verantwortlich 14 % aller Angriffe im letzten Jahr!

Der Hack

Am 3. August wurden SOL, BTC, ETH, USDT und andere Währungen auf Solana- und Ethereum-Blockchains im Wert von rund 6 Millionen US-Dollar aus Tausenden von einzelnen Wallets abgeschöpft und in die Wallets von Hackern transferiert, die schließlich an verschiedene Geldwäscher verschickt wurden Geldbörsen.

SlowMist war das erstmal melden diesen Angriff und beginnen Ermittlungen. Während ein gründliche Untersuchung noch im Gange ist, sind einige unbestreitbare Fakten darüber aufgetaucht, wie der Angriff stattfand. Der Schlüssel zum Angriff sowie zur Entdeckung des Angriffs ist die Slope-Wallet-App, die sich selbst als „Robinhood of DeFi“ rühmt.

Die steile „Steigung“ des Vertrauens

Wie Tausende andere Apps verwendete Slope ein Protokollüberwachungstool namens Sentry, um verschiedene Ereignisse in der App zu verfolgen. Dies ist gängige Praxis und wird an sich nicht als schädlich angesehen. Beachten Sie jedoch, dass technisch alles, was die App während der Interaktion mit einem Menschen produziert, nachverfolgt und an einen entsprechenden Protokollverfolgungsserver gesendet werden kann.

In diesem Fall sammelte die Slope-Brieftasche ab v2.2.0+ vertrauliche Daten wie Mnemonik und private Schlüssel aus der App und sendete sie an ihren eigenen gehosteten Sentry-Server. Während Wache ausdrücklich empfiehlt Benutzer sensible Daten zu bereinigen, ist es objektiv schwierig, jeden einzelnen Ratschlag umzusetzen.

Darüber hinaus haben verschiedene Apps unterschiedliche Definitionen und Anforderungen, welche Daten als sensibel gelten. Es ist unmöglich, eine allgemeine Richtlinie darüber zu erstellen, was zu protokollieren ist und was nicht. In diesem Fall ist die Protokollierung von Mnemonics jedoch ein absolut sicherer Weg, um einem Angreifer ein Sprungbrett für Angriffe auf Wallets zu bieten.

Was ist eine Mnemonik?

Eine Mnemonik ist normalerweise eine Sammlung von 12 Wörtern, die ein Benutzer auswählen kann, wenn er eine neue Krypto-Brieftasche erstellt. Falls ein Benutzer das Passwort nicht verwenden kann, kann er die Mnemonik verwenden, um die Brieftasche wiederherzustellen. Es bietet ein benutzerfreundlicheres Wiederherstellungssystem in Ermangelung eines zentralisierten Passwortspeichers und Wiederherstellungssystems. Dies ist so entscheidend, dass einige Leute Metall-Samenplatten verwenden, um ihre Mnemonik zu speichern.

Obwohl die Untersuchung von SlowMist immer noch nicht abgeschlossen ist, besteht kein Zweifel daran, dass die Entscheidung, Mnemonics zu protokollieren, eine gefährliche war. Die Analyse legt nahe, dass etwa 31 % der bekannten kompromittierten Opfer-Wallets dieselben waren, die in den Sentry-Protokollen gefunden wurden. Daher könnte das mnemonische Leck lediglich eine Korrelation oder tatsächlich die Grundursache sein. Wir werden so oder so nicht überrascht sein. So könnte jemand, der auf den gehosteten Sentry-Server zugreifen kann, darauf zugegriffen haben:

Aber wir kennen Entwickler und fühlen uns in sie hinein. Das ist nicht ihre Schuld – das Programmierparadigma dieser Ära ist komplex. Moderne Software baut auf Schichten und Schichten von Bibliotheken und anderem Code auf. Die Protokollierung hat sich vom Drucken von etwas Hübschem auf einer lokalen Konsole in einer Kellermaschine zur Überwachung von Milliarden von Aktionen in Millionen von Geräten und Maschinen entwickelt, die weltweit ausgeführt werden. Es werden feinkörnige Daten zu allen Benutzeraktionen und ihren Details gesammelt – manchmal so vernichtend wie kritische Brieftaschendetails. Die Daten haben nun die Grenzen der App verlassen. Und es kommt nicht zurück.

Wie kann man das beheben?

Keine noch so großen Betriebssicherheits- und Datenschutzrichtlinien können allein helfen, dies zu beheben. Die Natur moderner Software verhindert eine detaillierte manuelle Untersuchung solcher Lecks. Was wir brauchen, sind Tools, die uns helfen, einen Einblick in das zu bekommen, was mit den Daten in großen Codebasen passiert, damit Datenschutz-/Sicherheitsingenieure oder ein Entwickler selbst bestimmte Punkte möglicher Lecks identifizieren können, bevor sie auftreten. Dieser Ansatz der Linksverschiebung wurde bereits in der Sicherheit verwendet – jetzt ist es an der Zeit, ihn für Daten und Datenschutz zu implementieren.

Auf der Suche nach einem mnemonischen Leck mit Privado Open Source

Obwohl wir die Quelle der Slope-App nicht wirklich bekommen können, können wir sicherlich versuchen, das Szenario mit einer Beispiel-App nachzubilden. Nehmen wir das einfach BitcoinWallet App, die ich geändert habe, und füge Sentry-Protokollierung zu einem imaginären Endpunkt hinzu:

Hier können wir sehen, dass die Mnemonik des Benutzers „versehentlich“ an den von ihm ausgeführten Sentry-Dienst gelangen könnte. Stellen Sie sich das vor, aber tief in den Ebenen Ihrer App. Jedes Mal, wenn ein Benutzer ein neues Wallet erstellt und eine 12-Wörter-Mnemonik erhält (das ist im Wesentlichen ein Schlüssel zum Wiederherstellen des Wallets), besteht das Risiko, dass es in seiner zentralen Protokollierungs-Infrastruktur protokolliert wird.

Eine Möglichkeit, diese Art von Leaks jetzt zu finden, ist die Verwendung des Open-Source-Tools Privado. Ein Entwickler kann einen Datenschutz-Scan durchführen und damit beginnen, die entdeckten Daten zu untersuchen und visuell zu sehen, ob so etwas wie eine Mnemonik an einen Protokollierungsdienst eines Drittanbieters fließt, wie unten gezeigt:

Um dies selbst an dieser Beispiel-BitcoinWallet-App auszuprobieren oder um Datenlecks in Ihren eigenen Java-Apps zu finden, gehen Sie zum Privado OSS-Repo und probieren Sie es aus. Neben der sofort einsatzbereiten Erkennung gibt es Hunderte von benutzerdefinierten Quellen und Senken, die in Privado als Regeln definiert werden können. Wenn Sie auf interessante Datenquellen und Datensenken stoßen, die Sie hinzufügen möchten, können Sie gerne zum Projekt beitragen und Pull-Requests einreichen.

In diesem Beispiel musste ich einfach die obige Regel in a hinzufügen, um eine Wallet-Mnemonik zu verfolgen rules YAML-Datei und die Datenverfolgung funktionierte einfach bis zur Sentry-Senke!

Es ist jetzt an der Zeit, jedem Entwickler und Datensicherheitsanalysten ein Datenschutz-Engineering-Tool zur Verfügung zu stellen, damit wir gemeinsam sicherstellen können, dass private Daten in der App vom ersten Tag der Entwicklung an privat bleiben.

Gruppe Erstellt mit Sketch.

source site

Leave a Reply