Tipps & Tutorials

Content Type Sniffing: Risiken und Tipps zum Schutz


Veröffentlicht am 25.10.2021 von DomainFactory

(Update) Browser empfangen Datenströme und müssen den Dateityp der Dateien kennen, um diese richtig auszuführen. Zum Beispiel muss ein Webbrowser ein Bild im JPG-Format als solches erkennen und anzeigen. Ein MIME-Typ kennzeichnet den Inhalt. Fehlt die Kennzeichnung, kann der Browser versuchen, den Dateityp per Content Type Sniffing zu identifizieren. Hacker nutzen dieses Verhalten aus, weshalb Sie die Sniffing-Methode auf Ihren Websites unterbinden sollten.

Was ist Content Type Sniffing? 

Sniffing-Tools überwachen den Netzwerkverkehr und können übertragene Daten mitschneiden. Beim Content Type Sniffing wird der Inhalt eines Bytestreams analysiert, um das Dateiformat zu ermitteln. Mit der Methode lassen sich fehlende Metadaten kompensieren, sodass die Systeme den Datenstrom korrekt interpretieren können. 

Verschiedene Techniken kommen bei der Analyse zum Einsatz. Die Tools suchen nach typischen Redundanzen, repräsentativen Zeichenfolgen und anderen Inhalten, die einem Dateiformat eigen sind. Andere Bezeichnungen für Content Sniffing sind Media Type Sniffing bzw. MIME Sniffing. 

Was ist ein Sniffer? 

Sniffer (engl. für „Schnüffler“) sind Softwareprogramme, die den Datenverkehr im Netzwerk auf Auffälligkeiten überwachen. Einsatzgebiete der Tools: 

  • Netzwerkdiagnose und -analyse 
  • Erkennung von Eindringlingen 
  • Datenspionage durch Cyberkriminelle 

Webbrowser nutzen das Content Type Sniffing 

Der Microsoft Internet Explorer hat das MIME Sniffing genutzt, um Websites besser anzuzeigen, die die MIME-Typen der Inhalte nicht korrekt angeben. Der Ablauf: 

1. Der Browser fordert Daten an, die Antwort erfolgt ohne Angabe des Content-Typs. 

2. Der Browser „schnüffelt“ am Inhalt und versucht zu ermitteln, zu welchem Dateiformat die Daten gehören. 

3. Anschließend vergleicht der Browser das Ergebnis mit den Angaben im Content Type Header (falls vorhanden). Stimmt das Analyseergebnis nicht überein, verwendet der Browser den selbst ermittelten MIME-Typen. 

Das Problem: Die Methode öffnet eine Sicherheitsschwachstelle. Wird der Sniffing-Algorithmus des Browsers getäuscht, führt der Browser schädliche Dateien aus. Ein Hacker kann dann zum Beispiel mit Cross Site Scripting weitere Malware einschleusen oder auf Datenjagd gehen. 

Hacker attackieren per Content Sniffing 

Das Risiko besteht für alle Websites, die Besuchern das Hochladen von Dateien erlauben. Bei einem Angriff per Content Type Sniffing bringt der Hacker den Browser dazu, eine Datei eines anderen Dateityps auszuführen. 

Beispiel: Sie erlauben anderen Nutzern auf Ihrer Website das Teilen von Bildern. Ein Hacker lädt jetzt ein speziell angepasstes Bild hoch, das JavaScript enthält. Der Browser liest den Code beim Sniffing und führt den JavaScript-Code unter Umständen aus. 

MIME Sniffing mit X-Content-Type-Options verbieten 

Verbieten Sie dem Browser das Erraten der Response-Typen. In den HTTP-Header gehört: 

X-Content-Type-Options: nosniff 

Der Header deaktiviert das MIME Sniffing im Internet Explorer und in Chrome. 

Um den Typ der Antworten zu ermitteln, verlässt sich der Browser jetzt auf den Content Type Header. Setzen Sie in den Header der Antworten den richtigen MIME-Typen. 

X-Content-Type-Options zu WordPress hinzufügen 

In WordPress fügen Sie die Codezeile per .htaccess-Datei hinzu. 

Für Apache-Server gilt: 

<IfModule mod_headers.c> 
Header set X-Content-Type-Options nosniff 
</IfModule> 

Für NGINX-Server gilt: 
add_header X-Content-Type-Options "nosniff" always; 

Alternativ können Sie ein Plugin wie HTTP-Headers installieren und die Sicherheitseinstellung zusammen mit anderen über das Backend einrichten. 

XSS-Angriffe per MIME Sniffing verhindern 

MIME Sniffing ermöglicht außerdem XSS-Angriffe (Cross Site Scripting). Zum Schutz ist für das Hosten und Bereitstellen der Nutzerdaten (Bilder, Videos etc.) eine separate Subdomain empfehlenswert. Auf diese Weise können keine hochgeladenen Inhalte mit der Hauptdomain der Website interagieren. 

Zusammenfassung 

Content Type Sniffing ist eigentlich eine nützliche Funktion der Webbrowser, die damit den Dateityp von Dateien schnell ermitteln. Es stellt jedoch auch ein Sicherheitsrisiko dar. Cyberkriminelle können das Verhalten missbrauchen, unentdeckt Dateien einschleusen und diese ausführen lassen. Implementieren Sie die Codezeile für den HTTP-Header zum Schutz Ihrer Websites. 

 

Der Autor:


Als Qualitätsanbieter überzeugen wir mit HighEnd-Technologie und umfassenden Serviceleistungen. Mit mehr als 1,3 Millionen verwalteten Domainnamen gehören wir zu den größten Webhosting-Unternehmen im deutschsprachigen Raum.