Könnten wir webbasierte Krypto-Geldbörsen, die keine Plugins sind, als sicher betrachten?


8

Ich kenne eine Reihe von Krypto-Geldbörsen, die in IFRAMEs und ähnlichen Technologien direkt in einem Webbrowser funktionieren, ohne dass Plugins installiert werden müssen:

Aber sind sie vor einem Phishing-Dapp-Angriff geschützt? Falls Dapp Sie austricksen und die tatsächliche Menge an ETH-Sendungen oder auf andere Weise verbergen möchte, ändern Sie die Benutzeroberfläche der Brieftasche in einem Webbrowser?

Antworten:


6

Speicherisolation

Erweiterungen:

Auf Browsererweiterungen basierende Wallets wie MetaMask verwenden isolierten lokalen Speicher, auf den nur die Erweiterung zugreifen kann, ohne dass eine Website darauf zugreifen kann. Die Erweiterung kann Daten an die Website senden, oder die Website kann Daten anfordern, indem Nachrichtenübermittlungsanforderungen ausgeführt werden. Private Schlüssel werden im lokalen Sandbox-Speicher gespeichert, und von der Website werden Anforderungen an die Nebenstelle zum Signieren von Nachrichten gestellt. Die Erweiterung gibt die signierte Nachricht an die Website zurück.

Webbasiert:

Browser-basierte Krypto-Wallets wie Authereum , Portis , Torus und FortmaticVerwenden Sie den lokalen Sandbox-Speicher auch über einen Iframe. Im Gegensatz zu Cookies ist der lokale Speicher durch die Domain streng eingeschränkt. Wenn also eine Website einen Wert im lokalen Speicher festlegt, kann nur diese Website den Wert lesen. Daher kann alice.com den lokalen Speicher von bob.com nicht lesen. Um sensible Speicherwerte für den lokalen Speicher zu speichern, werden sie unter einer kontrollierten Unterdomäne festgelegt, z. B. x.wallet.com, da keine andere Website den lokalen Speicher lesen kann. Diese Subdomain enthält keine Benutzeroberfläche und ist nur für die iframed-Kommunikation gedacht. Die Web3-Anbieter dieser Brieftaschen laden einen versteckten Iframe auf die Website, der zur Kommunikation mit der Subdomain verwendet wird, die den Sandbox-Speicher enthält. So stellt beispielsweise das Authereum-SDK unter Verwendung von Authereum auf Alice auf dapp.com eine Verbindung zu x.authereum.org über einen Iframe her und sendet postMessageAnfragen an den Iframe von der Website, Nachrichten zu signieren. Dies verhindert, dass die Website vertrauliche Daten wie private Schlüssel liest, und ermöglicht der Website nur das Senden von Zeichenanforderungen, ähnlich wie bei Wallet-Erweiterungen.

Nicht alle webbasierten Brieftaschen verfügen über einen lokalen Sandbox-Speicher. Sie sollten diese daher vermeiden, da jede Website die gespeicherten vertraulichen Daten lesen kann. Die hier genannten Brieftaschen sind jedoch in dieser Hinsicht sicher.

Schutz vor Phishing-Angriffen

Phishing-Angriffe treten auf, wenn ein Benutzer zu der Annahme verleitet wird, dass er eine bekannte Website verwendet, stattdessen jedoch eine schädliche Website verwendet, die der legitimen Website ähnelt. Authereum, Portis und Torus sind auf Benutzernamen und Kennwort basierende Anmeldelösungen, sodass sie das Anmeldeauthentifizierungsfenster in einem neuen Popup oder einer neuen Umleitung öffnen. Auf diese Weise kann der Benutzer die Domain der Website auf ihre Legitimität überprüfen. Google Auth führt dieses Muster ebenfalls aus. Neben dem Öffnen eines neuen Fensters bei der Anmeldung, das der Benutzer überprüfen kann, öffnen einige webbasierte Wallet-Anbieter auch ein neues Fenster, wenn sie Nachrichten und Transaktionen signieren, um die Anforderung zu überprüfen.

Click Jacking tritt auf, wenn eine Website über einen Iframe auf der Website geladen wird und die Website eine andere Benutzeroberfläche über der iframed-Website mit Zeigerereignissen überlagert und den Benutzer dazu verleitet, Informationen einzugeben oder auf eine Schaltfläche auf der überlagerten Benutzeroberfläche zu klicken aber sie klicken tatsächlich auf eine Schaltfläche auf der iframed-Website. Dies ist gefährlich, da die Aktion auf der iframed-Website so etwas wie das Senden von Geldern an die Brieftasche des Angreifers sein kann.

Um zu verhindern, dass die Wallet-Site überhaupt in einen Iframe geladen wird, muss die Wallet-Site X-Frame-Options: DENYlediglich den HTTP-Header festlegen. Dies tun Authereum und Portis, damit sie vor diesen Angriffen geschützt sind.

Vertrauenswürdige Inhaltsskripte

Es ist einfach, den Quellcode der Browsererweiterung mithilfe von Quell-Viewer-Plugins zu überprüfen. Um jedoch zu verhindern, dass eine Erweiterung automatisch mit schädlichem Code aktualisiert wird, kann ein Benutzer die Erweiterung manuell installieren, um sie auf eine Version zu sperren, indem er den Quellcode von github abruft, falls dies der Fall ist Open Source oder vom Herunterladen der Quellenskripte.

