Testmethode für Krypto-Austausch und Crypto-Wallets


Crypto-Wallets und Crypto-Exchange können unter Hacker-Angriffen (oder unter der Dummheit von Benutzern, Entwicklern sowie Problemen mit der Logik des Systems) leiden. Das Testen könnte dabei helfen, Schwachstellen und Probleme in der Logik der Anwendung zu identifizieren. Ich habe jedoch keine formalisierte Methodik gefunden, in der geschrieben wird, worauf beim Testen geachtet werden sollte. Nachdem ich ein Dutzend Börsen und Brieftaschen getestet hatte, beschloss ich, das Verfahren zum Testen zu formalisieren. Interessierte sind herzlich willkommen bei cat.

Beim Testen von Börsen und Brieftaschen machte ich auf ihre Funktionsweise aufmerksam und formulierte die folgenden Aspekte ihrer Tests in Form einer kleinen Technik, jedoch in der richtigen Reihenfolge.
Zunächst müssen Sie verstehen, was für den Kunden wichtig ist? Für den Kunden ist es wichtig, dass Geld aus dem Umtausch oder der Brieftasche und die Aufbewahrung personenbezogener Daten der Benutzer nicht gestohlen werden. Und da tatsächlich jede Börse oder Brieftasche zum größten Teil eine Website oder Webanwendung ist, möchte der Kunde eine Simulation eines Hackerangriffs durchführen, d. H. Black-Box-Tests (siehe Tabelle 1), der Vollständigkeit halber werden jedoch häufiger Gray-Box-Tests gewählt (siehe Tabelle 1).
Um die Logik der Arbeit zu testen, benötigen Sie eine Test-Kryptowährung. Und da jede Börse ihre eigenen Beschränkungen für die Ein- / Auszahlung von Geldern hat, sollte der Betrag der Test-Kryptowährung mindestens dem für die Auszahlung zulässigen Mindestbetrag entsprechen und ausreichen, um mindestens 5 Kauf-Verkaufs- und / oder Input-Output-Transaktionen durchzuführen.

Tabelle 1. Testarten in Abhängigkeit von den bereitgestellten Informationen.
TypBeschreibung
Black Box
  • Die Prüfung wird ohne Einbeziehung des technischen Teams des Kunden durchgeführt
Graue Box
  • Kontakt mit dem technischen Team des Kunden
  • Hinzufügen von Konten, die in der „weißen Liste“ getestet werden
  • Der Kunde stellt Geld (Münzen) zum Testen zur Verfügung

Weiße Box
  • volle Kundenbetreuung
  • Bereitstellung des Anwendungsquellcodes
  • Bereitstellung von Protokollen
  • Zugriff auf verschiedene Berechtigungen gewähren
  • Bereitstellung von Geldern (Münzen) in der für die Prüfung erforderlichen Höhe



Bei Hacken testen wir Schwachstellen in der folgenden Reihenfolge:
  1. Studieren öffentlich zugänglicher Informationen.
  2. Überprüfung durch automatisierte Tools.
  3. Im manuellen Modus prüfen.
  4. Verfassen von Berichten.


Funktionen zum Testen von Krypto-Börsen und Krypto-Geldbörsen

1. Testen der KYC-Überprüfung - Dies ist eine Anforderung der meisten Krypto-Börsen und ICOs.

In diesem Abschnitt werden das Herunterladen von Testdateien (Fotos oder Screenshots von Dokumenten zum Bestätigen der Identität einer Person) erläutert.

  • Überprüfen der Fähigkeit, ausführbare Dateien auf den Systemserver herunterzuladen
  • Überprüfen Sie die Möglichkeit des Diebstahls gescannter Dokumente - Brute-Force-Dateinamen und -Verzeichnisse.
  • Überprüfen des nicht autorisierten Zugriffs auf das Server-Dateisystem.

2. Prüfung von Input-Output-Fonds

  • Überprüfen der Richtigkeit der Rundungsnummern beim Ein- / Auszahlen von Geldern.
  • Überprüfen der Ersetzung der Brieftaschenadresse beim Ein- / Auszahlen von Geldern (der einfachste Fehler besteht darin, die Brieftasche des Absenders und Empfängers nicht zu überprüfen, ist jedoch sehr kritisch).
  • Überprüfung der Arbeitslogik beim Ein- und Auszahlen von Geldern.
  • Überprüfen der Umgehung der Bestätigung des Kauf-Verkaufs-Vorgangs (Zwei-Faktor-Authentifizierungscode, OTP, spezielles Passwort).
  • Überprüfen Sie die Sicherheitslücken beim Zurückziehen der Race-Bedingungen.
  • Überprüfung der Möglichkeit, die Grenzen der Eingabe / Ausgabe von Mitteln zu überschreiten.

