Was hindert Ledger daran, an die Adresse eines Hackers zu senden?

Warum kann ein Hacker die Ledger Chrome-App nicht bearbeiten, um die Adresse anzuzeigen, an die der Benutzer glaubt, dass er sendet, während er tatsächlich an eine andere Adresse sendet?

Stellen Sie sich das Szenario vor: Ein Ledger-Mitarbeiter möchte einen schönen Ruhestand, veröffentlicht ein „Software-Update“ für die Chrome-App, um alle ETH an seine Adresse zu senden, während die Software die Adressen anzeigt, an die der Benutzer glaubt, dass sie senden; stiehlt eine Menge ETH von vielen Benutzern auf einmal, bevor sich die Nachricht in den sozialen Medien verbreitet und die Leute warnt, die App nicht mehr zu verwenden. (Oder nehmen wir an, es ist jemand, der sein Software-Repository ohne Wissen von Ledger gehackt hat.)

Verwandter - Der Zwischenablage-Hijack-Angriff (externer Link): Bitcoin-Malware ändert die Ziel-Wallet, um 13 BTC zu stehlen
Dieser Angriff erscheint in einem tangentialen Zusammenhang: Hier zeigt sich, dass beim Kopieren+Einfügen des Benutzers eine andere Adresse sichtbar eingefügt wurde, sodass der Angriff durch doppeltes Prüfen vor dem Absenden hätte vereitelt werden können. Ich schlage hier vor, dass die Anwendung die Eingabeadresse richtig anzeigt, aber an eine andere Adresse sendet. Es könnte im Nachhinein durch Überprüfung von Etherscan realisiert werden, aber bis dahin könnten weltweit Hunderte effektiv gleichzeitig betroffen sein. Es hängt natürlich davon ab, wie Software und Hardware zusammenarbeiten. Ich frage mich, ob die Hardware nicht die vollständige Adresse anzeigt, #...#.

Antworten (3)

Warum kann ein Hacker die Ledger Chrome-App nicht bearbeiten, um die Adresse anzuzeigen, an die der Benutzer glaubt, dass er sendet, während er tatsächlich an eine andere Adresse sendet?

Er kann 1 , genau wie er Ihren persönlichen Computer hacken und einen Keylogger oder andere Malware installieren kann. Die Frage ist nicht , ob er das kann , sondern wie wahrscheinlich es ist, dass er in der Lage ist, den vorhandenen Schutz zu gewähren.

( 1 Ich mache mir keine Gedanken darüber, wie er das tun könnte. Ich gehe von der Argumentationslinie "Nichts ist kugelsicher" aus. Vielleicht hackt er nicht die "echte" App, sondern bringt Sie dazu, eine beschädigte Version zu installieren, usw. usw.)

Stellen Sie sich das Szenario vor: Ein Ledger-Mitarbeiter möchte einen schönen Ruhestand, veröffentlicht ein „Software-Update“ für die Chrome-App, um alle ETH an seine Adresse zu senden, während die Software die Adressen anzeigt, an die der Benutzer glaubt, dass sie senden; stiehlt eine Menge ETH von vielen Benutzern auf einmal, bevor sich die Nachricht in den sozialen Medien verbreitet und die Leute warnt, die App nicht mehr zu verwenden. (Oder nehmen wir an, es ist jemand, der sein Software-Repository ohne Wissen von Ledger gehackt hat.)

Ja, wieder, durchaus möglich . Aber Sie sollten sich mehr darum kümmern, wie möglich . Haben sie wahrscheinlich Prozesse eingerichtet, um dies zu verhindern? Wahrscheinlich. Vertrauen Sie ihrem Ruf genug, um sicherzustellen, dass diese Prozesse befolgt werden? Das musst du entscheiden.

Sicherheit ist eine Reihe von Kompromissen und Kompromissen. Wenn Sie ihre Hardware und Software verwenden möchten, müssen Sie beim Vertrauen Kompromisse eingehen, genauso wie Sie es tun, wenn Sie Ihrer Betriebssystem-Firewall oder Antivirensoftware vertrauen, um Sie zu schützen.

Dieser Angriff wurde kürzlich (Januar 2018) in Ledger-Geräten entdeckt. Hier ist der Bericht darüber https://www.docdroid.net/Jug5LX3/ledger-receive-address-attack.pdf

Der Angriff

Ledger-Wallets generieren die angezeigte Empfangsadresse mithilfe von JavaScript-Code, der auf dem Host-Computer ausgeführt wird.

Das bedeutet, dass eine Malware den Code, der für die Generierung der Empfangsadresse verantwortlich ist, einfach durch ihre eigene Adresse ersetzen kann, wodurch alle zukünftigen Einzahlungen an den Angreifer gesendet werden.

Da sich die Empfangsadressen im Rahmen der üblichen Aktivität der Brieftasche ständig ändern, hat der Benutzer keine triviale Möglichkeit (wie das Erkennen seiner Adresse), um die Integrität der Empfangsadresse zu überprüfen.

Soweit ihm bekannt ist, ist die angezeigte Empfangsadresse seine tatsächliche Empfangsadresse.

Was macht das noch schlimmer

  • Die gesamte Ledger-Wallet-Software befindet sich im AppData-Ordner, was bedeutet, dass selbst eine nicht privilegierte Malware sie ändern kann (keine Notwendigkeit, Administratorrechte zu erlangen).
  • Die Ledger-Wallet implementiert keine Integritätsprüfung/Manipulationsschutz für ihre Quelldateien, was bedeutet, dass sie von jedem geändert werden können.
  • Die Malware muss lediglich eine Codezeile in der Ledger-Software ersetzen, dies kann mit weniger als 10 Zeilen Python-Code erreicht werden.
  • Neue Ledger-Benutzer würden normalerweise alle ihre Gelder nach der Initialisierung an die Brieftasche senden. Wenn der Computer vorinfiziert war, kann diese erste Transaktion kompromittiert werden, was dazu führt, dass der Benutzer sein gesamtes Guthaben verliert.
  • Der Angriff ändert die Empfangsadresse während seiner Generierung, wodurch sogar der automatisch generierte QR auf die Adresse des Angreifers aktualisiert wird. Das bedeutet, dass sowohl die Zeichenfolge als auch die QR-Darstellung der Adresse kompromittiert sind.

Beratung für bestehende Ledger-Kunden

Wenn Sie die Bitcoin-App verwenden – Überprüfen Sie vor jeder Empfangstransaktion die Integrität der Adresse mit der Monitor-Schaltfläche.

Wenn Sie die Ethereum-App verwenden – Behandeln Sie das Ledger-Hardware-Wallet genauso wie jedes andere softwarebasierte Wallet und verwenden Sie es nur auf einem Live-CD-Betriebssystem, das garantiert frei von Malware ist. Zumindest bis dieses Problem irgendwie behoben wird.

Malware infiziert, über eine docx-Datei übertragen, diesen Computer infiziert, den Entwicklermodus in Chrome aktiviert, Metamask durch eine bösartige Version ersetzt und 8 Millionen US-Dollar von diesem Konto gestohlen: https://www.youtube.com/watch?v=__8sGeBVYrM

Mit anderen Worten: Sie müssen überprüfen, ob der Vorgang, den Sie genehmigen, der Vorgang ist, den Sie genehmigen möchten. Auf einem kleinen Bildschirm ist dies schwierig. Sie könnten die Verwendung eines Ledger-Geräts mit einem besser lesbaren Display in Betracht ziehen.