Lesezeit: 5 Minuten
Die Welt von Web3 ist eine Welt der Protokolle und Standards. Sicher sind Ihnen mehrere ERC-Standards begegnet. Einige der bekanntesten ERC-Standards sind 20 und 721, die für Token bzw. NFT gelten. Aber Web3 ist nicht darauf beschränkt.
Wir sehen regelmäßige Updates und Upgrades in Web3. Eines der neuesten Upgrades war ERC 4337, das im März 2023 im Ethereum Mainnet bereitgestellt wurde. Nicht jedes Update ist auf einmal erfolgreich; Dasselbe gilt für ERC 4337. In diesem Blog erfahren wir mehr über Schwachstellen im Abschnitt „User Operation“ des Standards und deren Auswirkungen. Beginnen wir zunächst mit einer kurzen Einführung in den ERC 4337-Standard.
Was ist ERC 4337?
Im Gegensatz zum Netzwerk von Bitcoin Ethereum unterstützt intelligente Verträge in der Kette, wodurch Ethereum zwei verschiedene Arten von Konten hat, ein Transaktions- oder ein Betriebskonto. Darüber hinaus haben Smart Contracts ihren eigenen Bereich, fast wie ein Konto. Diese beiden Arten von Konten in Ethereum haben ihre eigenen Funktionen.
Die meisten Wallets, die mit Ethereum funktionieren, sind EOAs, was die Konten des Benutzers bedeutet, nicht die Smart-Contract-Konten. Diese Art von Konten hat ihre eigenen Einschränkungen. Eine Einschränkung umfasst das alleinige Vertrauen des Benutzers auf die privaten Schlüssel, um auf Konten zuzugreifen, und das Erfordernis aller Unterschriften für Transaktionen. Diese Einschränkungen führten zur Einführung von ERC 4337.
Der ERC 4337 versucht, eine Kontoabstraktion bereitzustellen, indem er das Beste aus den beiden Kontotyp-Features kombiniert. Ja, EOAs und intelligente Vertragskonten. Dies wird durch einen einzigen Vertrag ermöglicht, der gleichzeitig Tokens abwickeln und Verträge erstellen kann, und ERC 4337 ist ein Standard, der diesen großartigen neuen Fortschritt ermöglicht.
Schwachstelle beim Packen von UserOperation?
Alles an diesem Standard und Projekt ist großartig, aber was ist schief gelaufen? Nun, es gab ein Implementierungsproblem, das zu inkonsistenten Hashes basierend auf der zum Signieren verwendeten Methode führte. Dies führte zu Konflikten in der Reihenfolge, insbesondere zu unterschiedlichen Hashes für dieselben UserOperations und zu kollidierenden Hashes für verschiedene UserOperations.
Die betroffenen Regionen beschränkten sich auf zwei Schwachstellen, die EntryPoint Packing Vulnerability und die VerifyingPaymaster Packing Vulnerability. Dazu später mehr. Lassen Sie uns zuerst ein allgemeines Verständnis haben, und dann werden wir sie einzeln kennenlernen.
Werfen wir einen Blick auf die UserOperation.sol:-
Sie sehen, dass der UserOperation-Parameter, ein Calldata, als Argument an die Pack-Funktion übergeben wird. Lassen Sie uns die Struktur untersuchen: -
Dies sind die Felder, die die UserOperation-Struktur trägt. Um diesen großen Teil der Calldata in den Speicher zu kopieren, verwenden die Codesegmente Assembly. Einige Methoden der Verträge beabsichtigen, alle Felder der UserOperation zu erfassen, einschließlich der Felder mit variabler Größe, die in der ABI-Codierung auch als dynamische Felder bezeichnet werden. Die dynamische Kodierung in dieser Struktur ist beispielsweise „initCode“, „callData“ und „paymasterAndData“.
Einige Methoden können „paymasterAndData“ nicht enthalten, da dieses Feld noch nicht definiert oder deklariert ist. Methoden verwenden dazu das Komfortfeld „.offset“, das dynamischen Datentypen zur Verfügung gestellt wird. Die Verträge, die ABI-codierte Argumente verwenden, validieren jedoch nicht die Reihenfolge, in der die Felder definiert sind, und die Gültigkeit der Offsets. Es ist möglich, eine gültige Darstellung der Benutzeroperationen in Calldata mit ungewöhnlichen Hash-Eigenschaften zu erstellen.
EntryPoint Packing-Schwachstelle
Das Problem mit der UserOperation betrifft auch einige andere Teile des Standards, die EntryPoint Packing-Schwachstelle ist eine davon. Wenn zwischen dem EntryPoint und dem Wallet-Vertrag ein anderes Hash-Schema verwendet wird oder eine nicht standardmäßige Benutzeroperationscodierung verwendet wird, sehen wir eine Hash-Divergenz.
Das Risiko taucht als EntryPoint auf. Jetzt könnte eine einzelne Benutzeroperation durch mehrere „Benutzer-Op-Hashes“ dargestellt werden, und derselbe „Benutzer-Op-Hash“ könnte mehrere Benutzeroperationen darstellen. Nun kann dies einige unerwünschte Effekte erzeugen. Lassen Sie uns über die möglichen Auswirkungen sprechen.
Der Erc 4337 befindet sich noch in einem sehr frühen Stadium, da er erst im März veröffentlicht wurde, sodass die Auswirkungen dieser Schwachstellen noch nicht vollständig bekannt sind. Aus der Vogelperspektive ist es schwierig, die potenziellen Auswirkungen zu beschreiben. Darüber hinaus hängen die Auswirkungen von der Implementierung von Bundlern, Indexern, Benutzeroperations-Explorern und anderen Off-Chain-Diensten ab. Sehen wir uns einige der Probleme an, die diese Schwachstelle verursacht.
- Dies kann zu einer verwirrenden Erfahrung für den Benutzer führen, da sich der Benutzervorgangs-Hash zwischen der Übermittlung und der Aufnahmezeit ändern kann. Dieses Phänomen ist den meisten Wallets unbekannt, sodass sie diesen Unterschied möglicherweise nicht erklären.
- Die Brieftaschen können geändert und so gestaltet werden, dass eine Indizierung absichtlich vermieden wird, indem alle Hashes für Benutzervorgänge auf denselben Wert gesetzt werden.
- Wir können eine falsche Behandlung von Daten und Schlüsseln erkennen, wenn ein Off-Chain-Dienst, der die Einbeziehung der Benutzeroperation überwacht, die Einbeziehung einer bestimmten Benutzeroperation verpasst.
VerifyingPaymaster Packing Schwachstelle
Niemand bestellt gerne etwas beim Online-Shopping und erhält ein völlig anderes Produkt. Dasselbe gilt für Web3, aber diese Schwachstelle beeinträchtigt die Benutzererfahrung. Ein Benutzer kann zwischen dem Signierzeitpunkt und der Aufnahme in die Kette geänderte oder andere Inhalte haben. Und der Grund dafür ist, dass zwei verschiedene Benutzeroperationen denselben Hash von der Funktion „VerifyingPaymaster.getHash()“ zurückgeben.
Die VerifyingPaymaster.getHash()-Funktion nimmt einige Argumente wie „UserOperation“, die eine Struktur ist, „validUnitl“, einen uint48-Wert und einen validAfter-anderen uint48-Wert. Das Problem der unterschiedlichen Inhalte zwischen Signierzeit und Aufnahmezeit wirkt sich auf die Benutzererfahrung und die allgemeine Sicherheit aus. Lassen Sie uns einige der Bedenken diskutieren, die es aufwirft.
- Offchain-Unterzeichner, die in einem ABI-codierten Format unterschreiben, nachdem sie Benutzeroperationen erhalten haben, oder Unterzeichner mit Vertragsintegrationen, um Daten für die Unterzeichnung vorzubereiten, werden angreifbar.
- Der Hash kann geändert werden, um weniger Elemente als erwartet abzudecken, was dazu führen kann, dass einige der statischen Felder wie initCode usw. aus dem Hash ausgeschlossen werden. Dies kann zu einer anderen als der beabsichtigten Verwendung der Paymaster-Sponsorship-Signaturen führen.
- Wir können einen Verstoß und eine Umgehung der Regeln sehen, indem wir den userOp.initCode und userOp.callData ändern, nachdem wir eine Signatur erhalten haben. Dadurch kann der native Token des Zahlmeisters für andere Zwecke als das Prägen von gaslosem NFT verwendet werden.
Zusammenfassung
Mit der ständigen Weiterentwicklung und Entwicklung werden wir viele großartige Dinge erleben, und ERC 4337 ist eines davon. Bei der Entwicklung und Förderung von Sicherheit können wir jedoch niemals Kompromisse eingehen. Es ist großartig zu sehen, wie schnell die Schwachstellen im Standard gefunden wurden und kontinuierlich geforscht und entwickelt wird, um ihn sicher zu machen.
Es ist wichtig zu beachten, dass sogar einige der größten und bekanntesten Organisationen, die in Web3 bauen, sicherheitsbezogene Fehler machen können, und sicherlich machen die anderen Protokolle sie auch. Der kontinuierliche Anstieg in Web3-Vorfälle in den letzten Jahren ist offensichtlich.
Die One-Stop-Lösung zum Schutz von Ihnen, Ihren Benutzern und Ihrem Protokoll vor solchen Sicherheitsbedrohungen wird einem Audit unterzogen. Wir, QuillAudits, sind einer der führenden Dienstleister für intelligente Vertragsprüfung und Blockchain-Sicherheit. Besuchen Sie unsere Website, um mehr zu erfahren und Ihr Projekt abzusichern. Und bleiben Sie dran, um mehr solcher informativer Blogs zu genießen
34 Views
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. Hier zugreifen.
- Die Zukunft prägen mit Adryenn Ashley. Hier zugreifen.
- Quelle: https://blog.quillhash.com/2023/04/24/understanding-erc-4337-user-operation-packing-vulnerability/
- :Ist
- :nicht
- 20
- 2023
- a
- Über Uns
- Zugang
- Konto
- Kontenabstraktion
- Trading Konten
- über
- Zusatz
- Förderung
- Nach der
- Alle
- ebenfalls
- verändert
- an
- und
- Ein anderer
- SIND
- Argument
- Argumente
- AS
- Versammlung
- At
- Versuche
- Prüfung
- Wirtschaftsprüfung
- basierend
- BE
- weil
- werden
- Sein
- BESTE
- zwischen
- Größte
- Blockchain
- Blockchain-Sicherheit
- Blog
- Verletzung
- Building
- aber
- by
- namens
- CAN
- kann keine
- Erfassung
- Verursachen
- Ursachen
- Kette
- Übernehmen
- Ändern
- Code
- Vereinigung
- wie die
- Kompromiss
- Bedenken
- verwirrend
- konstruieren
- Inhalt
- kontinuierlich
- Vertrag
- Verträge
- sehr beliebtes Sprach- und Freizeitprogramm
- könnte
- Abdeckung
- erstellen
- technische Daten
- definiert
- hängt
- Einsatz
- beschreiben
- entworfen
- Entwicklung
- Entwicklung
- Unterschied
- anders
- diskutieren
- Divergenz
- do
- dynamisch
- Früh
- Startup-Gründer
- Effekten
- Elemente
- genießen
- vollständig
- ERC-4337
- etc
- Astraleum
- ETHEREUM-WARTUNGSNETZ
- Sogar
- Jedes
- Beispiel
- ausgeschlossen
- erwartet
- ERFAHRUNGEN
- ERKUNDEN
- Explorers
- Auge
- erleichtern
- berühmt
- Eigenschaften
- wenige
- Feld
- Felder
- Finden Sie
- Vorname
- Aussichten für
- Format
- gefunden
- für
- voll
- Funktion
- Funktionsumfang
- funktioniert
- Allgemeines
- bekommen
- bekommen
- gegeben
- Go
- gehen
- das passiert
- hart
- Hash-
- Hashing
- Haben
- Ultraschall
- HTTPS
- Impact der HXNUMXO Observatorien
- Einfluss hat
- Implementierung
- Umsetzung
- wichtig
- in
- das
- Dazu gehören
- Einschließlich
- Aufnahme
- Individuell
- informativ
- Integrationen
- wollen
- absichtlich
- in
- Einleitung
- Problem
- Probleme
- IT
- nur
- Tasten
- bekannt
- grosse
- Nachname
- neueste
- führen
- LERNEN
- Gefällt mir
- Einschränkung
- Einschränkungen
- Limitiert
- aussehen
- gemacht
- Hauptnetz
- um
- MACHT
- viele
- März
- max-width
- Kann..
- Mittel
- Memory
- Methode
- Methoden
- könnte
- Prägung
- Misshandlung
- vermisst
- Fehler
- geändert
- Überwachung
- mehr
- vor allem warme
- mehrere
- nativen
- Ureinwohner-Token
- Netzwerk
- Neu
- NFT
- jetzt an
- of
- on
- EINEM
- Online
- Online-Shopping
- OP
- Betrieb
- Betriebs-
- Einkauf & Prozesse
- or
- Auftrag
- Organisationen
- Andere
- Andere Protokolle
- UNSERE
- übrig
- Gesamt-
- besitzen
- Pack
- Parameter
- besonders
- Teile
- Bestanden
- Phänomen
- Plato
- Datenintelligenz von Plato
- PlatoData
- möglich
- Potenzial
- Danach
- privat
- Private Schlüssel
- Produkt
- Projekt
- immobilien
- Risiken zu minimieren
- Protokoll
- Protokolle
- die
- vorausgesetzt
- Anbieter
- Zwecke
- schnell
- Quillhash
- wirft
- Grund
- Empfang
- in Bezug auf
- Regionen
- regulär
- freigegeben
- Vertrauen
- vertreten
- Darstellung
- vertreten
- Forschungsprojekte
- Forschung und Entwicklung
- Folge
- Rückkehr
- Rise
- Risiko
- Ohne eine erfahrene Medienplanung zur Festlegung von Regeln und Strategien beschleunigt der programmatische Medieneinkauf einfach die Rate der verschwenderischen Ausgaben.
- gleich
- Schema
- Abschnitt
- Verbindung
- Gesicherte
- Sicherheitdienst
- Sicherheitsbedrohungen
- sehen
- Segmente
- Dienstleister
- Lösungen
- Einstellung
- mehrere
- Shopping
- Schild
- Unterschriften
- Unterzeichnung
- gleichzeitig
- Single
- smart
- Smart-Vertrag
- Smart Contracts
- So
- SOL
- Lösung
- einige
- etwas
- Raumfahrt
- Patenschaftsprogramme
- Stufe
- Standard
- Normen
- Anfang
- bleiben
- Immer noch
- Einreichung
- erfolgreich
- so
- Unterstützt
- sicherlich
- nimmt
- als
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- ihr
- Sie
- Dort.
- Diese
- vom Nutzer definierten
- fehlen uns die Worte.
- diejenigen
- Bedrohungen
- Zeit
- zu
- Zeichen
- Tokens
- auch
- Top
- tätigen
- Transaktion
- Transaktionen
- was immer dies auch sein sollte.
- Typen
- Verständnis
- unerwünscht
- Aktualisierung
- Updates
- Upgrades
- -
- benutzt
- Mitglied
- Benutzererfahrung
- Nutzer
- BESTÄTIGEN
- Wert
- sehr
- Anzeigen
- Besuchen Sie
- Sicherheitslücken
- Verwundbarkeit
- Verwundbar
- Wallet
- Börsen
- wurde
- we
- Web3
- Webseite
- GUT
- bekannt
- waren
- Was
- wann
- welche
- während
- warum
- werden wir
- mit
- Zeuge
- weltweit wie ausgehandelt und gekauft ausgeführt wird.
- Falsch
- Jahr
- Du
- Ihr
- Zephyrnet