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