Kategorien
JavaScript Security

Sicherheit von externen Links

In dem Zusammenhang der Sicherheit von externen Links können die Attribute „noopener“ und „noreferrer“ verwendet werden, um bestimmte Sicherheitsrisiken zu minimieren. Hier ist eine Erläuterung, wie diese Attribute eingesetzt werden können:

  1. noreferrer:
    Das noreferrer-Attribut wird verwendet, um zu verhindern, dass der Referrer-Header an die verlinkte Website gesendet wird. Der Referrer-Header enthält normalerweise die URL der Seite, von der der Benutzer kommt. Durch das Entfernen dieser Information wird verhindert, dass die verlinkte Website den Ursprung des Benutzerverkehrs nachverfolgen kann. Dies kann hilfreich sein, um die Privatsphäre der Benutzer zu schützen und potenziell sensible Informationen zu verbergen.

Beispiel:

<a href="https://example.com" rel="noreferrer">Externer Link</a>
  1. noopener:
    Das noopener-Attribut wird verwendet, um das Öffnen des externen Links in einem neuen Tab oder Fenster zu isolieren und zu verhindern, dass das geöffnete Fenster auf den ursprünglichen Tab oder das Fenster zugreifen kann. Dies hilft, sogenannte Tabnabbing-Angriffe zu verhindern, bei denen die verlinkte Website möglicherweise den Inhalt des ursprünglichen Tabs ändern oder betrügerische Aktionen durchführen kann.

Beispiel:

<a href="https://example.com" target="_blank" rel="noopener">Externer Link</a>

Es ist wichtig zu beachten, dass beide Attribute (noreferrer und noopener) zusammen verwendet werden können, um sowohl die Privatsphäre des Benutzers zu schützen als auch potenzielle Sicherheitslücken zu schließen.

Beispiel:

<a href="https://example.com" target="_blank" rel="noreferrer noopener">Externer Link</a>

Durch die Verwendung dieser Attribute können Website-Betreiber dazu beitragen, die Sicherheit und Privatsphäre der Benutzer zu verbessern, insbesondere wenn es um externe Links geht, die zu nicht vertrauenswürdigen oder potenziell schädlichen Websites führen können.

Verlauf eines Tabnabbing-Angriffes

Tab-Navigation-Phishing-Angriffe zielen darauf ab, die Benutzer durch betrügerische Inhalte oder Aktionen zu täuschen, wenn sie zwischen verschiedenen geöffneten Tabs oder Fenstern in ihrem Webbrowser wechseln. Diese Angriffe können auf verschiedene Arten durchgeführt werden, aber hier ist ein grundlegendes Szenario, um den Ablauf zu erklären:

Ein Tab im Vordergrund wird von einer vertrauenswürdigen Anwendung geöffnet. Dieser Tab zeigt eine vom Angreifer kontrollierte Website an und verwendet window.opener.location.assign(), um den Hintergrundtab durch ein bösartiges Dokument zu ersetzen.
Natürlich ändert sich durch diese Aktion auch die Adressleiste des Hintergrundtabs – der Angreifer hofft jedoch, dass das Opfer weniger aufmerksam ist und blind sein Passwort oder andere sensible Informationen eingibt, wenn dieser zu dem Tab zurückkehrt.