Entwicklung Eines Spam-Filter Gateways Basierend Auf Open-Source-Projekten
Total Page:16
File Type:pdf, Size:1020Kb
Die approbierte Originalversion dieser Diplom-/Masterarbeit ist an der Hauptbibliothek der Technischen Universität Wien aufgestellt (http://www.ub.tuwien.ac.at). The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology (http://www.ub.tuwien.ac.at/englweb/). Entwicklung eines Spam-Filter Gateways basierend auf Open-Source-Projekten DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Informatik eingereicht von Thomas Rainer Matrikelnummer 9526718 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: Betreuer: o.Univ.Prof. Dipl.-Ing. Dr.techn. A Min Tjoa Mitwirkung: Univ.Ass. Dipl.-Ing. Dr.techn. Edgar Weippl Wien, 15.09.2008 _______________________ ______________________ (Unterschrift Verfasser) (Unterschrift Betreuer) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43/(0)1/58801-0 http://www.tuwien.ac.atH Eidesstattliche Erklärung Ich erkläre an Eides statt, dass ich die vorliegende Arbeit selbständig und ohne fremde Hilfe verfasst, andere als die vorliegenden Quellen nicht benützt und die den benutzen Quellen wörtlich oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe. ................................................ Wien, am 15. September 2008 Zusammenfassung Spam-Nachrichten stellen ein immer größeres Problem im E-Mail-Verkehr dar. E- Mail- Provider stehen zunehmend in der Pflicht aktiv gegen Spam vorzugehen. Zur Anwendung kommen neben statischen Verfahren, wie DNS-basierte Black- lists oder ähnliches, auch selbstlernende Filter, die sich in der Praxis als sehr ef- fektiv erwiesen haben. Um die eigene E-Mail-Adresse erst gar nicht in die Hände von Spammern gelan- gen zu lassen, existieren verschiedene Maßnahmen, die das Ausspähen von E- Mail-Adressen auf Websites verhindern. Ein geändertes Benutzerverhalten und die Verwendung von Wegwerf-Adressen erschweren die Arbeit der Spammer zu- sätzlich. Diese Arbeit beschäftigt sich mit der Integration mehrerer Filtermethoden in eine einheitliche Benutzerumgebung. Hierfür werden sämtliche Benutzerdaten und Filterinformationen in einer MySQL-Datenbank abgelegt. Das Einsehen der Fil- teraktivitäten und das Bearbeiten der Einstellungen erfolgt mit Hilfe eines ein- fach zu bedienenden Web-Interface. Durch realitätsnahe Tests mit unterschiedlichen Filter-Einstellungen lassen sich die verschiedenen Verfahren direkt miteinander vergleichen. Aufgrund der er- zielten Ergebnisse kann das Spam-Filter Gateway durchaus auch in professionel- len Umgebungen eingesetzt werden. Inhaltsverzeichnis Inhaltsverzeichnis 1. Einleitung 9 1.1. Einführung . 9 1.2. Gliederung . 10 1.3. Danksagung . 11 2. E-Mail Grundlagen 12 2.1. Aufbau einer E-Mail . 12 2.1.1. E-Mail-Envelope . 12 2.1.2. E-Mail-Header . 13 2.1.3. E-Mail-Body . 15 2.2. Funktionsweise . 17 2.2.1. Simple Mail Transfer Protocol - SMTP . 18 2.2.2. Extented Simple Mail Transfer Protocol - ESMTP . 19 2.2.3. Post Office Protocol - POP . 20 2.2.4. Internet Message Access Protocol - IMAP . 20 2.2.5. Simple Mail Access Protocol - SMAP . 21 3. Spam Grundlagen 22 3.1. Was ist Spam? . 22 3.1.1. Definition . 23 3.1.2. Geschichtliches . 24 3.1.3. Arten von Spam . 25 3.1.4. Spam Kategorien . 26 4 Inhaltsverzeichnis 3.2. Adressengewinnung . 27 3.3. Versand . 30 3.4. Realisierung des Gewinns durch Spam . 30 3.5. Profiteure von Spam . 33 3.6. Auswirkungen von Spam . 34 3.6.1. Volkswirtschaftlicher Schaden . 34 3.6.2. Auswirkungen auf den E-Mail-Nutzer . 35 3.6.3. Folgen für den E-Mail-Provider . 36 4. Vorbeugende Maßnahmen 38 4.1. Schutz der E-Mail-Adresse . 38 4.2. Wegwerfadressen . 39 4.3. Weitere Maßnahmen . 40 5. Technische Maßnahmen gegen Spam 42 5.1. Falsche Positive, falsche Negative . 42 5.2. Server- und clientbasierte Ansätze . 43 5.3. Behandlung der als Spam erkannten E-Mails . 44 5.4. Statische Verfahren . 46 5.4.1. Schwarze Listen (Blacklists) . 47 5.4.2. Weiße Listen (Whitelists) . 47 5.4.3. Channels . 48 5.4.4. Regelbasierte Filter . 49 5.4.5. Verteilter Prüfsummenfilter . 50 5.4.6. Realtime Blackhole Lists (RBLs) . 50 5.4.7. Realtime URI Blacklists (URIBL) . 52 5.4.8. Greylisting . 53 5.4.9. Teergruben . 56 5.4.10. Bounce Address Tag Validation (BATV) . 57 5.4.11. Sender Policy Framework - SPF . 58 5 Inhaltsverzeichnis 5.4.12. DomainKeys Identified Mail (DKIM) . 60 5.5. Bayessche Filter . 61 5.5.1. Berechnung der Wortwahrscheinlichkeiten . 61 5.5.2. Kombinieren der Wortwahrscheinlichkeiten . 63 5.5.3. Lexikalische Analyse - Tokenizing . 64 5.5.4. Lernmethoden . 65 5.5.5. Umgehungsversuche . 66 5.6. Kombination aus mehreren Filtern . 67 5.7. Ausgehende E-Mails . 68 5.7.1. Probleme für „Gratis“ E-Mail-Provider . 69 5.7.2. Technische Maßnahmen . 69 6. Entwurf des Gateways 71 6.1. Ziele . 71 6.2. Architektur . 72 7. Implementierung des Spam-Filter Gateways 74 7.1. Verwendete Software . 74 7.1.1. QMail - Mail Server . 74 7.1.2. vpopmail . 76 7.1.3. vqadmin . 76 7.1.4. qmailAdmin . 77 7.1.5. qpsmtpd . 77 7.1.6. ClamAV . 79 7.1.7. DSPAM . 79 7.1.8. Courier IMAP . 80 7.1.9. Squirrelmail . 81 7.2. Implementierte Filter . 81 7.3. User-Interface . 83 7.3.1. Logging . 83 6 Inhaltsverzeichnis 7.3.2. Spam-Filter Einstellungen . 85 8. Auswertung der erzielten Ergebnisse 87 8.1. Verwendetes Testsystem . 87 8.2. Einschränkungen . 87 8.3. Ergebnisse . 88 8.3.1. Gesamtergebnis . 88 8.3.2. Greylisting . 89 8.3.3. DNS Blacklist . 90 8.3.4. URI Blacklist . 91 8.3.5. Sender Policy Framework . 91 8.3.6. BATV . 92 9. Fazit 93 A. Anhang 95 A.1. Installationsanleitung . 95 A.1.1. Systemvoraussetzungen . 95 A.1.2. QMail . 96 A.1.3. vpopmail . 97 A.1.4. vQadmin . 98 A.1.5. qmailadmin . 99 A.1.6. Courier authentication library . 100 A.1.7. Courier IMAP . 101 A.1.8. dspam . 102 A.1.9. qpsmtpd . 104 A.1.10. SquirrelMail . 105 A.2. SMTP Return Codes . 106 A.3. DSpam Lernscripts . 106 A.4. Perl Outputfilter für Apache 2.0 . 107 A.5. BATV Qmail Patch . 110 7 Inhaltsverzeichnis Abbildungsverzeichnis 112 Tabellenverzeichnis 113 Literaturverzeichnis 113 8 1. Einleitung 1. Einleitung 1.1. Einführung Die elektronische Post begann ihren Siegeszug Ende der 1980er Jahre. Wurde die- ses Medium anfänglich nur auf universitärer Ebene genutzt, so ist es mittlerweile in Firmen und auch im Privatleben kaum mehr wegzudenken. Bestand in den Anfangszeiten der E-Mail-Kommunikation noch keinerlei Hand- lungsbedarf gegen Spam vorzugehen, so würde heute ohne geeignete Gegen- maßnahmen das Medium E-Mail nahezu unbrauchbar werden. Hunderte uner- wünschte Nachrichten pro Tag sind nun keine Seltenheit mehr. Laut der monatli- chen Studie von Messagelabs [19] sind bereits über 76 % aller eMail-Nachrichten Spam. Andere Quellen [51] sprechen sogar von über 90 %. Diese Zahlen machen deutlich, dass ohne Maßnahmen gegen unerwünschte Nachrichten das Medi- um E-Mail in seiner Existens bedroht wäre. Entschieden sich Unternehmen vor Jahren aus Kostengründen ihre Kommunikation in elektronischer Form abzu- wickeln, so sehen sich diese Firmen mit zusätzlichen Ausgaben konfrontiert, die sich durch die Spam- und Virenabwehr ergeben. Aber auch Privatanwender se- hen sich zusehens mit diesem Problem konfrontiert. Es wurden verschiedene Versuche unternommen, sowohl technischer als auch juridischer Art, um den Spammern das Leben zu erschweren. So setzt heute ein Großteil der Provider spezielle Filter ein, die der Spamflut Herr werden sollen. Immer neue Arten von Spam machten und machen aber eine ständige Adaptie- rung der Spam-Filter notwendig, da Spammer immer neue Methoden austüfteln, um die bestehenden Filter zu umgehen. Trotz erheblicher Anstrengungen verschiedener Forschungsgruppen ist es bisher nicht gelungen, ein Patentrezept gegen unerwünschte Nachrichten zu finden, je- doch lassen sich durch die Kombination mehrerer Filtermethoden recht ansehn- liche Resultate erzielen. 9 1. Einleitung In dieser Arbeit werden keine neuen Filtertechnologien vorgestellt. Es wird viel- mehr versucht, einen funktionsfähigen und frei verfügbaren Prototypen zu schaf- fen, der verschiedene Anti-Spam-Methoden miteinander verknüpft und dabei die Nachteile bereits existierender Filterlösungen ausmerzt. Diese betreffen weni- ger die Erkennungsraten, sondern vielmehr die fehlende Transparenz und schlech- te Administrierbarkeit. Im praktischen Teil dieser Arbeit wird ein besonderes Augenmerk auf eine ein- fache, leicht verständliche Benutzerschnittstelle gelegt. Hierfür wurde ein Web- Interface geschaffen, das jedem einzelnen User erlaubt, individuelle Filtereinstel- lungen zu treffen und sämtlichen Aktivitäten des Spam-Filters zu überwachen. 1.2. Gliederung Nach einer technischen Einführung in die Funktionsweise von E-Mail-Systemen in Kapitel 2, wird in Kapitel 3 näher auf das Phänomen Spam eingegangen. Dies beinhaltet die Darlegung der allgemeinen Spam-Problematik und die Vorgehens- weise von Spammern. Auch auf die Auswirkungen der unerwünschten Werbe- sendungen wird kurz eingegangen. In Kapitel 4 widmet sich diese Arbeit vor- beugenden Maßnahmen. Diese sollen die Spam-Problematik bereits im Ansatz bekämpfen und die Adressgewinnung für Spammer erschweren. Im darauf fol- genden 5. Abschnitt werden einige technische Maßnahmen auf der Empfänger- seite genauer durchleuchtet. Diese reichen von recht einfachen statischen Metho- den bis hin zu selbstlernenden Filtern. Dabei wird jeweils auf die Vor- und Nach- teile der Filtermethoden eingegangen. Abschnitt 7 behandelt die konkrete Imple- mentierung eines voll funktionstüchtigen Spam-Filter Gateways samt einer Be- nutzerschnittstelle für den Endanwender. Eine detaillierte Installationsanleitung findet sich im Anhang dieser Arbeit. In Kapitel 8 folgt die Analyse der erziel-.