Metamask Snap Audit-Bericht für PolkaGate Snap

Management-Zusammenfassung

PolkaGate kontaktierte Sayfer Security, um im Februar 2024 einen Penetrationstest für PolkaGate Snap durchzuführen.

Bevor wir die oben genannten Dienste bewerteten, hielten wir ein Kickoff-Meeting mit dem technischen Team von PolkaGate ab und erhielten einen Überblick über das System und die Ziele dieser Untersuchung.

Im Forschungszeitraum von zwei Wochen haben wir drei Schwachstellen im System entdeckt.

Zusammenfassend lässt sich sagen, dass nach dem Bericht mehrere Korrekturen implementiert werden sollten, der Sicherheitsstatus des Systems jedoch angemessen ist.

Nach einer Überprüfung durch das Sayfer-Team bestätigen wir, dass alle in diesem Bericht erwähnten Sicherheitsprobleme vom PolkaGate-Team behoben wurden.

Risikomethodik

Bei Sayfer sind wir bestrebt, unseren Kunden Penetrationstests höchster Qualität anzubieten. Aus diesem Grund haben wir ein umfassendes Risikobewertungsmodell implementiert, um die Schwere unserer Ergebnisse zu bewerten und unseren Kunden die bestmöglichen Empfehlungen zur Risikominderung zu geben.

Unser Risikobewertungsmodell basiert auf zwei Schlüsselfaktoren: IMPACT und WAHRSCHEINLICHKEIT. Auswirkungen beziehen sich auf den potenziellen Schaden, der aus einem Problem resultieren könnte, beispielsweise finanzieller Verlust, Rufschädigung oder ein nicht betriebsbereites System. Die Wahrscheinlichkeit bezieht sich auf die Wahrscheinlichkeit, dass ein Problem auftritt, unter Berücksichtigung von Faktoren wie der Komplexität des Angriffs und der Anzahl potenzieller Angreifer.

Durch die Kombination dieser beiden Faktoren können wir ein umfassendes Verständnis des von einem bestimmten Problem ausgehenden Risikos schaffen und unseren Kunden eine klare und umsetzbare Einschätzung der Schwere des Problems liefern. Dieser Ansatz ermöglicht es uns, unsere Empfehlungen zu priorisieren und sicherzustellen, dass unsere Kunden die bestmögliche Beratung zum Schutz ihres Unternehmens erhalten.

Risiko wird wie folgt definiert:

Schwachstellen nach Risiko

Hoch – Direkte Bedrohung wichtiger Geschäftsprozesse.
Medium – Indirekte Bedrohung wichtiger Geschäftsprozesse oder partielle Bedrohung von Geschäftsprozessen.
Niedrig – Es besteht keine direkte Bedrohung. Die Schwachstelle kann mit anderen Schwachstellen ausgenutzt werden.
Informational – Dieser Befund weist nicht auf eine Schwachstelle hin, sondern gibt einen Kommentar an, der auf Designfehler und unsachgemäße Implementierung hinweist, die auf lange Sicht ein Problem verursachen könnten.

Schwere
# Probleme
Hoch
0
Medium
0
Niedrig
1
Informational
1

Ansatz

Einführung

PolkaGate hat Sayfer kontaktiert, um Penetrationstests für ihre MetaMask Snap-Anwendung durchzuführen.

Dieser Bericht dokumentiert die von Sayfer durchgeführte Forschung zu den im Forschungsumfang definierten Ressourcen. Insbesondere zeigt der Bericht die Sicherheitsüberprüfung der MetaMask Snap-Anwendung von PolkaGate sowie der zugehörigen Infrastruktur- und Prozessimplementierungen.

Unser Projektlebenszyklus für Penetrationstests:

01

Scope-Übersicht

02

Technische Übersicht

03

Bereichsvalidierung

04

Bedrohungsmodell

05

Sicherheitsbewertung

06

Sicherheitsbewertung

Scope-Übersicht

Während unseres ersten Treffens und nachdem wir die Anforderungen des Unternehmens verstanden hatten, definierten wir den Anwendungsbereich, der sich unter den folgenden URLs befindet, als den Umfang des Projekts:

Unsere Tests wurden im Februar 2024 durchgeführt.

Lass es nicht zu spät sein!

Starten Sie Ihr Audit mit Sayfer

Bereichsvalidierung

Wir begannen damit, sicherzustellen, dass der Umfang, der uns vom Kunden vorgegeben wurde, technisch logisch war.
Die Entscheidung, welcher Umfang für ein bestimmtes System der richtige ist, ist Teil der ersten Diskussion. Der richtige Umfang ist der Schlüssel zur Erzielung des größtmöglichen Geschäftswerts aus der Forschung.