Da bei webbasierten Wallets der Eigentümer der Wallet-Site die Inhaltsskripte steuert, müssen Sie darauf vertrauen, dass die Content-Skripte, die die vertraulichen Schlüsseldaten verwalten, nicht böswillig sind, da der Eigentümer der Wallet-Site oder ein Angreifer, der Zugriff auf die Wallet-Site erhalten hat, dies tun kann Aktualisieren Sie den Quellcode der Website jederzeit mit fehlerhaftem Code.

Um Inhaltsskripten zu vertrauen, kann die Wallet-Site auf IPFS gehostet werden, da die Webadresse der Inhalts-Hash ist. Sie können also darauf vertrauen, dass sie sich nicht ändert. Authereum ist eine Brieftasche, die dies bereits bietet, indem sie authereum.eth besucht oder die contenthashEigenschaft ihres ENS-Namens auflöst .

Bequemlichkeit

Webbasierte Brieftaschen sind portabel, da Sie dieselbe Brieftasche auf jedem Betriebssystem, Browser, Desktop oder Handy verwenden können, während Sie mit der Browsererweiterung an der Umgebung festhalten, aus der Sie die Erweiterung verwenden. Erweiterungen sind äußerst unpraktisch, bieten jedoch mehr Garantien für die Speicherisolation. Bei vertragsbasierten Konten können jedoch mehr Sicherheitsfunktionen auf der Brieftaschenseite angeboten werden.

Vertragsbasierte Konten

MetaMask, Portis, Torus und Fortmatic basieren alle auf externen Konten (EOA). Dies bedeutet, dass Gelder mit einem einzigen Schlüssel gespeichert und verwaltet werden. Wenn ein Angreifer Zugriff auf den Signaturschlüssel erhält, hat er auch Zugriff auf die unter diesem Schlüssel gespeicherten Gelder.

Vertragsbasierte Konten (CBA) wie Authereum bieten mehr Sicherheitsgarantien, da jeder Kontovertrag über mehrere Schlüssel zur Verwaltung verfügen kann und jeder Schlüssel möglicherweise nur über begrenzte Berechtigungen für die von ihm ausgeführten Aktionen verfügt.

Vorteile vertraglicher Konten:

  • Gelder werden nicht auf einem einzigen Schlüssel gespeichert
  • Sie können die Verwaltungsschlüssel durchlaufen
  • Kontowiederherstellung, falls Ihre Verwaltungsschlüssel gestohlen werden oder verloren gehen
  • Limits übertragen und zurückziehen
  • Zugriffssteuerungen für Schlüssel, dh Sie können einschränken, welche Methoden ein Schlüssel aufrufen kann

5

Haftungsausschluss: Ich bin Mitbegründer von Authereum, einer der in der Frage aufgeführten Geldbörsen.

Um Ihre ursprüngliche Frage zu beantworten: Ja, viele webbasierte Krypto-Geldbörsen sind sicher. Wie Sie bereits erwähnt haben, verwenden einige Brieftaschen Iframes, um den Benutzer vor einer schädlichen Anwendung zu schützen. Bei dieser Architektur werden die privaten Schlüssel eines Benutzers niemals einem Dapp im Klartext ausgesetzt.


Es ist wahr, dass ein böswilliger Dapp versuchen kann, einen Benutzer dazu zu bringen, bösartige Daten zu signieren. Es gibt zusätzliche Maßnahmen, die von den webbasierten Krypto-Wallets ergriffen werden können.

Wie bei @ tom-teman erwähnt, kann ein Benutzer die Legitimität eines Logins überprüfen, indem er die URL eines neuen Fensters überprüft.

Authereum verfügt über zusätzliche Schutzmaßnahmen, um die Sicherheit der Benutzer zu gewährleisten. Einige davon sind aufgrund der vertragsbasierten Architektur der Brieftasche eines Benutzers möglich. Das Folgende ist eine nicht vollständige Liste der Authereum-Sicherheitsfunktionen:

  1. Setzen Sie private Schlüssel niemals einem Dapp aus.
  2. Senden Sie keine Transaktionen mit einem Wert, der größer ist als das täglich zulässige Limit eines Benutzers. Wenn ein Dapp versucht, mehr auszugeben, als ein Benutzer angegeben hat, schlägt die Transaktion fehl.
  3. Legen Sie dapp-spezifische Grenzwerte für Benutzer fest (z. B. tägliches Transaktionswertlimit, begrenzte Anzahl von Transaktionen auf einem einzelnen dapp usw.).
  4. Blacklist-Anwendungen, die gemeldet wurden oder böswillig handeln.
  5. Optional ist eine 2-Faktor-Authentifizierung pro Transaktion erforderlich.

Hinweis: Authereum ist vollständig nicht verwahrungspflichtig und zensurresistent. Die oben genannten Funktionen sind zwar Teil des Authereum-Systems, sie sind jedoch nicht erforderlich und können von Authereum-Benutzern umgangen werden, wenn sie das Gefühl haben, zensiert zu werden.

Sie können zwischen diesen Web-basierten Krypto Wallets einige der Differenz Besuche hier .


3

Portis zeigt die Anmeldeseite in einem neuen Fenster an, in dem Benutzer die URL überprüfen können. Keine narrensichere Lösung, aber ein guter Weg, um dieses Problem zu bekämpfen.

Nachfolgende Transaktionen werden in einem Iframe signiert, der gefälscht werden kann. Es wird jedoch davon ausgegangen, dass sich Benutzer bei vertrauenswürdigen Anwendungen anmelden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.