Krypto-Sicherheitsbericht: Mai 2022

Endos import.meta- und __dirname-Implementierungen für MetaMasks Modulkompatibilität, ein Prototyp-Snap zur verteilten Schlüsselgenerierung mit Multi-Party-Computation für MetaMask Flask und der Start von MetaMasks HackerOne-Bug-Bounty-Programm.

4 Minuten
Krypto-Sicherheitsbericht: Mai 2022

Jeden Monat berichtet MetaMask Security Director Luker über die neuesten Krypto-Angriffe und aufkommenden Risiken, die Sie kennen sollten.

Die Ausgabe vom Mai 2022 behandelte den Start von MetaMasks HackerOne-Bug-Bounty-Programm, Endos Implementierung von import.meta und __dirname zur Verbesserung der MetaMask-Abhängigkeitskompatibilität sowie einen Distributed-Key-Generation-Prototyp-Snap, der Multi-Party-Computation-Signing in MetaMask Flask demonstriert. Tauchen Sie unten in die Details ein, aber zuerst...

MINT-Pionier im Fokus: Adi Shamir, Miterfinder von RSA und Schöpfer des Secret Sharing

Adi Shamir ist ein israelischer Kryptograf, der 1977 gemeinsam mit Ron Rivest und Leonard Adleman den RSA-Algorithmus mitentwickelte – das erste praktische Public-Key-Kryptosystem, das dem Trio 2002 den Turing Award einbrachte. Im Jahr 1979 veröffentlichte er „How to Share a Secret" und stellte damit Shamir's Secret Sharing vor: ein Verfahren, das ein Geheimnis in Anteile aufteilt, von denen nur eine Mindestanzahl benötigt wird, um das Original zu rekonstruieren. Diese Eigenschaft ist grundlegend für die in diesem Bericht behandelte Distributed-Key-Generation-Arbeit.

MetaMask startet HackerOne-Bug-Bounty-Programm

MetaMask hat sein Bug-Bounty-Programm im Juni 2022 auf HackerOne gestartet und damit einen formellen Kanal für Sicherheitsforscher eröffnet, um Schwachstellen in MetaMask-Produkten zu melden.

Endo implementiert import.meta und __dirname und verbessert die MetaMask-Abhängigkeitskompatibilität

Mit den Fortschritten bei Endos CommonJS-Unterstützung im April 2022 zeigten End-to-End-Testergebnisse, dass die größten verbleibenden Hindernisse für die Ausführung populärer Module die Unterstützung von import.meta.url und __dirname waren.

Ein Treffen zwischen Agoric, MetaMask und Moddable am 3. Mai 2022 führte zu einer Einigung darüber, zu welchem Zeitpunkt im Modulimportprozess import.meta verarbeitet werden soll. Das Konzept importMetaHook wurde in die Compartment-Spezifikation eingeführt. Der Hook wird nur aufgerufen, wenn die statische Analyse ergibt, dass das Modul auf import.meta zugreift – da Node.js dort eine resolve-Funktion anhängt und deren Erstellung aufwändig ist, empfiehlt es sich, den Hook nur dann aufzurufen, wenn seine Ergebnisse tatsächlich verwendet werden könnten.

Die Implementierung von import.meta ist abgeschlossen (Spec Issue, Implementierungs-PR). Was noch aussteht, ist die standardmäßige Übergabe von import.meta.url an Module in Endo. Die Implementierung von __dirname ist ebenfalls abgeschlossen (PR), nach mehreren Iterationen zur Sicherstellung der Korrektheit und der Windows-Pfadunterstützung.

Darüber hinaus wurde Unterstützung für verschachtelte package.json-Dateien hinzugefügt, die die standardmäßige Modultypannahme für .js-Dateien ändern, sodass der Compartment-Mapper Pakete mit komplexen Strukturen verarbeiten kann, die sowohl CommonJS- als auch ES-Modul-Spezifikationen unterstützen sollen (Quelle).

Die Unterstützung für das __esModule-Verhalten ist auf Eis gelegt. Zwei Implementierungsversuche führten beide zu schlechteren Ergebnissen in End-to-End-Tests. Ein dritter Ansatz – die Platzierung der Unterstützungslogik in ThirdPartyModuleInstance innerhalb von SES – gilt als umstritten. Das Feature wird in Issue #927 verfolgt.

Distributed-Key-Generation-Prototyp-Snap demonstriert MPC-Signing in MetaMask Flask

Bei den Multi-Party-Computation-Fähigkeiten (MPC) wurden Fortschritte erzielt. Unser Team hat frühere Proof-of-Concept-WebAssembly-Bindings (WASM) aufgegriffen und einen Prototyp-Snap entwickelt, der in MetaMask Flask verwendet werden kann und Distributed Key Generation (DKG) sowie Message Signing demonstriert. Der Snap unterstützt den Export und Import von Key Shares zusätzlich zur Schlüsselgenerierung und dem Speichern von Proofs für das Message Signing.

Im Hintergrund nutzt das Paket eine Implementierung von GG2020 (Gennaro und Goldfeder 2020, Paper), einem Protokoll, das eine nicht-interaktive Online-Phase unterstützt, bei der Teilnehmer asynchron partizipieren können, ohne gleichzeitig online sein zu müssen, und das eine effiziente Erkennung abbrechender Parteien ermöglicht.

Die nächsten Schritte umfassen das Hinzufügen von Verschlüsselungsunterstützung für snap_manageState, um die manuelle Verschlüsselung von Key Shares im Snap-Code zu eliminieren, gefolgt von der Unterstützung für das Signieren von Transaktionen. Der Prototyp wird im tss-snap-Repository verfolgt (ursprünglich als ecdsa-wasm veröffentlicht).


MetaMasks Krypto-Sicherheitsbericht vom Mai 2022 behandelte Endos Implementierung von import.meta und __dirname für MetaMasks Modulkompatibilitätskette sowie den Distributed-Key-Generation-Prototyp-Snap, der Multi-Party-Computation-Signing in MetaMask Flask demonstriert. Stöbern Sie in früheren Ausgaben des MetaMask-Krypto-Sicherheitsberichts für weitere Bedrohungen, Trends und Tipps, um im gesamten Ökosystem sicher zu bleiben.

KI-übersetzt. Kann Fehler enthalten. Bitte überprüfen Sie die Informationen stets.

Bewerten Sie die Übersetzung
  • Luker
    Luker

      Jen Luker, den meisten einfach als Luker bekannt, ist Director of Product Security bei Consensys, wo sie die Frontline-Verteidiger leitet, die Millionen von Nutzern vor Schwachstellen, neuen Bedrohungen und böswilligen Akteuren im Bereich der dezentralen Technologie schützen. Als aktive Teilnehmerin im Ethereum-Ökosystem seit 2017 hat sie wichtige Positionen bekleidet, darunter Redakteurin bei ETHNews und Projektmanagerin bei MyCrypto. Luker ist regelmäßige Rednerin auf Branchenkonferenzen, Autorin des monatlichen Crypto Security Reports von MetaMask und offizielle ETH Security Badge-Inhaberin, wie von The DAO ausgezeichnet. Darüber hinaus setzt sie sich leidenschaftlich für kontinuierliche Weiterbildung und Sicherheitsbewusstsein als wesentliche Säulen für die Zukunft von Ethereum und der Blockchain-Technologie ein.

      Alle Artikel lesen