Netzwerksicherheit - Teil 8: Schutz vor SpamNetzwerksicherheit Teil 8: Schutz vor Spam Martin Mauve,...

27
Netzwerksicherheit Teil 8: Schutz vor Spam Martin Mauve, Björn Scheuermann und Philipp Hagemeister Sommersemester 2015 Heinrich-Heine-Universität Düsseldorf Netzwerksicherheit — Schutz vor Spam 1

Transcript of Netzwerksicherheit - Teil 8: Schutz vor SpamNetzwerksicherheit Teil 8: Schutz vor Spam Martin Mauve,...

NetzwerksicherheitTeil 8: Schutz vor Spam

Martin Mauve, Björn Scheuermann und Philipp Hagemeister

Sommersemester 2015Heinrich-Heine-Universität Düsseldorf

Netzwerksicherheit — Schutz vor Spam 1

E-Mail-Grundlagen

E-Mail ist einer der ältesten Dienste, die im Internetangeboten werdenZentrale Komponente: SMTP für das Übertragen vonE-Mails an einen Mailserver

aktuelle Spezifikation: RFC 5321(fast) keine Berücksichtigung von Sicherheitsaspekten

Einige Begriffe:MTA (Message Transfer Agent): MailserverMUA (Message User Agent): Mail ReaderMail-Objekt: Envelope + ContentEnvelope: der von SMTP verwendete Teil einer E-Mail (z. B.RCPT-TO:)Content: die eigentliche Mail, also Header (z. B. To:) + Body

Netzwerksicherheit — Schutz vor Spam 2

Was ist Spam?

Als Spam bezeichnet man E-Mails die man bekommt,ohne dafür (implizit oder explizit) seine Zustimmung

gegeben zu haben

Etymologie des Wortes „Spam“:

http://www.youtube.com/watch?v=anwy2MPT5RE

Netzwerksicherheit — Schutz vor Spam 3

Motivation von Spam-Versendern

Warum gibt es Spam?

Weil man damit Geld verdienen kann:Werbung (meistens für minderwertige/gefälschte Produkte)Phishing

Welche Eigenschaften machen Spam für den Versenderattraktiv?

Billig:notwendige Ressourcen pro E-Mail sehr gering!

Schnell:Eine Spam-Aktion rentiert sich innerhalb weniger Stunden!

Netzwerksicherheit — Schutz vor Spam 4

Motivation von Spam-Versendern

Warum gibt es Spam?

Weil man damit Geld verdienen kann:Werbung (meistens für minderwertige/gefälschte Produkte)Phishing

Welche Eigenschaften machen Spam für den Versenderattraktiv?

Billig:notwendige Ressourcen pro E-Mail sehr gering!

Schnell:Eine Spam-Aktion rentiert sich innerhalb weniger Stunden!

Netzwerksicherheit — Schutz vor Spam 4

Motivation von Spam-Versendern

Warum gibt es Spam?

Weil man damit Geld verdienen kann:Werbung (meistens für minderwertige/gefälschte Produkte)Phishing

Welche Eigenschaften machen Spam für den Versenderattraktiv?

Billig:notwendige Ressourcen pro E-Mail sehr gering!

Schnell:Eine Spam-Aktion rentiert sich innerhalb weniger Stunden!

Netzwerksicherheit — Schutz vor Spam 4

Möglichkeiten, um sich vor Spam zu schützen

Inhaltsbasiertes Filtern

Annahme von E-Mails gezielt ablehnen oder verzögern

Aufwand für das Versenden von E-Mails erhöhenz. B. HashCash (schon bekannt!)

Komplementär: Absender authentifizieren

Netzwerksicherheit — Schutz vor Spam 5

Inhaltsbasiertes Filtern

Gegeben eine E-Mail, wie würden Sie bestimmen,ob sie Spam ist?

Voraussetzung: E-Mail wurde empfangenOrt: zentral (MTA) oder dezentral (MUA)Prinzipielles Vorgehen:

suche nach besonderen Eigenschaften (Schlüsselwörter,Absender, etc.)versehe diese Besonderheiten mit Gewichtensummiere diese Gewichtewenn die Summe über einem Schwellwert liegt: Spam!

