Wissenswertes (und mögliche Gefahren) zu Skripten von Drittanbietern

Das Web ist voll von Skripten von Drittanbietern. Websites verwenden sie für Anzeigen, Analysen, Retargeting und mehr. Aber das ist nicht immer die ganze Geschichte. Mit Skripten können Sie Ihr Verhalten, Ihre Einstellungen und andere Informationen nachverfolgen.

Im Folgenden werden die potenziellen Risiken dieser Skripte von Drittanbietern untersucht.

Ein Skript eines Drittanbieters kann ein Datenschutzproblem darstellen

Skripte von Drittanbietern können Daten zurückmelden, die Ihnen nicht bekannt waren.

Die Dokumentation von Google , Facebook und Wikipedia zeigt uns direkt, dass diese Skripte Verhalten, besuchte Websites, Kaufhistorie, demografische Daten, IP-Adresse, Standort und mehr nachverfolgen können. Dieser Teil ist allgemein bekannt.

Einige der Facebook-Daten können laut Dokumentation nachverfolgt werden.

Während Standard-Tracking von Drittanbietern im Allgemeinen dokumentiert ist, gibt es möglicherweise Tracking, über das wir nichts wissen.

Zum Beispiel weisen laut einer Studie von Forschern aus Princeton und Stanford 42% der Top-Sites (Alexa Top 50 US) eindeutige Bezeichner im Klartext auf. Das bedeutet, dass Lauscher Dinge wie Ihre E-Mail-Adresse, Ihren Benutzernamen, Ihren vollständigen Namen, Ihre Privatadresse, Ihre Einkäufe, Ihren Standort, Ihren Verlauf, Ihre IP-Adresse und Ihre Einstellungen nachverfolgen können. Durch einfaches Klicken im Web können Sie jemandem unwissentlich erlauben, ein riesiges Profil mit Informationen über Sie aufzubauen. In derselben Studie ging es darum, wie die NSA einige Skripte von Google als Huckepack-Funktion einsetzte, um Personen zu verfolgen.

Hier ist ein Screenshot des offiziellen Implementierungsleitfadens eines Werbetreibenden, in dem der Code für die Übertragung von E-Mail-Adressen als unverschlüsselter Klartext explizit angegeben ist. Sie verschlüsseln jede Adresse nach Erhalt, sie wird jedoch weiterhin als einfacher Text gesendet, sodass der Schaden behoben ist.

Einführungsleitfaden zum Versenden von E-Mails im Klartext.

Ein Skript eines Drittanbieters kann ein Sicherheitsrisiko darstellen

Jedes Mal, wenn Sie das externe Skript einer anderen Person in Ihre Seite aufnehmen, besteht ein inhärentes Sicherheitsrisiko, da dieses Skript uneingeschränkten Zugriff auf das Front-End Ihrer Website hat.

Hier sind einige Beispiele dafür, was diese Skripte getan haben.

Verlust von Kreditkarteninformationen durch nicht bereinigte Daten

Der Sicherheitsforscher Randy Westergren stellte fest, dass viele wichtige Tracking-Skripte die Daten nicht ordnungsgemäß bereinigen (danke an meinen Kollegen Sam Ratcliffe, der mich auf diesen Artikel aufmerksam gemacht hat). Auf diese Weise können Angreifer jeden gewünschten Code eingeben, einschließlich des Codes, mit dem Kreditkartennummern gestohlen werden können.

Hier ist ein Screenshot von Schadcode, der in eine nicht bereinigte URL eingefügt wird:

Ein Angreifer hätte jeden Code einfügen können.

Was den obigen Screenshot besonders schwierig gemacht hat, ist, dass die Sicherheitsanfälligkeit nicht von diesem Skript selbst stammt. Stattdessen kam es von der unsicheren Implementierung eines weiteren Skripts eines Drittanbieters.

Ich habe auf einer betroffenen Site einen Test durchgeführt, um diese Sicherheitsanfälligkeit für mich selbst zu ermitteln (keine Sorge, ich habe keine echte Kartennummer verwendet). Es erwies sich als einfach, vertrauliche Informationen zu extrahieren:

Viele der Werbetreibenden haben die Sicherheitsanfälligkeit inzwischen behoben, aber das lässt die Frage offen, welche anderen Exploits es noch gibt.

Offenlegen privater Daten mit Nicht-HTTPS-Skripten

Viele Tracking-Skripte in freier Wildbahn verwenden regelmäßig nicht sicheres HTTP. Dadurch können Angreifer auf die Informationen von Personen zugreifen und Sicherheitswarnungen auslösen, die Benutzer auf sicheren Seiten abschrecken können.

Hier ist ein Beispiel für eine Implementierungsanleitung, die HTTP auf einer sicheren Warenkorbseite verwendet.

Quelle

Der Code kann sich ohne Ihr Wissen ändern

Bei Skripten von Drittanbietern besteht immer die Gefahr, dass sich der Code ändert oder verschwindet, ohne dass Sie es merken.

Mein Kollege Brent Kimmel hat mir von einer Technik namens Subresource Integrity erzählt , mit der Sie im Wesentlichen sicherstellen können, dass Sie das bekommen, was Sie erwarten. Zum Zeitpunkt des Schreibens hat es noch keine vollständige Browserunterstützung erhalten, aber halten Sie die Augen offen.

Denken Sie auch daran, dass diese Technik am besten funktioniert, wenn das ursprüngliche Skript eines Drittanbieters überhaupt nicht fehlerhaft ist.