Bedrohungsmodell

Während unserer Kickoff-Meetings mit dem Kunden haben wir die wichtigsten Vorteile der Anwendung definiert.
Wir haben festgestellt, dass die größte aktuelle Bedrohung für das System die Fähigkeit böswilliger Akteure ist, Gelder von anderen Benutzern zu stehlen.

Lass es nicht zu spät sein!

Starten Sie Ihr Audit mit Sayfer

Methodik der Sicherheitsbewertung

Sayfer verwendet OWASP WSTG als unser technischer Standard bei der Überprüfung von Webanwendungen. Nachdem wir uns ein gründliches Verständnis des Systems angeeignet hatten, entschieden wir, welche OWASP-Tests erforderlich sind, um das System zu evaluieren.

Sicherheitsbewertung

Nachdem wir den Umfang verstanden und definiert, eine Bedrohungsmodellierung durchgeführt und die richtigen Tests bewertet hatten, die erforderlich waren, um die Anwendung vollständig auf Sicherheitslücken zu überprüfen, führten wir unsere Sicherheitsbewertung durch.

Beschreibung der Problemtabelle

Titel der Ausgabe

ID SAGEN-??: Eine ID zur einfachen Kommunikation zu jeder Schwachstelle
Status Offen/Behoben/Bestätigt
Risiko Stellt den Risikofaktor des Problems dar. Weitere Beschreibungen finden Sie im Schwachstellen nach Risiko .
Auswirkungen auf das Geschäft Das Hauptrisiko der Sicherheitslücke liegt auf Unternehmensebene.
Standort Die URL oder die Datei, in der dieses Problem erkannt wurde. Probleme ohne Standort haben keinen bestimmten Standort und beziehen sich auf das Produkt als Ganzes.

Beschreibung

Hier geben wir eine kurze Beschreibung des Problems und seiner Entstehung, die Schritte, die wir unternommen haben, um es zu finden oder auszunutzen, zusammen mit einem Konzeptnachweis (falls vorhanden) und wie sich dieses Problem auf das Produkt oder seine Benutzer auswirken kann.

Mitigation

Vorgeschlagene Lösungsoptionen für dieses Problem und Links zu empfohlenen Websites zur weiteren Behebung.

Sicherheitsbewertung

Die folgenden Tests wurden während der Prüfung des Systems durchgeführt

Informationsbeschaffung

Informationsbeschaffung Testname
WSTG-INFO-01 Führen Sie Search Engine Discovery Reconnaissance für Informationslecks durch
WSTG-INFO-02 Fingerabdruck-Webserver
WSTG-INFO-03 Überprüfen Sie Webserver-Metadateien auf Informationslecks
WSTG-INFO-04 Anwendungen auf dem Webserver auflisten
WSTG-INFO-05 Überprüfen Sie den Inhalt der Webseite auf Informationslecks
WSTG-INFO-06 Identifizieren Sie Einstiegspunkte für Anwendungen
WSTG-INFO-07 Ordnen Sie Ausführungspfade durch die Anwendung zu
WSTG-INFO-08 Framework für Fingerabdruck-Webanwendungen
WSTG-INFO-09 Fingerabdruck-Webanwendung
WSTG-INFO-10 Kartenanwendungsarchitektur

Konfigurations- und Deployment-Management-Tests

Konfigurations- und Deployment-Management-Tests Testname
WSTG-CONF-01 Konfiguration der Netzwerkinfrastruktur testen
WSTG-CONF-02 Testen Sie die Konfiguration der Anwendungsplattform
WSTG-CONF-03 Testen Sie die Behandlung von Dateierweiterungen für vertrauliche Informationen
WSTG-CONF-04 Überprüfen Sie alte Sicherungskopien und nicht referenzierte Dateien auf sensible Informationen
WSTG-CONF-05 Zählen Sie Infrastruktur- und Anwendungsverwaltungsschnittstellen auf
WSTG-CONF-06 HTTP-Methoden testen
WSTG-CONF-07 Testen Sie HTTP Strict Transport Security
WSTG-CONF-08 Testen Sie die domänenübergreifende RIA-Richtlinie
WSTG-CONF-09 Dateiberechtigung testen
WSTG-CONF-10 Test auf Subdomain-Übernahme
WSTG-CONF-11 Cloud-Speicher testen

Identitätsmanagement-Tests

Identitätsmanagement-Tests Testname
WSTG-IDNT-01 Rollendefinitionen testen
WSTG-IDNT-02 Registrierungsprozess für Testbenutzer
WSTG-IDNT-03 Testkonto-Bereitstellungsprozess
WSTG-IDNT-04 Testen auf Kontoaufzählung und erratbares Benutzerkonto
WSTG-IDNT-05 Test auf schwache oder nicht erzwungene Richtlinie für Benutzernamen