Beispiel: SpamAssassin (http://spamassassin.apache.org/)

Netzwerksicherheit — Schutz vor Spam 6

Inhaltsbasiertes Filtern

Gegeben eine E-Mail, wie würden Sie bestimmen,ob sie Spam ist?

Voraussetzung: E-Mail wurde empfangenOrt: zentral (MTA) oder dezentral (MUA)Prinzipielles Vorgehen:

suche nach besonderen Eigenschaften (Schlüsselwörter,Absender, etc.)versehe diese Besonderheiten mit Gewichtensummiere diese Gewichtewenn die Summe über einem Schwellwert liegt: Spam!

Beispiel: SpamAssassin (http://spamassassin.apache.org/)

Netzwerksicherheit — Schutz vor Spam 6

Inhaltsbasiertes Filtern – Statische Tests

Einige Beispiele für Eigenschaften, die getestet werdenkönnen:

Subject enthält den Namen eines MedikamentsSubject ist komplett in GroßbuchstabenBody beginnt mit “Dear Friend”Body enthält verschleierte Schlüsselworte (z. B. V1agra)Reply-To ist ungewöhnlich (enthält zu viele Zahlen)und vieles mehr

Was halten Sie davon?Was würden Sie als Spam-Versender machen?

Netzwerksicherheit — Schutz vor Spam 7

Inhaltsbasiertes Filtern – Bayes-Filter

Prinzipielles Problem: Textklassifikation (altes Problem)Idee: lernfähige Filter bauen!

Vorbereitungen:untersuche welche Worte/Phrasen häufig in Spam-Mailsvorkommenuntersuche, welche Worte/Phrasen häufig in erwünschtenE-Mails vorkommen

bei gegebener E-Mail:bestimme anhand der in der E-Mail vorkommenden Worte,mit welcher Wahrscheinlichkeit diese E-Mail Spam ist

Ein mögliches Werkzeug dafür sind Bayes-Filter

Netzwerksicherheit — Schutz vor Spam 8

Naive Bayes Filter für Spam-Erkennung

Vereinfachende Annahmen (daher „naive“):Wörter kommen unabhängig voneinander in E-Mails vorSpam und erwünschte E-Mails sind gleich häufig

Sei Pr(W |S) die Wahrscheinlichkeit dafür, dass ein WortW in einer Spam E-Mail vorkommtSei Pr(W |H) (H=Ham) die Wahrscheinlichkeit dafür, dassein Wort W in einer erwünschten E-Mail vorkommtDann ist die Wahrscheinlichkeit, dass eine E-Mail, welchedas Wort W enthält, Spam ist:

Pr(S|W ) =Pr(W |S)

Pr(W |S)+Pr(W |H)

Netzwerksicherheit — Schutz vor Spam 9

Naive Bayes Filter für Spam-Erkennung (2)

Natürlich möchte man bei der Entscheidung nicht nur einWort verwenden!Sei k die Anzahl der Wörter in einer E-Mailpn = Pr(S|Wn) mit n ∈ [1,k ]Dann ist die Wahrscheinlichkeit, dass eine E-Mail, welchedie Wörter W1, . . . ,Wk enthält, Spam ist:

p =p1p2 · · ·pk

p1p2 · · ·pk +(1−p1)(1−p2) · · ·(1−pk )

Ab einem gewissen Schwellwert (z. B. 0.9) wird die E-Maildann als Spam klassifiziert

Sehen Sie Probleme bei dieser Vorgehensweise?

Netzwerksicherheit — Schutz vor Spam 10

Naive Bayes Filter – Verbesserungen

Verwenden von einer maximalen Anzahl von Wörternwähle die X relevantesten Wörter (möglichst weit von 0.5entfernt)hilft gegen Spam mit vielen harmlosen Wörtern

Einbeziehen von Header-FeldernKein Stemming

Reduktion der Wörter auf ihre Grundform, häufig beiTextklassifikation verwendetschlecht bei Spam, da z. B. häufig der Imperativ verwendetwird

Mehr dazu: http://www.paulgraham.com/antispam.html

Netzwerksicherheit — Schutz vor Spam 11

Verzögern oder Ablehnen der Annahme von Spam

Problem der inhaltsbasierten Analyse:kostet erhebliche Ressourcen!

Idee: Filter auf der Ebene von SMTP und/oder IPHäufig verwendete Alternativen:

WhitelistingBlacklistingGreylisting

Netzwerksicherheit — Schutz vor Spam 12

Whitelisting

Eine Whitelist wird verwendet, um festzulegen, welcheE-Mails auf jeden Fall angenommen werden sollen

auf Basis von E-Mail-Adressenauf Basis von IP-Adressen des sendenden MTAs

Heute häufig vorgeschaltet vor:Blacklisting/Greylistinginhaltsbasierte Analyse

Es gab (recht erfolglose) Ansätze, die nur mit Whitelistsgearbeitet haben:

jeder, der nicht auf der Whitelist stand, bekam eineautomatisierte Antwortmail, die ihn aufforderte „geeignet“zu reagierendamit sollte sichergestellt werden, dass die Antwortmail voneinem Menschen bearbeitet wurdebei richtiger Reaktion: auf die Whitelist setzen undursprüngliche E-Mail ausliefern

Netzwerksicherheit — Schutz vor Spam 13

Blacklisting

Grundlegende Idee:erstelle Listen von IP-Adressen, von denen aus Spamversendet wirdbevor ein Mailserver eine E-Mail annimmt, überprüft er einesolche Liste (oder mehrere)steht der sendende Mail-Server auf dieser Liste, wird dieAnnahme abgelehnt

Heute häufig realisiert als DNS-Blacklist:Kommunikation mit der Blacklist per DNSBeispiel-Anfrage bezüglich der IP-Adresse 192.168.42.23beim DNSBL-Provider dnsbl.example.net

DNS-Typ-A-Query für 23.42.168.192.dnsbl.example.netwenn nicht gelistet (alles OK): NXDOMAINsonst: Spammerzusätzlich Typ-TXT-Query, um den Grund für den Eintrag zuerfahren

Beispiel NiX Spam von Heise: http://www.dnsbl.manitu.net

Netzwerksicherheit — Schutz vor Spam 14

Greylisting

Problem bei Blacklisting:False Positives: Es können E-Mails gefiltert werden, dieman bekommen möchtebis ein Blacklist-Eintrag vorliegt, kann bereits sehr vielSpam ausgeliefert worden sein

Gesucht: ein Verfahren ohne False Positives, welchessofort Spam unterbindet!Eine besondere Eigenschaft von SMTP:

SMTP erlaubt den Abbruch einer SMTP-Verbindung durchden Empfängerder Sender muss sich die E-Mails dann merken und esspäter wieder probieren

Wie kann uns das helfen?

Netzwerksicherheit — Schutz vor Spam 15

Greylisting – Funktionsweise

Vorgehen:Für jedes neue (Sender, Sender-IP, Empfänger)-Tupel:

lehne die E-Mail mit einem temporären Fehler abmerke den Auslieferversuch

Bei wiederholtem Zustellversuch:prüfe, ob eine sinnvolle Mindestzeit vergangen ist (einigeMinuten, halbe Stunde, Stunde)wenn ja: nehme die E-Mail anwenn nein: lehne die E-Mail wieder ab

Bei bekannten (Sender, Sender-IP, Empfänger)-Tupeln:nimm die E-Mail an

Was halten Sie davon?

Netzwerksicherheit — Schutz vor Spam 16

Greylisting – Diskussion

Wann und warum bringt Greylisting etwas?wenn der Spammer einen MTA verwendet, der keineÜbertragungswiederholungen durchführt (häufig!)wenn der Spammer dadurch zusätzliche Ressourcenverwenden muss (z. B. weil der Spam oder wenigstens dieZustellversuche zwischengespeichert werden müssen)in Verbindung mit Blacklisting: Wenn der Spammer eineStunde bis zum zweiten Versuch warten muss, dann stehter meistens schon auf einer vertrauenswürdigen Blacklist

Welche Probleme gibt es bei Greylisting?zentrales Problem: lange Verzögerung legitimer E-Mail!fehlerhafte oder falsch konfigurierte Mailserver wiederholenmanchmal die Übertragung nicht!Spammer passen sich an Greylisting an und verbessernihre MTAs

Netzwerksicherheit — Schutz vor Spam 17

Aktuelle Forschung: VerbindungsanalyseGreylisting nutzt die Eigenschaft, dass Spammer E-Mailsanders behandeln als legitime Sender von E-MailKönnte schon auf der Transportschicht zu erkennen sein:

Spam:große Mengen von E-Mailsgesendet von Botnetzenderen Mitglieder über DSL angeschlossen sind

Ham:geringere Mengen von E-Mailsgesendet von dediziertem MTAdie häufig breitbandig an das Internet angeschlossen sind

Mögliche Unterscheidungskriterien:Latenz, Verlustrate, Verhalten beiÜbertragungswiederholungen, etc.

Noch nicht im praktischen Einsatz, aber ersteVeröffentlichungen

[Beverly, Sollins: Exploiting Transport-Level Characteristics of Spam, CEAS 2008]

Netzwerksicherheit — Schutz vor Spam 18

Komplementäre Aktivitäten

Es ist sehr einfach, die die Absenderadresse einer E-Mailzu fälschenSMTP überprüft diese einfach nicht!Warum ist das ein Problem?

Spam wird mit gefälschten Absenderadressen verschicktdas ist ein ganz übler DoS-Angriff auf diese Adresse. . .gegen den man derzeit nicht viel unternehmen kann

Phishing-E-Mails werden mit gefälschtenvertrauenerweckenden Absenderadressen([email protected]) verschickt

Was tun?

Netzwerksicherheit — Schutz vor Spam 19

Komplementäre Aktivitäten: Absenderauthentifikation

Authentifikation auf Basis einzelner Personen (z. B. überPGP) ist nicht realistisch flächendeckend machbarZwei Ansätze, um das zu verbessern:

Sender Policy Framework (SPF, RFC 4408)Weit verbreitet

DomainKeys Identified Mail (DKIM, RFC 4871)Von einigen Mail-Providern unterstützt

Netzwerksicherheit — Schutz vor Spam 20

Sender Policy FrameworkEin DNS-basierter Ansatz:

TXT-Eintrag für die Sender-DomainBildet Domains auf IP Adressen von MTAs ab, die für dieseDomain E-Mails verschicken dürfen

Beispiel für einen SPF-TXT-Record$ dig -t TXT gmx.de...;; QUESTION SECTION:;gmx.de. IN TXT

;; ANSWER SECTION:gmx.de. 300 IN TXT "v=spf1 ip4:213.165.64.0/23

ip4:74.208.5.64/26 -all"

Vor Annahme einer E-Mail überprüfen und gegebenenfallsdie Mail ablehnen!

Sehen Sie Kritikpunkte?

Netzwerksicherheit — Schutz vor Spam 21

DomainKeys Identified Messages (DKIM)

Grundlegende Idee: E-Mails werden signiertPublic Key Signatur, häufig vom MTA des Senders (andereMTAs oder der MUA des Senders können das jedochauch)Als Headerzeile der E-Mail

Beispiel für eine DKIM-HeaderzeileDKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;d=gmail.com; s=gamma;h=domainkey-signature:mime-version:received:received:reply-to:date:message-id:subject:from:to:content-type;bh=cfqCr5NOYpcDu0SyLt+XAZSEnPLTyY7QktONMkykVDY=;b=MRr6M9B6AgGkLp1HETqxrEkfhpUGWQ5njp5s6OeDZ+5rXtnSZqoe7ZiDPqYna+FT62VQ7FzOwoLdWXHuZhKgkXXK4/EQm+qkLXbylxT8UGUBrPaMW0hc0j7ZULvKd/STe9fQI8sA73ew6CauMQXTcwdWJFbRcS70lrXhrArSaWs=

Netzwerksicherheit — Schutz vor Spam 22

DomainKeys Identified Messages (DKIM)Der Empfänger-MTA fragt nach einem speziellenDNS-Record mit dem passenden öffentlichen Schlüssel

Format: selector.s._domainkey.example.comselector konstant oder Servername oder Benutzername

Damit überprüft er, ob die Signatur stimmtWenn ja: annehmenWenn nein: ablehnen oder markieren oder annehmenoder. . .

Beispiel für eine DKIM-DNS-Anfrage;; QUESTION SECTION:;gamma._domainkey.gmail.com. IN TXT

;; ANSWER SECTION:gamma._domainkey.gmail.com. 300 IN TXT "k=rsa\; t=y\;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhyR3oItOy22ZOaBrIVe9m/iME3RqOJeasANSpg2YTHTYV+Xtp4xwf5gTjCmHQEMOs0qYu0FYiNQPQogJ2t0Mfx9zNu06rfRBDjiIU9tpx2T+NGlWZ8qhbiLo5By8apJavLyqTLavyPSrvsx0B3YzC63T4Age2CDqZYA+OwSMWQIDAQAB"

Netzwerksicherheit — Schutz vor Spam 23

Spam vermeiden – Zusammenfassung

Viele verschiedene Ansätze, um Spam zu reduziereninhaltsbasiertes FilternWhite-/Black-/GreylistingProof-of-Work-SystemeAbsenderauthentifizierung

Aber: Problem nicht grundsätzlich gelöst

Wettrennen zwischen Spammern und Schutz vor Spam

Bisher: keine fundamentale Lösung

Netzwerksicherheit — Schutz vor Spam 24