3. Testen des Kaufs und Verkaufs von Kryptowährungen (gilt nur für Börsen)

  • Überprüfung der Richtigkeit der Rundungszahlen beim Kauf und Verkauf von Geldern.
  • Überprüfung der Ersetzung der Adresse während des Kaufs und Verkaufs.
  • Überprüfung der Arbeitslogik beim Kauf und Verkauf von Geldern.
  • Überprüfung der Möglichkeit der Ersetzung oder Änderung eines Verkaufsauftrags.
  • Überprüfen der Umgehung der Bestätigung des Kauf-Verkaufs-Vorgangs (Zwei-Faktor-Authentifizierungscode, OTP, spezielles Passwort).
  • Überprüfung der Möglichkeit der Race-Bedingung bei der Durchführung von Kauf- / Verkaufsvorgängen.
  • Überprüfen der Möglichkeit, Brieftaschenadressen zu fälschen.


Testen von Webparts

4. Testen des Registrierungsprozesses

  • Überprüfen der Filterung eingehender Parameter während der Registrierung.
  • Überprüfung der Benutzerbestätigungsfunktion.
  • Überprüfen der Fähigkeit, über Benutzernamen, E-Mail-Adressen und Telefonnummern zu iterieren.
  • Überprüfung der Möglichkeit, die Captcha-Prüfung bei der Registrierung zu umgehen.
  • Überprüfen von Schwachstellen und Logik beim Zurücksetzen von Kennwörtern und Ändern von Daten.

5. Testen des Authentifizierungsprozesses

  • Authentifizierungsfilterprüfungen.
  • Überprüfung der Möglichkeit, einen Benutzernamen und ein Passwort für ein Konto im Wörterbuch auszuwählen (Schutz vor Brute Force).
  • Bypass prüfen Captcha prüfen.
  • Überprüfen des Zwei-Faktor-Authentifizierungs-Bypasses
  • Überprüfen der Fähigkeit zum Deaktivieren der Zwei-Faktor-Authentifizierung.
  • Überprüfen auf Datenlecks während der Authentifizierung.

6. Testen der Frameworks und Technologien, die bei der Entwicklung des Austauschs verwendet wurden

Beim Testen auf Schwachstellen müssen die Technologien und Techniken (Frameworks) ermittelt werden, mit denen der Austausch entwickelt wurde. Wenn Sie also die Technologie verstehen, mit der die Brieftasche oder der Austausch entwickelt wurde, können Sie einen möglichen Exploit oder Schwachstellen finden, die bereits in Open Source entdeckt wurden. Es muss überprüft werden, ob alle Bibliotheken, Frameworks und Software von Drittanbietern zum Zeitpunkt der Veröffentlichung oder der korrekten Konfiguration von Sicherheitssystemen (z. B. CloudFlare) keine öffentlich verfügbaren Sicherheitslücken aufweisen.

7. OWASP-Test

Die OWASP-Methodik enthält eine Checkliste, in der alle möglichen Sicherheitsrisiken für eine Website untersucht werden. Auf diese Weise können Sie mögliche Schwachstellen identifizieren (viel mehr hängt von der Direktheit der Hände der Erfahrung und den Fähigkeiten des Testers ab).

Am häufigsten gefunden:

  • Überprüfen der Filterparameter am Backend, da diese häufig nur am Frontend überprüft werden
  • Das Fehlen von HTTP-Anforderungsflags ist nicht kritisch, kann jedoch zum Zwischenspeichern von Kennwörtern oder zur Möglichkeit eines Clickjacking-Angriffs führen
  • Fehlende Sitzungsverwaltung: Dies kann dazu führen, dass bei Diebstahl eines Cookies oder direktem Zugriff eines Angreifers auf einen Computer oder ein Telefon Vorgänge eines gültigen Benutzers ausgeführt werden können
  • Anfällige Versionen offener Dienste
  • Verwendung von JSON Web Tokens (JWT) mit schwachen Verschlüsselungsalgorithmen

8. Testen der API

  • Überprüfen von API-Schwachstellen durch Schreiben eines Programmmoduls für die Interaktion mit der API und Überprüfen möglicher logischer Schwachstellen auf der Clientseite und der API.
  • Verwenden Sie Swagger, um die Struktur der Anforderung anzuzeigen. Sie müssen wissen, was an den Server gesendet werden muss, und daher die API auf Sicherheitslücken überprüfen.

9. Testen von WebSockets

Software, die üblicherweise zum Testen verwendet wird:

  • Burpsuite
  • Acunetix
  • Zenmap
  • Owasp zap
  • Sqlmap

Und andere Tools nach Bedarf.

Fazit:

In diesem Artikel habe ich versucht, die Methodik zum Testen von Börsen zu formalisieren und zu strukturieren, die ich in mehr als 10 Fällen zum Testen von Börsen und Brieftaschen angewendet habe. Wir haben diese Methode als Hauptmethode für das Testen des Austauschs bei Hacken verwendet . Die Branche der Blockchain-Technologien, dezentralen Lösungen und Kryptowährungen ist heute auf dem Höhepunkt ihrer Popularität. FAQs und Handbücher sind viel schneller veraltet als das Mooresche Gesetz. Daher behauptet der Artikel nicht, ein außergewöhnliches Handbuch zum Testen des Krypto-Austauschs zu sein, sondern drückt nur die Erfahrungen aus, die bei wiederholten Wiederholungen dieses Verfahrens gesammelt wurden.

Source: https://habr.com/ru/post/de418879/


All Articles