Authentifizierungstests

Authentifizierungstests Testname
WSTG-ATHN-01 Testen auf Anmeldeinformationen, die über einen verschlüsselten Kanal transportiert werden
WSTG-ATHN-02 Testen auf Standardanmeldeinformationen
WSTG-ATHN-03 Prüfung auf schwachen Sperrmechanismus
WSTG-ATHN-04 Testen auf Umgehung des Authentifizierungsschemas
WSTG-ATHN-05 Testen auf anfälliges Passwort merken
WSTG-ATHN-06 Testen auf Browser-Cache-Schwachstellen
WSTG-ATHN-07 Testen auf Richtlinie für schwache Kennwörter
WSTG-ATHN-08 Testen auf Schwache Sicherheitsfrage Antwort
WSTG-ATHN-09 Testen auf schwache Funktionen zum Ändern oder Zurücksetzen von Passwörtern
WSTG-ATHN-10 Testen auf schwächere Authentifizierung im alternativen Kanal

Autorisierungstests

Autorisierungstests Testname
WSTG-ATHZ-01 Testen von Directory Traversal File Include
WSTG-ATHZ-02 Testen auf Umgehung des Autorisierungsschemas
WSTG-ATHZ-03 Testen auf Rechteausweitung
WSTG-ATHZ-04 Testen auf unsichere direkte Objektreferenzen

Testen der Sitzungsverwaltung

Testen der Sitzungsverwaltung Testname
WSTG-SESS-01 Testen für das Sitzungsverwaltungsschema
WSTG-SESS-02 Testen auf Cookie-Attribute
WSTG-SESS-03 Testen auf Sitzungsfixierung
WSTG-SESS-04 Testen auf exponierte Sitzungsvariablen
WSTG-SESS-05 Prüfung auf Cross-Site-Request-Forgery
WSTG-SESS-06 Testen der Abmeldefunktion
WSTG-SESS-07 Zeitüberschreitung der Testsitzung
WSTG-SESS-08 Testen auf Session-Puzzling
WSTG-SESS-09 Testen auf Session Hijacking

Testen der Datenvalidierung

Testen der Datenvalidierung Testname
WSTG-INPV-01 Testen auf reflektiertes Cross-Site-Scripting
WSTG-INPV-02 Testen auf Stored Cross Site Scripting
WSTG-INPV-03 Testen auf HTTP-Verb-Manipulation
WSTG-INPV-04 Testen auf HTTP-Parameterverschmutzung
WSTG-INPV-05 Testen auf SQL-Injection
WSTG-INPV-06 Testen auf LDAP-Injection
WSTG-INPV-07 Testen auf XML-Injection
WSTG-INPV-08 Prüfung auf SSI-Einspritzung
WSTG-INPV-09 Testen auf XPath-Injektion
WSTG-INPV-10 Testen auf IMAP-SMTP-Injection
WSTG-INPV-11 Testen auf Code-Injection
WSTG-INPV-12 Testen auf Befehlsinjektion
WSTG-INPV-13 Testen auf Format-String-Injection
WSTG-INPV-14 Testen auf inkubierte Schwachstellen
WSTG-INPV-15 Testen auf HTTP-Splitting-Schmuggel
WSTG-INPV-16 Testen auf eingehende HTTP-Anforderungen
WSTG-INPV-17 Testen auf Host-Header-Injektion
WSTG-INPV-18 Testen auf serverseitige Vorlageninjektion
WSTG-INPV-19 Testen auf serverseitige Anforderungsfälschung

Fehlerbehandlung

Fehlerbehandlung Testname
WSTG-ERRH-01 Testen auf unsachgemäße Fehlerbehandlung
WSTG-ERRH-02 Testen auf Stack-Traces

Cryptography

Cryptography Testname
WSTG-CRYP-01 Testen auf schwache Transportschichtsicherheit
WSTG-CRYP-02 Testen für Padding Oracle
WSTG-CRYP-03 Prüfung auf sensible Informationen, die über unverschlüsselte Kanäle gesendet werden
WSTG-CRYP-04 Testen auf schwache Verschlüsselung

Testen der Geschäftslogik