Skripte von Drittanbietern laden häufig eigene Skripte von Drittanbietern

Wenn die Skripte von Drittanbietern, denen Sie vertrauen, Skripte enthalten, die Sie nicht erwarten, vervielfacht sich das Potenzial für alle bisher genannten Sicherheits- und Datenschutzrisiken.

Hier ist ein Beispiel eines Skripts eines Drittanbieters, das andere Skripts lädt:

Es ist immer eine Party, wenn Drehbücher ihre Freunde mitbringen.

Ein Skript eines Drittanbieters kann zu Leistungsproblemen führen

Langsameres Laden der Seite

Skripts von Drittanbietern führen häufig dazu, dass Seiten langsamer geladen werden. Beispielsweise wird die tatsächliche Site von Business Insider in etwa 1 Sekunde geladen, während Skripts von Drittanbietern den größten Teil der Ladezeit von 7 bis 15 Sekunden ausmachen. Der folgende Screenshot zeigt das Ende einer langen Reihe von Skripten von Drittanbietern, die in Hunderten nummeriert sind:

Business Insider scheint die meisten Skripts von Drittanbietern asynchron zu laden, sodass die wahrgenommene Ladezeit nicht annähernd 7 bis 15 Sekunden beträgt.

Was passiert, wenn Sie Skripte von Drittanbietern nicht asynchron laden können?

Einige Skripte lassen sich nicht asynchron laden

Wenn ein Skript verwendet document.writewird, verhindert dies, dass es asynchron geladen wird. Viele gängige Skripts von Drittanbietern verwenden Skripts von Drittanbietern document.write, sodass sie das Dokument blockieren und die Ladezeiten für Seiten unnötig verlängern.

Hier ist ein Beispiel:

Einige Skripte beeinträchtigen die Bildlaufleistung

Skripts von Drittanbietern führen häufig Vorgänge für das Bildlaufereignis aus. Hier ist ein Screenshot eines Skripts, das bei jeder Schriftrolle eine Schleife ausführt.

In diesem Beispiel wird eine Site zwar nicht heruntergefahren, es kann jedoch zu einer spürbaren Verlangsamung führen, wenn das Scroll-Ereignis von mehreren Skripten gehämmert wird.

Ein Skript eines Drittanbieters kann unbeabsichtigte Folgen haben

Skripts von Drittanbietern können alle möglichen unerwarteten Aktionen für Ihre Seiten ausführen. Hier sind ein paar.

Überschreiben Sie Ihre Variablen

Einige der am häufigsten verwendeten Skripts von Drittanbietern im Web verwenden unnötige globale Variablen, die die Variablen auf Ihrer Site überschreiben können.

Der folgende Screenshot zeigt ein Skript, das zwei globale Variablen verwendet, um eine Zufallszahl zu generieren (auch wenn dabei eine unnötige Typkonvertierung verwendet wird).

Mit eval unnötige Risiken schaffen

Da evalläuft alles, es ist ein Hauptziel für Angreifer. Hier ist ein Beispiel für ein Tracking-Skript mit einer Funktion, die evalfür jedes beliebige JavaScript verwendet wird. Interessanterweise wird die Funktion tatsächlich aufgerufen arbitraryJSCode.

Dies zerstört evalzwar nicht unbedingt alles, birgt jedoch Risiken, sodass es zumindest einen zweiten Blick wert ist, wenn Sie es sehen.

Ändern Sie Ihr Layout

Einige Tracking-Skripte fügen kleine Bilder und Iframes am unteren oder oberen Rand Ihrer Seite ein, wodurch eine Lücke über Ihrer Kopfzeile oder unter Ihrer Fußzeile entstehen kann.

Der folgende Screenshot zeigt ein Tracking-Tag, das eine Lücke am unteren Rand der Comcast / Xfinity-Site erstellt.

Alternativ kann ein Skript eines Drittanbieters einfach eine Fehlfunktion verursachen, wie im folgenden Screenshot mit einigem Anzeigencode auf der Website von Elite Daily:

Richten Sie sich auf Fehler ein, indem Sie die Funktionalität zu eng an das DOM binden

Das folgende Beispiel zeigt ein Tracking-Skript, dessen Funktionalität von bestimmten DOM-Elementen abhängt. Eine geringfügige Änderung des Layouts der Site kann diesen Code beschädigen.

Fazit

Skripte von Drittanbietern können leistungsstarke Funktionen bereitstellen, aber sie gefährden auch den Datenschutz, die Sicherheit, die Leistung und das Seitenverhalten. Nachdem Sie einige der Risiken von Skripten von Drittanbietern erkannt haben, haben Sie hoffentlich eine Vorstellung davon, was Sie erwartet, wenn Sie auf sie stoßen.

Wenn Sie Fragen, Gedanken oder Geschichten haben, können Sie gerne einen Kommentar hinterlassen. Es wäre interessant, über den Denkprozess der Menschen zu erfahren, wenn sie sich integrieren. Vermeiden Sie sie alle zusammen? Erlauben Sie nur Quellen, denen Sie sehr vertrauen? Verwenden Sie einen Vermittler wie Google Tag Manager oder Segment ? Prüfen Sie den Code selbst, indem Sie ihn lesen oder DevTools genau beobachten?

Add Comment

* Required information
1000
Drag & drop images (max 1)
Powered by Commentics

Comments

No comments yet. Be the first!

Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0