Testen der Geschäftslogik Testname
WSTG-BUSL-01 Testen Sie die Datenvalidierung der Geschäftslogik
WSTG-BUSL-02 Testen Sie die Fähigkeit, Anfragen zu fälschen
WSTG-BUSL-03 Integritätsprüfungen testen
WSTG-BUSL-04 Testen Sie das Prozesstiming
WSTG-BUSL-05 Testen Sie, wie oft eine Funktion verwendet werden kann
WSTG-BUSL-06 Prüfung auf Umgehung von Arbeitsabläufen
WSTG-BUSL-07 Testen Sie Abwehrmaßnahmen gegen Anwendungsmissbrauch
WSTG-BUSL-08 Test-Upload von unerwarteten Dateitypen
WSTG-BUSL-09 Test-Upload schädlicher Dateien

Clientseitiges Testen

Clientseitiges Testen Testname
WSTG-CLNT-01 Testen auf DOM-basiertes Cross-Site-Scripting
WSTG-CLNT-02 Testen auf JavaScript-Ausführung
WSTG-CLNT-03 Testen auf HTML-Injection
WSTG-CLNT-04 Testen der clientseitigen URL-Umleitung
WSTG-CLNT-05 Testen auf CSS-Injektion
WSTG-CLNT-06 Testen auf clientseitige Ressourcenmanipulation
WSTG-CLNT-07 Testen Sie die ursprungsübergreifende Ressourcenfreigabe
WSTG-CLNT-08 Testen auf Cross-Site-Flashing
WSTG-CLNT-09 Test auf Clickjacking
WSTG-CLNT-10 Testen von WebSockets
WSTG-CLNT-11 Testen Sie Web-Messaging
WSTG-CLNT-12 Testen des Browserspeichers
WSTG-CLNT-13 Testen auf Cross-Site-Skripteinbindung

API-Tests

API-Tests Testname
WSTG-APIT-01 Testen von GraphQL

Audit bei Sayfer bestellen

    Diese Seite wird von reCAPTCHA und Google geschützt. Datenschutzbestimmungen und Nutzungsbedingungen .

    Ergebnisse der Sicherheitsbewertung

    Keine Warnung beim Signieren beliebiger Daten

    ID SAGEN-01
    Status Behoben
    Risiko Niedrig
    Auswirkungen auf das Geschäft Erhöhtes Risiko erfolgreicher Phishing-Angriffe auf Benutzer.
    Standort – index.ts:24, 26

    Beschreibung

    Bei unserer Bewertung haben wir festgestellt, dass das Signieren beliebiger Daten keine zusätzliche Warnung auslöst, wie im Screenshot unten zu sehen ist.

    Standardmäßig fügt Metamask eine Warnung hinzu, wenn ein Benutzer aufgefordert wird, beliebige Daten zu signieren, um Signaturdiebstahl zu verhindern. Während solche Betrugsfälle hauptsächlich auf EVM-basierten Ketten beobachtet werden, könnten ähnliche Betrugsfälle durchaus auch auf anderen Ketten durchgeführt werden.

    Mitigation

    Zeigt eine Warnung ähnlich der nativen Metamask an. Vielleicht so etwas wie „Achtung – fahren Sie nur fort, wenn Sie die folgende Meldung verstehen!“.

    Für weitere Informationen, siehe werden auf dieser Seite erläutert.

     

    Unvollständige Unit-Test-Abdeckung

    ID SAGEN-02
    Status Behoben
    Risiko Informational
    Auswirkungen auf das Geschäft Dies ist eine Best-Practice-Erkenntnis: Je geringer die Unit-Test-Abdeckung, desto höher die Wahrscheinlichkeit eines potenziell unerwarteten Verhaltens der Software im Einsatz. In unserem Fall wird lediglich eine der verfügbaren Funktionen nicht durch Unit-Tests abgedeckt.
    Standort – index.test.ts

    Beschreibung

    Der Snap verarbeitet mehrere Funktionen in seinem Haupt-OnRpcRequestHandler. Alle außer setMetadata werden durch die Unit-Tests in index.test.ts abgedeckt.

    Mitigation

    Fügen Sie einen Unit-Test hinzu, der setMetadata abdeckt.

    Weitere Informationen dazu finden Sie in unserem Blog

    Sayfers Blog konzentriert sich auf Web3, Sicherheit und Schwachstellenforschung. Wir glauben, dass es in der Cybersicherheitsbranche entscheidend ist, über die neuesten Trends und Fortschritte auf dem Laufenden zu bleiben. Derzeit erforscht unser Team erfahrener Forscher gerne hochmoderne Blockchain- und Web3-Technologien.
    Kontakt aufnehmen

    Im Kontakt bleiben

    Telefonnummer
    Standort
    Tel Aviv, Israel
    Boten:
    Bitte zögern Sie nicht, uns zu kontaktieren, wir antworten gerne!

      Diese Seite wird von reCAPTCHA und Google geschützt. Datenschutzbestimmungen und Nutzungsbedingungen .
      Zum Inhalt