Diplomarbeit. Visualisierung von -Traffic mit Schwerpunkt auf eine inhaltliche Analyse von Wortmustern

Größe: px
Ab Seite anzeigen:

Download "Diplomarbeit. Visualisierung von E-Mail-Traffic mit Schwerpunkt auf eine inhaltliche Analyse von Wortmustern"

Transkript

1 Diplomarbeit Visualisierung von -Traffic mit Schwerpunkt auf eine inhaltliche Analyse von Wortmustern eingereicht bei Prof. Dr.-Ing. Detlef Krömker Goethe-Universität Frankfurt Professur für Graphische Datenverarbeitung von Pouneh Khayat Pour und Yvonne Neidert 3. Mai 2010

2

3 Erklärung zur Diplomarbeit Wir versichern, dass wir diese Diplomarbeit selbständig verfasst und nur unter Verwendung der angegebenen Literatur angefertigt haben. Die Arbeit wurde bisher keiner anderen Prüfungsbehörde vorgelegt und auch noch nicht veröffentlicht. Frankfurt am Main, den 3. Mai 2010 Pouneh Khayat Pour Yvonne Neidert

4

5 Zusammenfassung hat sich zu einem sehr wichtigen Kommunikationsmittel entwickelt, leidet aber aktuell unter einer massiven Verbreitung unerwünschter und unverlangter Inhalte. Diese können für einen Anwender nicht nur lästig sein, sondern auch die vorhandene Netz- und Speicher-Infrastruktur enorm belasten. Die Notwendigkeit einer Filterung des -Traffic hat zu einer Reihe recht unterschiedlicher Methoden geführt, die computergesteuert eine auf ihren Spam-Gehalt untersuchen. Die Motivation hinter dieser Arbeit ist zu prüfen, ob die besonderen Eigenschaften der visuellen Wahrnehmung eines Menschen als unterstützendes Mittel eingesetzt werden können, um -Inhalte zu überprüfen und eventuell vorhandene Wort-Muster, die auf Spam deuten, sichtbar zu machen. Um dieses Ziel zu erreichen musste zuerst eine geeignete Auswahl spamspezifischer Merkmale getroffen werden. Danach wurden Methoden des Text Minings angewendet, um aus dem Inhalt einer strukturierte Daten zu gewinnen, die sich zur Repräsentation einer Nachricht eignen und als Grundlage für eine Visualisierung herangezogen werden können. Basierend auf den vorab ausgewählten Spam-Charakteristika wurden Worteigenschaften mit Hilfe extern angebundener Wortlisten, regulärer Ausdrücke und unter Einsatz eines Wörterbuches überprüft, und die erhaltenen Ergebnisse flossen neben einer einfachen Gewichtung von Worthäufigkeiten in Form einer anwendungsspezifischen Gewichtung mit ein. Es wurden anschließend zwei verschiedene Sichten konzipiert, um einem Anwender einen Einblick in die extrahierten Daten zu ermöglichen. Es hat sich herausgestellt, dass besonders Treemaps geeignet sind um die anfallenden Datenmengen kompakt abzubilden, aber gleichzeitig einen notwendigen Detailgrad auf einzelne Worteigenschaften gewährleisten. Das Konzept wurde prototypisch unter Verwendung des Mailservers Mercury/32 sowie einer MySQL-Datenbank implementiert und konnte teilweise aufzeigen, dass es anhand der von der Engine generierten Strukturen möglich ist, spamspezifische Merkmale einer unter Verwendung der gewählten Visualisierungstechniken auf eine Weise sichtbar zu machen, die einem Anwender eine Mustererkennung erlauben. Die Diplomarbeit wurde als Gemeinschaftsarbeit angefertigt und konnte sinnvoll in zwei Bereiche aufgeteilt werden: Die Engine und die Visualisierung. Die konzeptuellen Überlegungen für das Thema sind größtenteils gemeinsam erfolgt, jedoch liegt der Schwerpunkt von Pouneh Khayat Pour im Bereich der Analyse und der von Yvonne Neidert in der Visualisierung.

6

7 Danksagung Unser Dank gilt Prof. Dr. Detlef Krömker, der uns diese Diplomarbeit ermöglicht hat. Besonders bedanken möchten wir uns auch bei Jörg Demmer, der die Idee zu diesem Diplomarbeitsthema hatte und uns mit Hinweisen und Ratschlägen zur Seite stand. Weiterhin möchten wir uns auch bei unseren Eltern bedanken, für ihre langjährige Unterstützung und Motivation während unseres Studiums.

8

9 Inhaltsverzeichnis 1. Einleitung Motivation Ziel Aufbau der Arbeit Aufgabenteilung Grundlagen Geschichtlicher Hintergrund Aufbau und Struktur Versand Spam Historie Definition des Begriffs Vorgehensweise der Spammer Antispam-Techniken SpamAssassin Text Mining Definition Abgrenzung zu anderen Verfahren Der Text-Mining-Prozess Dokumentenaufbereitung Merkmalsvektoren Klassifikation Visualisierung Definition und Begriffsklärung Visualisierung Informationsvisualisierung Grundlegende Konzepte Historie der Visualisierung Visuelle Darstellung von Daten Datentypen I

10 Wertebereich Daten, Information und Wissen Visualisierungstechniken Der Visualisierungsprozess Anforderungen an eine Visualisierung Farbe und Wahrnehmung Funktionsprinzip des Sehens Prinzipien zur Farbauswahl Einflussfaktoren zur Farbauswahl Das 3-Stufen-Modell der Wahrnehmung Gestaltgesetze Analyse Text- und Datenanalyse Datenquellen Mail-Archive Mail-Server Datenaufbereitung Formatbetrachtung Tokenisation Information Extraction Tokenanalyse Merkmalsgenerierung Merkmalsgewichtung Merkmalsreduzierung Klassifikation Text-Mining-Systeme Wörterbücher Projekt Deutscher Wortschatz Webservices Datenspeicherung Fazit zur Analyse (Engine) Visualisierung Visualisierungstechniken Repräsentation von Text & Hypertext Repräsentation von Hierarchien & Graphen Fazit Visualisierung bestimmter Datentypen

11 Interaktionstechniken Overview Zoom und Filter Details-on-Demand State-of-the-Art Visualization of Sanitized Logs for Spam Analysis Spamology Th Visualisierungs-Toolkits Anforderungen Anforderungen an die Engine Anforderungen an die Schnittstelle Anforderungen an die Visualisierung Konzept Konzept Engine Repräsentation der Mining Datenquelle Generelle Architektur Datenextraktion Formatierung Analyse Gewichtung Reduzierung Klassifikation Ausführung der Engine Wahl der Programmiersprache Schnittstellen Schnittstellen zur Analyse Schnittstellen zur Visualisierung Konzept Visualisierung Aufbau der Visualisierung Global Mode Compact Mode Interaktionstechniken Layout Schnittstelle zur Engine

12 6. Implementierung Die Engine Klassenbeschreibungen Anbindung externer Listen Die Schnittstellen Der Datenbankzugriff XML-Dateien Start der Engine Zeitgesteuerter Start Manueller Start Fazit Die Visualisierung Aufbau der Visualisierung Compact Mode Global Mode Packages und Klassen Probleme bei der Implementierung Evaluation Zusammenfassung und Ausblick Zusammenfassung Ausblick A. CD 181

13 Abbildungsverzeichnis Aufbau Versand per SMTP [pice] Klassifikationsergebnisse einer Filtersoftware Spamassassin-Tests Text Mining und Abgrenzung zu anderen Verfahren Anwendung unterschiedlicher Verfahren in Abhängigkeit der Informationsquelle und des Ziels Text-Mining-Prozess nach Hippner & Rentzmann Stemming-Beispiel [JL] Merkmalsraum mit 3 Dimensionen [Hin09] Term-Dokument-Matrix mit einfachen Häufigkeiten als Gewichtung, entnommen von [PDGS] Entscheidungsbaum k-nearest Neighbor-Verfahren Support Vector Machine Darstellung von Napoleons Marsch auf Moskau, erstellt von Charles J. Minard (1869) Historische Darstellungen ThemeRiver [SH02] Parallele Koordinaten am Beispiel einer mikrobiologischen Datenmenge [HS00, S. 187] Scatterplots ([pica] und [picb]) Baseballspieler-Statistik in einer Table Lens [RR] Referenzmodell der Visualisierung nach [SKC99] Datentabelle über Filme Beispiele für nicht eingehaltene Qualitätskriterien Verwendung eines Farbkreises um konträre und ähnliche Farben zu identifizieren [Sto06] Optische Täuschungen (nachempfunden aus [War08, S.69] und [HS00, S.86]) Stufen-Modell der Wahrnehmung [War04] Gestaltgesetze (Teil I) V

14 2.27.Gestaltgesetze (Teil II) Gestaltgesetze (Teil III) Merkmalsvektor einer Ergebnisse für das Suchwort Visualisierung ThemeView [Wol06] Cone-Tree [GGR91] Radial Graph [pre] Hyperbolischer Graph Treemap [pici] Aufschlüsselung von Klimazonen über eine Legende [picc] Helligkeitskontrast bei Detail-Informationen Fisheye-Ansicht des U-Bahn-Netzes in Paris [MS94] Absender-Empfänger-Beziehungen in 2D-Darstellung Timeline View D-Landschaft in Spamology Th Anwendungen Th im Gesamtüberblick Darstellung einer Treemap mit Prefuse Darstellung von Strukturen und Beziehungen in großen Informationsmengen mit Processing Visualisierungen mit InfoVis Architektur der SpamVis-Engine Datenfluss im Zuge der -Aufbereitung, Analyse und Gewichtung Überblick über den Testprozess mit Gewichtung von spamspezifischen Merkmale Beispiel eines Standardvektors Beispiel eines standardisierten Merkmalvektors Darstellung der als Kugelstrang Darstellung als farbiger Kugelstrang stufige-Farbreihe Farb-Kodierung der spamspezifischen Merkmale Hierarchie als Baum Hierarchie als Treemap Aufbau des Testsystems unter Verwendung von XAMPP Darstellung des Datenflusses zwischen den Engine-Modulen Regulärer Ausdruck zum Extrahieren des Spamscores

15 6.4. Regulärer Ausdruck zum Finden und Ersetzen von Umlauten UML-Diagramm der SpamVis-Engine Datenbankschema manueller oder zeitlicher Start der Engine Darstellung eines einzelnen Postfaches im Compact Mode Such-Ergebnisse nach Eingabe des Begriffes sex Darstellung des (vereinfachten) Global Mode Überblick über die Gesamtarchitektur Abhängigkeitsfaktoren bezüglich der Klassifikation Ergebnisse der Klassifikation

16

17 Tabellenverzeichnis 1.1. Übersicht über die Aufgabenteilung Header-Informationen im Überblick Beispiel einer Stoppwortliste Spamspezifische Merkmale im Klartext einer Überblick über einige Webservices des Wortschatz Leipzig Übersicht der betrachteten spamspezifischen Merkmale Übersicht über die spamspezifischen Tests Auszug über Rückgabewerte bei Anwendung des imap_headerinfo- Befehls Auflistung der wichtigsten Funktionen im Analyzer Zusammenfassung der Gewichtungsfunktionen im Weighter Übersicht der wichtigsten Datenbankfunktionen

18

19 Kapitel 1 Einleitung 1.1 Motivation hat als Kommunikationsmittel aufgrund der großen Verbreitung und auch Popularität in den letzten Jahren eine herausragende Stellung eingenommen. Die Möglichkeit der schnellen Korrespondenz unabhängig von geographischen Entfernungen hat mittlerweile zu einem unverzichtbaren Medium werden lassen, sowohl im privaten als auch geschäftlichen Bereich. Jedoch existieren bei dieser Form der Kommunikation auch Risiken, die man nicht außer Acht lassen sollte. Spam, Viren, Würmer und Trojaner, Spyware, Phishing oder auch DoS-Angriffe (Denial of Service) sind Bedrohungen, denen sich eine moderne -Infrastruktur stellen muss. Betrachtet man einmal das Spam- Aufkommen über die letzten Jahre zeigt sich, das hier ein immenser Zuwachs zu verzeichnen ist. Aktuelle Schätzungen beziffern, dass der Anteil von Spam- Nachrichten im weltweiten -Verkehr bei ca. 89 Prozent liegt - wenn nicht sogar noch höher. 1 Die Nachteile dieser Spam-Flut liegen klar auf der Hand: Abgesehen von dem enormen Verbrauch an Bandbreite, der durch den zusätzlichen -Verkehr hervorgerufen wird, werden die Mailserver- und auch Storage-Infrastruktur zusätzlich belastet. Es besteht die Gefahr, dass IT-Systeme infiziert oder in Bot-Netze eingebunden werden, oder im schlimmsten Fall sogar die gesamte -Infrastruktur ausfällt. Die legitime -Kommunikation wird langwierig und zeitraubend, die Zustellung relevanter Nachrichten gefährdet. Auf Unternehmensseite und bei den Internet Service Providern (ISP) entstehen so- 1 gemäß dem Spamreport von Symantec (Stand 03/2010). Vergleichsweise beziffert Ironport das Volumen auf 85.6% Stand (04/2010) und Kaspersy Lab auf 82.9% (Stand 03/2010)

20 1. EINLEITUNG gar wirtschaftliche Schäden - auf der einen Seite in Form von Produktionsausfällen der Mitarbeiter und auf der anderen Seite in Form von Kosten für Antispam-Lösungen. Um dieser massiven Flut an Spam entgegenzuwirken, gibt es sowohl hardwarebasierte als auch softwarebasierte Lösungen, die reaktiv nach dem Versenden von Spam-Nachrichten einsetzen. Die Antispam-Maßnahmen können bereits schon während des Sendedialogs wirksam werden, beispielsweise in Form einer Absendervalidierung, oder auch erst am Ende des Übertragungsweges greifen, z.b. durch inhaltsbasierende Filterprogramme. Die meisten Spam-Filter- Hersteller setzen mittlerweile selbstlernende Filter ein, die auf einem Ansatz der Künstlichen Intelligenz (KI) beruhen, und werden auf diese Weise immer besser im Blockieren unerwünschter Nachrichten. Jedoch entwickeln auch die Spam-Versender auf sehr kreative Art und Weise immer wieder neue Techniken, um inhaltsbasierende Filter auszutricksen. Es gibt mittlerweile vielfältige Methoden um den Inhalt einer Text-Nachricht zu verschleiern. Letztendlich ist ein ständiger Wettlauf zwischen den Spam-Versendern und den Filterherstellern zu beobachten - wobei die Spammer üblicherweise stets einen Schritt voraus sind. Es stellt sich die Frage, inwiefern Visualisierungen einen Beitrag zur Erkennung von Spam-Mails leisten können - um Muster aufzuzeigen, die von den klassischen Spamfilterverfahren nicht entdeckt werden. 1.2 Ziel Es existieren bereits Ansätze, die sich mit der Visualisierung von -Traffic hinsichtlich spamspezifischer Merkmale beschäftigen, jedoch basieren diese auf der Analyse von -Logs und verwenden Informationen aus dem Header einer als Gr undlage für eine visuelle Darstellung.[CM07] Ziel dieser Diplomarbeit ist es, s hinsichtlich ihres Inhalts zu analysieren und spezifische Merkmale im Text zu finden, die nach Extraktion, entsprechender Aufbereitung und Gewichtung in eine geeignete Visualisierung überführt werden. Diese Visualisierung soll die Eigenschaften der extrahierten Merkmale auf eine Weise repräsentieren, so dass eventuell vorhandene Wort-Muster, die auf Spam hindeuten, sichtbar werden. Auf diese Weise könnte ein Administrator ergänzend zu den Prüfergebnissen eines klassischen Spamfilters zusätzliche Informationen gewinnen, die es ihm erlauben, die Filter nachzujustieren. Um dies zu erreichen, müssen s hinsichtlich ihrer Struktur analysiert werden. Es muss überprüft werden, welche inhaltlichen Kriterien sich für solch 2

21 1.3. AUFBAU DER ARBEIT eine Musterfindung eignen, um darauf aufbauend eine geeignete Methode zu finden, um die relevanten Inhalte zu extrahieren und aufzubereiten. Im Anschluss soll untersucht werden, welche Form der Visualisierung eingesetzt werden kann, um die verborgenen Zusammenhänge im Zuge einer graphischen Darstellung effektiv sichtbar zu machen. Dazu ist ein Konzept zu entwickeln, welches eine Umsetzung eines solchen Tools ermöglicht und auch die Einbindung in eine bestehende -Infrastruktur erlaubt. Anschließend soll das Konzept prototypisch implementiert werden um zu zeigen, dass es umsetzbar und für einen Administrator praktisch nutzbar ist. 1.3 Aufbau der Arbeit Dieser Abschnitt gibt einen Überblick über den Aufbau der Arbeit und erläutert kurz die Inhalte der einzelnen Kapitel. Kapitel 1 erklärt die Motivation für diese Diplomarbeit und beschreibt deren Zielsetzung. Kapitel 2 gibt eine allgemeine Einführung in die Themen , Spam, Text Mining und Visualisierung. Durch Betrachtung der Historie, der Grundprinzipien sowie der Funktionsweise der einzelnen Aspekte sollen die Grundlagen für den weiteren Verlauf der Arbeit geschaffen werden. Kapitel 3 beginnt mit einer Analyse verfügbarer Datenquellen. Anschließend wird untersucht, welche Struktur die s aufweisen und welche spamspezifischen Merkmale in einer hinsichtlich des Inhalts zu finden sind, um diese im Zuge einer Textanalyse zu extrahieren und mit geeigneten Mitteln zu gewichten. Im zweiten Teil dieses Kapitels untersuchen wir verschiedene Visualisierungstechniken, die Farbauswahl in Abhängigkeit der verwendeten Datentypen gefolgt von einer Analyse möglicher Interaktionstechniken. Anschließend werden in einer State-of-the-Art-Analyse aktuelle Visualisierungen von -Traffic bzw. der Inhalte von s vorgestellt und eine Vorauswahl unterstützender Visualisierungs-Frameworks getroffen. Kapitel 4 beinhaltet die Anforderungen, die sich nach der durchgeführten Analyse für die Engine und die Visualisierungskomponente ergeben. Kapitel 5 stellt das Konzept vor, beginnend mit dem Konzept für die Engine, die den Extraktions-, Analyse- und Aufbereitungsprozess durchführen soll, gefolgt von dem zur Visualisierung, die auf diesen extrahierten Daten aufsetzt. 3

22 1. EINLEITUNG Kapitel 6 beschreibt die prototypische Implementierung der beiden soeben genannten Programmkomponenten. Neben dem Aufbau und der Funktionsweise der Engine und der Visualisierungskomponente werden auch die Tools erklärt, mit denen diese Arbeit umgesetzt wurde. Kapitel 7 führt eine Evaluierung der prototypischen Implementierung durch. Kapitel 8 beinhaltet eine Zusammenfassung der Arbeit und gibt Ausblicke auf weitere Entwicklungen. 1.4 Aufgabenteilung Da es sich bei der Konzeption und Implementierung von visuellen Mustern aus -Inhalten um eine umfassende Aufgabe handelt, wurde diese Diplomarbeit in einer Gemeinschaftsarbeit verfasst. Wie schon im letzten Abschnitt angedeutet, findet eine Unterteilung in die Bereiche Engine und Visualisierungskomponente statt. Pouneh Khayat Pour hatte dabei die Analyse und Aufbereitung der s zum Schwerpunkt, während Yvonne Neidert den Bereich der grafischen Aufbereitung der extrahierten Daten übernommen hat. Tabelle 1.1 zeigt hierzu eine Übersicht über die Aufgabenteilung. Kapitel Aufteilung P. Khayat Pour Y.Neidert 1. Einleitung gemeinsam verfasst 2. Grundlagen , Spam, Visualisierung Text-Mining 3. Analyse Text- und Datenanalyse Visualisierung Datenspeicherung State-of-The-Art Visualisierungs-Toolkits 4. Anforderungen gemeinsam verfasst 5. Konzept Engine Visualisierung Schnittstellen: gemeinsam verfasst 6. Implementierung Visualisierung Engine DB-/XML-Schnittstelle Scheduler 7. Evaluation gemeinsam verfasst 8. Zusammenfassung gemeinsam verfasst Tabelle 1.1.: Übersicht über die Aufgabenteilung 4

23 Kapitel 2 Grundlagen Dieses Kapitel beschreibt einige der Grundlagen, die zum besseren Verständnis der Diplomarbeit in den nachfolgenden Kapiteln benötigt werden. Wir beginnen mit einer kurzen Einführung in das Medium , betrachten danach die Problematik von Spam-Mails sowie aktuelle Filterungsmethoden und gehen im Anschluss auf grundlegende Konzepte des Textminings ein. Abgeschlossen wird das Kapitel mit einem Überblick über die Grundlagen einer Visualisierung. Dabei werden unter anderem die Themengebiete Farbe und Wahrnehmung sowie hilfreiche Visualisierungstechniken vorgestellt Die ist mittlerweile aufgrund ihrer Verbreitung und Popularität zu einem der wichtigsten Kommunikationsmittel geworden und gehört neben dem World Wide Web zweifellos zu der Standardapplikation des Internet. Die Übertragung von Nachrichten auf elektronischem Weg in Computernetzwerken ermöglicht eine einfache, schnelle und bequeme, aber nicht zeitgebundene Kommunikation weltweit.[egg07, S. 1] Die elektronische Post war nicht gezielt geplant, sondern eroberte das Netzwerk aufgrund des Benutzerverhaltens Geschichtlicher Hintergrund Die Entstehung der geht auf das Advanced Research Projects Agency Network (ARPANET) zurück, welches 1962 unter Führung des Massachusetts Institute of Technology (MIT) und des US-Verteidigungsministeriums gegründet wurde um ein dezentrales Netzwerk zu schaffen. Auf diese Weise sollten Forschungseinrichtungen und Hochschulen die Möglichkeit haben, ihre da-

24 2. GRUNDLAGEN mals geringen Rechenkapazitäten durch Datenaustausch besser auszunutzen. war eine der ersten Anwendungen, welche von den Möglichkeiten des Arpanets Gebrauch machte. Als Erfinder der gilt der Entwickler Ray Tomlinson, welcher 1971 eine Testversion eines Nachrichtenübertragungsdienstes im Arpanet einführte. Im Jahr 1982 sind zwei Standards verabschiedet worden, die den Aufbau und die Übertragung von s festlegten: In RFC wurde ein einfaches, ASCII-basiertes Protokoll definiert, das den Austausch von s zwischen zwei Mailservern beschreibt (Übertragungsprotokoll), und in RFC 822 wird der Aufbau einer beschrieben (Nachrichtenformat).[Sch05] RFCs gelten als standardisierte Empfehlungen, die von der Internet Engineering Task Force (IETF), einer nicht staatlichen, aber weltweit anerkannten Organisation, erfasst werden. Den letzten Spezifikationsstand stellen RFC 5322 und 5321 von Oktober 2008 dar Aufbau und Struktur Gemäß RFC 5322 besteht eine aus mehreren Teilen: einem -Kopf, der auch als Header bezeichnet wird, und dem -Körper, dem so genannten Body. Um eine klare Unterteilung zu gewährleisten, werden die beiden Teile durch eine Leerzeile voneinander getrennt. Der Aufbau ist beispielhaft in der untensehenden Abbildung beschrieben 2.1. Abbildung 2.1.: -Aufbau 1 Request for Comments, zu deutsch Bitte um Kommentare, 6

25 2.1. Header Der Header beinhaltet neben Adressinformationen über den Absender und Empfänger auch den Betreff der und diverse andere Informationen wie Mailserver, die die Nachricht weitergeleitet haben oder das Bearbeitungsdatum der Nachricht. Die Adressinformationen sind im Grunde aber nur eine Zusatzinformation für den Empfänger, da die für den Transport der Nachricht ausschlaggebenden Informationen im so genannten Envelope?? enthalten sind. Jedes Header-Feld besteht aus einer Zeile mit ASCII-Text, in der der Feldname, ein Doppelpunkt und meist ein Wert stehen. Tabelle 2.1 zeigt einen Überblick über die wichtigsten im Header einer enthaltenen Informationen. Return-Path: Received: Message-Id: Date: To: CC: Subject X-Mailer: MIME-Version / Content Type: From: Adresse, an die Antworten gesendet werden Eintragungen der einzelnen Mail-Gateways, über die die Nachricht transportiert wurde, um den Transportweg nachvollziehen zu können Id der Nachricht zur eindeutigen Identifizierung Versanddatum Empfänger-Adresse Adresse von Empfängern einer Kopie Betreff-Zeile -Client, mit dem die Nachricht erstellt wurde Angabe der unterstützten MIME-Version und Information Information über konvertierte Nachrichten-Bestandteile Absender Tabelle 2.1.: Header-Informationen im Überblick Body Der Body enthält den eigentlichen Inhalt einer . RFC 5322 definiert, dass der Body, wie auch die Daten im Header, nur Zeichen des 7-Bit-ASCII- Zeichensatzes (American Standard Code for Information Interchange) beinhalten darf. Diese Zeichenkodierung definiert 33 nicht-druckbare und 95 druckbare Zeichen, beginnend mit dem Leerzeichen. Die Zeichen umfassen das lateinische Alphabet in Groß- und Kleinschreibung, sowie arabische Zahlen und einige Satz- und Steuerzeichen. Der 7-Bit-ASCII-Zeichensatz entspricht weitgehend dem einer Tastatur für die englische Sprache und ist demnach nur ausreichend, um einen englischen Text zu verfassen. Ausgeschlossen sind spezielle Sonderzeichen, die nicht im lateinischen Alphabet enthalten sind, wie beispiels- 7

26 2. GRUNDLAGEN weise die deutschen Umlaute (ä, ü, ö) oder auch das ß - diese müssen explizit kodiert werden. Für die deutsche Sprache ist als Zeichensatz ISO bzw. ISO geeignet. Doch auch der Zeichenvorrat dieser Schemata ist begrenzt. Deshalb wurde die Kodierung UTF-8 (8-bit Unicode Transformation Format) entwickelt, der mit einer variablen Codelänge von ein bis vier Byte pro Zeichen über Zeichen und damit möglichst alle Zeichen sämtlicher Sprachen eindeutig darstellen kann. Um jedoch die Übertragung von Nicht-ASCII-Zeichen in Texten sowie von Nicht-Text-Dokumenten wie Bildern, Sprache und Video in textbasierten Übertragungssystemen wie zu ermöglichen, benötigt man bestimmte Kodierungsverfahren. Solche Kodierungsverfahren werden von den zuvor genannten Standards RFC 5322 und 5321 nicht unterstützt und erst bei der Einführung von Multipurpose Internet Mail Extensions (MIME) eingesetzt. Zudem ist noch definiert, dass eine Zeile im Body nicht mehr als 998 Zeichen enthalten darf. Die empfohlene Maximallänge beträgt 78 Zeichen, und Zeilen werden immer mit einem Zeilenumbruch abgeschlossen. MIME (Multipurpose Internet Mail Extensions) Aufgrund der 7-bit-Limitierung und Zeilenlängenbeschränkung der -Protokolle und der damit verbundenen begrenzten Möglichkeiten von s wurde im Juni 1992 mit MIME ein neuer Kodierungsstandard vorgeschlagen. Dieser sollte ermöglichen, neben ASCII-Text auch Nicht-ASCII-Zeichen zu verwenden, um in anderen Zeichensätzen verfasste Texte oder auch Nicht-Text- Dokumente wie Bilder, Sprache und Video in definierten Formaten über das Internet auszutauschen. MIME ist keine Neudefinition von RFC 822, die Grundstruktur der Nachrichten bezüglich des Headers und des Bodys bleibt erhalten. Es werden lediglich einige weitere spezielle Header-Einträge hinzugefügt, die die Struktur und den Aufbau der beschreiben. Somit können Informationen über den Typ der übertragenden Daten und das angewendete Kodierungsverfahren übermittelt werden. Die für MIME relevanten RFCs sind RFC-2045 bis RFC-2049 und RFC-4288/ International Organization for Standardization 8

27 2.1. MIME erweitert die -Header-Felder um 5 weitere Felder. Diese sind: MIME-Version: Version des in der Nachricht verwendeten MIME-Standards Content-Type: beschreibt Typ und Untertyp der Dateien Content-Transfer-Encoding: gibt Kodierungsverfahren an Content-ID: eindeutige Kennung eines Nachrichtenteils Content-Description: Inhaltsbeschreibung mit zusätzlichen Informationen Content-Disposition: Eigenschaften des Anhangs Durch die Erweiterung können Informationen über den Typ der übermittelten Daten, der in dem Content-Type-Feld definiert wird, ausgetauscht werden. Bei Text-Mails folgt nach der Angabe des Content-Types noch ein Zeichensatz namens charset, üblicherweise ISO oder UTF-8. Gleichzeitig wird im Content-Transfer-Encoding-Feld ein Kodierungsverfahren festgelegt, welches entsprechend für den Typ der übermittelten Daten verwendet wird. Somit kann die empfangende, als auch die sendende Instanz feststellen, um welche Art von kodierten Daten es sich handelt und welche Kodierung dabei verwendet wurde Versand Für das Senden, Empfangen und Weiterleiten von s sind Mailserver zuständig. Auf einem solchen Mailserver läuft dazu ein als Message Transfer Agent (MTA) bezeichnetes Programm. Als -Clients werden die jeweiligen Absender- und Emfpänger-PCs bezeichnet, auf denen ein Message-User-Agent (MUA) installiert ist, eine Benutzeroberfläche, die dem Anwender eine einfache Kommunikation mit anderen Mailservern ermöglicht. Wie der Versand nun im Detail erfolgt ist in Abbildung 2.2 beschrieben. Ein Anwender verschickt über seinen -Client 3 eine . Der Client sendet diese Nachricht unter Verwendung des SMTP-Protokolls (Simple Mail Transfer Protocol) an den zuständigen SMTP-Server (1.), der nun für das Weiterleiten der zuständig ist. Nachdem der Server die vom Client entgegengenommen hat wird geprüft, ob sich der Empfänger innerhalb der eigenen Domain befindet und, falls ja, über den Mail Delivery Agent (MDA) zugestellt. Sollte sich der Empfänger jedoch außerhalb der eigenen Domain befinden, muss eine Weiterleitung der Nachricht erfolgen. Um das richtige Ziel 3 hier kommen z.b. -Clients wie Mozilla Thunderbird, Microsoft Outlook etc. zum Einsatz 9

28 2. GRUNDLAGEN Abbildung 2.2.: -Versand per SMTP [pice] zu ermitteln führt der Server eine DNS-Abfrage durch. (2.) Im DNS, oder auch Domain Name System genannt, befinden sich die Mail-Exchange-Records (MX- Records), sozusagen Adressen von Mailservern, die Nachrichten für die Ziel- Domäne entgegennehmen. Der SMTP-Server erhält nun eine Liste von IP- Adressen von passenden Servern zurück und versucht in der Reihenfolge einer festgelegten Priorität den entsprechenden Servern die Nachricht zu übermitteln. (3.) Hat ein Ziel-Server die erhalten, prüft auch er, ob die Nachricht weitergeleitet werden muss oder nicht, so dass eventuell eine Weiterleitung über eine ganze Reihe von MTAs notwendig ist. Liegt der Empfänger nun in der eigenen Domain, wird die in das private Postfach zugestellt (4.). Um diese Nachricht abzurufen (5.) stehen dem Empfänger über den Mail Receive Agent (MRA) zwei verschiedene Protokolle zur Verfügung. Mittels POP3 (Post Office Protocol) wird die Mail auf den Client weitergeleitet und verbleibt nicht im SMTP-Postfach. Auf diese Weise kann der Anwender die Nachricht offline lesen. Eine Alternative ist die Verwendung von IMAP (Internet Message Access Protocol), welches eine Synchronisierung zwischen mehreren Mail-Clients ermöglicht. Die s verbleiben dabei im SMTP-Postfach, werden dort verwaltet und nicht auf den Client heruntergeladen. SMTP-Dialog Bevor eine von einem Client verschickt werden kann, erhält sie einen virtuellen Umschlag, den Envelope. Dieser beinhaltet die für die Zustellung einer relevanten Informationen, wie z.b. die Adresse des Absenders und des Empfängers oder im späteren Verlauf des Transports auch Zeitstempel darüber, wann die Nachricht von einem Mailserver an den anderen weitergeleitet wurde. 10

29 2.2. SPAM Die eigentliche Übertragung einer erfolgt in Form des sogenannten SMTP-Dialogs. Das Simple Mail Transfer Protocol ist, wie die meisten derzeit im Internet verwendeten Kommunikationsprotokolle, menschenlesbar und besteht also aus festgelegten (englischen) Schlüsselwörtern oder Befehlen, die in bestimmter Reihenfolge verwendet werden. Beim Verbidungsaufbau zu einem Mailserver stellt sich der Einlieferer, also der Client oder ein sendender Mailserver erst einmal vor (mittels HELO bzw. EHLO), gibt den Absender an ( Envelope-From ) und nennt den oder die Empfänger ( Envelope-To ). Danach folgt mit dem Kommando DATA die , bestehend aus Header und Body. Ein einzelner Punkt alleine auf einer Zeile signalisiert, dass die fertig übertragen ist. Ist der empfangene Server für die Auslieferung an den genannten Empfänger zuständig, legt er die Nachricht in dessen Postfach ab und entfernt den Envelope. Ansonsten leitet er die Nachricht über einen neuen Dialog an einen anderen Server weiter. Probleme von SMTP Wie man sehen kann basiert die gesamte -Kommunikation hauptsächlich auf drei Protokollen: SMTP, welches für den Versand und die Weiterleitung von s zuständig ist, sowie POP3 bzw. IMAP für deren Empfang. Bei Nutzung von POP3 oder IMAP muss sich der Anwender authentifizieren, um Zugriff auf das Postfach zu erhalten. Bei SMTP hingegen wird wenig Überprüfung der tatsächlichen Authentizität des angegebenen Absenders vorgenommen - was ein großes Grundproblem dieses Protokolls ist. [Knu06]. Um eine zu versenden benötigt man nicht unbedingt einen MUA, sondern kann dies auch ganz einfach über telnet 4 durchführen. Dabei sind Absender- sowie Empfängeradresse frei wählbar, und es wird beim Verbindungsaufbau zwischen Client und Server keine Authentifizierung des Anwenders durchgeführt - die Absenderinformationen können auf diese Weise recht einfach verfälscht werden. SMTP ist bereits im Jahr 1982 festgelegt worden, zu einer Zeit, als nur sehr wenige Rechner miteinander vernetzt waren. Die Probleme von heute, die riesige Menge an Spam, Trojanern und Viren, waren damals noch nicht abzusehen. 2.2 Spam Das Wort Spam wird heutzutage allgemein als Synonym für unerwünschte Inhalte im Bereich der Computernetze verwendet.[jt05] 4 ein weit verbreitetes Netzwerkprotokoll, wird typischerweise zur Fernsteuerung von Computern in Form von textbasierten Ein- und Ausgaben eingesetzt 11

30 2. GRUNDLAGEN Historie Der Begriff SPAM ist einer Markenbezeichnung der amerikanischen Firma Hormel Foods für Frühstückfleisch in Dosen entliehen ( Spiced Ham ). Ein Sketch der britischen Komiker Monty Python machte Spam zur Bezeichnung für unerwünschte -Nachrichten. Der Hintergrund dieses Sketches ist eine laut singende Gruppe von Wikingern, welche in einem Restaurant jegliche sinnvolle Unterhaltung durch ihren Gesang verhindern - und Spam hat einen ähnlichen Effekt. Durch die Vielzahl der unerwünschten s verhindert es eine sinnvolle Kommunikation. Am 12. April 1994 überschwemmte der US- Anwalt Laurence Canter die Nachrichtenforen (Usenet) mit Werbung für seine Kanzlei. Dies war der erste kommerzielle Spam, welcher auf diese Weise verbreitet wurde Definition des Begriffs Der Begriff Spam bezeichnet unverlangt zugesandte Massen- . Unverlangt ist eine dann, wenn das Einverständnis des Empfängers zum Empfang der Nachricht nicht vorliegt und auch nicht zu erwarten ist. Massen- bedeutet, dass der Empfänger die Nachricht nur als einer von vielen erhält. Auf englisch bezeichnet man dies als UBE (Unsolicited Bulk , Unverlangte Massenmail). Es reicht nicht, dass eine unverlangt oder Massenmail ist. Zur Definition von Spam gehören beide Aspekte. Zur Bezeichnung erwünschter s und als Abgrenzung von Spam dient häufig der Begriff Ham (englisches Wort für Schinken). Unter UBE kann man sich zum Beispiel Phishing-Mails, Kettenbriefe oder E- Mails mit religiösem, weltanschaulichem oder politischem Inhalt vorstellen. Eine Untermenge von UBE stellt UCE (Unsolicited Commercial ) dar. Der Inhalt dieser s weist einen kommerziellen Hintergrund auf, d.h. der Absender hat die Intention, den Empfänger zur Bestellung eines Produktes oder einer Dienstleistung zu animieren. Bezüglich der genauen Definition von Spam gibt es aber unteschiedliche Sichtweisen. Eggendorfer[Egg07] sieht Spam als Synonym für UCE. Für die vorliegende Arbeit verwenden wir aber obige Definition, die aus einer Studie des Bundesamtes für Sicherheit und Informationstechnik [JT05] entnommen ist. Viren, Trojanische Pferde oder andere Malware werden im Übrigen nicht als Spam eingestuft. Den Schutz vor ihnen übernehmen Antiviren-Programme oder Applicationen-Level-Firewalls. 12

31 2.2. SPAM Vorgehensweise der Spammer Der Prozess von der Erstellung der Nachricht bis zur Ankunft beim Empfänger lässt sich in drei, größtenteils softwaregesteuerte Teilschritte untergliedern. Die Erstellung der Werbebotschaft, die Beschaffung von -Adressen und den Versand an eine Vielzahl von Empfängern. Adressenbeschaffung Spammer benötigen eine große Anzahl von Empfängeradressen. Dazu setzten sie sogenannte Harvester-Tools ein. Dabei handelt es sich um Programme, die automatisch und mit hoher Geschwindigkeit Internetseiten, Diskussionsforen, Archivsammlungen von Mailinglisten oder auch Gästebücher nach - Adressen durchsuchen, um diese anschließend zu extrahieren und in einer Datenbank abzulegen. Alternativ zum Sammeln von -Adressen bietet es sich für die Spammer auch an, -Adressen in großer Zahl käuflich zu erwerben. Versand von Spam-Mails Das Versenden von Spam-Mails ist nicht schwierig: Man benötigt nur ein E- Mail-Programm um über das SMTP-Protokoll Nachrichten zu versenden. Früher haben die Spammer eigene Mailserver zum Versand eingesetzt, jedoch haben sich die Methoden im Verlauf der letzten Jahre geändert. Um die Absenderinformationen zu verschleiern, verwenden Spammer beispielsweise schlecht konfigurierte Mailserver, so genannte Open-Relays. Aber aufgrund der Missbrauchgefahr sind inzwischen viele solcher offenen Relays wieder geschlossen oder von Internet Providern gesperrt worden, so dass ihre Zahl deutlich gesunken ist. Mittlerweile greifen die Spammer hauptsächlich auf Bot-Netze oder durch Trojaner verseuchte PCs (so genannte Zombies) zurück, die fremdgesteuert zum massenhaften Versand von s missbraucht werden. An dieser Stelle sei auch nochmals zu erwähnen, dass das SMTP-Protokoll den Versand an mehrere Empfänger gleichzeitig ermöglicht. Somit ist ein großflächiges Verteilen von s denkbar einfach. [Knu06] Auswirkungen von Spam Der Versand einer Spam-Mail ist für den Absender relativ günstig, denn die anfallenden Kosten setzen sich im Grunde aus den Kosten für die Adressenbeschaffung, den Internetzugang sowie für den eigentlichen Versand zusammen. Für Privatpersonen sind die Kosten durch ein erhöhtes Spamaufkommen eher unbedeutend. Als Nachteil ergibt sich eher, dass mehr Speicherplatz in der 13

32 2. GRUNDLAGEN Mailbox belegt wird und der ein höheres Risiko besteht, wichtige Nachrichten zu überlesen oder aus Versehen zu löschen. Aber auf Seiten der Internet Service Provider oder für die Netzinfrastruktur eines Unternehmens ergeben sich deutlich höhere Kosten und sehr gravierende Nachteile. Durch den massenhaften Versand von Spam und den dadurch erhöhten -Traffic ergibt sich ein ernormer Bandbreitenverbrauch, was im nächsten Schritt auch zusätzlichen Ressourcenverbrauch mit sich bringt und generell die Mailserver- und Storage-Infrastruktur belastet. Für einen Mitarbeiter des Unternehmens wird die -Kommunikation wie bei einer Privatperson langwierig und zeitraubend, so daß an dieser Stelle Produktionsausfälle der Mitarbeiter berücksichtigt werden müssten bzw. automatische Filtermethoden eingesetzt werden sollten um für Entlastung zu sorgen. Der Einsatz von Anti-Spam-Systemen bringt natürlich ebenfalls zusätzliche Kosten mit sich Antispam-Techniken Es gibt eine Vielzahl unterschiedlicher Spam-Bekämpfungsmaßnahmen. In erster Linie kann man eine Unterscheidung zwischen hardwarebasierten und auch softwarebasierten Lösungen vornehmen. Aber weiterhin kann man auch zwischen herkunfts- und inhaltsbasierten Verfahren unterscheiden. Die herkunftsbasierten Verfahren befassen sich mit der Validierung des Absenders und versuchen im Grunde die Design-Lücke von SMTP zu kompensieren (siehe dazu 2.1.3). Die notwendigen Informationen zur Prüfung werden aus den Headern der s sowie aus den SMTP-Dialogen gewonnen, so dass bereits im Verlauf der SMTP-Sitzung Spam-Mails abgewiesen werden können. Die inhaltsbasierenden Verfahren hingegen arbeiten mit der selbst, d.h. die eingesetzten Mechanismen beziehen sich auf den Body und die Betreffzeile der Nachricht. Der Einsatz eines solchen Verfahrens bedeutet, dass die Mail alle reputationsbasierten Antispam-Maßnahmen durchlaufen hat und bisher nicht abgewiesen wurde. Vorteil einer solchen Klasse von Filtern ist, dass sie individuell auf die Bedürfnisse des Empfängers angepasst werden können. Jedoch liegt ein gesteigerter Rechenaufwand vor, der auch die -Zustellung verzögert. Einige der Filterungsmöglichkeiten möchten wir im Folgenden etwas genauer vorstellen. Black- und Whitelisting Eine Möglichkeit um Absender zu blockieren, ist das sogenannte Blacklisting. Es handelt sich hierbei um ein reputationsbasiertes Verfahren, bei dem sowohl zentral als auch lokal geführte Listen und Datenbanken eingesetzt werden, 14

33 2.2. SPAM mittels denen man die Herkunft der überprüft. Die sogenannten DNS Black Lists (DNSBL) 5 listen meist Namen und IP-Adressen von Rechnern oder Domänen, die einmal durch Spamversand aufgefallen sind. Ein Mailserver oder auch eine Spamerkennungssoftware auf einem Privatrechner können dann bei einer eingehenden überprüfen, ob die Herkunfts-IP-Adresse auf einer DNSBL geführt wird und, wenn zutreffend, diese Nachricht als Spam markieren oder sogar die Annahme verweigern. In diesem Fall wird der SMTP-Dialog gar nicht erst gestartet. Zur Abfrage einer DNSBL wird die DNS-Technik verwendet, so dass die Abfrage in Echtzeit erfolgen kann. Blacklisting ist eine Methode, die wenig Ressourcen verbraucht und sich sofort beim Verbindungsaufbau zum Mailserver durchführen lässt. [Egg07] Alle zur Prüfung notwendigen Informationen können dem Header entnommen werden. Jedoch gibt es in Bezug auf dieses Verfahren auch berechtigte Kritik, denn die Qualität der Ergebnisse hängt von der Aktualität und Güte einer verwendeten Blacklist ab. Wie bereits in Punkt erwähnt, wird Spam heutzutage selten von den Rechnern der Spammer selbst verschickt, sondern eher über Offene Relays oder infizierte PCs, die sog. Zombies Somit können Adressen auch unberechtigter Weise auf einer schwarzen Liste landen. Neben den Black-Lists, auf denen die IP-Adressen von Spam-Mailservern aufgeführt werden, können auch weisse Listen angelegt werden, die vertrauenswürdige Quellen enthalten (White-Lists). Black- und White-Lists werden häufiger im lokalen Umfeld genutzt, da hier recht einfach eine individuelle Anpassung an das Unternehmen bzw. die Zielgruppe vorgenommen werden kann. Jedoch sollten solche Listen nicht als alleinige Antispam-Maßnahme eingesetzt werden, sondern nur in Kombination mit anderen Antispam-Mechanismen. Checksummen-Prüfung Eine Eigenschaft von Spam-Nachrichten ist, dass diese an sehr viele Empfänger versendet wird. Genau diese Tatsache wird bei der Checksummen-Prüfung ausgenutzt. Dabei werden die Prüfsummen von erkannten Spam-Mails in einer zentralen Datenbank gespeichert. Für jede empfangene wird die entsprechende Prüfsumme errechnet und mit jenen in der Datenbank abgeglichen. So kann anschließend bestimmt werden, ob die als Spam eingestuft werden kann oder nicht. Da die Spammer versuchen durch geringfügige Änderungen am Nachrichten-Text diesen Verfahren auszutricksen, versuchen 5 früher auch Realtime Blackhole List, RBL 15

34 2. GRUNDLAGEN modifizierte Versionen dieses Verfahrens diese Änderungen nicht in die Prüfsummenberechnung einfließen zu lassen und dadurch höhere Erkennungraten zu erzielen. Die bekanntesten und frei nutzbare Prüfsummen-Datenbanken sind Vipul s Razor, Pyzor und Distributed Checksum Clearinghouse (DCC). Greylisting Wenn eine wegen einem temporären Fehler nicht gleich beim ersten Mal zugestellt werden kann, unternehmen legitime Mailserver noch weitere Zustellversuche. Die meisten Spamversand-Tools hingegen sind üblicherweise so programmiert, dass sie nach einem gescheiterten Zustellversuch aufgeben und keinen weiteren Versuch unternehmen. Diese Tatsache macht sich Greylisting zunutze. Beim ersten Zustellversuch wird die Annahme einer verweigert und ein temporärer Fehlercode versendet. Dabei werden Merkmale des Absenders (z.b. IP-Adresse des sendenden Mailservers, die adresse des Absenders und Empfängers) in einer Datenbank gespeichert. Ein legitimer Mailserver versucht nach einer gewissen Zeitspanne die Zustellung erneut. Ist sein Image in der Datenbank zu finden, wird die Nachricht nun weitergeleitet. Der offensichtliche Nachteil bei diesem Verfahren ist die Verzögerung bei der Zustellung. Heuristische Inhaltsanalyse Ein Ansatz zur Analyse von Nachrichteninhalten ist, den Body und auch den Betreff einer mittels eines festen Regelwerks zu überprüfen und dann anhand der Gesamtheit aller Testergebnisse zu entscheiden, ob es sich um Spam oder Ham handelt. Spam-Mails zeichnen sich durch spezifische Besonderheiten aus. Beispielsweise werden oft unnötig viele Ausrufezeichen verwendet, Wörter ganzheitlich groß geschrieben oder die Texte in HTML-Format verschickt. Es gibt weiterhin zahlreiche Wörter, Phrasen oder Redewendungen, die typischerweise in Spam-Mails zu finden sind, wie z.b. sex, viagra, mortgage, hoam loan, buy now etc. Dabei sind die Spammer auch recht kreativ und versuchen durch verschleierte Schreibweisen (z.b. statt viagra) oder andere Tricks diese Art von Filter zu umgehen. Mittels statischer Wortlisten oder regulärer Ausdrücke kann man nach bestimmten Schlüsselwörtern oder Wortkombinationen suchen. Jedoch können solche spezifischen Wörter bzw. Sätze natürlich auch in normalen Ham-Mails vorkommen. Damit s nicht fälschlicherweise als Spam klassifiziert werden, sollte eine Vielzahl von Regeln angewendet werden und sichergestellt sein, dass eine Mail nur als Spam klassifiziert wird, wenn auch eine entsprechende Zahl von Regeln zutrifft. 16

35 2.2. SPAM Einen heuristischen Filter kann man nicht nur auf den Body einer anwenden, sondern der Header kann ebenfalls zur Analyse herangezogen werden. Beispielsweise ist es möglich, die Headerfelder auf Vollständigkeit zu überprüfen sowie die Formate der einzelnen Felder. Anhand eines Regelwerks kann man einfach feststellen, ob z.b. ein Datum in der Zukunft liegt oder die Absender- IP-Adresse ungültig ist. Auch mittels der Received-Zeilen kann man überprüfen, ob der bisherige Sendeverlauf konsistent ist. Viele Spammer fügen mit Absicht falsche Received-Zeilen in den Header ein, um die eigentliche Sendequelle zu verschleiern. Sehr große Sprünge bei den Zeitstempeln oder Lücken zwischen den Systembezeichnungen zwischen zwei Received-Zeilen deuten ziemlich sicher auf eine Manipulation der Kopfzeilen und somit auf eine Spam-Mail hin. [JT05] Vor- und Nachteile heuristischer Verfahren: Ein heuristischer Inhaltsfilter ist technisch gesehen einfach und flexibel und mit einem geeigneten Satz an Regeln recht zuverlässig. Aber da sich die Spammer immer wieder neue Schreibweisen für Wörter einfallen lassen und fortlaufend neue Worte hinzukommen, ist das Instandhalten des Regelwerks mit einem hohen administrativen Aufwand verbunden. Ein typischer Vertreter der heuristischen Filter ist SpamAssassin, der wir in Abschnitt noch kurz vorstellen werden. Statistische Inhaltsanalyse Mit Bayes-Filtern wird die Spam-Wahrscheinlichkeit einer bestimmt. Ein solcher Filter analysiert alle in einer vorkommenden Token und versucht anhand von Frequenzwerten und statistischen Vergleichen zu entscheiden, ob es sich bei der um Spam oder Ham handelt. Als Token werden Wörter und charakteristische Zeichenfolgen bezeichnet. Schon wenige Wörter können für eine richtige Kategorisierung ausreichen. [JT05] Detailliertere Informationen zum Bayes-Filter findet sich im Grundlagen-Abschnitt über das Text-Mining. Fehlklassifizierung von s In der Regel ergeben sich für eine zwei Klassifizierungsmöglichkeiten - entweder wird die Mail als Ham oder Spam eingestuft. Wie in Abbildung 2.3 zu sehen, entstehen durch diese Unterscheidung vier mögliche Filterergebnisse. Ein großes Problem für Unternehmen und Privatkunden ist, wenn Anti-Spam- Lösungen erwünschte Nachrichten fälschlicherweise als Spam klassifizieren 17

36 2. GRUNDLAGEN und somit nicht den Posteingang des Empfängers erreichen. Diese s werden False Positives genannt. Als False Negatives hingegen werden Spam-Mails bezeichnet, die vom Filter nicht korrekt erkannt und als erwünschte bzw. legitime s klassifiziert werden. Sie sind im Gegensatz zu den False Positives noch in geringem Maße akzeptabel. Aber Ziel einer Filterung sollte sein, die Fehlerrate so gering wie möglich zu halten, so dass auch keine oder möglichst wenig False Positives entstehen. Abbildung 2.3.: Klassifikationsergebnisse einer Filtersoftware SpamAssassin SpamAssassin 6 ist eine weit verbreitete -Filterungssoftware, welche sehr flexibel sowohl auf Mailserver-Ebene als auch Clientseite eingesetzt werden kann 7, um unerwünschte s zu erkennen. Die Software ist plattformunabhängig und unter den Bedingungen der Apache-Lizenz freigegeben. SpamAssassin verfügt über ein großes Regelwerk um zu entscheiden, ob eine als Ham oder Spam klassifiziert werden soll. Es existieren statische Regeln, die auf regulären Ausdrücken basieren, und auch ein Bayesscher Filter. Neben einer Header- und Inhaltsanalyse kann weiterhin auch auf externe Quellen zugegriffen werden. Dazu gehören beispielsweise Realtime Blackhole Lists (RBL) oder auch prüfsummenbasierte Filter wie Pyzor, Vipul s Razor oder DCC. In Abbildung 2.4 sieht man dazu einen kleinen Ausschnitt von Tests, die in Version 3.3.x von SpamAssassin durchgeführt werden. Trifft eine Regel auf die untersuchte zu, wird eine dafür vorher festgelegte Anzahl an Punkten vergeben, und am Ende der Analyse werden alle Punkte zu einer Gesamtsumme addiert. Überschreitet diese Summe einen 6 7 beispielsweise in Form eines Plug-Ins in einem -Programm wie Mozilla Thunderbird 8 18

37 2.2. SPAM Abbildung 2.4.: Spamassassin-Tests Schwellenwert, wird die als Spam deklariert. Dazu wird im Header nicht nur ein Spam-Flag gesetzt, sondern auch der Spamwert eingetragen und vermerkt, welche Tests positiv waren. Sofern eine nun als Spam erkannt wurde, gibt es unterschiedliche Möglichkeiten fortzufahren: Je nach Punktzahl kann die direkt gelöscht oder die Annahme verweigert werden. Alternativ kann man die auch in einen Quarantäne-Ordner verschieben oder einfach nur als Spam markieren - und letztendlich dem Empfänger die Entscheidung überlassen, ob er die E- Mail im Posteingang behält oder löscht. s, die von einem Filterprogramm zwar nicht eindeutig als Spam klassifiziert werden, aber doch über einen vergleichsweise hohen Spamwert verfügen, werden auch als Grauzonen- s bezeichnet. Bei SpamAssassin sind es in der Regel diejenigen, die knapp unter 5 Punkten liegen. 19

38 2. GRUNDLAGEN 2.3 Text Mining "Wir ertrinken in Informationen, aber uns dürstet nach Wissen." John Naisbitt In den letzten Jahren ist eine enorme Zunahme der online verfügbaren Informationen festzustellen. Aber nicht nur dort, sondern auch in internen Datenbanken von Unternehmen wächst das Volumen unaufhörlich, sei es beispielsweise in Form von Unternehmensberichten oder auch die Korrespondenz per . Schätzungen ergeben, dass ca. 80% des gesamten Datenvolumens in Texten enthalten ist.[pg99] Dieser Trend exponentiell wachsenden Datenaufkommens wird in der Literatur allgemein als Information Overload bezeichnet. [RW06] Die Menge der schnell verfügbaren Informationen ist zwar stark gestiegen, aber die Fähigkeit des Menschen, diese Informationen zu verarbeiten, nicht im gleichen Maße. Liegen Daten in strukturierter Form in einer Datenbank vor, können sie durch Programme relativ leicht für einen Informationssuchenden aufbereitet werden. Aber viele der Informationsquellen liegen in natürlicher Sprache vor. An dieser Stelle bietet Text Mining ein großes Potential, um dieser Informationsflut zu begegnen und für den Menschen relevante Informationen aus Textdatenbanken zu analysieren und Wissen zu extrahieren. Im Folgenden wird nun der Begriff des Text Minings definiert, eine Abgrenzung von anderen Techniken vorgenommen und die zugrunde liegenden Methoden vorgestellt Definition Der Begriff des Text Minings ist nicht einheitlich definiert, da es unterschiedliche Ansichten in der Abgrenzung des Text Minings gegenüber anderen Text- Technologien gibt. Zwei mögliche Definitionen werden im Folgenden aufgeführt: "Text Mining is the discovery by computer of new, previously unknown information, by automatically extracting information from different written resources."[hea03] "[...] wird beim Text Mining nach Mustern in Texten gesucht: Text Mining bezeichnet den Prozess, Text zu analysieren, um Informationen daraus zu gewinnen, die für bestimmte Zwecke nützlich sind. [...] ist Text unstrukturiert, amorph und schwer zu behandeln." [IHW01, S. 362] 20

39 2.3. TEXT MINING Text Mining kann also als Prozess zum Entdecken und automatischen Extrahieren von neuen, zuvor unbekannten Informationen aus Texten bezeichnet werden. Als Informationsquelle dienen hierbei unstrukturierte Texte. Genauer betrachtet ist ein Text aber nicht ganz unstrukturiert, sondern verfügt sowohl über eine implizite Struktur, die aus der Grammatik resultiert - und ggf. auch über eine explizite Struktur, die man beispielsweise aus Überschriften und Absätzen erschließen kann. [DHH06] Das Ziel ist, un- bzw. schwach-strukturierte Texte zu analysieren um daraus nützliche Informationen zu gewinnen. Dabei ist nicht nur der Einsatz statistischer, sondern auch linguistischer Methoden notwendig Abgrenzung zu anderen Verfahren Text Mining bedient sich einer Reihe von Methoden und Werkzeugen aus anderen wissenschaftlichen Disziplinen. Wie man aus Abbildung 2.5 entnehmen kann, werden unter anderem Techniken aus dem Data Mining, Information Retrieval, Information Extraction, der Statistik oder auch der Computerlinguistik verwendet. Abbildung 2.5.: Text Mining und Abgrenzung zu anderen Verfahren Im Folgenden geben wir einen kurzen Überblick über Data Mining, Information Retrieval und Information Extraction, um dem Leser die Unterschiede zu verdeutlichen. 21

40 2. GRUNDLAGEN Data Mining Auch beim Data Mining geht es um das Auffinden von Mustern in Daten. Der zentrale Unterschied zum Text Mining wird aber in der zugrunde liegenden Datenbasis gesehen. So liegt der Ursprung des klassischen Data Mining in der Analyse strukturierter Daten, z.b. aus einer Datenbank oder einem Data Warehouse. Textdokumente hingegen werden im Kontext des Text Mining meist als unstrukturierte Analysebasis verstanden.[dhh06] Erst nachdem ein unstrukturierter Text durch eine geeignete Vorverarbeitung in eine strukturierte Form überführt worden ist, können beim Text Mining dann die aus dem Data-Mining bekannten Methoden angewendet werden. Information Retrieval Die Aufgabe des Information Retrieval (IR) besteht darin, aus einer großen Kollektion von Dokumenten diejenigen auszuwählen, die eine Antwort auf die von einem Benutzer gestellte Anfrage enthalten. Ein Beispiel hierfür wäre eine Suchmaschine im Internet, wobei anhand von Schlüsselwörtern eine Menge relevant erhoffter Einzeldokumente identifiziert wird. Als Ressourcen liegen zwar auch hier unstrukturierte Texte zugrunde, aber es geht vielmehr um die effiziente Suche nach Informationen als um die Aufbereitung und Analyse unstrukturierter Daten zur Entdeckung mehr oder weniger verborgenen Wissens. Abbildung 2.6.: Anwendung unterschiedlicher Verfahren in Abhängigkeit der Informationsquelle und des Ziels Information Extraction Beim Information Extraction (IE) geht es um die gezielte Extraktion von bestimmten Informationen aus einem Textdokument. Die zu extrahierenden Elemente werden klar definiert und sind auf einen bestimmten Informationsbedarf hin ausgerichtet. Es kann sich hierbei um spezifische Wörter oder auch gan- 22

41 2.3. TEXT MINING ze Textteile handeln, wie beispielsweise Namen, Telefonnummern, eine Adresse usw. Auf Basis von definierten Regeln oder mittesl maschinellen Lernens analysieren IE-Systeme unstrukturierte Texte und überführen die gefundenen Elemente in eine tabellarische Form. In der Regel werden diese dann in einer Datenbank gespeichert Der Text-Mining-Prozess Text Mining findet in einem mehrstufigen Prozess statt. In Abbildung 2.7 findet sich der Ablauf, den Hippner & Rentzmann [DHH06] vorschlagen. Im Folgenden möchten wir aber nicht auf alle Schritte detailliert eingehen, sondern den Fokus hauptsächlich auf die Dokumentenaufbereitung legen. Abbildung 2.7.: Text-Mining-Prozess nach Hippner & Rentzmann Nachdem die Problemstellung festgelegt und eine entsprechende Dokumentenauswahl getroffen worden ist, sollte laut Granitzer [Gra05] noch eine Formatnormalisierung durchgeführt werden. Die Dokumente können in sehr unterschiedlichen Formaten vorliegen, beispielsweise als PDF-, Word-, XML- oder auch HTML-Dokument, und sollten in ein einheitliches Format überführt werden. Die danach vorliegenden Text-Dokumente sind in der Regel, wie schon im Abschnitt angesprochen, unstrukturiert. Um nun die sprachlich vorhandenen Informationen für eine maschinelle Analyse zu erschließen ist es notwendig, die Daten linguistisch aufzubereiten Dokumentenaufbereitung Ziel der Vorverarbeitung ist, spezifische Terme aus den Texten zu extrahieren, die dann als Merkmale zur Repräsentation des Dokuments herangezogen werden können. Ein solcher Term kann aus einem einzelnen Wort oder auch aus mehreren zusammengesetzten Wörtern bestehen. Tokenization Der erste Schritt bei der Vorverarbeitung besteht darin, den Text in seine einzelnen Bestandteile, sogenannte Tokens, zu zerlegen. In erster Linie handelt 23

42 2. GRUNDLAGEN es sich dabei um einzelne Wörter, jedoch sind auch Zahlen, Satzzeichen, Sonderzeichen oder andere nicht-alphanumerische Zeichen als Token anzusehen. [RF07] Die Zerlegung in Token ist Voraussetzung für die nachfolgenden Analyse- Schritte, denn nun können auch Techniken des Natural Language Processing zum Einsatz kommen: 1. Morphologische Analyse Bei dieser Form der Analyse werden nun einzelne Wortformen und sinntragende Wortbestandteile untersucht. Das Ziel ist, die Anzahl der Token innerhalb des Textes zu reduzieren und somit die Komplexität für die nachfolgenden Text-Mining-Analysen zu reduzieren. [Sul01, S. 32f] Eine Anwendungsmöglichkeit ist die so genannte Stammformreduktion, auch Stemming genannt. Durch Anwendung spezifischer Regeln werden in mehreren Schritten die Präfixe und Suffixe eines Wortes abgetrennt, bis nur noch der Wortstamm übrig bleibt. Auf diese Weise können vorhandene Wörter bzw. Token auf Token in einer einheitlichen Grundform zurückgeführt werden. Abbildung 2.8 zeigt dazu ein kleines Beispiel. Hier ist zu sehen, wie verschiedene Terme auf den Wortstamm spiel reduziert werden. Abbildung 2.8.: Stemming-Beispiel [JL] Durch die Anwendung von Stemming ergeben sich wesentliche Vorteile: Durch die Reduzierung auf einen Wortstamm wird für das in den Dokumenten enthaltene Vokabular ein geringerer Speicherplatz benötigt. Ebenso könnte es bei späteren Analyseschritten von Bedeutung sein, wenn beispielsweise im Zuge der Weiterverarbeitung absolute oder relative Häufigkeiten eingeführt werden, denn durch die Zusammenfassung der übrig gebliebenen, gestemmten Token erhöht sich deren Häufigkeit. Aus diesen Gründen sollten die Durchführung von Stemming auch relativ früh im Analyseprozess erfolgen. Jedoch sind beim Stemming auch folgende Probleme nicht außer acht zu lassen: Wörter werden möglicherweise auf einen Wortkern reduziert, der auf 24

43 2.3. TEXT MINING diese Weise nicht in der Sprache existiert. (launisches wird zu laun, freizügig zu freizüg) Es kann passieren, dass Token mit unterschiedlichen semantischen Bedeutungen in einem einzigen Token zusammengefasst werden. An dieser Stelle sei noch die Lemmatisierung zu nennen. Ähnlich wie beim Stemming wird ein Wort in eine andere Form überführt, aber in diesem Falle handelt es sich nicht um den Wortstamm, sondern um die Grundform des Wortes. Wie diese Grundform auszusehen hat, kann auf unterschiedliche Weise bestimmt werden: Lexikas eigenen sich dazu, ebenso die Festlegung von eigenen Regeln. Wichtig hierbei ist, dass die Grundform für alle untersuchten Dokumente einheitlich ist. Ein Beispiel: Die Token las, lesen, liest, gelesen werden nach einer Lemmatisierung in das Token lesen überführt. 2. Syntaktische Analyse Bei dieser Form der Analyse liegt der Fokus auf der Annotation einzelner Satzbausteine, d.h. einzelne Textteile werden nach bestimmten Kriterien ausgezeichnet. [DHH06] Hippner und Rentzmann führen an dieser Stelle zwei Verfahren an: Part-of-Speech-(POS)Tagging Die Wörter eines Textes werden hierbei in verschiedene Wortarten eingeteilt, beispielsweise in Substantiv, Verb, Adjektiv etc. Um diese Form der Kategorisierung durchzuführen, stehen als Informationsquellen bspw. Lexika zur Verfügung, in denen die Wörter und die annehmbaren Wortarten erfasst sind. Parsing Aufbauend auf den Ergebnissen des Part-of-Speech-Taggings kann weiterhin noch ein Parsing durchgeführt werden, bei dem jedes Wort im Text gemäß seiner Stellung innerhalb eines Satzes ausgezeichnet wird, bspw. als Subjekt, Prädikat, Objekt etc. 3. Semantische Analyse Eine semantische Analyse verarbeitet zusätzlich kontextuelles Wissen, um einen Text in bedeutungsabhängige Einheiten zerlegen zu können. Auf diese Weise soll z.b. erkannt werden, ob es sich beim dem Wort Bank um ein Geldinstitut oder eine Sitzgelegenheit handelt.[dhh06] Merkmalsvektoren Nachdem nun die Vorverarbeitung abgeschlossen ist, können die übrig gebliebenen Terme als Merkmale zur Repräsentation des Dokuments herangezogen 25

44 2. GRUNDLAGEN Abbildung 2.9.: Merkmalsraum mit 3 Dimensionen [Hin09] werden. Ein gebräuchliches Modell ist das Vektorraummodell, bei dem jedes Dokument als numerischer Vektor in einem n-dimensionalen Raum dargestellt wird. Alle diese sogenannten Merkmalsvektoren bilden zusammen einen Merkmalsraum. Die Dimensionen entsprechen dabei dem Vokabular der Dokumentenkollektion, d.h. jedes Wort kann als Merkmal bzw. Dimension im Merkmalsraum verwendet werden. Merkmalsgewichtung Anschaulich kann man sich die Darstellung als Term-Dokument-Matrix vorstellen, wobei die Zeilen der Matrix den Dokumenten entsprechen und die Spalten den einzelnen Termen. Abbildung 2.10.: Term-Dokument-Matrix mit einfachen Häufigkeiten als Gewichtung, entnommen von [PDGS] Der Eintrag einer Zelle kann nach dem Boole schen Modell binär sein, wobei der Eintrag 1 für die Existenz des jeweiligen Terms in einem Dokument steht sowie 0 für dessen Nichtexistenz. Aber alternativ kann es sich auch um einen gewichteten Wert handeln, der die relative Worthäufigkeit angibt, oder es kann sich auch um Gewichtungen durch komplexere Strategien wie Information Gain handeln. Durch diese Form der Gewichtung kann man aussagekräftigen Ter- 26

45 2.3. TEXT MINING men eine noch höhere Aussagekraft verleihen. Neben der relativen Häufigkeit gibt es als komplexeres Gewichtungsmaß noch die sogenannte Term Frequency Inverse Document Frequency (TF-IDF). Diese berücksichtigt bei der Gewichtung auch die Häufigkeit, mit der das Wort in der Gesamtmenge aller betrachteten Dokumente vorkommt. [RF07]. Die Berechnung der TF-IDF leitet sich folgendermaßen her: Termhäufigkeit (Term Frequency, TF): Die Term Frequency tf i,j bewertet die Häufigkeit von Vorkommnissen eines Terms i in einem Dokument j. Dieser Wert wird für jeden Term im Dokument berechnet. Je häufiger ein Term in einem Dokument vorkommt, desto besser charakterisiert er dieses Dokument. Jedoch sind die Häufigkeiten von Termen in längeren Texten im Allgemeinen größer als die in kürzeren. Diesen Effekt kann man durch Normierung ausgleichen, indem man die Häufigkeit jedes Terms freq i,j zu der Anzahl aller Terme im gesamten Text max(freq l,j ) in Relation setzt: tf i,j = freq i,j max(freq l,j ) (2.1) Inverse Dokumentenhäufigkeit (Inverse Document Frequency, IDF): Die Idee hinter der IDF ist, dass Terme, die in vielen Dokumenten vorkommen, zur Differenzierung nicht besonders nützlich sind und niedriger bewertet werden. Dabei wird das Vorkommen eines Terms mit anderen Dokumenten in der Dokumentensammlung in Relation gesetzt. Im Endeffekt ist ein Term umso bedeutsamer, je seltener er im restlichen Datenbestand vorkommt. Sei N die Gesamtzahl aller Dokumente in der Kollektion und df i die Dokumentenhäufigkeit, d.h. die Anzahl an Dokumenten, die den Term i beinhalten, dann gilt die Gleichung 2.2: idf i = log N df i (2.2) Term Frequency Inverse Document Frequency (TF-IDF) In der TF-IDF-Formel 2.3 spiegelt sich nun die Kombination aus den beiden oben genannten Gewichtungsverfahren wider. Über die Termfrequenz fließt ein, wie oft ein Term in einem Dokument vorkommt, und über die Dokumenten- 27

46 2. GRUNDLAGEN frequenz in wie vielen Dokumenten der Term auftaucht. Das Gewicht w eines Terms i im Dokument j ist nach TF-IDF: w i,j = tf i,j idf i = freq i,j max(freq l,j ) log N df i (2.3) Je häufiger ein Term in einem Text vorkommt, desto relevanter ist er für eine Klassifizierung. Findet sich ein Wort jedoch in sehr vielen Dokumenten, dann sinkt seine Bedeutung. Merkmalsreduzierung Durch die Gewichtung wird nun deutlich, dass Merkmale eine unterschiedliche Aussagekraft besitzen. Beispielsweise haben Wörter, die in einer kleinen Menge von Dokumenten vorkommen einen höheren TF-IDF-Wert als gebräuchliche Wörter wie Artikel oder Präpositionen, die in jedem Text erscheinen. [Ram] Ziel ist es nun, die Merkmalsmenge auf Merkmale mit hohem Informationsgehalt zu reduzieren. Das bedeutet unter anderem, dass Wörter entfernt werden, die extrem häufig oder auch extrem selten auftreten. Hilfreich an dieser Stelle ist die Generierung und Anwendung von Stoppwortlisten. Solche Listen enthalten Wörter, die sehr oft auftreten aber in keinster Weise Rückschlüsse auf den Dokumenteninhalt bieten, sondern eher eine grammatikalische bzw. syntaktische Funktion übernehmen. In deutschsprachigen Dokumenten gehören dazu beispielsweise bestimmte und unbestimmte Artikel, Konjunktionen, häufig verwendete Präpositionen u.v.m. Tabelle 2.2 zeigt eine beispielhafte Auflistung solcher Stoppwörter, entnommen von Granitzer. [Gra05] Klassifikation Nachdem nun Terme aus den Dokumenten extrahiert worden sind, liegen die Informationen in einer strukturierten Form (einem Merkmalsvektor) vor. An dieser Stelle können nun Verfahren angewendet werden, die aus dem Klassischen Data-Mining bekannt sind, unter anderem z.b. eine Klassifikation. Dabei werden Dokumente aufgrund ihrer Merkmale Klassen zugeordnet, die bereits vorher definiert wurden. Generell lässt sich die Klassifikation in zwei Phasen aufteilen: Lern-/Trainingsphase: Grundlage ist eine Menge von Trainingsdokumenten mit Merkmalen, die den vorgegebenen Klassen manuell zugeordnet werden. 28

47 2.3. TEXT MINING Rang Wort Relative Häufigkeit 1 und die der in wir zu für sie von den des ist Tabelle 2.2.: Beispiel einer Stoppwortliste Mit Hilfe dieser Trainingmenge soll eine Funktion bzw. ein Klassifikationsmodell erlernt werden. Dieses darf aber nicht zu genau an die Traininsdaten angepasst sein, sondern so flexibel, dass auch neue Objekte richtig klassifiziert werden. Die Brauchbarkeit des Klassifikators sollte vor der Anwendung überprüft werden, beispielsweise anhand von Testdokumenten. An das Klassifikationsmodell werden einige wichtige Anforderungen gestellt, beispielsweise in Bezug auf die Geschwindigkeit, die Genauigkeit der Klassifikation, die Robustheit von Ausreißern sowie die Eignung für große Datenmengen. Weiterhin sollte das Ergebnis auch interpretierbar sein. [JH00] Klassifikationsphase: Nun sollen anhand des zuvor erstellten Modells die noch nicht klassifizierten Dokumente aufgrund ihrer Merkmale jeweils einer der Klassen zugewiesen werden. Im Folgenden stellen wir nun einige Klassifikationsalgorithmen vor, die alle zwischen einer Trainings- und einer Klassifikationsphase unterscheiden, jedoch ganz unterschiedliche Ansätze verfolgen. Entscheidungsbaumverfahren Ein Entscheidungsbaum ist eine spezielle Datenstruktur, die zur Klassifikation von Dokumenten oder allgemein Objekten verwendet werden kann. Anhand der Trainingsdaten wird ein Baum und damit eine hierarchische Struktur erzeugt. Jedes Blatt in diesem Baum repräsentiert eine Klasse, ein innerer Knoten ein Attribut und die Kanten zwischen den Knoten stellen einen Test auf 29

48 2. GRUNDLAGEN dem Attribut des Vaterknotens dar. Abbildung 2.11.: Entscheidungsbaum Der Klassifikationsvorgang wird zum besseren Verständnis anhand der Abbildung 2.11, entnommen aus [Run00, S. 68] erklärt. Der dort zu sehende Entscheidungsbaum ist ein hierarchischer Klassifikator, der als Eingabe einen zweidimensionalen Merkmalsvektor eines Lebewesens erhält. Die erste Dimension b steht für die Anzahl der Beine (mit b (0,2,4)) und die zweite Dimension h für die Körpergröße in Metern (mit h > 0). Im Zuge einer Klassifikation wird der Entscheidungsbaum beginnend von der Wurzel durchlaufen, und der Reihe nach werden die Merkmale des zu klassifizierenden Objekts gegen die inneren Knoten des Entscheidungsbaumes getestet. D.h. je nach vorliegendem Ergebnis wird der entsprechenden Verzweigung gefolgt, bis schließlich ein Blattknoten erreicht wird und damit die Klasse bekannt ist. Erhält der Klassifikator beispielsweise den Merkmalsvektors (4, 0.5) als Eingabe, würden wir nach Durchlaufen des Entscheidungsbaumes das Blatt Katze erreichen. k-nearest Neighbors (knn) knn ist ein Klassifikationsverfahren, dem eine Klassenzuordnung unter Berücksichtung der k nächsten Nachbarn zugrunde liegt. Um also Rückschlüsse auf die zugehörige Klasse eines Objekts zu ziehen, wird ein Mehrheitsentscheid unter den k nächsten Nachbarn durchgeführt. Dabei werden Objekte bzw. Dokumente anhand des Vektorraummodells als Merkmalsvektoren in einem n- dimensionalen Raum dargestellt, wobei n für die Anzahl der unterschiedlichen Merkmale in diesem Merkmalsraum steht. Anschließend weist man dem Objekt die Klasse zu, zu der die meisten der k nächst gelegenen Nachbarn (sprich die Merkmalsvektoren mit der geringsten Distanz) gehören. Die Ähnlichkeit des zu klassifizierenden Vektor zu allen anderen Vektoren wird über eine Funktion bestimmt. Als Ähnlichkeitsmaß könnte man hier z.b. die Euklidische Distanz oder auch das sogenannte Cosinusmaß verwenden. 30

49 2.3. TEXT MINING Abbildung 2.12.: k-nearest Neighbor-Verfahren Naive Bayes Dieses Verfahren basiert auf dem Bayes-Theorem, mit dem die Wahrscheinlichkeit eines Ereignisses unter einer bestimmten Bedingung berechnet werden kann. Dabei weist der Bayes-Klassifikator jedem Objekt bzw. Dokument die Klasse zu, zu der es mit der größten Wahrscheinlichkeit gehört. Gegeben seien m Klassen K 1,..., K m, und die Dokumente werden als n-dimensionaler Merkmalsvektor W d = (w 1, w 2,..., w n ) repräsentiert. Soll nun ein noch nicht klassifiziertes Dokument einer dieser m Klassen zugeordnet werden, rechnet man für jede Klasse K i die Wahrscheinlichkeit dafür aus, dass sie die Richtige ist unter der Bedingung W d, und sucht dann die Klasse mit der höchsten bedingten Wahrscheinlichkeit: P (K i W d ) > P (K j W d )fuer1 j m, j i (2.4) Die bedingten Wahrscheinlichkeiten werden mittels der Bayesschen Formel berechnet: P (K i W d ) = P (W d K i ) P (K i ) P (W d ) (2.5) Diese Formel muss für jede Klasse K i angewendet werden. Der Wert für P(W d ) ist jedes mal gleich und kann vernachlässigt werden. In diesem Fall kann man diesen Term einfach weglassen und sucht nur das maximale P(W d K i ) * P(K i ). P(K i ) ist jeweils die a priori Wahrscheinlichkeit für jede Klasse K i. Sofern diese nicht bekannt ist, legt man eine Gleichwahrscheinlichkeit für alle Klassen zugrunde und lässt dies dann ebenfalls weg. In diesem Fall würde man nur 31

50 2. GRUNDLAGEN noch das maximale P(W d K i ) suchen. Alternativ kann man P(K i ) auch aus den Trainingsdokumenten abschätzen, indem man die Anzahl der Dokumente der Klasse K i in Relation setzt zu der Gesamtzahl aller Dokumente. Bei der Klassifikation mit Bayes werden die Merkmale unabhängig voneinander betrachtet, daher auch der Name Naive Bayes. Unter dieser Annahme berechnet sich P(W d K i ) folgendermaßen: n (W d K i ) = P (w k K i ) (2.6) k=1 Support Vector Machine (SVM Bei diesem Verfahren handelt es sich um ein mathematisches Verfahren mit vektorbasierten Ansatz. Die Trainingsobjekte und die zu klassifizierten Objekte werden als eine Menge von Vektoren anhand ihrer Merkmale in einem Merkmalsraum angeordnet. Das Ziel ist nun anhand der Trainingsvektoren in diesem Merkmalsraum eine Hyperebene 9 einzupassen, welche die Trainingsvektoren in zwei Klassen aufteilt. Der Abstand der zur Hyperebene nächstgelegenen Vektoren wird maximiert und es entsteht ein leerer Rand, der vor Fehlklassifizierungen schützen soll. Abbildung 2.13.: Support Vector Machine 9 Verallgemeinerung einer normalen Ebene im dreidimensionalen Raum auf höherdimensionale Vektorräume 32

51 2.4. VISUALISIERUNG 2.4 Visualisierung to visualize - to form a mental vision, image, or picture of (something not visible or present to the sight, or of an abstraction); to make visible to the mind or imagination. Oxford English Dictionary, Definition und Begriffsklärung Im letzten Abschnitt haben wir bereits kurz dargelegt, dass die Anzahl an verfügbaren Daten und Informationen in den letzten Jahren immens gestiegen ist. Ein rascher und auch effektiver Einblick in diese Daten kann aufgrund der enormen Menge und auch der Komplexität der Daten unter Umständen schwierig sein. Da Menschen jedoch die Fähigkeit haben, sehr schnell aus komplexen visuellen Szenen wichtige Informationen auszulesen, ist eine Visualisierung eine besonders geeignete Methode zur Informationsvermittlung. Der Sehsinn hat von allen menschlichen Wahrnehmungssinnen mit 70% die höchste Bandbreite[Leh05, S. 438] und kann visuelle Informationen im Vergleich zu verbalen Informationen sogar parallel verarbeiten. Außerdem sind visuell aufgenommene Informationen auch deutlich nachhaltiger, da Bilder das Erinnerungsvermögen viel besser unterstützen als abstrakte Begriffe Visualisierung Card, Mackinlay und Shneiderman [SKC99, S. 6] beschreiben Visualisierung als die Nutzung computer-unterstützter, interaktiver visueller Repräsentationen von Daten um Wissen zu verstärken. Der Zweck einer Visualisierung ist also nicht nur die Darstellung komplexer Zusammenhänge, sondern es geht darum, neue Einsichten in die Daten zu gewinnen - oder frei nach Richard Wesley Hamming (1962) the purpose of visualization is insight, not pictures. Diese Einsicht bezieht sich darauf zu entdecken, zu verstehen und auch zu bewerten. Visualisierungen sollen den Blick auf das Wesentliche lenken, so dass die relevanten Charakteristika intuitiv erfasst werden können; Muster und Zusammenhänge sichtbar machen, die in Rohdaten oder bereits aufbereiteten Daten noch nicht sichtbar waren. Zu Beginn eines Analyseprozesses ist noch nichts über die Daten bekannt. Im Zuge der explorativen Analyse findet eine erste interaktive, aber meist ungerichtete Suche nach Informationen und Strukturen statt, die zum Aufstellen von Hypothesen dienen. Im Zuge der konfirmativen Analyse versucht 33

52 2. GRUNDLAGEN man nun mittels einer geeigneten Visualisierung diese Hypothese zu bestätigen oder zu widerlegen. Nachdem nun alles über die Daten bekannt ist, müssen die erzielten Ergebnisse noch im Zuge der Präsentation und Kommunikation so dargestellt werden, dass Dritte diese auch ohne Probleme verstehen können.[hs00, S. 5f] Informationsvisualisierung In der Forschung haben sich in Bezug auf die Visualisierung mittlerweile zwei große Bereiche herausgebildet: Die wissenschaftliche Visualisierung (scientific visualization) und die Informationsvisualisierung (information visualization). Eine Differenzierung wird nach den zugrunde liegenden Daten vorgenommen. Die wissenschaftliche Visualisierung beschäftigt sich mit der Repräsentation von physischen Daten, also konkret gemessenen Werten wie zum Beispiel medizinische oder mikroskopische Daten. Im Grunde werden hier Aspekte der natürlichen Welt visualisiert und die Daten verfügen bereits über einen inherenten Raumbezug. Die Informationsvisualisierung hingegen zielt darauf ab, abstrakte Daten darzustellen. Ausgangsbasis sind hier nicht-physische Daten, beispielsweise Dokumentenkollektionen, die in der Regel noch keinen Raumbezug aufweisen und in eine geeignete Darstellungsform überführt werden müssen. Card, Mackinlay und Shneiderman gehen von der allgemeinen Definition des Begriffs der Visualisierung zur Definition der Informationsvisualisierung über, indem sie noch diese Eigenschaft der zugrunde liegenden Daten hinzufügen: Informationsvisualisierung: Die Nutzung computer-unterstützter, interaktiver visueller Repräsentationen von abstrakten Daten um Wissen zu verstärken. [SKC99, S. 7] Ein Beispiel für solch eine Informationsvisualisierung findet sich in Abbildung Es handelt sich hierbei um eine multidimensionale Darstellung von Napoleons Feldzug nach Moskau. Durch den Einsatz der Farben braun und schwarz wird die Marschrichtung signalisiert, die Linienstärke spiegelt die Anzahl der Soldaten auf dem jeweiligen Wegstück wider, und am unteren Ende der Karte befindet sich zusätzlich eine Illustration der damaligen Wetterbedingungen. Auch wenn die visuelle Darstellung in Abbildung 2.14 nicht computergestützt erfolgt ist, werden daraus wichtige Aspekte deutlich. Nach Auswahl von relevant erscheinenden Daten (z.b. Anzahl der Soldaten, Temperatur, Richtung 34

53 2.4. VISUALISIERUNG Abbildung 2.14.: Darstellung von Napoleons Marsch auf Moskau, erstellt von Charles J. Minard (1869) etc.) muss man eine geeignete Darstellung dafür finden, beispielsweise eine Repräsentation durch Farbe, Form, Größe etc. Im Zuge der Präsentation der Daten muss man ebenfalls überlegen, wie die Elemente sinnvoll angeordnet werden sollen. [Spe01, S. 9-11] Natürlich gehören zur Informationsvisualisierung noch viele weitere Aspekte, auf die wir in den kommenden Unterabschnitten detaillierter eingehen werden Grundlegende Konzepte Die Informationsvisualisierung ist offensichtlich eine komplexe Aufgabe. Schumann definiert als Zielstellung, die abstrakten Daten graphisch so repräsentieren, dass strukturelle Zusammenhänge und relevante Eigenschaften intuitiv erfasst werden können - und zwar so, dass die große Leistungsfähigkeit des menschlichen visuellen Systems ausgenutzt wird, um die charakteristischen Eigenschaften einer Datenmenge zu erfassen. [Sch09, S. 1] In dieser Hinsicht ist es auch wichtig, den Anwender einzubeziehen, so dass er die Datenmenge selbst erforschen und Muster entdecken kann. Ben Shneiderman hat diesbezüglich ein prinzipielles Vorgehen der visuellen Analyse beschrieben, das sogenannte Information Seeking Mantra: overview first, zoom and filter, then details-on-demand Dies bedeutet, dass der Anwender durch einen Überblick über die gesamte Datenmenge schnell relevante Bereiche entdecken kann, ohne dabei den Kontext aus den Augen zu verlieren. Dies könnte beispielsweise durch Einsatz einer 35

54 2. GRUNDLAGEN Fish-Eye-Ansicht erfolgen. Sofern der Anwender dann einen ihn interessierenden Bereich gefunden hat, kann er durch Zoomen diesen Bildbereich vergrößern und damit den Fokus auf das Interessengebiet lenken. Zusätzlich sollte er dann in Form von Filterungsmöglichkeiten den Umfang der dargestellten Informationen einschränken können. Informationen, die nicht zur Problemlösung beitragen, werden dabei einfach ausgeblendet. Weiterhin sollte es bei Bedarf möglich sein, nach Auswahl eines interessanten Objekts Detailinformationen anzeigen zu lassen. An dieser Stelle könnte man dem Anwender beispielsweise einen Tooltip oder auch eine Hover-Funktion anbieten, bei der automatisch eine Aktion ausgeführt wird, wenn der Cursor über dem Objekt platziert wird, d.h. es ist kein Klick auf das Objekt notwendig. Wie man hier erkennen kann, ist die Informationsvisualisierung in hohem Maße ein interaktiver Prozess, der visuelle und automatische Methoden verknüpft. [Sch09, S. 1] Bevor wir aber konkreter auf den zugrunde liegenden Visualisierungsprozess eingehen, möchten wir noch gerne einen kurzen Überblick über die Historie der Visualisierung geben Historie der Visualisierung Visualisierung hat einen sehr starken Bezug zur Computergraphik und der Bildverarbeitung. Aber Visualisierungen sind nicht nur heute in Form von Flugund Stadtplänen, Verkehrsnetzen oder Klima-Daten allgegenwärtig, sondern wurden schon vor tausenden von Jahren eingesetzt - denke man an prähistorische Höhlenmalereien oder auch ägyptische Hieroglyphen. Die Menschen haben schon immer versucht, Vorgänge bildlich darzustellen. Einige markante Stationen sollen an dieser Stelle kurz angerissen werden. Leonardo da Vinci hat im 15. Jahrhundert als einer der ersten Menschen selbst erstellte Skizzen und Zeichnungen auf ästhetische Art und Weise in seine Texte eingebunden Viele Wissenschaftler, unter anderem auch Newton, haben diese Technik von ihm übernommen. Im Jahr 1786 veröffentlichte der schottische Ingenieur und Volkswirt William Playfair den Commercial and Political Atlas, in dem wohl erstmals ein Balkendiagramm enthalten war. Auch die erstmalige Verwendung eines Tortendiagramms ist auf Playfair zurückzuführen. Anfang des 20. Jahrhunderts entstand die Berliner Schule der Gestaltpsychologie. Bekannt wurde sie für umfangreiche Experimentalforschungen auf dem Gebiet der Wahrnehmung, und die damals aufgestellten Gestaltgesetze finden 36

55 2.4. VISUALISIERUNG (a) Höhlenmalerei (b) Vitruvianischer Mensch Abbildung 2.15.: Historische Darstellungen auch heute noch in Visualisierungen Anwendung. Nähere Details zu den Gestaltgesetzen findet sich in Abschnitt dieses Kapitels. Einen besonderen Stellenwert auf dem Gebiet der Informationsvisualisierung ist dem Wissenschaftler und Graphikdesigner Edward Tufte zuzuordnen. Mit The Visual Display of Quantitative Information hat er im Jahr 1982 das Standardwerk zum Thema Datenvisualisierung geschrieben. Unter anderem entwickelte er darin Regeln und Modelle für die Gestaltung und das Design von Informationsgraphiken. Im Oktober 1986 veranstaltete die National Science Foundation (NSF) eine Tagung mit Computer-Graphik-Experten, auf der der Begriff Visualization in Scientific Computing geschaffen wurde. Anfang des darauf folgenden Jahres fand ein weiterer Workshop statt, auf dem die Grundlagen und Möglichkeiten der Visualisierung besprochen wurden. Und erst Anfang der 90er Jahre etablierte sich die Informationsvisualisierung als eigenständiges Wissensgebiet. [Sch09, S. 1] Visuelle Darstellung von Daten Allgemein kann man sagen, dass man in der Informationsvisualisierung Situationen betrachtet, in denen eine Datenmenge zur Verfügung steht, in die ein Mensch Einblick gewinnen möchte. Oder anders gesagt, man möchte durch 37

56 2. GRUNDLAGEN diese Daten informiert werden. [Spe01, S. 4] Es handelt sich jedoch dabei um abstrakte Daten - Daten, für die es in der Regel keine Standardabbildung auf einen zweidimensionalen Bildschirm gibt. [Kei02, S. 2] Bevor man also eine geeignete Visualisierungstechnik auswählen kann, muss man die vorliegende Datenmenge erst nach bestimmten Eigenschaften genauer untersuchen Datentypen Daten im Bereich der Informationsvisualisierung besitzen in der Regel eine große Anzahl von Datensätzen. Diese Datensätze besitzen wiederum eine feste Anzahl an Attributen, die je nach Anwendungsfall sehr klein, aber auch sehr groß sein kann. In Abhängigkeit der Dimensionalität ergeben sich nach Keim [Kei02, S. 2f] verschiedene zu visualisierende Datentypen. eindimensionale Daten besitzen in der Regel ein kontinuierliches Attribut (z.b. zeitabhängige Daten in Form von Aktienkursverläufen) zweidimensionale Daten besitzen zwei Dimensionen, die jeden Punkt eindeutig charakterisieren (z.b. geographische Daten) multidimensionale Daten besitzen mehr als 3 Dimensionen (ein typisches Beispiel sind hier Datenbanktabellen aus relationalen Datenbanken) Text & Hypertext können schwierig durch einfache Datentypen beschrieben werden. In vielen Fällen werden z.b. Nachrichten oder Web-Dokumente in so genannte Beschreibungsvektoren (Feature-Vektoren) transformiert, welche beispielsweise relative Häufigkeiten als Werte enthalten. Hierarchien & Graphen: Zwischen Datensätzen können komplexe Beziehungen bestehen, die man mittels Graphen modellieren kann. Eine Hierarchie ist eine spezielle Form eines Graphen, in dem die Verbindungen nur Top-Down verlaufen. (Beispiele sind an dieser Stelle z.b. die Hyperlinks im World Wide Web oder auch die Strukturierung des Dateisystems auf einer Festplatte) Algorithmen & Software: Die Softwareentwicklung soll durch Verwendung einer geeigneten Visualisierung vereinfacht werden und zum besseren Verständnis des Quellcodes und der Algorithmen beitragen. 38

57 2.4. VISUALISIERUNG Wertebereich Attribute können entsprechend der Skalierung ihres Wertebereiches entweder als qualitativ oder quantitativ klassifiziert werden, je nachdem ob eine metrische oder nicht-metrische Skala zugrunde liegt. [HS00, S. 36]. Card, Mackinlay und Shneiderman [SKC99, S. 20] führen hier folgende Unterscheidung durch: Nominale Daten sind qualitative Daten und lassen sich in Kategorien zusammenfassen. Es ist keine natürliche Ordnung definiert, man kann also nur auf Gleichheit oder Ungleichheit testen. Beispiele hierfür sind Tierarten (Hund, Katze, Maus), Berufsgruppen oder auch Eigenschaften wie krank bzw. gesund. Ordinale Daten sind ebenfalls qualitative Daten, jedoch mit einer definierten Ordnungsrelation, wie beispielsweise die Wochentage oder auch das deutsche Notensystem (sehr gut, gut, befriedigend etc.) Quantitative Daten sind numerische Daten wie z.b. physikalische Größen wie Temperatur in Grad Celsius. Die Abstände zwischen den Werten der Skala besitzen eine Bedeutung Daten, Information und Wissen An dieser Stelle möchten noch darauf eingehen, dass zwischen den Begriffen Daten, Information und Wissen zu unterscheiden ist. Daten sind auf physikalische Gegebenheiten rückführbare Merkmale eines Mediums, z.b. Texte, Bilder oder Töne. Sie bestehen aus beliebigen Zeichen-, Signal- und Reizfolgen und sind im Grunde die Syntax der Information. Informationen sind Daten, die mit anderen Daten in einer verbundenen Bedeutung stehen, und im Gegensatz zu Daten sind sie nur subjektiv wahrnehmbar bzw. verwertbar. Wissen entsteht durch das Zusammenwirken mehrerer, miteinander in Beziehung stehender Informationen, die man ordnet, interpretiert und versteht - und nur durch den menschlichen Verstand möglich wird. Wissen stellt das Endprodukt eines Lernprozesses dar, in dem Daten als Information wahrgenommen und als neues Wissen gelernt werden Visualisierungstechniken Es gibt eine Vielzahl von Visualisierungstechniken, aber je nach Datentyp und der formulierten Problemstellung eignen sich bestimmte Visualisierungstechniken besser als andere, um interessante Informationen aufzuspüren, beispiels- 39

58 2. GRUNDLAGEN weise Cluster, Ausnahmen oder funktionale Abhängigkeiten. Einige dieser Techniken werden wir in diesem Unterkapitel beispielhaft vorstellen. Graphen Graphen sind Mengen, in denen Elemente in bestimmten Beziehungen zueinander stehen. In der Praxis haben sie eine große Bedeutung, da sich viele statische und dynamische Strukturen der realen Welt auf einen Graphen abbilden lassen, wie z.b. Kommunikationsnetze, Straßenverbindungen oder auch elektronische Schaltpläne. Ein Graph G = (V,E) besteht aus einer Menge V von Knoten (vertices) und einer Menge E von Kanten (edges), wobei die Kanten zwei Knoten miteinander verbinden, also Paare vom Typ e = (v 1, v 2 ) sind. Man unterscheidet zwischen ungerichteten und gerichteten Graphen. In letzterem Fall ist jede Kante ein geordnetes Paar und hat eine Orientierung. Benachbarte Knoten, die durch eine Kante miteinander verbunden sind, nennt man adjazent und der Grad eines Knotens ist die Anzahl der Kanten, die von ihm ausgehen. Kann man von einem Knoten aus jeden anderen Knoten im Graphen erreichen, bezeichnet man diesen Knoten als Wurzel. Ist jeder Knoten von jedem anderen Knoten aus erreichbar, spricht man von einem zusammenhängenden Graphen. Es gibt viele verschiedene Graphalgorithmen die je nach Anwendungsfall eingesetzt werden können. Wichtig bei der Darstellung eines Graphen ist die Lesbarkeit, d.h. es sollen grundlegende Eigenschaften betont werden, ohne den Anwender zu verwirren. Ebenso sollen gewisse ästhetische Kriterien eingehalten werden. Dazu gehören zum Beispiel die Kreuzungsminimierung: es sollen sich so wenig Kanten wie möglich überschneiden Knickminimierung: Kanten sollen möglichst wenig Knicke haben, damit das menschliche Auge besser dem Kantenzug folgen kann Platzminimierung: erforderlichen Raum minimieren und Objekte gleichmäßig verteilen Kantenlängenminimierung: Kanten so kurz wie möglich halten Winkelmaximierung: nahe beieinanderliegende Kanten sind schwer zu unterscheiden etc. Graphen sind eine recht allgemeine Klasse von Datenstrukturen und beinhalten als Teilmenge z.b. noch Bäume oder Listen. Die bekanntesten Graph- Layout-Techniken sind der Radial-Graph, Force Directed Graph, die Cone Trees 40

59 2.4. VISUALISIERUNG oder auch der Hyperbolische Graph. Ebenso zählt die Treemap aufgrund ihrer Hierarchischen Struktur ebenfalls zu den Graphen. Diese Graphen werden wir jedoch erst im nächsten Kapitel im Zuge der Analyse vorstellen. An dieser Stelle möchten wir dem Leser einen kurzen Einblick über andere Visualisierungstechniken geben: ThemeRiver ThemeRiver ist eine Visualisierungstechnik, die bei eindimensionalen Daten eingesetzt werden kann und thematische Veränderungen in einer großen Menge von Textdokumenten in einem zeitlichen Kontext beschreibt. Die Zeitlinie wird in Form eines Flusses dargestellt, der von links nach rechts fließt, wobei die farbigen Ströme einzelne Themen darstellen. Je nach thematischer Veränderung zu einem gegebenen Zeitpunkt verändert sich die Breite eines Flußsegments, und ermöglicht es dem Betrachter, Beziehungen, Trends oder auch Muster zu identifizieren. In solch einer Flussdarstellung kann jedoch nur eine Teilmenge der Themen einer Dokumentenkollektion dargestellt werden. Wenn keines der ausgewählten Themen über eine bestimmte Zeitspanne erscheint, kann es sogar passieren, dass der Fluss austrocknet. Abbildung 2.16.: ThemeRiver [SH02] In Abbildung 2.16 wird eine Dokumentenkollektion über Fidel Castro dargestellt. Der gelbe Strom repräsentiert das Thema Öl und ist im April 1960 noch schwach ausgeprägt. Eine deutliche Erweiterung des Stroms wird sichtbar, nachdem Kuba Handelsbeziehungen mit der Sowjetunion aufnimmt, bis kurz nach dem Zeitpunkt der Verstaatlichung ausländischer Ölraffinerien. Danach verliert das Thema Öl wieder an Prägnanz. 41

60 2. GRUNDLAGEN Parallele Koordinaten Parallele Koordinaten ist eine Visualisierungstechnik, die eine Visualisierung von multidimensionalen Daten in einem Graphen ermöglicht. Dabei wird jede Dimension eines Datensatzes auf eine eigene Koordinatenachse aufgetragen, und diese Achsen werden parallel angeordnet. Die Achsen werden linear skaliert vom Minimum bis zum Maximum der jeweilig auftretenden Datenwerte. Nun kann jeder Datensatz in der Menge als Linie von links nach rechts dargestellt werden, welche die vertikalen Achsen an der Stelle schneidet, die dem jeweiligen Datenwert der zugehörigen Dimension entspricht. Durch die Form der Linien oder auch durch das Entstehen von Kreuzungspunkten können Rückschlüsse auf die Daten gezogen werden. Abbildung 2.17.: Parallele Koordinaten am Beispiel einer mikrobiologischen Datenmenge [HS00, S. 187] Werden sehr viele Daten mittels Paralleler Koordinaten dargestellt, kann die Ansicht für den Betrachter verwirrend sein. Laut Marty [Mar08, S. 85f] sollte der Anwender generell die Möglichkeit haben, interaktiv die Reihenfolge der Achsen variabel anzuordnen - zum einen um die Übersichtlichkeit zu verbessern und zum anderen um die Analyse der Beziehungen zwischen spezifischen Dimensionen zu vereinfachen. Scatterplot (Streudiagramm) Ein Scatterplot ist eine Visualisierungstechnik, die ebenfalls dazu verwendet werden kann, um Beziehungen zwischen den Dimensionen zu untersuchen oder auch Cluster oder Trends in den Daten zu entdecken. Zwei Dimensionen eines Datensatzes werden hierbei jeweils einer X- und einer Y-Achse zugewiesen, so dass in der rechtwinklig aufgespannten Ebene alle möglichen Wertepaare aufgetragen werden können. Daraus ergibt sich eine Visualisierung mit zerstreuten Datenpunkten, auch Punktwolke genannt. Sollen mehr als zwei Dimensionen gleichzeitig in einem 2D-Scatterplot dargestellt werden, müssen die anderen Dimensionen noch durch Farbe, Form, Größe 42

61 2.4. VISUALISIERUNG (a) 2D Scatterplot (b) 3D Scatterplot Abbildung 2.18.: Scatterplots ([pica] und [picb]) etc. ausgedrückt werden. [Mar08, S. 83] Jedoch kann man auch dazu übergehen multidimensionale Daten in einem dreidimensionalen Koordinatensystem darzustellen. Damit die Daten aus jedem Blickwinkel betrachtet werden können, sollten Interaktionsmöglichkeiten in Form von Zoom und freier Rotation entlang der Achsen im Koordinatensystem vorhanden sein. Table Lens Table Lens ist eine Technik, mittels derer man sehr große Mengen an Tabelledaten visualisieren kann, ohne dass Verdeckungen auftreten oder eine Bildlaufleiste notwendig ist Das Grundprinzip dahinter ist, die Tabellenansicht mit einer Fokus- und Kontext-Technik zu verknüpfen, um auf diese Weise eine Skalierung der Daten zu erreichen. Die Tabellenzeilen sind stark verkleinert angezeigt, aber interessante Bereiche können hervorgehoben werden, ohne dass die Gesamtansicht verloren geht. Die Datenanalyse kann vom Benutzer interaktiv gesteuert werden, beispielsweise durch Spaltensortierung oder -gruppierung. Auf diese Weise lassen sich auf schnelle Weise Tendenzen, Korrelationen oder auch Ausreißer aus der Datenmenge erkennen. Nachdem wir nun einen kleinen Überblick über verschiedene Visualisierungstechniken gesehen haben, wollen wir zeigen, dass sich diese Techniken nach bestimmten Kriterien unterscheiden lassen. Nach Keim [Kei02, S. 2] kann man eine Untergliederung folgendermaßen vornehmen: 43

62 2. GRUNDLAGEN Abbildung 2.19.: Baseballspieler-Statistik in einer Table Lens [RR] Standard-2D/3D-Visualisierungen, z.b. Histogramme, Tortendiagramme, Liniendiagramme Geometrische Transformationen, z.b. Scatterplot-Matrizen, Parallele Koordinaten Icon-basierte Visualisierungen, z.b. Gesichter, Strich-Männchen-Icons, Farb-Icons Pixel-Visualisierungen, z.b. Recursive-Pattern-Technik Geschachtelte Visualisierungen, z.b. Tree-Maps, Dimensional Stacking Schumann und Müller [HS00, S. 175ff] unterscheiden Visualisierungstechniken anhand der den Kriterien Dimensionalität des Darstellungsraumes, der Zeitabhängigkeit der Darstellung sowie deren Vollständigkeit. 2D vs. 3D Auf einem Computerbildschirm werden Daten zwar auf einer zweidimensionalen Fläche angezeigt, jedoch ist es auch möglich Daten dreidimensional zu präsentieren, indem durch eine geeignete perspektivische Darstellung der Eindruck räumlicher Tiefe erweckt wird. Der Mensch lebt zwar in einer dreidimensionalen Welt und ist es gewohnt, Dinge dreidimensional zu interpretieren, und auf diese Weise können auch sehr große Datenmengen dargestellt werden. Jedoch stellt eine 3D-Darstellung nicht nur höhere Anforderungen an die Hard- 44

63 2.4. VISUALISIERUNG und Software, sondern es kann auch zu Verdeckungen oder perspektivischen Verzerrungen kommen. In diesem Falle ist es notwendig, dem Benutzer Interaktionsmöglichkeiten zur Veränderung der Betrachtungsperspektive zur Verfügung zu stellen, damit er die Datenmenge umfassend untersuchen kann. 2D-Darstellungen sind aus zweidimensionalen graphischen Elementen aufgebaut und können dementsprechend auch nur zwei räumliche Dimensionen für die Visualisierung nutzen. Projektionen oder Sichtbarkeitsberechnungen sind nicht notwendig und zu Verdeckungen kommt es in der Regel nur, sofern die Elemente von vornherein auf diese Weise angeordnet worden sind. Man kann nicht sagen, ob nun eine 2D- oder 3D-Darstellungstechnik besser ist - beide haben ihre jeweiligen Vor- und Nachteile. Es sollte problembezogen entschieden werden, welche Darstellungstechnik man bei einer Visualisierung verwendet. Statische und dynamische Darstellungen Je nach Problemstellung muss entschieden werden, ob statische oder dynamische Darstellungstechniken verwendet werden sollen. Bei einer statischen Darstellung verändern sich die vorliegenden Daten nicht über die Zeit, so dass der Nutzer die Daten auch ohne zeitliche Begrenzung analysieren kann. Für diese Analyse stehen ihm aber Interaktionsmöglichkeiten zur Verfügung, die die Exploration erleichtern und zu einer quantitativen Aussage über die visualisierten Daten verhelfen. Bei einer dynamischen Darstellung hingegen verändern sich die Datenwerte mit der Zeit kontinuierlich, ohne dass eine Interaktion notwendig ist. Im Vergleich zur statischen Darstellung ist hier eine Zeitachse einbezogen und ermöglicht dem Benutzer somit die Beobachtung von Veränderungen in den Datenwerten, die dann vornehmlich zu einer qualitativen Aussage führen. [HS00, S. 176] Vollständige oder unvollständige Darstellungen Weiterhin stellt sich die Frage, ob eine gegebene Datenmenge vollständig in einem Bild dargestellt werden kann. Eine vollständige Visualisierung aller Daten einer etwas größeren Datenmenge kann dazu führen, dass das Bild überladen wirkt und nicht mehr aussagekräftig ist. Ein Kompromiss wäre, einzelne Ausprägungen zu Klassen zusammenzufassen. Ist dies nicht ausreichend, kann man auf eine unvollständige Darstellung der Daten zurückgreifen. In diesem Fall wird eine echte Teilmenge der Daten dargestellt. Um dem hier stattfindenden Informationsverlust entgegenzuwirken, könnte man auf eine automatisierte Veränderung der dargestellten Sicht über die Zeit aufgreifen oder dem Benutzer Interaktionstechniken bereitstellen. [HS00, S. 177f] 45

64 2. GRUNDLAGEN Der Visualisierungsprozess Die Überführung von abstrakten Daten in eine visuelle Darstellung ist ein sequentieller Prozess. Auf diese Weise kann man das Gesamtproblem, die Visualisierung, in einzelne, leichter zu bewältigende Teilprobleme zerlegen. Ausgehend von den Rohdaten werden eine Reihe von Datentransformationen durchgeführt, die wir anhand des in Abbildung 2.20 dargestellten Referenzmodells der Visualisierung nach Card et. al [SKC99, S. 17ff] kurz näher erklären möchten. Abbildung 2.20.: Referenzmodell der Visualisierung nach [SKC99] Bei den Rohdaten kann es sich um quantitative oder qualitative Daten handeln. Diese sollen in einem ersten Transformationsschritt auf eine oder auch mehrere Datentabellen abgebildet werden. Ziel ist es festzulegen, welche Daten und Attribute dieser Daten für eine visuelle Darstellung überhaupt interessant sind. Ebenso erfolgt durch diese Vorgehensweise bereits eine Strukturierung, die eine Überführung in eine visuelle Form vereinfachen soll. Ein Beispiel für solch eine Datentabelle ist in Abbildung 2.21 zu sehen. Die Spalten repräsentieren die Filme und die Zeilen stellen die einzelnen Attribute des Films dar. Zusätzlich gibt es in Form der Film-ID ein Eingabe-Attribut, welches den jeweiligen Film eindeutig identifiziert. Die Struktur der Attribute sowie deren Datentyp (z.b. Nominal, Ordinal oder Quantitativ) können mit Hilfe von Metadaten noch näher spezifiziert werden. Der nächste Transformationsschritt bei der Erstellung einer Visualisierung besteht darin, die Informationen aus der Datentabelle auf visuelle Strukturen abzubilden. Bei diesem Mapping-Vorgang geht es darum zu entscheiden, welche geometrischen Primitive erzeugt und mit welchen Attributen (Farbe, Transparenz, Schattierung usw.) sie belegt werden sollen. [HS00, S. 16] In der Regel 46

65 2.4. VISUALISIERUNG Abbildung 2.21.: Datentabelle über Filme gibt es dafür viele verschiedene Möglichkeiten, so dass man an dieser Stelle des Prozesses prüfen muss, welche Struktur am besten geeignet sein könnte, um die gewünschten Sachverhalte zu visualisieren. Einige Visualisierungstechnken haben wir in Abschnitt bereits kennengelernt. In der nächsten Stufe des Referenzmodells gilt es zu überlegen, welche Sichten man dem Benutzer auf die visuellen Strukturen gewährt. Um eine explorative Erkundung des Datenraumes zu ermöglichen, sollte die visuelle Abbildung nicht statisch sein, sondern durch den Benutzer beeinflusst werden können. Und durch die Sichten Transformationen können verwendet werden, um die Menge der zu visualisierenden Informationen zu erhöhen. Als Techniken kommen hier, wie in Shneidermans Information Seeking Mantra beschrieben, unter anderem Zoom, Pan, Clipping oder auch Overview & Detail zum Einsatz. Diese Interaktionsmöglichkeiten werden wir aber erst im nächsten Kapitel im Zuge der Analyse detaillierter beschreiben. Der letzte Schritt im Referenzmodell ist die menschliche Interaktion. Die naheliegendste Form von Interaktion ist die direkte Manipulation. Darunter kann man sich vorstellen, dass der Anwender z.b. einen Knoten in einem hyperbolischen Baum mittels der Maus als Eingabegerät auf eine andere Position verschiebt. Weiterhin seien noch magische Linsen zu erwähnen sowie Dynamische Anfragen. Das hier beschriebene Referenzmodell für Informationsvisualisierung zeigt übersichtlich, wie der Visualisierungsprozess in eine Folge von diskreten Schritten zerlegt werden kann. Wir haben uns für die Darstellung des obigen Referenz- 47

66 2. GRUNDLAGEN modells entschieden, da im späteren Verlauf der Implementierung das Prefuse Toolkit zum Einsatz kommen wird, dessen Design auf dem Referenzmodell von Card, Mackinlay und Shneiderman basiert Anforderungen an eine Visualisierung Nicht jede visuelle Darstellung ist gleichermaßen für die Analyse oder Präsentation der zugrunde liegenden Daten geeignet. Um zu vermeiden, dass aus den erzeugten Bildern falsche Schlussfolgerungen bezüglich der Daten gezogen werden, gibt es verschiedene Kriterien, die man berücksichtigen muss. Dazu gehören neben der Art und Struktur der Daten auch das Bearbeitungsziel, das Vorwissen des Betrachters, seine Visuellen Fähigkeiten und Vorlieben. Aber auch Charakteristika des Darstellungsmediums oder die Anwendung üblicher Metaphern dürfen nicht außer Acht gelassen werden. [HS00, S. 8f] Als Qualitätsanforderungen an eine gute Visualisierung gelten die folgenden allgemeinen Prinzipien: Expressivität Eine visuelle Darstellung ist expressiv (oder auch ausdrucksfähig), wenn die in einer Datenmenge enthaltenen Informationen - und nur diese - wiedergegeben werden, d.h. alle relevanten Aspekte müssen unverfälscht vermittelt werden. Ein Gegenbeispiel findet sich in Abbildung (entnommen aus [SKC99]) wieder. Hier wird das Kriterium der Expressivität verletzt, da eine falsche ordinale Beziehung zwischen den Ländern impliziert wird. (a) Übersicht über eine Menge von Autofabrikaten und deren Herstellerländer (b) zwei Darstellungen einer Sinuskurve, wobei (a) weniger effektiv ist als (b) Abbildung 2.22.: Beispiele für nicht eingehaltene Qualitätskriterien 48

67 2.4. VISUALISIERUNG Effektivität Eine visuelle Darstellung ist effektiv, wenn bei der Darstellung die visuellen Fähigkeiten des Betrachters und die charakteristischen Eigenschaften des Ausgabegerätes unter Berücksichtigung der Zielsetzung und des Anwendungskontextes optimal ausgenutzt werden. Wichtig ist hierbei, dass der Betrachter die Visualisierung intuitiv versteht. Dies ist im Beispiel (a) der Abbildung nicht gegeben. Angemessenheit Die Visualisierung von Daten ist auch mit Kosten verbunden und muss das Verhältnis von Aufwand und Nutzen abwägen. Die Angemessenheit umfasst den für die Visualisierung notwenwendigen Rechenund Ressourcen-Aufwand und ist eng an die Effektivität gekoppelt Farbe und Wahrnehmung [...] avoiding catastrophe becomes the first principle in bringing color to information: Above all, do no harm. Envisioning Information, Edward Tufte, Graphics Press 1990 Wenn es darum geht Daten und ihre Eigenschaften auf geeignete visuelle Attribute abzubilden, spielt neben Elementen wie Form, Bewegung oder räumlicher Tiefe auch Farbe eine sehr wichtige Rolle. Sie wird in einer sehr frühen Stufe der menschlichen Wahrnehmung erkannt und ist ein wichtiges Gestaltungsmittel. Die gewählte Farbzusammenstellung sollte für das Auge des Betrachters angenehm sein, seine Aufmerksamkeit anziehen. Jedoch sollte Farbe nicht nur aus ästhetischen Gründen eingesetzt werden, sondern hauptsächlich die Funktion haben, Informationen zu übermitteln. Bevor wir dazu übergehen, nach welchen Gesichtspunkten eine effektive Farbauswahl getroffen werden sollte, erklären wir kurz den physiologischen Hintergrund der Farbwahrnehmung Funktionsprinzip des Sehens Farbe wird im Gebiet der Farbmetrik als ein durch das Auge vermittelter Sinneseindruck verstanden. [HS00, S. 82], hervorgerufen durch einen physikalischen Reiz in Form von elektromagnetischer Strahlung im sichtbaren Bereich von 380 bis 780nm. Dieser von außen kommende Reiz wird als Farbreiz auf die Netzhaut des Auges projiziert. In der Netzhaut des menschlichen Auges gibt es zwei Typen von Photorezeptoren: die lichtempfindlichen Stäbchen und die farbempfindlichen Zapfen, welche eine unterschiedliche spektrale Sensitivität besitzen - d.h. Licht unterschiedlicher Wellenlänge wird von unterschiedlichen Rezeptoren absorbiert. Dazu gibt es drei Zapfentypen: den Rotrezeptor 49

68 2. GRUNDLAGEN für langwelliges, den Grünrezeptor für mittelwelliges und den Blaurezeptor für kurzwelliges Licht. Die Zapfen sammeln im Grunde die ins Auge fallenden Farbstrahlen ihrer Wellenlänge, wandeln diese in elektrischen Code um, der dann ans Gehirn weitergeleitet wird, wo die eigentliche Farbempfindung entsteht. Je nach spektraler Verteilung des ins Auge fallenden Lichtes hängt es ab, welche Farbe wir wahrnehmen Prinzipien zur Farbauswahl Um nun die große Leistungsfähigkeit des menschlichen visuellen Systems auszunutzen und die charakteristischen Eigenschaften einer Datenmenge zu erfassen, gilt es eine effektive Farbauswahl im Design der Visualisierung zu treffen. Dazu gibt es laut Stone [Sto06] und Marty [Mar08, S.140] 4 verschiedene Richtlinien: 1. Farbe kann eine funktionale Bedeutung zugewiesen werden, indem ein Attribut eines Datensatzes farblich kodiert wird. Auf diese Weise muss man keinen zusätzlichen Bildschirmplatz ausnutzen. [Con07, S. 17] 2. Um eine Unterscheidbarkeit von wichtigen Elementen sicherzustellen oder auch spezifische Informationen hervorzuheben, sollte man Kontraste einsetzen. Dazu ist es sinnvoll Farben zu verwenden, die recht gegensätzlich sind. Dabei handelt es sich um Farben, die sich im Farbkreis, zu sehen in Abbildung , gegenüber liegen. Um eine gewünschte Differenzierung zu erreichen, könnte man beispielsweise rot und grün kombinieren oder auch lila und gelb, aber sollte unter diesem Aspekt nicht lila und blau verwenden. Farbkontraste führen zu einer besseren Lesbarkeit der Visualisierung [Sto06] und liefern eine visuelle Unterscheidbarkeit bei Suchoperationen des Anwenders. [War08] 3. Durch Verwendung ähnlicher Farben kann man Elemente gruppieren. Solche Farben liegen im Farbkreis recht nah beieinander. In Abbildung wirken beispielsweise die die blau-grünen Quadrate gruppiert und homogen, wohingegen die roten Quadrate sich in einem Kontrast absetzen. 4. Mittels Farbe kann die Aufmerksamkeit des Betrachters auf einen bestimmten Bereich gelenkt werden. Besonders die Farbe Rot kann als sogenannte Action Color eingesetzt werden, um bestimmte Daten hervorzuheben, blau wird eher als neutrale Farbe wahrgenommen. [Sto06] 50

69 2.4. VISUALISIERUNG (a) Farbkreis (b) Kontrast und Analogie Abbildung 2.23.: Verwendung eines Farbkreises um konträre und ähnliche Farben zu identifizieren [Sto06] Generell sollte man die Anzahl unterschiedlicher Farben eher gering halten und diese aufeinander abstimmen. Zu viele verschiedene Farben verwirren einen Anwender üblicherweise Einflussfaktoren zur Farbauswahl Die Anwendung von Farbe zur Visualisierung von Informationen ist sorgfältig abzuwägen, da die menschliche Wahrnehmung von Farben, und der dadurch entstehende Farbeindruck, durch eine Reihe unterschiedlicher Phänomene beeinflusst werden kann. Ebenso sollte man aus Qualitätsgründen Rücksicht auf die Wahrnehmungskapazitäten und Präferenzen des Anwenders nehmen. Farbe und Kontext Farbe ist eine Empfindung, die in großem Maße von der Umgebung abhängt. Bei Komposition mehrerer Farben in einem graphischen Kontext können verschiedene Effekte auftreten, welche die Wahrnehmung der Einzelfarben beeinflussen. Man kann sagen, dass die Farben je nach Umgebung ihren Charakter verändern. In Abbildung sind beispielsweise zwei identische graue Balken zu sehen, jedoch wirkt der linke Balken vor hellem Hintergrund dunkler als der auf dunklem Hintergrund. Der höhere Kontrast auf der linken Seite führt zu einer Steigerung der empfundenen Farbintensität. Dieser Effekt wird auch Simultankontrast genannt. Besonders bei Text sollte man hinsichtlich des Hintergrunds immer einen Hell- Dunkel-Kontrast verwenden und beispielsweise keinen blauen Text auf schwar- 51

70 2. GRUNDLAGEN zem Hintergrund wählen, da der Helligkeitskontrast zu ungenügend ist. [War08, S. 66] Auch die Größe eines Textes oder allgemein eines Objekts spielt bei der Farbwahrnehmung eine wichtige Rolle. Beispielsweise wirkt ein kleines rotes Objekt auf schwarzem Hintergrund intensiver und etwas dunkler als das größere Objekte gleicher Farbe, siehe Abbildung Allgemein ist bezüglich der Verwendung von farbigen Flächen auf einem Hintergrund anderer Helligkeit zu sagen, dass hier der sogenannte kinetische Effekt auftritt. Dabei scheinen diese farbigen Flächen vor dem Hintergrund zu schweben, was besonders bei Verwendung der Farben gelb, orange, rot, grün und blau (in dieser Reihenfolge) auf schwarzem Hintergrund festzustellen ist. [HS00, S. 89] (a) (b) Abbildung 2.24.: Optische Täuschungen (nachempfunden aus [War08, S.69] und [HS00, S.86]) Form ist wie Farbe eine andere Möglichkeit um Informationen zu kodieren. Helligkeit bzw. Hell-Dunkel-Unterschiede sind auch für das Form-Sehen eine wichtige Empfindungsgröße, denn je höher ein Helligkeitskontrast ist, desto besser kann der Rand zwischen zwei Formen wahrgenommen werden. Dies bedeutet Farbgebung unterstützt die Form und bringt sie besonders zur Geltung. Zeitliche Bedingheit Hinsichtlich der Reaktionszeit des Menschen auf ein Farbsignal gibt es gewisse zeitliche Unterschiede. Im Folgenden ist die Reihenfolge der wichtigsten Farben aufgeführt, wobei die am besten wahrgenommenen Farben zuerst genannt werden: 1. gelb, 2. weiß, 3. rot, 4. grün, 5. blau (nach [HS00, S. 88]) 52

71 2.4. VISUALISIERUNG In Punkt 4 der Prinzipien zur Farbauswahl wurde bereits angesprochen, dass es wichtig ist, die Aufmerksamkeit des Anwenders zu wecken. Deswegen empfiehlt sich generell der Einsatz von hellen Farben für die Darstellung von primären Informationen um diese möglichst schnell zu identifizieren, wohingegen dunkle Farben eher für sekundäre Informationen geeignet sind. Kulturelle Abhängigkeit Farben werden oft symbolisch verwendet. An dieser Stelle darf man jedoch spezifische kulturelle Unterschiede nicht außer Acht lassen, da je nach Kulturkreis unterschiedliche Assoziationen geweckt werden können. Beispielsweise symbolisiert die Farbe Rot in China Glück und Erneuerung, während im westlichen Kulturkreis eher Gefahr damit in Verbindung gebracht wird. Ebenso steht hier weiß symbolisch für Reinheit, während dies in Asien die Farbe der Trauer ist. [War08, S. 84] Farbfehlsichtigkeit Farbe ist wie schon dargelegt ein Sinneseindruck und wird nicht von jedem Menschen gleich empfunden. Ein gewisser Anteil von Menschen in der Bevölkerung (ca. 7-8% der Männer und 0.4% der Frauen [HS00, S.97]) leidet sogar unter einer Farbsinnstörung wie z.b. der Rot-Grün-Blindheit. Dabei können Betroffene die Farben Rot und Grün schlechter unterscheiden als Normalsichtige. Die ist aber nicht die einzige Form der Farbsinnstörung. Einige Menschen können sogar überhaupt keine Farben wahrnehmen, sondern nur Helligkeitsunterschiede. Diese Anomalien sollten bei einer Visualisierung auf jeden Fall berücksichtigt werden und eine Anpassung an die jeweiligen Sehfähigkeiten und Präferenzen des Betrachters erfolgen. Dies bedeutet nicht, dass man vollständig auf den Einsatz von Farben verzichten sollte, sondern eher, dass man Farbe nicht als einziges visuelles Mittel einsetzt. Zusätzlich kann man bestimmte Informationen auch durch Form, Größe etc. darstellen oder auch mittels Kontrasten arbeiten Das 3-Stufen-Modell der Wahrnehmung Ware beschreibt in [War04, S ] ein dreistufiges Wahrnehmungsmodell, um den komplexen Verarbeitungsprozess des Gehirns, der im Grunde das Sehen ausmacht, näher zu beschreiben. In der ersten Stufe findet eine sehr schnelle, parallele Verarbeitung visueller Reize statt - unabhängig davon, worauf wir unsere Aufmerksamkeit lenken. Dabei werden zunächst einfache Merkmale wie Orientierung, Grösse, Farbe, 53

72 2. GRUNDLAGEN Textur oder Bewegung extrahiert. Aus dieser enormen Menge von Merkmalen versucht das Gehirn in der zweiten Stufe Strukturen und Muster zu erkennen. Beispielsweise werden Bewegungsmuster wahrgenommen oder Elemente der gleichen Farbe oder Textur als zusammenhängende Bereiche erkannt und gruppiert bzw. voneinander abgegrenzt. Diese Form der Verarbeitung ist ein aktiver Prozess. In der letzten Stufe, im Grunde die höchste Ebene der Wahrnehmung, werden aus den verfügbaren Mustern Objekte konstruiert, die Antworten auf visuelle Fragen geben. Im Zuge einer sequentiellen, zielgerichteten Wahrnehmung können nur wenige Objekte gleichzeitig im visuellen Arbeitsspeicher gehalten werden, je nachdem wo die Aufmerksamkeit des Betrachters liegt. In dieser Stufe ist es über eine Verbindung zum verbalen linguistischen Subsystem des Gehirns sogar möglich, Bilder mit Wörtern zu assoziieren. Abbildung 2.25.: 3-Stufen-Modell der Wahrnehmung [War04] Es wird deutlich, dass es sich bei der visuellen Wahrnehmung nicht um einen passiven Vorgang handelt. Zu Beginn ist die Wahrnehmung zwar noch präattentativ 10. Mit jeder weiteren Stufe erfolgt die Verarbeitung jedoch aktiver, so dass der Betrachter immer mehr Zusammenhänge erkennt. Im Endeffekt gelangen aber nur die Dinge ins Bewusstsein, die potentiell sinnvoll sind - und das wird von jedem Menschen subjektiv bestimmt und ist auch von Erfahrungen oder Erwartungen geprägt. Zusätzlich beeinflussen auch Ordnungs- und Gestaltprinzipien die Aufnahme von Informationen.[DEK07] 10 eine andere Bezeichnung für eine vorbewusste, unterschwellige Wahrnehmung von Sinnesreizen 54

73 2.4. VISUALISIERUNG Gestaltgesetze Das Ganze ist verschieden von der Summe seiner Teile. Hauptlehrsatz der Gestaltpsychologie, Max Wertheimer ( ) Gute Visualisierungen sollten die menschliche Mustererkennung unterstützen, indem die Strukturen in den Informationen adäquat übersetzt werden. Ein erster ernsthafter Versuch, um die Wahrnehmung von Mustern zu erklären, geht auf eine Gruppe deutscher Psychologen zurück: Max Wertheimer, Kurt Koffka und Wolfgang Köhler begründeten im Jahre 1912 die Berliner Schule der Gestaltpsychologie. Sie haben in Form von Gestaltgesetzen allgemeingültige Gesetzmäßigkeiten darüber aufgestellt, wie Menschen Dinge wahrnehmen - unabhängig davon ob es sich um Gegenstände, Formen, Gesichter, Landschaften oder andere Gebilde handelt. Wertheimer postulierte, dass das visuelle System des Menschen Elemente nach bestimmten Gruppierungsregeln zusammenfasst. [HS00, S.106] Einige der Gestaltgesetze, die zur Erklärung dieser Prozesse formulierten wurden, werden nun in einem kurzen Überblick vorgestellt. Gesetz der räumlichen Nähe (proximity) Dicht beieinander liegende Elemente werden vom Betrachter als zusammengehörig wahrgenommen, weit auseinander liegende Elemente eher als getrennte, unabhängige Einheiten. In Abbildung wird beispielsweise eine Punktmatrix einmal in Form von Zeilen und einmal in Form von Spalten wahrgenommen, je nachdem ob zwischen den Punkten horizontal oder vertikal ein kleinerer Abstand vorliegt. Gesetz der Ähnlichkeit (similarity) Elemente, die sich hinsichtlich eines bestimmten Merkmals ähnlich sind, werden intuitiv als Gruppierung wahrgenommen. Diese Ähnlichkeiten beziehen sich z.b. auf die Form, Farbe, Textur oder Helligkeit des Elements. In Abbildung wird das Zeilenmuster noch eindeutiger wahrgenommen, da in alternierender Reihenfolge zeilenweise andere Farben verwendet werden. Gesetz der Verbundenheit (connectedness) Indem man verschiedene graphische Elemente über Linien miteinander verbindet, kann man sehr gut eine Beziehung zwischen diesen Elementen zum Ausdruck bringen. Laut Ware [War04, S.192] handelt es sich hierbei um ein Gesetz, welches bezüglich einer wahrgenommenen Gruppierung sogar stärker ist als bei Verwendung von räumlicher Nähe, Farbe, Größe oder Form

74 2. GRUNDLAGEN (a) Nähe (b) Ähnlichkeit Abbildung 2.26.: Gestaltgesetze (Teil I) Gesetz der Kontinuität (continuity) Bei diesem Gesetz geht es darum, dass Reize, die eine Fortsetzung vorangehender Reize zu sein scheinen, als zusammengehörig angesehen werden. Im Falle von Abbildung nehmen wir zwei Kurven wahr, einmal von A nach B sowie von C nach D. Das Auge erhält einen Richtungsimpuls und setzt diesen Weg intuitiv fort. Die Verwendung sanfter Übergänge ohne abrupte Richtungswechsel begünstigt diese Form der Wahrnehmung. Gesetz der Symmetrie (symmetry) Symmetrisch angeordnete Elemente ergeben für den Betrachter eine Einheit. Gibt es symmetrisch und asymmetrisch angeordnete Elemente, rücken die symmetrischen Strukturen in den Vordergrund, während die asymmetrischen im Hintergrund erscheinen, da sich hier keine Form der Zusammengehörigkeit feststellen lässt. Gesetz der Geschlossenheit (closure) Nach dem Gesetz der Geschlossenheit oder der guten Gestalt besteht die Tendenz, geschlossene bzw. vollständige Figuren zu sehen. Fehlende oder auch verdeckt scheinende Teile werden durch unser visuelles System sinnvoll ergänzt. (a) Kontinuität (b) Geschlossenheit (c) Verbundenheit Abbildung 2.27.: Gestaltgesetze (Teil II) Gesetz des gemeinsamen Schicksals (common fate) 56

75 2.4. VISUALISIERUNG Elemente, die ähnliche Bewegungseigenschaften haben, d.h. sich zum Beispiel in die gleiche Richtung oder im gleichen Rhythmus bewegen, werden als zusammengehörige Gruppen wahrgenommen. Betrachtet man beispielsweise Fussballfans in einem Stadion, erscheinen sie auf den ersten Blick als eigenständige Elemente. Im Zuge einer Laola-Welle werden jedoch nicht mehr die einzelnen Elemente, die Menschen wahrgenommen, sondern die Welle als eigenständiges Objekt. Figur und Grund (figure and ground) Die menschliche Wahrnehmung ordnet nach diesem Prinzip Sinneseindrücke in zwei Kategorien. Figur ist die ausdrücklich definierte Gestalt im Vordergrund vor einem weniger beachteten, undefinierten Grund, der als Hintergrund gesehen wird. Die Aufteilung ist nicht immer eindeutig, zu sehen im Beispiel Gesetz der Prägnanz (gute Gestalt) Dieses Gesetz wird auch Gesetz der guten Gestalt genannt und besagt, dass die menschliche Wahrnehmung die Tendenz hat, optische Reize in möglichst einfachen Gestalten abzubilden. Simple, in sich geschlossene Strukturen dominieren über den Gesamteindruck (a) Figur & Grund (b) Prägnanz (c) Erfahrung Abbildung 2.28.: Gestaltgesetze (Teil III) Gesetz der Erfahrung Das menschliche Wahrnehmungsvermögen greift ständig auf bekannte Zusammenhänge zurück. Vorerfahrung und Vorkenntnisse des Betrachters lassen sich gezielt einsetzen um Formen und Zusammenhänge anzudeuten. In Abbildung ist auch ohne klare geometrische Strukturen noch der Dalmatiner erkennbar. 57

76

77 Kapitel 3 Analyse Der erste Teil der Analyse untersucht mögliche Vorgehensweisen hinsichtlich der Beschaffung eines geeigneten Nachrichten-Korpus, der - Vorverarbeitung sowie den wichtigen Aspekt der -Aufbereitung. Dabei wird geprüft, welche spamspezifischen Merkmale einer Nachricht für eine visuelle Aufbereitung interessant sein könnten und wie die Gewichtung extrahierter Merkmale erfolgen kann, unter anderem unter Zuhilfenahme eines Wörterbuchs. Im zweiten Teil der Analyse beschäftigen wir uns mit der Visualisierung. Zuerst stellen wir unterschiedliche Visualisierungstechniken vor und untersuchen die Vor- und Nachteile bei deren Einsatz. Danach stellen wir in einer State-of-the- Art-Analyse verschiedene Visualisierungen vor, die sich mit der visuellen Darstellung von -Traffic bzw. den Inhalten von s befassen, um gehen noch auf eine kleine Auswahl von Visualisierungs-Toolkits ein, die bei der Programmierung hilfreich sein könnten. 3.1 Text- und Datenanalyse Bei der nun folgenden Analyse der s hinsichtlich ihres Inhaltes halten wir uns im allgemeinen an den Prozess des Text Minings, der bereits im Grundlagenkapitel vorgestellt wurde. Der in einer enthaltene Text sollte, wie ein ganz normaler Dokumententext, durch einen gewichteten Merkmalsvektor präsentiert werden können. In diesem Fall kann der unstrukturierte Inhalt der Nachricht in eine strukturierte Form übertragen werden, so dass die Visualisierung auf diesen Daten aufsetzen kann. Mögliche Herangehensweisen werden nun im Folgenden vorgestellt.

78 3. ANALYSE Datenquellen Zuerst einmal gilt es zu ermitteln, welche Quellen herangezogen werden können, um einen angemessen großen Korpus an zu untersuchenden s zu gewinnen. s aus unserem privaten Mailarchiv eignen sich nicht zu einer Analyse nach inhaltlichen Wortmustern, da es sich hierbei zu 99% um Ham- Mails handelt, welche kaum spamspezifische Merkmale aufweisen. Um eine geeignete Anzahl von Spam- bzw. Grauzonen- s zu erlangen, muss eine andere Vorgehensweise gewählt werden Mail-Archive Ein erster Ansatz wäre die Verwendung von im Internet erhältlichen Spam- Archiven. Mittlerweile finden sich dort zahlreiche -Corpora, die vor allem zum Zweck der Spam-Filter-Evaluierung verwendet werden können. Teilweise werden diese Archive privat gepflegt oder auch von nicht kommerziell ausgerichteten Organisationen zur Verfügung gestellt. Drei davon möchten wir in einem Überblick vorstellen: SpamAssassin Corpus [corb] Dieser -Corpus ist über die Homepage des Apache SpamAssassin Projects frei erhältlich. Es handelt sich hierbei um eine Sammlung von Mails, die in drei Kategorien aufgeteilt wurden: Spam, Easy-Ham und Hard-Ham. Easy-Ham-Mails sind leicht von Spam-Mails zu unterscheiden, da sie kaum spamtypische Merkmale enthalten, und liegen in großer Anzahl vor. Die Hard-Ham-Mails hingegen sind stärker an Spam-Mails angelehnt, enthalten sie zum Beispiel farbige Texte, HTML-Code etc. An dieser Stelle sei noch zu erwähnen, dass für die Veröffentlichung der Ham-Mails das jeweilige Einverständnis des ursprünglichen Empfängers vorliegt. Spam Archiv [Gue] Hierbei handelt es sich um ein umfangreiches privates Spam-Archiv von Bruce Guenter, welches alle Spam-Mails beinhaltet, die er seit dem Jahr 1998 bis heute erhalten hat. Die Files liegen in komprimierter Form nach Jahren sortiert zum freien Download bereit. Annexia Spam Archive [cora] Auch hier handelt es sich um ein privates Spam- Archiv, welches seit 1997 stetig aufgebaut wurde. Im Jahr 2007 beinhaltete es über Nachrichten, wurde jedoch teilweise wieder offline gestellt. Aktuell sind online nur s aus den Jahren 2002 bis 2004 zum Download verfügbar, jedoch liegen die Mails nicht in gepackter Form vor. 60

79 3.1. TEXT- UND DATENANALYSE Mail-Server Alternativ könnte man einen Mailserver verwenden und auf diese Weise eine reale Umgebung schaffen, so dass die SpamVis-Software rein theoretisch auch in einem Live-System eingesetzt werden könnte. Durch Einsatz eines Mailservers stehen verschiedene Postfächer zur Verfügung, so dass eingegangene s unterschiedlicher Empfänger hinsichtlich ihres Inhaltes miteinander verglichen werden können. Zum Aufsetzen eines eigenen Mailservers gibt es neben kommerziellen Produkten wie z.b. dem Microsoft Exchange Server alternativ auch viele verschiedene Open-Source-Lösungen. Besonders hervorzuheben sind an dieser Stelle Postfix und Sendmail, die unter diversen Unix-Derivaten eingesetzt werden können. Zum Einsatz unter einem Windows Betriebssystem wäre der lizenzfreie Mercury geeignet. In der Regel sind die Mailserver modular aufgebaut und es müssen noch (in manchen Fällen umfangreiche) Konfigurationen vorgenommen werden, bis der Mailserver betriebsbereit ist. Die Konfiguration kann in den meisten Fällen über ein Konsolenprogramm erfolgen, jedoch bieten einige Server auch ein web-basiertes Benutzerinterface um die Einrichtung zu erleichtern. Um die Postfächer des Mailservers nun zu füllen, könnte man speziell angelegte -Adressen auf diversen (dubiosen) Webseiten veröffentlichen und auf Eingang von Spam-Mails warten. Wie in den Grundlagen beschrieben sammeln die Spam-Versender über Harvester solche Adressen automatisiert. Es sollte nur eine Frage der Zeit sein, bis auch diese angelegten -Adressen geerntet werden. Fazit Datenquellen Die in den vorgestellten Archiven enthaltenen s sind hauptsächlich eindeutig erkannte Spam-Mails und stehen in einer sehr großen Zahl zur Verfügung. Jedoch ist es im Zuge einer Visualisierung von inhaltlichen Wortmustern nicht sinnvoll, als Grundlage nur Spam-Mails zu verwenden. Gerade der Vergleich mit normalen s führt zu einer differenzierteren Betrachtungsweise und macht auf spezielle Charakteristika aufmerksam. In diesem Sinne geht die Tendenz zur Verwendung des SpamAssassin-Archivs, da hier auch Ham-Mails in ausreichender Anzahl zur Verfügung stehen. Die Möglichkeit einen eigenen Mailserver aufzusetzen und gestreute - Adressen einsammeln zu lassen birgt doch zu viele Unsicherheiten bezüglich des zeitlichen Aspekts. Man kann nicht abschätzen ob in der Kürze der Zeit aus- 61

80 3. ANALYSE reichend viele Spam-Mails eingehen. Außerdem wäre nur mit Eingang von sicherem Spam zu rechnen und voraussichtlich die Anzahl an Grauzonen-Mails, die für einen Analyse sehr interessant wären, sehr gering. Die beiden bisher genannten Ansätze könnten auf die Weise kombiniert werden, indem man einen eigenen Mailserver mit diversen Postfächern aufsetzt und die Mailarchive statisch mit s aus den Spamarchiven füllt. Natürlich würde auch rein technisch gesehen die Möglichkeit bestehen, (nach Genehmigung) auf einen bereits existierenden Mailserver, wie z.b. an der Universität an der Professur für Graphische Datenverarbeitung, zuzugreifen und die dort regulär eintreffenden s on-the-fly abzugreifen und zu analysieren. Jedoch ist diese Möglichkeit aus datenschutzrechtlichen Gründen von vornherein auszuschließen, da man im Vorfeld keine Kenntnis darüber hat, ob eine als Ham oder Spam einzustufen ist, und somit die Vertraulichkeit und Integrität von personenbezogenen Daten nicht mehr gewährleistet wäre Datenaufbereitung Ist ein ausreichend großer Korpus an s vorhanden, müssen nun Überlegungen hinsichtlich einer Vorverarbeitung der s angestellt werden. E- Mails sind nicht wie normale Dokumententexte, sondern haben spezifische Eigenschaften bezüglich der Struktur und des Inhalts Formatbetrachtung Um den Body einer analysieren zu können, muss geprüft werden, in welchem Format die vorliegt und welche Kodierungen dabei verwendet worden sind. Hierzu gilt es die MIME-spezifischen Funktionalitäten zu untersuchen. Denn setzt man einen Mailserver als Datenquelle ein, müsste eine inhaltliche Analyse der s stattfinden, bevor diese dem Empfänger zugestellt werden. An dieser Stelle der Verarbeitungskette ist jedoch noch kein Mail- Client zur Verfügung, der normalerweise die Zeichensatzdekodierung übernimmt - diese Aufgabe müsste die SpamVis-Engine übernehmen. Inhaltstypen Allgemein kann man sagen, dass eine aus einem in ASCII-Format vorliegenden Text, einem formatierten Text (z.b. HTML) und/oder Binärdateien bestehen kann. Möglicherweise sind sogar mehrere Formate als Alternativen 62

81 3.1. TEXT- UND DATENANALYSE miteinander kombiniert. Mittels der Erweiterung durch MIME sind verschiedene Content-Typen festgelegt worden, die sich nochmals in Untertypen gliedern lassen, welche dann eine genauere Beschreibung des Inhalts darstellen. Beide Angaben werden durch einen Schrägstrich voneinander getrennt, so dass die Syntax folgendermaßen aussieht: Content-Type/Content-Sub-Type Hierzu folgen zum besseren Verständnis einige Beispiele: Textdaten: text/rfc822, text/plain, text/html Bilddaten: image/jpeg, image/gif, image/png Audiodaten: audio/basi, audio/wav Videodaten: video/mpeg Anwendungsspezifische Daten: application/pdf Mehrteilige Nachrichten MIME ermöglicht auch, dass verschiedene unabhängige Nachrichtenteile, sogenannte Body-Parts, zusammen in einer versendet werden. Dies wird mittels des Content-Types multipart signalisiert. Die verschiedenen Content- Typen für mehrteilige Nachrichten sind dabei: multipart/mixed: eine Folge aus mehreren heterogenen Teilen multipart/alternative: zeigt an, dass die nachfolgenden Blöcke im Body der Mail die gleichen Informationen beinhalten, aber unterschiedliche Formate haben, z.b. ein und dieselbe Nachricht sowohl im Text- als auch im HTML-Format. multipart/parallel: ermöglicht bei mehrteiligen Daten eine simultane Präsentation der -Bestandteile beim Empfänger, z.b. Ton und Bild multipart/signed: eine digitale Signatur für die Daten der Nachricht Jeder einzelne Body-Part einer beginnt mit einem Trenner, dem sogenannten Boundary, und enthält seinerseits noch einmal eine Art Sub-Header, in dem für den folgenden Teil u.a. erneut der Content-Type und das verwendete Kodierungsverfahren angegeben wird. Nach dem letzten Body-Part folgt ein abschließender Boundary, um zu signalisieren, dass kein weiterer Teil mehr folgt. Einzelne Body-Parts können wiederum selbst aus mehreren Teilen bestehen, so dass weitere Boundaries angegeben werden müssen. 63

82 3. ANALYSE Kodierungsformate MIME schlägt verschiedene Kodierungsformate vor. Die beiden wichtigsten Formate sind quoted-printable und base64. Quoted-printable wird bei Text eingesetzt, der überwiegend ASCII-Zeichen beinhaltet sowie Sonderzeichen, die nicht im ASCII-Zeichensatz enthalten sind. base64 wird für den Versand aller möglichen digitaler Dokumente als Anhang einer empfohlen, z.b. für Videos, Audiodateien oder auch Anwendungen. Kodierung des Headers Die Informationen, die hinsichtlich einer inhaltsbasierenden Analyse einer E- Mail interessant sind, befinden sich im Body der Nachricht. Jedoch sollte man ebenfalls den Betreff der s als Untersuchungsgegenstand betrachten, da dort ebenso relevante Informationen bezüglich spamspezifischer Merkmale enthalten sein können. Gemäß MIME muss auch der Header entsprechend kodiert werden, um auch hier Nicht-ASCII-Zeichen (z.b. Umlaute) verwenden zu können. Als Kodierungsvorschlag enthält er: =?charset?kodierung?ergebnis?= charset steht hierbei für den verwendeten Zeichensatz, kodierung gibt die gewünschte Kodierung an (entweder Q für quoted-printable oder B für base64) und ergebnis ist der nach der entsprechend gewählten Methode kodierte Text. Ein Beispiel soll diese Anwendung verdeutlichen: Zu sendender Text im Betreff: Ergebnistext nach Kodierung: Subject: Schöne Grüße Subject: =?iso ?q?sch=f6ne Gr=FC=DFe?= Als Zeichensatz wurde iso verwendet und die Kodierung mittels Quoted- Printable erfolgt. Beispiel für eine Multipart-Nachricht: Im Folgenden sehen wir eine mehrteilige Nachricht, deren Parts durch zwei angegebene Boundaries unterteilt werden. Zudem besitzt sie eine innere und eine äußere Verschachtelung. Der innere blaue Teil stellt dar, dass es sich um den Content-Type alternative handelt, der aus einem HTML- und einem analogen Plain-Text besteht. Der äußere schwarze Teil enthält die Informationen bezüglich des Anhangs, und die rote Markierung stellt den eigentlichen Inhalt dar. Somit handelt es sich hierbei um eine HTML- mit einer alternativen Textdarstellung und einem Anhang in Form eines Bildes. 64

83 3.1. TEXT- UND DATENANALYSE From: To: Subject: Hier steht der Betreff MIME-Version: 1.0 Content-Type: multipart/mixed; boundary= =_trenner01 This is a multi-part message in MIME format. =_trenner01 Content-Type: multipart/alternative; boundary= =_trenner02 =_trenner02 Content-Type: text/plain; charset= iso Content-Transfer-Encoding: quoted-printable Grüße... =_trenner02 Content-Type: text/html; charset= iso Content-Transfer-Encoding: quoted-printable <BODY bgcolor=3d#ffffff> <DIV><FONT size=3d2 face=3darial> Grüße...</FONT></DIV></BODY></HTML> =_trenner02 =_trenner01 Content-Type: image/jpeg; name= bild.jpg Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename= bild.jpg /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLD =_trenner01 65

84 3. ANALYSE Fazit Formatbetrachtung Wie man sieht, kann eine über unterschiedliche Inhalte verfügen. Interessant für unsere Analyse sind in dieser Hinsicht aber nur Textdaten wie Plain- und HTML-Text. Andere Content-Typen in Form von Bildern oder Audiodateien sind nicht relevant, so dass Anhänge im Zuge der Vorverarbeitung entfernt werden sollten. Zudem sollte bezüglich des HTML-Textes eine Formatnormalisierung durchgeführt werden. Weiterhin ist zu berücksichtigen, dass s hinsichtlich des Bodys eine sehr verschachtelte Struktur aufweisen und aus mehreren Teilen bestehen können, die auch jeweils unterschiedlich kodiert sind. Da wie schon angesprochen kein Mail-Client zur Verfügung steht um die Dekodierung vorzunehmen, müssten Sonderzeichen, Umlaute etc. durch die SpamVis-Engine konvertiert werden Tokenisation Wie bereits in den Grundlagen erwähnt, wird ein Text im Zuge des Text Minings in Token zerlegt. Hier liegt bei natürlichen Sprachen eine große Schwierigkeit, denn es gibt vielfältige Arten und Weisen, die Token eines Textes möglichst korrekt zu ermitteln. Eine Möglichkeit ist, Wörter mit Hilfe eines regulären Ausdrucks an Leerzeichen zu trennen. Aber Probleme treten insbesondere dann auf, wenn Satzzeichen unterschiedliche Funktionen innerhalb eines Satzes besitzen. Beispielsweise kann ein Punkt nicht nur als Markierung für ein Satzende aufgefasst werden, sondern auch als Trennzeichen eines Datums oder einer Zahlenfolge. Betrachtet man den Header einer finden sich hier für eine Analyse relevante Informationen wie z.b. - oder IP-Adressen, die bei falscher Tokenisierung ihre Bedeutung verlieren. An dieser Stelle deutet sich schon an, dass eine Tokenisierung nur für den Body durchgeführt werden sollte und die für die Visualisierung hilfreichen Verwaltungsinformationen aus dem Header in einem separaten Vorgang zu extrahieren. Auch kann es Probleme bezüglich einer korrekten Tokenisierung geben, hervorgerufen durch die vielen Eigenheiten der unterschiedlichen Sprachen. (z.b. im Französischen müsste l auto zu la auto erweitert werden oder isn t zu is not). Die meisten Spam-Mails sind in Englischer Sprache verfasst, so dass es hier zu falschen Segmentierungen kommen kann Information Extraction Der Header einer enthält einige wichtige Informationen, die im Zuge einer Visualisierung unterstützende Funktion haben können. Interessant wären 66

85 3.1. TEXT- UND DATENANALYSE die Extraktion des Spam-Wertes (sofern vorhanden), des Datums sowie des Absenders um Sortier- bzw. Filteroperationen durchführen zu können. Um solche Informationen zu extrahieren, kann man unter anderem reguläre Ausdrücke einsetzen. Reguläre Ausdrücke Reguläre Ausdrücke (engl.: regular expressions) werden angewendet um effizient und flexibel mit Hilfe von entsprechenden Funktionen nach bestimmten Zeichen, Zeichenketten oder Teilen einer Zeichenkette zu suchen und diese eventuell zu löschen, zu zerlegen oder zu ersetzen. Sie beschreiben Muster (sogenannte Pattern) anhand derer sich die Suche gestaltet. So ist es verständlich, dass viele Suchfunktionen in Editoren und Textverarbeitsprogrammen reguläre Ausdrücke verwenden, da diese die Suche nach allgemeineren Angaben erlauben. Es gibt also drei Anwendungsgebiete für reguläre Ausdrücke: Matching: Erkennung von Muster, was auch zur Extraktion von Informationen aus dem String genutzt werden kann. Substitution: Ersetzen eines erkannten Textes durch einen neuen Text Splitting: Zerlegen eines Strings in ein Array Die regulären Ausdrücke sind ein gutes Werkzeug für der Extraktion der Verwaltungsinformationen aus dem Header, aber sie scheinen auch sehr wertvoll hinsichtlich der Suche nach spamspezifischen Wortmustern im Body zu sein. Auf die spamtypischen Eigenschaften einer kommen wir nun im nächsten Abschnitt zu sprechen Tokenanalyse Charakteristische Merkmale von Spam Spam-Mails enthalten eine Vielzahl diverser Charakteristika, anhand derer sie sich von normalen s unterscheiden. Diese Charakteristika können dann von inhaltsbasierenden Spamfiltern herangezogen werden um die als Spam zu klassifizieren - unabhängig vom tatsächlichen Verstehen des Inhalts. [Knu06, S. 20] Im Folgenden wollen wir nun einige dieser Charakteristika vorstellen und prüfen, welche für unsere inhaltsbasierende Visualisierung herangezogen werden können. 67

86 3. ANALYSE Im Grunde interessieren wir uns nun für die spamspezifischen Merkmale im Body der Nachricht. Dieser kann, wie in den Grundlagen beschrieben, aus reinem Text bestehen, formatierten Text enthalten oder auch mit einem oder mehreren Anhängen versehen sein. Klartext Zu den Charakteristika im Klartext einer Spam-Mail gehören in erster Linie bestimmte Schlüsselwörter, wie z.b. Sex, Viagra, Poker, und auch Wortkombinationen, wie z.b. garantiert kostenlos, call now, Job angebot etc. Ebenso kommt es sehr häufig vor, dass mehrere Zeilen ausschließlich in Großbuchstaben geschrieben sind oder unnötig viele Ausrufezeichen enthalten. Weiterhin befinden sich oftmals Hinweise auf Abmelde-Links in der , wie z.b. click here, your are receiving, to unsubscribe, please visit und noch viele mehr. Ein weiteres Merkmal kann sein, dass Adressen von Webseiten mit einer ID versehen werden, über welche die Aktivität einer Empfänger- -Adresse festgestellt werden kann. Oftmals kommt es auch vor, dass nicht zum Thema der Spam-Mail gehörende zusätzliche unverfängliche Texte in die Nachricht eingebaut werden, um die Gesamtspamwahrscheinlichkeit herabzusetzen und damit die statistischen Inhaltsfilter zu überlisten. Darüberhinaus zeichnen sich der Sprachstil und die Schreibweise in Spam- Nachrichten durch eine Reihe weiterer Besonderheiten aus. Viele Spammer versuchen ihre s zu verschleiern, indem sie Wörter absichtlich falsch schreiben oder andere Fehler in den Text einfügen, um die inhaltsbasierenden Filter zu umgehen. Für das menschliche Auge ist es einfach, solche absichtlichen Fehler zu entdecken und das originale Wort herauszulesen, jedoch werden sie von den meisten inhaltsbasierenden Spam-Filtern nicht erkannt. [HL] Besonders diese verschleierten Wörter sind hinsichtlich einer inhaltsbasierenden Analyse nach Wortmustern interessant und sollten im Zuge der Gewichtung anwendungsspezifischer Merkmale einen großen Einfluss haben. Wir werfen aus diesem Grund nun einen genaueren Blick auf die eingesetzten Verschleierungstechniken. Eine beliebte Methode um ein Wort zu verschleiern ist spezifische Buchstaben durch andere, ähnliche alphanumerische Zeichen zu ersetzen. Beispielsweise könnte man das Wort Viagra auch leicht abgewandelt als Vigra oder V1agra schreiben. Anstatt einer Ersetzung kann man natürlich auch zusätzliche Zei- 68

87 3.1. TEXT- UND DATENANALYSE chen wie z.b. Sternchen, Bindestriche oder auch normale Buchstaben hinzufügen, die das Wort aufblähen, aber immer noch für das menschliche Auge lesbar lassen. Ebenso kommt es häufig vor, dass absichtlich Rechtschreibfehler oder so genannte Fehlschreibungen existieren. Damit ist eine Schreibweise des Wortes gemeint, die laut der allgemein üblichen Orthografie falsch ist. Betrachtet man ein einzelnes falsch geschriebenes Wort, ist es nicht direkt möglich festzustellen, ob tatsächlich eine Absicht dahinter steckt. Es könnte sich möglicherweise um eine Unachtsamkeit des Verfassers handeln oder auch um einfache Unkenntnis der korrekten Schreibweise. Erst im Kontext mit anderen Merkmalen könnte man bei einer automatisierten Analyse Aufschluss darüber erhalten, ob eine gewisse Relevanz besteht. Eine weitere Methode ist, zusätzliche Leerzeichen zwischen den Buchstaben eines Wortes einzufügen, eine Art der Segmentierung. Naive Tokenizer in Spamfiltern haben im Falle einer solchen Zerlegung große Schwierigkeiten die Wortgrenzen korrekt zu erkennen und lassen sich in solch einem Fall austricksen. Um diesen Verschleierungstechniken zu begegnen, setzen einige Spam-Filter- Systeme manuell erstellte Listen mit regulären Ausdrücken ein. Jedoch gibt es unbegrenzt viele Möglichkeiten für eine abweichende Schreibweise und der Kreativität der Spammer sind keine Grenzen gesetzt, so dass diese Listen immer wieder erweitert werden müssen und niemals vollständig sein werden. Lee und Ng schlagen diesbezüglich in ihrem Paper eine Entschleierungsmethode basierend auf dem Hidden Markov Modell vor. [HL] Die für uns interessantesten Charakteristika sind nochmals in Tabelle 3.1 mit entsprechenden Beispielen zu sehen. Methode Schlüsselwörter Wortkombinationen Grossbuchstaben Einfügen Substituieren Rechtschreibfehler Segmentierung Kombinationen Beispiele gratis, Sonderaktion, Viagra, Gewinnspiel, unsubscribe Million Dollars, Click Here, For Free, order now NIGERIAN BANK, JETZT, XXX PHOTOS, FREE DVD viaaaagra, via***gra viagr4, vigra, viaga, fiagra v i a g r a, via gra, SOND ER ANGE BOT VI_A kkk**4 Tabelle 3.1.: Spamspezifische Merkmale im Klartext einer 69

88 3. ANALYSE Formatierter Text Spam- -Versender setzen gerne aufgrund der vielfältigen Gestaltungsmöglichkeiten im Body einer Nachricht HTML-Code ein. In diesem Falle sind zusätzlich zu den bereits genannten Charakteristika noch weitere Merkmale anzutreffen. Beispielsweise werden hier besonders auffällige Farben oder extreme Großschrift eingesetzt. Text kann durch HTML-Mittel unklar gemacht werden, indem zum Beispiel Zeichencodes statt Buchstaben verwendet werden. Weiterhin sind blinkender Text, nicht in HTML definierte Tags oder auch aus dem Internet nachzuladende Grafiken typische Indizien auf Spam. [Knu06] Binärdateien Sofern einer ein Anhang hinzugefügt wird, muss dieser binär kodiert werden. Binärdateien können im Unterschied zu einer Textdatei auch nichtalphabetische Zeichen enthalten und sind für einen Menschen nicht lesbar. Typische Charakteristika in unserem Sinne sind auf diese Weise nicht auszumachen. An dieser Stelle sei aber noch zu erwähnen, dass mittlerweile eine große Tendenz zum graphischen Spam (der so genannte Image-Spam) besteht. Es handelt sich hierbei um eine Versandtechnik von Spam, bei der Spammer einen eingebetteten Dateianhang wie z.b. eine jpeg- oder gif-datei der hinzufügen, welche dem Empfänger dann automatisch angezeigt wird. Der Inhalt solch eines Bildes bleibt den meisten Spam-Filtern verborgen. Es gibt mittlerweile auch Ansätze um diesen Image-Spam zu bekämpfen, aber in Bezug auf eine inhaltliche Analyse von Wortmustern ist dieses Gebiet für das Thema unserer Diplomarbeit zu umfangreich. Es erscheint notwendig im Zuge der Aufbereitung der durch die SpamVis-Engine eventuell vorhandene Dateianhänge zu entfernen. Headerinformationen Natürlich verfügt auch der Header einer über spamspezifische Charakteristika, beispielsweise ein sehr weit zurückliegendes Absende-Datum oder auch Absenderadressen mit einem hohen Anteil an Ziffern oder Zufallsbuchstaben. Diese Eigenschaften sollen aber an dieser Stelle nicht näher betrachtet werden, da sie für eine inhaltliche Analyse keine Relevanz haben. Der Header enthält jedoch neben diesen Verwaltungsinformationen auch den Betreff der Nachricht, der ebenfalls einige der oben genannten Charakteristika aufweisen kann. Häufig kommt es beispielsweise vor, dass hier asiatische Buchstaben enthalten sind oder mehrere Großbuchstaben hintereinander durch Leerzeichen getrennt vorkommen, oder der Betreff beginnt mit der Buchstabenfolge Re:. An dieser Stelle wird deutlich, dass der Betreff im Zuge der Analyse durch die 70

89 3.1. TEXT- UND DATENANALYSE SpamVis-Engine aus dem Header extrahiert und genauso wie der Inhalt des Bodys untersucht werden sollte. Fazit Charakteristische Merkmale Es gibt eine vielfältige Auswahl an typischen Merkmalen, die charakteristisch in einer Spam-Mail auftreten können. Im Zuge der Analyse durch die SpamVis- Engine sollte jedoch eine Begrenzung auf eine überschaubare Anzahl durchgeführt werden. Reguläre Ausdrücke bieten umfangreiche Möglichkeiten, um diese auffälligen Merkmale zu extrahieren, so dass diese Merkmale später in einem gesonderten Schritt auch speziell gewichtet werden können. Nachdem wir nun überprüft haben, welche Merkmale für die -Analyse interessant sind, können wir weitere Überlegungen anstellen, die der vorhandene Text im Zuge einer linguistischen Analyse weiterverarbeitet werden kann. Part-of-Speech-(POS)Tagging und Parsing Bei dieser Form der syntaktischen Analyse werden die Wörter eines Textes in verschiedene Wortarten eingeteilt (Substantiv, Verb, Adjektiv etc.). Hinsichtlich der Analyse des -Textes auf spamtypische Merkmale und einer anschließenden Visualisierung von Wortmustern scheint eine Kategorisierung der Wörter nach ihrer syntaktischen Funktion im Satz irrelevant zu sein. Ebenfalls bringt unserer Meinung nach die Kenntnis über die Stellung eines Wortes im Satz (wie z.b. Subjekt, Prädikat, Objekt), die man durch Parsing ermitteln kann, keinen Vorteil in Bezug auf charakteristische Spam-Merkmale. Stemming Um ein Wort auf seinen Wortstamm zurückzuführen, bedarf es eines Algorithmus, der anhand einer spezifisch vorgegebenen Regelmenge schrittweise Präfixe und/oder Suffixe eines Wortes abtrennt. Einer der bekanntesten Stemming- Algorithmen für die Englische Sprache ist der Porter-Stemmer-Algorithmus 1. Hier wird ein Wort in mehreren Schritten reduziert, indem die Wortendung sukzessive durch jeweils kürzere Buchstabensequenzen ersetzt wird. Im Englischen ist es relativ einfach, durch Anwendung von Regeln Wörter auf ihren Stamm zurückzuführen, im Deutschen hingegen deutlich schwieriger, da Wortformen auch ihren Stamm verändern können. Ein Stemmer für die Deutsche Sprache steht beispielsweise mit Snowball 2 zur

90 3. ANALYSE Verfügung. Mit Hilfe der enthaltenen deutschen Regeldatei kann man beispielsweise das Wort feinsten in einem ersten Durchlauf auf das Wort feinst reduzieren und in einem weiteren Schritt auf fein. Hier ist zu sehen, wie in jedem Schritt die längste Nachsilbe entfernt und das Wort somit auf seinen Stamm zurückgeführt wird. Es kann aber passieren, dass ein Wort auf einen Stamm zurückgeführt wird, den es so nicht gibt, sprich dieser gehört nicht zur Sprache und ist auch nicht in einem Lexikon zu finden. Eine weiterer Nachteil ist, dass Wörter, die eigentlich den gleichen Stamm haben, möglicherweise nicht zusammengeführt werden - hier findet ein sogenanntes Understemming statt. Dies kann man gut an folgendem Beispiel sehen: das Wort absorbieren wird hierbei auf den Stamm absorb zurückgeführt, und das Wort Absorption auf absorp. [Wol04] Ebenso besteht die große Gefahr des sogenannten Overstemmings, bei dem Wörter mit unterschiedlicher semantischer Bedeutung zu ein und demselben Stamm zurückgeführt werden, beispielsweise wird (ich) wandere auf den Stamm wand zurückgeführt, genauso wie (die) Wände.[Wol04] Die Wahl des Stemmers hängt von der Anwendung ab. In unserem Falle müssen wir damit rechnen, dass sowohl deutsch- als auch englischsprachige E- Mails der Analyse unterzogen werden müssen. Jedoch stellt sich die Frage, ob die Anwendung von Stemming überhaupt hinsichtlich einer -Analyse und -Klassifikation geeignet ist. Méndez et. al [JM06] zeigen in einer vergleichenden Studie, dass die Anwendung von Stemming und anderen vorverarbeitenden Methoden, die normalerweise die Effizienz in der Textklassifikation verbessern, hinsichtlich einer -Filterung nicht so effizient sind Merkmalsgenerierung Ziel des Text Minings ist es, das untersuchte, unstrukturierte Dokument in eine strukturierte Form zu überführen. Ein häufig verwendeter Ansatz dazu ist die so genannte bag-of-words-methode (Tüte voll Wörter), welche einen Text als eine Wortmenge auffasst. Jedes Wort wird dabei als Merkmal betrachtet. Der Wert eines Merkmals entspricht der absoluten Häufigkeit, mit der das Wort in diesem Dokument vorkommt. Die Gesamtheit aller Merkmale mit ihren jeweilen Frequenzen werden in einem Merkmalsvektor zusammengefasst, welcher nun das entsprechende Dokument repräsentiert. Um einen Vergleich zu anderen Dokumenten zu ermöglichen und eine Klassifikation durchzuführen, müssen die Merkmalsvektoren aller Dokumente in ihrer Länge und Reihenfolge identisch sein und somit normalisiert werden. Hier sei zu erwähnen, dass der Merkmalsvektor die Reihenfolge der Wörter im Text nicht beachtet. 72

91 3.1. TEXT- UND DATENANALYSE Abbildung 3.1.: Merkmalsvektor einer Abbildung 3.1 zeigt auf stark vereinfachte Weise, wie man den Text einer E- Mail in einen Merkmalsvektor überführen kann. Die absoluten Häufigkeiten der enthaltenen Wörter werden in dem Merkmalsvektor hinterlegt. Das Wort lernen kam in dieser zwar nicht vor und ist deshalb mit dem Wert 0 belegt, aber durch den Vorgang der Normalisierung müssen auch Wörter berücksichtigt werden, die in bereits schon überführten s vorkamen um die Vektoren für eine Klassifikation vergleichbar zu machen Merkmalsgewichtung In unserem Anwendungsfall könnten wir auf recht einfache Weise aus einer vorverarbeiteten einen Merkmalsvektor gewinnen, der diese repräsentiert. Die Gewichtung der einzelnen Merkmale, sprich der Wörter, kann mittels der TF (Term Frequency) oder auch der TF-IDF (Term Frequency Inverse Document Frequency) erfolgen. Jedoch sollten Merkmale, die spamspezifische Auffälligkeiten aufweisen, von der SpamVis-Engine gefunden und noch 73

92 3. ANALYSE zusätzlich gewichtet werden, um ihre Bedeutung und inhaltliche Relevanz hervorzuheben Merkmalsreduzierung Da jedes Wort im Merkmalsvektor eine Dimension des Merkmalsraums darstellt und die Merkmalsvektoren mit jedem neuen untersuchten Dokument im Zuge der Normalisierung an Merkmalen zunehmen können, wird auch die Dimension des Merkmalsraums sehr groß. Jedoch befinden sich in dieser Merkmalsmenge auch Wörter, die keine oder nur wenig inhaltliche Relevanz haben und aus diesem Grund entfernt werden können. Diese Wörter werden auch Stoppwörter genannt und können auf auf einfache Weise durch externe Listen zur Verfügung gestellt werden. Trotz der Reduktion der Merkmalsmenge kann ein Merkmalsvektor in der Praxis immer noch sehr große Dimensionen einnehmen und schnell in die Zehntausende gehen. Aus diesem Grund sollte noch eine weitere Reduzierung erfolgen, indem Wörter, deren Gewicht unter einem bestimmten Schwellenwert liegen, aus dem Merkmalsvektor entfernt werden Klassifikation Mit der Überführung eines (unstrukturierten) -Textes in einen (strukturierten) Merkmalsvektor, haben wir eigentlich die nötige Grundlage für eine Visualisierung geschaffen und müssten nicht zwingend eine Klassifikation durchführen. Aber möglicherweise bieten sich hierdurch noch zusätzliche Informationen, die im Zuge einer Visualisierung hilfreich eingebunden werden können. In den Grundlagen haben wir bereits einige Klassifizierungsmethoden vorgestellt, die man durchaus für eine -Klassifizierung verwenden kann. Der bekannteste unter ihnen ist der Bayes-Klassifikator, der zu jedem Wort eine Spam- und Nicht-Spam-Wahrscheinlichkeit berechnet unter Einbeziehung von vorherigen Klassifikationsergebnissen und dies zur Klassifikation der gesamten als Spam oder Ham nutzt. Jedoch möchten wir einen anderen Weg untersuchen, und zwar eine Klassifikation nach inhaltlichen Themengebieten wie z.b. Erotik, Finanzen etc. Einen einfachen Klassifikationsalgorithmus stellt knn dar, bei dem darauf zu achten ist, welche Ähnlichkeitsfunktion man einsetzt, um die Abstände zwischen Vektoren zu berechnen. 74

93 3.1. TEXT- UND DATENANALYSE Um Dokumente auf ihre Ähnlichkeit hin zu überprüfen, gibt es folgende geläufige Ähnlichkeitsmaße: Skalarprodukt: hier werden große Dokumente gegenüber kleinen bevorzugt Euklidischer Abstand: Berechnung des Abstands zwischen Endpunkte der Vektoren. Hierbei werden kleinere Dokumente bevorzugt. Cosinus-Maß: Berechnung des Winkels zwischen Vektoren. Je kleiner der Winkel ist, desto ähnlicher sind die betrachteten Dokumente. Bei diesem Maß wird eine Beeinflussung durch die Dokumentengröße vermieden. knn (k-nearest-neighbors) ist ein Klassifikationverfahren mit sehr schneller Trainingsphase, da es die Trainings-Dokumente nur in eine Vektorrepräsentation überführen muss. Jedoch ist im Gegenzug die Klassifikationsphase sehr aufwändig, da für jede zu klassifizierende die gesamte Menge der Trainingsvektoren betrachtet werden muss um für alle Vektoren die Distanz zu ermitteln. Jedoch sollte sich der knn-algorithmus aufgrund seiner Einfachheit eignen, um prüfen zu können, ob eine Klassifizierung der s nach Themengebieten hilfreich sein könnte. Bei Auswahl des Parameters k für die Anzahl der nächsten Nachbarn sollte auf die Größe geachtet werden. Ein kleines k begünstigt die hohe Sensitivität gegenüber Ausreißern, wohingegen ein großes k viele Objekte aus anderen Klassen miteinbezieht. Die Güte von k wird sich dann erst im Zuge der Testphase nach einer Implementierung ergeben Text-Mining-Systeme Es gibt diverse Anbieter, die sich auf auf bestimmte Text-Mining- Funktionalitäten spezialisiert haben, wie z.b. die Firma Temis 3, deren Software-Produkte computerlinguistische Analysen, die Information-Extraction sowie die Kategorisierung von Dokumenten ermöglichen. Weiterhin gibt es noch andere Anbieter wie SAS 4, die noch umfassendere Lösungen anbieten, die über Text- Mining-Anwendungen hinausgehen. Unter dem Aspekt, dass wir spamspezifische Merkmale von s analysieren möchten und diese Systeme darauf nicht ausgerichtet sind, die für uns notwendigen Informationen als Grundlage für eine Visualisierung zur Verfügung zu stellen, kommen sie als Hilfsmittel nicht in Frage

94 3. ANALYSE Wörterbücher Ein Wörterbuch dient zum Nachschlagen bestimmter sprachlicher Informationen zu einem konkreten Begriff, wie z.b. die Definition eines Wortes, grammatische Eigenschaften wie Wortart oder Genus, Hinweis auf Synonyme. Einer sehr bekannter Vertreter ist der Duden, ein Wörterbuch der deutschen Sprache. Anfangs nur ein orthografisches Wörterbuch werden mittlerweile auch viele Spezialgebiete abgedeckt. Im Bereich der Gewichtung anwendungsspezifischer Merkmale könnte der Einsatz eines Wörterbuches hilfreiche Dienste leisten. Durch Verschleierungstechniken veränderte Wörter enthalten Sonderzeichen oder sind auf eine andere Art und Weise fehlerhaft geschrieben, so dass sie definitiv nicht in einem Wörterbuch zu finden sein werden. Ebenso nehmen wir an, dass es eine Vielzahl spamspezifischer Wörter gibt, die trotz korrekter Schreibweise vermutlich ebenfalls nicht in der Datenbank enthalten sind. In dieser Hinsicht könnte es im Zuge der Gewichtung bereits ein relevantes Kriterium sein, wenn das gesuchte Wort nicht im Wörterbuch existiert. Wie schon in den Grundlagen erwähnt, könnte es sich natürlich auch um zufällige orthografische Fehler handeln, wenn jedoch die Summe fehlerhafter Schreibweisen einen bestimmten Rahmen übersteigt, könnten sich hier Auffälligkeiten ergeben, die auf Spam hindeuten Projekt Deutscher Wortschatz Das Projekt Deutscher Wortschatz 5 ist ein umfangreiches Textanalyse-Projekt am Lehrstuhl für Automatische Sprachverarbeitung der Universität Leipzig. Seit dem Jahr 1998 wurden aus offline und auch online verfügbaren Quellen große Textdatenbestände analysiert und über das Internet verfügbar gemacht. Der Wortschatz Leipzig ist damit eine der größten Online-Datenbanken für die Deutsche Sprache. Bei Eingabe eines Suchbegriffs erhält man umfassende Informationen über dieses Wort, wie zum Beispiel die Ausgabe von Grammatikangaben und Beispielsätzen, die Morphologie, das zugehörige Sachgebiet, eine allgemeine Beschreibung des Begriffs und auch Häufigkeitsklassen. Ebenso erfolgt eine Auflistung von Kookkurrenzen, also Begriffen, die innerhalb einer Einheit wie z.b. einem Satz oder Dokument auffällig häufig gemeinsam auftreten, und die Angabe der 5 76

95 3.1. TEXT- UND DATENANALYSE signifikanten linken und rechten Nachbarn des Suchbegriffes. Diese Informationen werden auch übersichtlich in einem Begriffsnetzwerk visualisiert. Abbildung 3.2.: Ergebnisse für das Suchwort Visualisierung Die über den Wortschatz gefundenen Ergebnisse könnten dazu genutzt werden, um die in einer vorkommenden relevanten Wörter zusätzlich zu gewichten. Interessant sind hier die Funktionen der Mehrwortkookkurrenzen für Redewendungen, typische Wortkombinationen oder auch das Sachgebiet für eine Kategorisierung spezifischer Schlüsselwörter. Was uns an dieser Stelle aber am wichtigsten erscheint, ist wie schon angesprochen einen reinen Wörterbuchtest durchführen zu können Webservices Mittels Webservices ist ein direkter Zugriff auf die Daten des Projektes Deutscher Wortschatz aus einer beliebigen Software heraus möglich. Voraussetzung ist, dass die verwendete Programmiersprache über SOAP 6 kommunizieren kann. SOAP ist ein Netzwerkprotokoll, mit dessen Hilfe XML-basierte Nachrichten ausgetauscht werden können. Zum Senden dieser Nachrichten Daten wird in der Regel per HTTP ein entfernter Prozeduraufruf (Remote Procedure Call, 6 ursprünglich für Simple Object Access Protocol 77

96 3. ANALYSE RPC) durchgeführt. Da die Schnittstelle (SOAP) standardisiert und offengelegt ist, könnten beispielsweise Java-, PHP- oder Python-Applikationen diese Webservices nutzen und auf die linguistischen Datenressourcen zugreifen. Hier stellen sich schon gewisse Vorbedingungen für die zu verwendende Programmiersprache bei der Implementierung der Engine. Einen einfachen Überblick über die zur Verfügung gestellten Webservices bietet Tabelle 3.2. Service Overview Cooccurrences Grundform Frequency Synonyms RightOccurrences LeftOccurrences Überblick über die momentan verfügbaren Services Liefert die als statistisch signifikant errechneten Kookkurrenzen Liefert zu einem Wort die Grundform, sowie die Wortklasse Gibt Frequenz sowie Häufigkeitsklasse eines Services Gibt Synonyme zu einem Eingabewort Gibt zu einem Eingabewort die als signifikant berechneten rechten Nachbarn Gibt zu einem Eingabewort die als signifikant berechneten linken Nachbarn Tabelle 3.2.: Überblick über einige Webservices des Wortschatz Leipzig Um über einen Webservice auf die Datenressourcen zuzugreifen, werden drei verschiedene Zugangsarten zur Verfügung gestellt: Ein anonymer Zugang um einfache Datenabfragen durchzuführen, ein Zugang für registrierte Nutzer für komplexere Abfragen unter Einbeziehung von Rechenressourcen des Projekts Deutscher Wortschatz und als dritte Variante ein Zugang für Kooperationspartner, die experimentelle oder sehr aufwändige Analysen bzw. Massendatenabfragen benötigen. Die im Zuge der -Aufbereitung gewonnenen Merkmalsvektoren können zwar unter Umständen eine sehr große Anzahl an Wörtern enthalten, jedoch müssten hierbei keine komplizierten Abfragen erfolgen, so dass der anonyme Zugang genutzt werden kann. 3.2 Datenspeicherung Im Zuge des -Minings werden spezifische Informationen extrahiert, die auch dauerhaft gespeichert werden müssen. Die erwartete Datenmenge in Form der Anzahl der s kann nicht jedes Mail in einem einzigen Durchlauf verarbeitet werden. Gerade unter dem Aspekt eines Einsatzes an einem Mailserver fallen sehr große Datenmengen an - und nicht nur in der Zahl der s 78

97 3.2. DATENSPEICHERUNG sondern auch der dazugehörigen (klassifizierten) Merkmalsvektoren. Generell sollten die analysierten Daten permanent zur Verfügung stehen, damit in der Visualisierung auch eine zeitliche Filterung realisiert werden kann. Für die Datenhaltung könnte eine Datenbank genutzt werden. Auf diese Weise werden parallele Zugriff erlaubt, der Zugriff kann geschützt werden. Die Datenbank MySQL erfüllt diese Anforderungen. Sie unterliegt der public license (GPL, Softwarelizenz) und ist damit kostenlos für die private Nutzung. Der Zugriff auf würde mit Hilfe von SQL (Structured Query Language) erfolgen. Auf jeden Fall sollten die Verwaltungsinformationen der darin gespeichert werden. Dazu gehören neben der Absenderinformation auch der Spam- Score der Nachricht oder das Datum. Ebenso muss für jede Mail der zugehörige Merkmalsvektor gespeichert werden, genauso wie die in der Trainingsphase klassifizierten Vektoren, die bei jeder neuen Klassifizierung benötigt werden Fazit zur Analyse (Engine) Im Zuge der Analyse haben wir feststellen können, dass es mittels der allgemeinen Prinzipien des Text Minings möglich sein sollte, nach einem entsprechenden Vorverarbeitungsprozess den Inhalt einer in die Form eines Merkmalsvektors darzustellen. Dieser Merkmalsvektor enthält die am häufigsten vorkommenden Wörter einer , denen noch eine gewisse inhaltliche Relevanz zuzuordnen ist. Mithilfe regulärer Ausdrücke können im Zuge des Information Extraction nicht nur Verwaltungsinformationen aus der extrahiert werden, sondern man kann mit ihnen auch nach spamspezifischen Charakteristika suchen - beispielsweise nach großgeschriebenen Wörtern, typischen Spamwörtern oder auch Wortkombinationen. Die regulären Ausdrücke dafür müssten jedoch manuell erstellt werden. Wie wir feststellen konnten gibt es noch viele andere spamspezifische Merkmale, sei es in einem reinen Plain-Text, HTML-Text oder auch dem Betreff. Im Zuge des Konzepts gilt es eine geeignete Auswahl zu treffen und auch eine möglichst sinnvolle Gewichtung dieser spamspezifischen Merkmale festzulegen. Zusätzlich zu den eigens kreierten Tests auf Spam-Charakteristika kann ein Wörterbuch verwendet werden, um ein weiteres Gewichtungsmerkmal heranzuziehen. Zu beachten gilt hierbei, dass solch ein Test mit dem Wortschatz Leipzig online durchgeführt werden würde. Wenn SpamVis an einen echten 79

98 3. ANALYSE Mailserver gekoppelt werden soll, kann man auch von einer bestehenden Internetverbindung ausgehen, so dass eine Realisierung in dieser Form keine technischen Probleme darstellt. Jedoch müsste zusätzliche Zeit für die Online- Abfrage eingeräumt werden. Im Zuge der Testphase nach der Implementierung wird sich herausstellen, ob solch ein Test sinnvoll ist. Fraglich ist noch die Berücksichtigung unterschiedlicher Sprachen. Spam-Mails beinhalten in vielen Fällen englische Texte, reguläre s innerhalb Deutschland natürlich deutsche Texte. Bezüglich einer Wortstammreduktion stehen zwei unterschiedlich sprachliche Stemmeralgorithmen zur Verfügung, die zu einer Merkmalsreduktion beitragen könnten. Jedoch erhöht sich bei zwei verschiedenen Sprachen die Anzahl der Merkmale in einem Merkmalsvektor enorm und würde die Klassifikationsgeschwindigkeit negativ beeinflussen. Die Überführung der in einen standardisierten Merkmalsvektor mit Gewichten ist die Grundlage für die Visualisierung. Jedoch existiert auch noch eine weitere implizite Struktur, die zur visuellen Darstellung verwendet werden könnte, denn für den Administrator oder auch einen Postfachbesitzer ergibt sich eine hierarchische Struktur der folgenden Form: Mailserver Postfächer s Wörter Eigenschaften der Wörter In letzter Ebene würden sich die spamspezifischen Merkmale befinden oder ein alternativer Vermerk, sofern es sich um ein unauffällige Worte handelt. Diese Informationen könnten in einen weitere Vektor überführt werden, den wir im folgenden als -Vektor bezeichnen möchten. 80

99 3.3. VISUALISIERUNG 3.3 Visualisierung Die über das Text Mining extrahierten Daten, der Merkmalsvektor sowie der E- Mail-Vektor, müssen in eine geeignete visuelle Darstellung überführt werden. In diesem Unterkapitel soll nun untersucht werden, welche Visualisierungstechniken dazu geeignet sind und wie die einzelnen Merkmale der Vektoren effektiv kodiert werden können. Danach befassen wir uns noch wir uns noch damit, welche Interaktionstechniken generell wünschenswert sind, um den Anwender bei der Exploration des Informationsraums zu unterstützen, und beenden das Kapitel mit einer State-of-the-Art-Analyse Visualisierungstechniken Der Inhalt einer wird durch den vorgeschlagenen Text Mining Prozess in einen Merkmalsvektor transformiert, der relative Häufigkeiten als Werte enthält. Nach Keim [Kei02, S. 2f] handelt es sich hierbei, wie in den Grundlagen bereits vorgestellt, um den Datentyp Text & Hypertext, der nur schwer mit den Standard-Visualisierungstechniken beschrieben werden kann. Zwei bekannte Verfahren, die zur Visualisierung von Textinhalten herangezogen werden können, sind ThemeRiver und ThemeView. Jedoch könnte man auch hierarchische Ansätze in Betracht ziehen, da sich durch das Medium implizit Verbindungen ergeben, die Top-Down-verlaufen - angefangen vom Postfach über die verschiedenen User, deren empfangene s, die darin befindlichen Wörter und auf letzter Ebene der zu einem Wort gehörende Typenvektor. Aus diesem Grund möchten wir auch Visualisierungstechniken untersuchen, durch die man eine Hierarchie modellieren kann Repräsentation von Text & Hypertext ThemeRiver haben wir bereits kurz im Grundlagenkapitel unter den Visualisierungstechniken vorgestellt. Es geht darum thematische Veränderungen in einer großen Menge von Textdokumenten in einem zeitlichen Kontext zu beschreiben. Dies deckt sich nicht mit unserer Zielstellung, so dass wir an dieser Stelle auch nicht näher auf diese Methode eingehen möchten. ThemeView ThemeView ist eine geometrische Visualisierungstechnik, bei der eine große Dokumentenmenge als künstliche Landschaft dargestellt wird, um die Dominanz sowie die Ähnlichkeit von Themen in den Dokumenten hervorzuheben. 81

100 3. ANALYSE [Wol06, S. 132] Die Texte werden zuerst nach nicht trivialen Wörtern durchsucht, und besonders häufig in einem Text vorkommende Begriffe werden als füreinander relevant eingestuft. Diese Relevanz-Einstufungen benutzt man dann, um ein relatives Abstandsmaß für Begriffe und Begriffspaare zu entwickeln. In Abhängigkeit von diesem Abstandsmaß und den Häufigkeiten der Begriffe, generiert man aus den Text-Dokumenten so genannte Feature-Vektoren, die dann geometrisch transformiert werden. Begriffe oder Themen, die sehr oft vorkommen, werden durch höhere Berge visualisiert, als Themen die seltener sind, und fallen dem Betrachter somit direkt ins Auge. Dies wird auch durch den Einsatz unterschiedlicher Farbtöne begünstigt (je höher der Berg, desto heller die Farbe, desto kontrastreicher der Gipfel). Ähnliche Themen werden standortbezogen gruppiert und Themen, die keinen Bezug zueinander haben, befinden sich weit voneinander entfernt. Abbildung 3.3.: ThemeView [Wol06] Repräsentation von Hierarchien & Graphen Liegen Information in einer hierarchischen Struktur vor, ist es für einen Menschen nahe liegend, als Visualisierungsform einen einfachen Baum zu wählen. Jedoch ist dies nicht immer die geeignetste visuelle Repräsentation, so dass wir an dieser Stelle noch einige andere Alternativen betrachten möchten. 82

101 3.3. VISUALISIERUNG Cone-Trees Cone-Trees sind eine Erweiterung eines traditionellen Baumes und dienen der Darstellung hierarchisch strukturierter Informationen in einem dreidimensionalen Raum. Dazu werden für jede Ebene der Hierarchie die Kindknoten kegelförmig und möglichst gleichmässig um den zugehörigen Vaterknoten angeordnet. Aufgrund der hohen Darstellungsdichte entstehen jedoch Verdeckungen und es sind nicht alle Informationen auf den ersten Blick sichtbar. Um die Übersicht zu behalten, können einzelne Knoten transparent gestaltet werden und es werden Interaktionstechniken notwendig. Bei Selektion eines Knotens rotiert der Baum, so dass der Pfad der Wurzel bis zu diesem Knoten auf den Betrachter ausgerichtet ist. Aus Gründen der Übersicht können jedoch nicht alle mit einem Knoten assoziierte Informationen direkt im Baum gehalten werden, sondern erscheinen erst bei Bedarf auf dem Boden Unterhalb des Cone Trees. Um eine direkt Beschriftung der Knoten mit Text zu ermöglichen, kann man das Seitenverhältnis ändern und den Baum mitsamt seinem Inhalt um 90 Grad drehen. Diese Variation der Cone-Trees nennt man Cam-Tree (a) Cone-Tree (b) Cam-Tree Abbildung 3.4.: Cone-Tree [GGR91] Durch den Einsatz von Cone Trees kann der zur Verfügung stehende Bildraum umfassend ausgenutzt werden. Es ist ein Überblick über die gesamte Struktur möglich, aber es besteht auch die Möglichkeit, Bildausschnitte zu vergrößern und Detailinformationen anzeigen zu lassen. Jedoch eignen sich Cone Trees eher für den Fall, dass die Baumstruktur breit und flach ist, sonst wirkt die Ansicht für den Betrachter zu komplex und schwer verständlich. Radial-Graph Beim Radial-Graph positioniert man die Wurzel eines Baumes mittig in der Anzeigefläche und die Kindknoten werden in Abhängigkeit ihrer Tiefe im Baum in 83

102 3. ANALYSE (unsichtbaren) konzentrischen Kreisen um die Wurzel herum angeordnet. Zur Verteilung der Knoten auf den konzentrischen Kreisen gibt es verschiedene Ansätze. Man kann die Verteilung zufällig und gleichmäßig durchführen, wodurch der zur Verfügung stehende Platz optimal ausgenutzt wird. Jedoch werden auf diese Weise häufige Kantenüberschneidungen begünstigt. Um dies zu verhindern kann man alternativ jedem Teilbaum ein bestimmtes Segment des Kreises zuweisen. Wendet man diese Vorgehensweise rekursiv auf alle Hierarchie- Ebenen an, befinden sich alle Kindknoten bis hinunter zu den Blättern innerhalb des Segments und Überschneidungen sind ausgeschlossen. Um die verschiedenen Größen von Teilbäumen und deren unterschiedlichen Platzbedarf zu berücksichtigen, kann man noch eine Gewichtung der Segmente nach der Anzahl der vorhandenen Blattknoten durchführen. (a) (b) Abbildung 3.5.: Radial Graph [pre] Sofern der Betrachter einen Knoten selektiert, wird dieser in den Fokus der Visualisierung gerückt und das Graphlayout durch einen speziellen Interpolationsalgorithmus verändert, so dass auch alle anderen Knoten in Form einer Animation an einer neuen Position angeordnet werden. Der Radial-Graph eignet sich besonders gut, um eine Eltern-Kind-Beziehung darzustellen. Aufgrund der oben beschriebenen Segmentierung hält es sich auch an die im Grundlagenkapitel vorgestellten ästhetischen Richtlinien und ist für einen Betrachter leicht verständlich. 84

103 3.3. VISUALISIERUNG Hyperbolic Tree Die Grundidee von Hyperbolic Trees ist die Verwendung einer hyperbolischen Ebene zur Darstellung der Hierarchie. Im Unterschied zum euklidischen Raum wird hier eine andere Metrik zugrunde gelegt. Dies zeigt sich darin, dass die kürzeste Verbindung zwischen zwei Punkten nicht ein Linie, sondern ein euklidischer Kreisbogen ist. Die Eigenschaften dieses hyperbolischen Raumes werden dazu verwendet, um die Knoten des Baumes abzubilden, so dass sich der Eindruck einer von oben betrachteten Halbkugel ergibt. Abbildung 3.6.: Hyperbolischer Graph Der einem Knoten zugeordnete Platz nimmt kontinuierlich ab, je weiter dieser vom Fokus, sprich dem Mittelpunkt, entfernt ist. Dies bedeutet, relevante Informationen werden im Fokus dargestellt, wohingegen unrelevante Informationen an den Rand gebracht werden. Dieser Effekt entspricht einem Fisheye- Zoom. Befindet sich der vom Betrachter ausgewählte Knoten im Fokus, sind mehrere Generationen von Eltern, Kindern und Geschwistern um den Fokus herum sichtbar, aber je tiefer man in der Hierarchie geht, desto geringer wird der Abstand zwischen den Nachkommen. Der Benutzer kann die Ebene, auf der der Graph liegt, verschieben, so dass andere ihn interessierende Bereiche in den Fokus gelangen. Der Gesamtkontext bleibt bei dieser Verschiebung aber erhalten. Der hyperbolische Baum ist somit geeignet, sehr große Hierarchien abzubilden. 85

104 3. ANALYSE Tree-Map Bei Tree-Maps handelt es sich um eine Visualisierungstechnik, die eingesetzt wird um multidimensionale, hierarchische Daten zu visualisieren.[mar08, S.96ff] Sie wurde Anfang der 90er Jahre von Ben Shneiderman entwickelt, ursprünglich um die Kapazitätsausnutzung von Dateisystemen zu visualisieren, und zielt darauf ab, den verfügbaren Bildschirm-Platz ideal auszunutzen. Die hierarchisch organisierten Informationsmengen werden dabei durch einen rekursiven Algorithmus als ineinander verschachtelte Rechtecke dargestellt, wobei der Wurzelknoten der Hierarchie der gesamten Rechtecksfläche entspricht. Für die Zerlegung selbst gibt es unterschiedliche Layout-Algorithmen, einer davon ist der Top-Down-Ansatz. Der Algorithmus unterteilt die Grundfläche abwechselnd in horizontaler und vertikaler Richtung gemäß der auf den Daten definierten Hierarchie, wobei jede Fläche für einen Teilbaum des Wurzelknotens steht. Treemaps erlauben es eine Fläche so zu zerlegen, dass ein Attribut als Knotengewicht aufgefasst wird und die Fläche der einzelnen Teilstücke die ursprüngliche Gewichtung widerspiegelt. Eine anschauliche Beschreibung des Zusammenhangs zwischen Baum und Treemap zeigt Abbildung 3.7. Abbildung 3.7.: Treemap [pici] 86

105 3.3. VISUALISIERUNG Zu der einfachen Treemap gibt es noch diverse Erweiterungen: Cushion Treemap: Verwendung schattierter Rechtecke um einen Tiefeneffekt zu erzeugen Nested Treemap: Die Rechteckfläche des Vaterknotens wird etwas verkleinert um einen Rand zeichnen zu können. Auf diese Weise ist die hierarchische Struktur besser erkennbar. Quantum Treemap: Alle untersten Knoten in einer Hierarchie erhalten das gleiche Gewicht und haben somit in der Visualisierung all die gleiche Größe. Diese Variante einer Treemap eignet sich für bestimmte Strukturen, bei denen es nicht sinnvoll ist, die Größe mit einer Fläche zu assoziieren. Mixed Treemap: Hierbei kann man verschiedene Verfahren mischen. Je nachdem, in welcher Ebene der Hierarchie sich Elemente befinden, kann man die Rechteckflächen mit einem anderen Algorithmus anordnen. Die Treemap bietet viele Vorteile. Zum einen kann eine sehr große Menge von Daten platzsparend visualisiert werden und so den Anwender unterstützen, die riesigen Datenmengen zu überblicken. Verschiedene Dimensionen können hervorragend miteinander verglichen werden, und auch Cluster sind leicht auffindbar. Aber je tiefer die Hierarchie ist, desto mehr kann die Lesbarkeit beeinträchtigt sein, so dass zunehmend eine Begrenzung der dargestellten Hierarchietiefe vorgenommen wird um trotzdem die Übersicht zu gewährleisten Fazit Ziel ist es nun eine Visualisierungstechnik zu wählen, die eine Mustererkennung im Sinne der Ziele unserer Diplomarbeit ermöglicht und platzsparend arbeitet. ThemeView befasst sich zwar konkret mit der Visualisierung von Text- Inhalten, jedoch liegt der Fokus auf der Darstellung von Themenschwerpunkten innerhalb eines Dokuments. Wir interessieren uns jedoch für nicht für den inhaltlichen Schwerpunkt einer , sondern für konkrete Eigenschaften einzelner Wörter hinsichtlich spamtypischer Kriterien. Es könnte notwendig sein zu jedem Wort mehrere Eigenschaften visuell zu kodieren und in dieser Hinsicht scheint ThemeView nicht die passende Wahl zu sein. Die vorgestellten Graphen sind allesamt für die Darstellung großer Datenmengen geeignet und erfüllen auch die Kriterien der Ästhetik. Der Vorteil einer solchen Visualisierungsmethode ist, die Verbundenheit zwischen zwei Objekten darzustellen. Wir können zwar im Zuge der -Analyse ebenfalls eine hierarchische Struktur vorfinden, jedoch liegt unser Interesse nicht auf den Beziehungen zwischen den Knoten der einzelnen Hierarchie-Ebenen, sondern 87

106 3. ANALYSE die Blätter und deren Eigenschaften und Kontext sind relevant. Unter diesem Aspekt scheint die Treemap eine geeignete Technik zu sein, um detaillierte Informationen herauszulesen. Dabei wäre es sinnvoll, die Blattknoten durch unterschiedliche Farbgebung zu kodieren, um die unterschiedliche Attribute der Wörter, ihre eventuell vorhandenen spamspezifischen Merkmale, sichtbar zu machen. Alternativ könnte auch das Gewicht der Wörter in Form von Größe kodiert werden. Hinsichtlich der Treemap würde zwar eine gewisse Redundanz bestehen, da viele Wörter in unterschiedlichen s vorkommen und doch in der Treemap jeweils eine separate Rechtecksfläche zugewiesen bekommen würden, jedoch erscheint es wichtig, diese Redundanz beizubehalten um den Kontext zu und die Übersicht zu wahren Visualisierung bestimmter Datentypen Die über das Text Mining gewonnenen Vektoren werden unterschiedliche Wertebereiche haben. Die einzelnen Attribute könnten unter anderem durch das Element Farbe effektiv kodiert werden. In diesem Teil der Analyse möchten wir untersuchen, wie diese Kodierung in Abhängigkeit des Wertebereiches erfolgen sollte. In den Grundlagen haben wir dazu drei verschieden Datentypen vorgestellt: nominale, ordinale und quantitative Daten. Nominale Daten Auf nominale Daten ist keine Ordnung definiert, so dass man zwischen diesen Daten keine Vergleiche anstellen kann. Ebenso haben sie keinen messbaren Charakter. Die grundlegenden Operationen sind eher das Suchen und Identifizieren. [HS00, S. 148ff] Da sich nominale Daten kategorisieren lassen, könnte man für jedes Attribut einen einzelnen Farbwert wählen, so dass dadurch ein deutliche Unterscheidung hervorgerufen wird. Da sich ähnliche Farben nur schwer unterscheiden lassen, sollten die Farbdifferenzen möglichst groß sein und auch den gleichen Abstand haben. Aber je mehr Daten farblich kodiert werden müssen, desto schwieriger wird es für den Anwender diese Daten aus den Farben wieder zu dekodieren. Aus diesem Grund sollte man höchstens 5-8 Klassen durch Farbe oder auch Helligkeit kodieren. [HS00, S. 148ff] Um den Anwender beim Dekodierungsvorgang zu unterstützen, kann man beispielsweise Legenden verwenden, über welche die Zuordnungsvorschrift eindeutig angegeben ist. Arbeitet man ohne eine Legende, weil man möglicherweise nicht genügend Platz in der Visualisierung dafür findet, sollte die Farbzuweisung offensicht- 88

107 3.3. VISUALISIERUNG Abbildung 3.8.: Aufschlüsselung von Klimazonen über eine Legende [picc] lich sein. [Mar08, S. 68] Dies bedeutet, dass hier beispielsweise die kulturelle Abhängigkeit oder auch Erfahrungswerte berücksichtigt werden sollten. Diese Form der Farbzuweisung würde sich für den Typenvektor einer untersuchten eignen, da er nur Informationen darüber enthält, ob ein spamspezifisches Merkmal zutrifft oder nicht. Zwischen den Merkmalen gibt es keine Ordnung und sie sollten sich in der Visualisierung klar unterscheiden. Ordinale Daten Ordinale Daten besitzen ebenso wie die nominalen Daten qualitative Werte, so dass bezüglich der Operationen Suchen und Identifizieren die gleichen Empfehlungen zur Farbauswahl gelten. Da aber zusätzlich auf den Daten eine Ordnungsrelation definiert ist, spielen auch Aufgaben wie Übersicht und Vergleichen eine wichtige Rolle. [HS00, S. 152f] Dies bedeutet, dass ordinale Daten durch die verwendete Farbskala ebenfalls gut unterscheidbar sein sollen, aber die Rangfolge der Daten muss durch die farbliche Darstellung ablesbar sein, d.h. auch auf die Farbskala muss vom Anwender eine entsprechende Ordnung empfunden werden. Quantitative Daten Es geht nun nicht mehr um eine qualitative Beschreibung von Farbunterschieden, sondern um eine quantitative. Soll also eine Metrik mit Hilfe von Farben repräsentiert werden, so muss auch für die verwendeten Farben eine Metrik definiert sein. [HS00, S. 154] Durch diese Form der Darstellung kann beispielsweise die Größe des Abstands zweier Merkmale durch die unterschiedliche Fär- 89

108 3. ANALYSE bung kodiert werden. Marty empfiehlt im Falle von kontinuierlichen Daten die Verwendung von Farbverläufen um die Zuordnung vorzunehmen. [Mar08, S. 140] Helligkeitskontraste Ein wichtiger Aspekt bei der Verwendung von Farbe als Form der Kodierung ist, dass bei der Darstellung von detaillierten Informationen ein Helligkeitskontrast notwendig ist. Betrachtet man beispielsweise die Quadrate in Abbildung 3.9, nimmt man im großen Quadrat auf der linken Seite eine Anzahl von Kreisen in unterschiedlichen Farbtönen wahr. Zoomt man jedoch von diesem Objekt weg, erkennt man in Form des gelben O ein Muster, welches in der großen Ansicht noch nicht zu sehen war. Hier wird deutlich, dass besonders bei kleinen Elementen ein höherer Helligkeitskontrast zum dominierenden Merkmal wird. [War08, S. 75] Abbildung 3.9.: Helligkeitskontrast bei Detail-Informationen Würde man beispielsweise eine Treemap als Visualisierungstechnik wählen, werden die Blattknoten bei großer Hierarchietiefe in der Gesamtübersicht als sehr kleine Rechtecke dargestellt. Um hier die Möglichkeit einer Mustererkennung zu begünstigen, wäre ein deutlicher Helligkeitskontrast zwischen den Blattelementen sehr wünschenswert. ColorBrewer An dieser Stelle möchten wir noch erwähnen, dass mit ColorBrewer 7 im Internet ein sehr hilfreiches Werkzeug zur Farbauswahl zur Verfügung steht. Co

109 3.3. VISUALISIERUNG lorbrewer ist eine interaktive Web-Anwendung, die dem Nutzer unterschiedliche Farbsequenzen für thematische Karten auflistet, deren Auswirkung er auch direkt auf einer großen Übersichtskarte testen kann. Der Anwender kann sich die konkreten Farbwerte (z.b. im RGB- oder CMYK-Farbraum) anzeigen lassen und erhält auch Information darüber, ob das gewählte Farbschema für Farbfehlsichtige geeignet ist Interaktionstechniken In den Grundlagen der Visualisierung haben wir bereits das Information Seeking Mantra von Shneiderman vorgestellt und möchten nun nochmals etwas detaillierter darauf eingehen. Denn besonders im Falle großer Datenmengen, wie es in unserem Fall zu erwarten ist, sollte der Anwender in die Visualisierung einbezogen werden und die Möglichkeit haben zu interagieren. Nur dann kann er die Bereiche seines Interesses effektiv erforschen Overview Werden alle verfügbaren Daten vollständig visualisiert, könnte es sein, dass die Visualisierung überladen wirkt oder sogar über den sichtbaren Bildschirmbereich hinausgeht. Durch den Einsatz von Verzerrungstechniken oder der Kombination mehrerer Ansichten ist es möglich, bestimmte Ausschnitte der Visualisierung detailliert hervorzuheben ohne den Überblick über den gesamten Informationsraum zu verlieren. Fisheye-Ansicht (Fisheye View) Bei einer Fisheye-Ansicht werden die Informationen nicht in einem einheitlichen Maßstab darstellt, sondern bestimmte Informationen werden stärker vergrößert als andere. [Pre99, S.361] Im Grunde findet eine perspektivische Verzerrung statt, die sowohl orthogonal als auch radial erfolgen kann. Die Bezeichnung für diese Technik entstand in Anlehnung an die Fisheye-Objektive in der Fotografie, mit denen extreme Weitwinkelaufnahmen möglich sind. Der vom Anwender näher zu untersuchende Bereich wird fokussiert, während der Rest der Informationen verkleinert und verzerrt am Rand abgebildet wird. Diese Form der nichtlinearen Visualisierung führt zu einer selektiven Größenänderung und ist ein nützliches Gestaltungsmittel, um Detailinformationen hervorzuheben und den gesamten Kontext in der gleichen Ansicht darzustellen. Fisheye-Ansichten können ein Layout erheblich verändern und auf den Anwender verwirrend wirken. Damit sich der Benutzer weiterhin orientieren kann, 91

110 3. ANALYSE (a) normale Ansicht (b) Fisheye-Ansicht Abbildung 3.10.: Fisheye-Ansicht des U-Bahn-Netzes in Paris [MS94] sollten bestimmte Eigenschaften aufrechterhalten bleiben, beispielsweise die relative Lage von Objekten zueinander, ihre vertikale bzw. horizontale Ausrichtung zueinander oder auch ihre Nachbarschaftsverhältnisse. Betrachtet man beispielsweise geographische Informationen wie Städte in einer Fisheye-Ansicht, sollte die Topologie aufrecht erhalten bleiben und Berlin nicht auf einmal links von Köln erscheinen. Je nach Anwendung können geringfügige Verletzung dieser Eigenschaften akzeptiert werden. Fisheye-Ansichten werden meistens auf 2D-Daten angewendet, können aber völlig analog auch für die Exploration von 3D-Daten genutzt werden.[pre99, S.359] Multiple Ansichten (Multiple View) Als Alternative zu einer Verzerrungstechnik könnten auch unterschiedliche Ansichten miteinander kombiniert werden. Man verfügt dann über ein Hauptfenster, welches die Übersichtsdarstellung enthält, sowie ein oder mehrere Teilfenster mit Detailinformationen. Ist mehr als eine Ansicht verfügbar, kann es sehr vorteilhaft sein diese in Verbindung mit den anderen Ansichten zu betrachten (Linking), um so die Zusammenhänge zwischen den Informationen besser zu verstehen. Es gibt zwei verschiedene Linkingtechniken [HS00, S. 215f]: Einmal die parallele Verknüpfung zur gleichzeitigen Ausgabe einzelner Ansichten, sowie die sequentielle Verknüpfung, bei welcher die einzelne Ansichten zeitlich hintereinander angezeigt werden. Um beim parallelen Linking verschiedene Ansichten in einem Kontext effektiv zu analysieren, bietet sich die Methode des Brushings an. Wird in einer Ansicht ein Objekt selektiert, wird dies auch in allen anderen verfügbaren Ansichten durch Einfärbung sichtbar gemacht. Durch diese Form der Verknüpfung kann 92

111 3.3. VISUALISIERUNG man Abhängigkeiten und Korrelationen in den Daten besser erkennen und erhält einen tieferen Einblick in die Informationen, als wenn man die einzelnen Visualisierungen getrennt voneinander betrachten würde. Durch die Verwendung von Multiple Views könnte man auch verschiedene Visualisierungstechniken gut miteinander kombinieren, so dass die jeweiligen Schwächen einer Technik durch die Stärken der anderen ausgeglichen werden und unterschiedliche Formen an Detailierungsgraden vorhanden sind. Unter diesem Aspekt würde es sich anbieten, für den Merkmalsvektor und den -Vektor zwei getrennte Ansichten zu erstellen. In der ersten Ansicht könnte man einen Gesamtüberblick über viele verschiedene Merkmalsvektoren, also s, bieten und den Schwerpunkt der Visualisierung auf die Gewichtung der enthaltenen Merkmale legen. Ergeben sich in dieser Ansicht Auffälligkeiten, könnte der Anwender durch Selektion des entsprechenden Bereichs in eine Detailansicht wechseln, in der die Eigenschaften des Typenvektors, also die Art der spamspezifischen Merkmale, detailliert dargestellt sind Zoom und Filter Zoom und Pan Zu Beginn einer Visualisierung liegen die Daten in einer komprimierten Übersichtsdarstellung vor. Ausgehend von dieser Überblicksdarstellung sollte der Anwender durch das Zoomen die Möglichkeit haben, die Daten in unterschiedlicher Auflösungen zu betrachten. Man unterscheidet beim Zoomen drei Formen: Beim geometrischen Zoomen wird einfach ein Teil der graphischen Darstellungsfläche vergrößert, wobei alle Informationen außerhalb des gezoomten Bereichs ausgeblendet werden. Das gleiche findet auch beim Semantischen Zoomen statt. Jedoch werden die Objekte hier nicht einfach nur größer dargestellt, sondern es wird auch der Detailgrad an Informationen erhöht. Die dritte Variante ist das Fisheye Zoomen. Die Funktionsweise ist wie beim geometrischen Zoomen, nur mit dem Unterschied, dass alle Informationen außerhalb des untersuchten Bereichs immer noch für den Anwender sichtbar bleiben. Solch eine Technik wird beispielsweise bei den hyperbolischen Bäumen verwendet. [Grl02, 49] Beim Pan kann ein Bildausschnitt per Drag & Drop in verschiedene Richtungen bewegt werden. Zoom und Pan sind beides unverzichtbare Werkzeuge bei einer Informationsvisualisierung. 93

112 3. ANALYSE Filterung Bei der Exploration einer großen Datenmenge ist es hilfreich, wenn dem Anwender Filterfunktionen zur Einschränkung der Datenmenge zur Verfügung gestellt werden. Eine mögliche Filterung könnte darin bestehen, den Fokus auf einen bestimmten Absender oder spezifische Zeitspannen zu setzen, eine Auswahl nach Kategorien oder auch bestimmten Empfängern vorzunehmen. Besonders in einer globalen Ansicht wäre dies hilfreich, da eine auf diese Weise eine Reduzierung der Datenmenge stattfindet und die in diesem Moment nicht interessanten Objekte einfach ausgeblendet werden. Alternativ dazu könnte man dem Anwender aber auch eine Filterfunktion zur Verfügung stellen, die die spezifischen Eigenschaften der gewünschten Teilmenge farblich hervorhebt und somit die Aufmerksamkeit des Betrachters anzieht. Beispielsweise könnte man dem Anwender die Möglichkeit bieten, nach den einzelnen spamspezifischen Merkmalen zu filtern und diese dann farblich hervorzuheben. Um diese Filteroptionen einzustellen müssten dem Anwender in der graphischen Oberfläche natürlich auch diverse Steuerungselemente zur Verfügung gestellt werden Details-on-Demand Dies bedeutet, dass dem Anwender bei Bedarf zusätzliche Informationen zur Verfügung gestellt werden. Aus Gründen der Übersichtlichkeit wäre es nicht ratsam alle zu einer gehörenden Informationen wie Mail-ID, Absenderinformation, Spamwert, Datum oder auch die eventuell unterschiedlichen Worteigenschaften geballt in der Visualisierung darzustellen. Sie könnten auf Wunsch in der Statusleiste oder am unteren Bildschirmrand angezeigt werden, sofern der Anwender ein spezifisches Objekt per Mausklick auswählt. Alternativ könnten diese Informationen aber auch in Form eines Tooltips direkt neben dem Cursor erscheinen, sobald der Anwender mit der Maus über eine oder ein Wort hovert. 94

113 3.4. STATE-OF-THE-ART 3.4 State-of-the-Art In diesem Unterkapitel möchten wir anhand dreier Beispiele einen kurzen Überblick darüber geben, inwiefern Visualisierungen genutzt werden können, um -Traffic beziehungsweise die Inhalte von s zu veranschaulichen. Nicht alle vorgestellten Visualisierungen befassen sich speziell mit der Suche nach spamspezifischen Merkmalen oder dem Inhalt einer Nachricht, bieten aber zusammen einen guten Überblick über den aktuellen Stand Visualization of Sanitized Logs for Spam Analysis Ein erster interessanter Ansatz zur Visualisierung von -Traffic und der Suche nach Mustern, die auf Spam hindeuten, findet sich in der Arbeit von Chris Muelder und Kwan-Liu Ma. [CM07] Die beiden Autoren betrachten hierbei nur eingehende -Nachrichten und legen den Fokus auf die enthaltenen Header-Informationen. Der Inhalt einer Nachricht wird nicht zur Analyse herangezogen - einerseits aus datenschutzrechtlichen Gründen und andererseits mit dem Argument, dass eine Visualisierung von Mustern auch ohne Betrachtung des Inhalts möglich sein müsste. Sensitive Daten werden vorab von einem Perl-Script aus den zugrunde liegenden Log-Dateien entfernt. Die für die visuelle Darstellung relevanten Informationen werden dann von einem weiteren Script aufbereitet und an die Visualisierung übergeben. Muelder und Kwan-Liu setzen unterschiedliche Visualisierungstechniken ein: 2D-Darstellungen Bipartite Graphen und alternativ Scatterplots werden jeweils in 2D-Darstellung verwendet, um die Beziehungen zwischen Absendern und Empfängern zu verdeutlichen. Dabei werden die jeweiligen -Adressen nach Domänen gruppiert und alphabetisch sortiert. Die Farbgebung der Linien bzw. Punkte richtet sich nach dem Spamwert, den Spam-Assassin der bei der Eingangsprüfung zugeordnet hat. Ist der Spamwert 0, wird die Farbe schwarz verwendet, und je höher der Spamwert ist, desto röter wird die Linie bzw. der Punkt visualisiert. Um die Anzahl der Nachrichten von einem Absender zu einem anderen Empfänger in einem bestimmten Zeitraum darzustellen, wird als Mittel Opazität verwendet, d.h. eine geringe Anzahl von s wird transparenter dargestellt als eine hohe Anzahl. 95

114 3. ANALYSE (a) Bipartiter Graph (b) Scatterplot Abbildung 3.11.: Absender-Empfänger-Beziehungen in 2D-Darstellung Timeline Mittels eines sogenannten Timeline Overview hat der Anwender die Möglichkeit, einen groben Überblick über die gesamte Datenmenge zu gewinnen. Sichtbar ist hier in erster Linie erst einmal nur das Gesamtverhältnis von s und bereits erkannten Spam-Mails, jedoch kann der Anwender einen spezifischen Ausschnitt wählen, welcher dann in der Graph- oder Scatterplot-Ansicht dargestellt wird. Abbildung 3.12.: Timeline View 2D-/3D-Darstellung Um Absender- und Empfängerinformationen mit zeitlichen Informationen in einer Ansicht zu vereinen, binden die Autoren in die 2D- Darstellung noch eine Animation mit ein bzw. stellen eine 3D-Ansicht des bipartiten Graphen und des Scatterplots zur Verfügung. Wie man in den Abbildungen des Bipartiten Graphen und des Scatterplots erkennen kann, können sich fächer- bzw. linienartige Muster ergeben. Möglicherweise sind diese auf den ersten Blick nicht sichtbar, so daß dem Anwender die Möglichkeit zum Filtern und Zoomen geboten wird. Ist man 96

115 3.4. STATE-OF-THE-ART durch die Graphen- oder Scatterplot-Visualisierung auf eine Adresse gestoßen, die verdächtig aussieht, kann man sie sich diese noch in einer Detail-Ansicht näher betrachten. Die aus den Visualisierungen gewonnenen Kenntnisse können nun vom Administrator dazu genutzt werden, um die Spamfilter anzupassen und die Blacklist 8 mit den neuentdeckten Adressen zu aktualisieren Spamology Spamology wurde gemeinsam von Irad Lee und Santiago Ortiz im Zuge des Visualizar 07 Workshops 9 erstellt. Es handelt sich hierbei um eine interaktive, audiovisuelle Darstellung von Worthäufigkeiten in Spam-Mails. Dazu haben Lee und Ortiz ein umfangreiches privates Archiv an Spam-Nachrichten in eine 3D-Landschaft übertragen, durch die der Anwender frei navigieren kann. Abbildung 3.13.: 3D-Landschaft in Spamology Zur übersichtlichen Gestaltung wird eine Aufteilung nach Jahren vorgenommen, wobei jedes Jahr durch eine andere Farbe repräsentiert wird. Die einzelnen Wörter werden als Rechteckstrukturen visualisiert, die verschiedene Hö- 8 Liste mit Adressen, die bei der -Kommunikation bereits negativ aufgefallen sind

116 3. ANALYSE hen annehmen. Die Häufigkeit eines Wortes wird durch die Anzahl der Rechteckflächen dargestellt, die übereinander über diesem Wort platziert werden. Dadurch wird sehr gut verdeutlicht, wie oft dieses Wort innerhalb eines Jahres vorgekommen ist. Bezüglich der Interaktion stehen dem Anwender zwei unterschiedliche Modi zur Verfügung: Er kann sich frei durch die Landschaft bewegen oder alternativ in den linearen Navigationsmodus wechseln. Er verbleibt dann an einer festen Position und kann durch Rotation und Änderung des Kamerawinkels die nähere Umgebung genauer betrachten. Zur Navigation können sowohl Maus als auch Tastatur verwendet werden. Die Besonderheit bei dieser Visualisierung ist, dass die Autoren eine Audiokomponente hinzugefügt haben, indem an jedes Wort ein Audiosignal gekoppelt ist. In Abhängigkeit der Häufigkeit eines Wortes innerhalb eines Jahres ergeben sich dadurch unterschiedlich hoch- bzw. niederfrequente Töne. Bewegt sich der Nutzer durch die 3D-Landschaft, wird somit eine sich ständig ändernde akustische Textur erzeugt. [IL] Leider ist die Onlineversion von Spamology geräuschlos. Unserer Meinung nach ist diese Funktion aber auch eher als Gimmick anzusehen, da sie keinen nennenswerten zusätzlichen Nutzen bezüglich der Spam-Analyse mit sich bringt. Sehr interessant hingegen - auch in Bezug auf die Ziele unserer Diplomarbeit - ist, dass sich die Autoren konkret mit dem Inhalt einer beschäftigen und durch die Verwendung von Worthäufigkeiten als Gewichtungsmaß einen Ansatz bieten, um spamtypische Wörter aufzufinden. Alle Wörter werden übrigens innerhalb der Visualisierung im Klartext angezeigt. Da jedoch kein direkter Bezug auf die dazugehörige , den Absender oder Empfänger genommen wird, ist dies datenschutzrechtlich kein Problem Th Th ist eine Visualisierung, die sich ebenfalls mit dem Inhalt von - Nachrichten befasst, und wurde von Fernanda B. Viégas, Scott Golder und Judith Donat erstellt. Th dient dazu, Beziehungen zwischen dem Besitzer eines -Archivs und seinen -Kontakten darzustellen sowie die Historie der Korrespondenzen detailliert aufzuschlüsseln.[the06] Die Autoren legen bei Ihrer Visualisierung den Schwerpunkt auf einzelne Wörter in den - Nachrichten, Phrasen werden zum aktuellen Zeitpunkt nicht berücksichtigt. 98

117 3.4. STATE-OF-THE-ART Zur Funktionsweise kann man sagen, dass Th aus zwei getrennten Anwendungen besteht, die lokal auf dem Rechner des Anwenders ausgeführt werden: Th processor führt eine Vorverarbeitung der Daten aus dem archiv durch, welche dann an Th visualization zur visuellen Darstellung übergeben werden. Dies wird in der Abbildung3.14 veranschaulicht: Abbildung 3.14.: Th Anwendungen Über das Interface hat der Anwender die Möglichkeit, einen seiner - Kontakte zur näheren Analyse auszuwählen. Daraufhin werden Wörter aus den ausgetauschten s spaltenweise entlang einer Zeitachse angeordnet. Es findet eine Unterscheidung zwischen monatlichen und jährlichen Worten statt, was sich innerhalb der Visualisierung anhand der dargestellten Größen, der Farbgebung und auch der Platzierung (Vordergrund bzw. Hintergrund) bemerkbar macht (siehe dazu Abbildung 3.15). Welche Wörter angezeigt werden ist abhängig von der ermittelten Häufigkeit und Unterscheidungskraft - und danach richtet sich dann letztendlich auch die Schriftgröße in der Darstellung. Um diese Gewichtung durchzuführen, haben die Autoren Saltons TFIDF- Algorithmus angewendet.[sal89] Neben den Wortsäulen werden ebenfalls noch die zugehörigen s als farbige Kreise visualisiert, wobei die Länge einer Nachricht durch die Größe des Kreises repräsentiert wird und die Farbe angibt, ob es sich um eine eingehende oder ausgehende Nachricht handelt. Th bietet verschiedene Interaktionsmodi: Den so genannten Haystack- Mode als Gesamtübersicht und den Needle-Mode als Detailansicht zur Suche nach speziellen Informationen. Der Anwender kann ganz gezielt mit der Visualisierung interagieren. Durch eine Suchfunktion werden eingegebene Begriffe farblich hervorgehoben, durch eine Hover-Funktion 10 können selbst kleingeschriebene Wörter komfortabel gelesen werden. Und in einer Info-Box werden bei Bedarf alle s, die das entsprechende Wort enthalten, zusammen mit den zugehörigen Headerinformationen angezeigt. 10 Beim Überfahren eines Textes mit dem Mauszeiger wird ein bestimmtes Event ausgelöst, in diesem Falle die vergrösserte Darstellung des Wortes 99

118 3. ANALYSE Abbildung 3.15.: Th im Gesamtüberblick Weiterhin bietet Th zwei Ansichten, um Inhalte über einen Zeitraum darzustellen: Einen expanded view und alternativ noch einen collapsed view. Bei letzterem werden leere Spalten, d.h. Monate in denen keine Korrespondenz mit dem ausgewählten Kontakt stattgefunden hat, einfach ausgeblendet und somit platzsparender visualisiert. Insgesamt geht diese Visualisierung am detailliertesten auf den Inhalt einer ein, jedoch wird das Thema Spam überhaupt nicht behandelt. Im Gegenteil - spamverdächtige s werden vorab vom Th preprocessor entfernt. Fazit State-Of-The-Art Die Recherchen im Internet haben gezeigt, dass es im Grunde kaum Visualisierungen gibt, die sich mit der Suche nach Spammustern und der inhaltlichen Analyse einer befassen - in dieser Hinsicht erfüllt nur Spamology die Voraussetzungen. Nachteilig ist hier jedoch, dass letztendlich auch unbedeutende, inhaltslose Worte in der Visualisierung erscheinen. Th bietet in dieser Hinsicht ein geeignetes Verfahren, um die Menge aller in einer enthaltenen Wörter auf eine Menge von Schlüsselwörtern zu reduzieren und somit die Übersichtlichkeit zu verbessern und den Fokus auf interessante Wörter zu legen. Jedoch werden Spam-Mails in keinster Weise berücksichtigt. Dies wiederum steht bei der ersten vorgestellten Visualisierung im Fokus, bei der die Absender- und Empfänger-Informationen in die Visualisierung einbezogen werden, wodurch der Administrator sogar die Möglichkeit hat, die Spamfilter beim Feststellen von Auffälligkeiten nachzujustieren. 100

119 3.5. VISUALISIERUNGS-TOOLKITS Kombiniert man diese drei Visualisierungen miteinander, deckt sich dies größtenteils mit den Zielen unserer Diplomarbeit. Ein neuer Aspekt ist jedoch noch das Thema Datenschutz. In den vorgestellten inhaltlichen Visualisierungen handelte es sich um ein privates Mailarchiv bzw. den Einsatz einer Visualisierungssoftware auf einem Privat-PC, wodurch sensitive Daten ohne Probleme im Klartext dargestellt werden konnten. Es muss jedoch eine andere Vorgehensweise gewählt werden, wenn ein Administrator die Möglichkeit hat, die Visualisierung von -Inhalten zu begutachten. 3.5 Visualisierungs-Toolkits Um eine interaktive Visualisierung zu erstellen, bietet es sich an ein Open- Source-Toolkit einzusetzen. Auf diese Weise wird eine Sammlung von Bibliotheken, Klassen und Schnittstellen zur Verfügung gestellt, die die Programmierung deutlich erleichtern können und ermöglichen, dass man sich bei der Softwareentwicklung auf die wesentlichen Aspekte der Visualisierung konzentriert. In diesem Unterkapitel möchten wir kurz auf diverse Visualisierungs- Frameworks eingehen, die später im Verlauf der Implementierung hilfreich eingesetzt werden könnten. Prefuse Prefuse 11 ist ein erweiterbares Visualisierungs-Framework, welches auf Java2D Bibliotheken basiert und recht einfach in Java Swing Anwendungen oder Applets integriert werden kann. Es bietet bereits viele Möglichkeiten zur Datenmodellierung, Visualisierung und Nutzerinteraktion. Die Speicherung von Daten ist in drei verschiedenen Datenstrukturen möglich: als Tabelle, in einer Graphen- oder auch in einer Baumstruktur. Auf diese Weise lassen sich aus den Daten recht einfach Graphen, Scatterplots, Treemaps oder andere Visualisierungen gewinnen. Weiterhin hat Prefuse bereits einige komfortable Möglichkeiten zur Darstellung und Manipulation von Daten implementiert. Interessant sind hierbei beispielsweise eine integrierte Textsuche, dynamische Anfragen für die Filterung von Daten oder auch die Möglichkeit einer Datenbankanbindung. Zusätzlich werden dem Programmierer über die Prefuse-Bibliothek nützliche Interaktionstechniken wie Zooming, Panning oder Drag&Drop zur Verfügung gestellt. Die online gestellte API von Prefuse ist sehr benutzerfreundlich, jedoch ist leider das ebenfalls dort vorzufindende Manual noch recht unvollständig

120 3. ANALYSE Abbildung 3.16.: Darstellung einer Treemap mit Prefuse Processing Processing 12 ist eine frei verfügbare Software mit integrierter Entwicklungsumgebung, die den Charakter einer stark vereinfachten Version der Programmiersprache Java hat. Es handelt sich hierbei um ein Projekt, welches 2001 von Ben Fry und Casey Reas initiiert wurde, als die beiden Studenten am Massachusetts Institute of Technology 13 waren, und richtet sich in erster Linie an Gestalter, Künstler und Programmieranfänger. Processing erlaubt Interaktionen, eignet sich besonders für die Programmierung von Bildern und Animation in 2D als auch 3D, und führt schnell zu visuell ansprechbaren Resultaten. Die Einarbeitung scheint mit den mitgelieferten Beispielen und der Referenzdokumentation recht einfach zu sein. Nachteilig ist hierbei, dass aktuell nur Java Versionen bis zur Versionsnummer 1.4 oder früher unterstützt werden, und auch die Einbindung in Java Swing Anwendungen ist nicht auf dem direkten Weg möglich. GraphViz GraphViz 14 ist eine frei verfügbare, plattformübergreifende Software, welche von AT&T und den Bell Labs entwickelt wurde. Sie dient dazu Graphen in Form von Diagrammen zu visualisieren. GraphViz verfügt dafür bereits über verschiedene Graph-Layouts (z.b. hierarchische, radiale oder auch zirkuläre Layouts), die jedoch vom Anwender noch individuell angepasst werden kön

121 3.5. VISUALISIERUNGS-TOOLKITS Abbildung 3.17.: Darstellung von Strukturen und Beziehungen in großen Informationsmengen mit Processing nen. Die Beschreibung für den Aufbau des Graphen wird einer einfachen Datei entnommen, die in der Beschreibungssprache DOT 15 erstellt ist und in der die Beziehungen zwischen den Knoten und Kanten beschrieben ist. Über Kommandozeilenbefehle kann dann der Quelltext zu einer Grafik verarbeitet werden. InfoVis InfoVis 16 ist ebenfalls ein in Java geschriebenes Softwarepaket, welches die Entwicklung von Informationsvisualisierenden-Systemen erleichtern soll. Die Speicherung der Daten ist einheitlich und erfolgt in Form von Tabellen, wobei die Tabellenspalten nur homogene Objekte wie z.b. Integer oder Strings enthalten. Auf diese Weise lassen sich die Datenstrukturen für große Tabellen, Graphen oder Bäume recht platzsparend speichern und auch die Zugriffszeit zur Verwaltung verbessert sich. In der aktuellen Version 0.9 sind in InfoVis neun verschiedene Visualisierungstypen implementiert: Scatter Plots, Time Series, Parrallel Coordinates und Matrizen für Tabellen; Node-Link-Diagrams, Icicle Trees und Treemaps für Bäume; Adjazenz-Matrizen und Node-Link-Diagramme für Graphen, wobei es bei der Node-Link-Visualisierung noch weitere Varianten gibt. Das Toolkit bietet ebenfalls eine Fülle von interaktiven Features wie Zooming, dynamisches Filtern von Daten oder auch andere dynamische Techniken wie Fish-Eye-Lenses oder Dynamisches Labeling

122 3. ANALYSE (a) Treemap (b) Parallel Coordinates Abbildung 3.18.: Visualisierungen mit InfoVis Fazit über die Toolkits Die Entscheidung bezüglich eines Toolkits zum aktuellen Zeitpunkt ist nicht einfach. Jedoch sticht Prefuse im Vergleich zu den anderen Frameworks doch etwas heraus. Eine Besonderheit bei diesem Toolkit ist, dass das Design direkt auf dem Referenzmodell der Informationsvisualisierung basiert, welches wir in den Grundlagen vorgestellt haben.[skc99, S. 17] Die Unterstützung vielfältiger Visualisierungstechniken, seien es Radiale Graphen, Treemaps, Fisheye- View und die relativ schnell zur Verfügung stehenden Benutzerinteraktionen machen es aktuell zu unserer ersten Wahl. 104

123 Kapitel 4 Anforderungen Bevor wir dazu übergehen ein Konzept zu entwickeln, sollen in diesem Kapitel noch die Anforderungen an das Programm näher beschrieben werden. Wir zeigen auf welche Anforderungen sowohl an die Engine, die Visualisierung als auch an die Schnittstelle zwischen diesen beiden Komponenten gestellt werden müssen Anforderungen an die Engine SpamVis sollte in einem Live-System eingesetzt werden können. Um dies zu realisieren muss ein Abruf der s von jedem beliebigen Mailserver aus möglich sein und keine Festlegung auf eine statische Datenquelle erfolgen. Weiterhin sollte darauf geachtet werden, dass die -Aufbereitung und - analyse durch die Engine in einer akzeptablen Laufzeit erfolgt, um die Daten für die Visualisierung zügig bereitzustellen. In dieser Hinsicht wäre es wünschenswert einen Scheduler zu implementieren, der in regelmäßigen Intervallen auf den Mailserver zugreift und und die Analyse durchführt. Somit könnten für den Anwender nach dem Start der SpamVis-Software längere Wartezeiten vermieden werden. Es soll weiterhin die Möglichkeit bestehen, den Administrator in einem gewissen Rahmen einzubeziehen und eine individuelle Konfigurierbarkeit zu gewährleisten, denn je nach Anwendungsfall ist Spam nicht immer gleich Spam. Bei der Extraktion von Daten ist zwischen zwei Aspekten zu unterscheiden. Verwaltungsspezifische Informationen wie z.b. die IP-Adresse des Absenders oder der Spam-Wert der sollten noch vor der Aufbereitung des - Inhaltes extrahiert und separat gespeichert werden. Weiterhin sind spamspe-

124 4. ANFORDERUNGEN zifische Merkmale zu extrahieren, auf welche die Engine diverse Tests durchführen und die jeweiligen Ergebnisse in eine Gewichtung des Merkmalsvektors einfließen lassen soll. Diesbezüglich gilt es eine geeignete Auswahl an anwendungsspezifischen Merkmalen zu treffen, da nicht alle vorgestellten Spam- Charakteristika in eine Analyse und Visualisierung einbezogen werden können. Als zusätzliche Gewichtungskomponente wäre ein Wörterbuchtest eine wünschenswerte Funktion. Die verwendete Programmiersprache sollte umfangreiche Möglichkeiten an String- Manipulationen mit sich bringen, um den Formatierungs- und Analysevorgang der effizient durchzuführen, und ebenso umfangreiche Array-Funktionen, um im Zuge der Gewichtung anwendungsspezifischer Merkmale die Testergebnisse in den Merkmalsvektor einfliessen lassen zu können Anforderungen an die Schnittstelle Die von der Engine analysierten Daten müssen der Visualisierungs-Komponente zur Verfügung gestellt werden. Da das zu erwartende Datenvolumen aufgrund der hohen Anzahl an Mails und Größe der Merkmalsvektoren sehr umfangreich sein wird, sollten die Ergebnisse der Engine dauerhaft gespeichert werden und nicht bei jedem Analysevorgang erneut berechnet werden. Um große Datenmengen möglichst effizient und dauerhaft zu speichern, sollte eine Datenbankanbindung erfolgen, wodurch auch ein plattform- und implementationsunabhängiger Datenaustausch ermöglicht wird. Jedoch wäre hierbei darauf zu achten, dass die Anzahl der Zugriffe aus Performancegründen gering zu halten sind Anforderungen an die Visualisierung Bezüglich der Visualisierung sollen zwei verschiedene Benutzerinterfaces erstellt werden. Ein normaler Anwender soll eine Einzelübersicht über sein eigenes Postfach erhalten und der Administrator eine Gesamtübersicht über alle -Konten. Dabei muss berücksichtigt werden, dass der Administrator aus datenschutzrechtlichen Gründen keine Kenntnis über die -Inhalte erhalten darf und somit bei in seiner Ansicht Wörter nicht konkret in der Visualisierung erscheinen dürfen. Im Zuge von Shneidermans Information Seeking Mantra sollten jedem Anwender verschiedene Sichten zur Verfügung gestellt werden, die miteinander ver- 106

125 linkt sind. Eine Gesamtansicht soll einen groben Überblick über alle s verschaffen und die gewichteten Informationen aus dem Merkmalsvektor enthalten. Alle Verwaltungsinformationen zu einer sollten aufrufbar sein, beispielsweise in Form eines Tooltips. Jedoch soll bei Bedarf auch eine Detailansicht zur Verfügung gestellt werden, die nähere Informationen hinsichtlich der spamspezifischen Merkmale visualisiert. In Bezug auf die in der Analyse vorgestellten Visualisierungstechniken scheint sich für eine Detailansicht besonders die Treemap gut zu eignen, da sie alle interessanten Informationen auf geringem Raum platzieren kann und man die Elemente in der untersten Ebene der Hierarchie hervorhebend visualisieren kann. In unserem Falle sind die Blattknoten in der Hierarchie die Wörter der oder möglicherweise sogar die spamspezifischen Merkmale pro Wort. Jedoch ist bei Verwendung einer Treemap eine effektive Farbauswahl zu fordern, bei der auch die Einschränkung durch eine Farbfehlsichtigkeit Berücksichtigung finden soll, um das Erkennen von Mustern zu ermöglichen. Aufgrund des anzunehmenden großen Datenvolumens für die Visualisierung sollten dem Anwender neben einer Zoom-Funktionalität auch Filterungs- und Sortierungsmöglichkeiten zur Verfügung gestellt werden um die Menge der dargestellten Daten zu reduzieren und so die Übersicht zu fördern. Hilfreich wäre dies, wenn z.b. der Anwender nach einem bestimmten Absender sucht oder sich s innerhalb eines bestimmten Zeitraums anzeigen lassen möchte. 107

126

127 Kapitel 5 Konzept In dem nun folgenden Kapitel soll ein Konzept basierend auf den aufgestellten Anforderungen entwickelt werden. Wir beginnen damit, wie man analog zum Text-Mining-Prozess den unstrukturierten Inhalt einer in eine strukturierte Darstellung in Form eines Vektors überführen kann, aber unter Berücksichtigung spamspezifischer Merkmale. Dabei wird die konzeptuelle Funktionsweise der SpamVis-Engine vorgestellt. Im Anschluss daran beschreiben wir, wie die visuelle Umsetzung der analysierten Daten erfolgen soll. Neben einer Beschreibung des Benutzerinterfaces und dem Aufbau der Visualisierung werden auch geplante Interaktionstechniken vorgestellt, die den Anwender bei der Suche nach Mustern unterstützen sollen. 5.1 Konzept Engine Im Folgenden wird das Konzept für die SpamVis-Engine beschrieben. Zuerst müssen die dem Analyseprozess zugrundeliegenden spamspezifischen Merkmale ausgewählt werden. Danach erfolgt eine Beschreibung der Vorgehensweise bei der -Beschaffung, -aufbereitung, -analyse und -gewichtung unter Zuordnung dieser Schritte an die geplanten Engine-Komponenten. Ziel ist, eine in eine oder auch mehrere unterschiedliche Darstellungsformen zu überführen, so dass sowohl die relativen Häufigkeiten der Wörter in einer Mail Berücksichtigung finden als auch spamspezifische Eigenschaften Repräsentation der Im vorangegangenen Kapitel der Analyse haben wir festgestellt, dass s viele verschiedene charakteristische Merkmale aufweisen können, die auf Spam

128 5. KONZEPT hindeuten. Aus dieser Menge von Charakteristika gilt es nun eine Auswahl zu treffen, die für eine Analyse durch die SpamVis-Engine herangezogen und im Zuge der Gewichtung anwendungsspezifischer Merkmale Berücksichtigung finden sollen. Die Wahl fällt dabei auf folgende: 1. Wörter komplett in Großschrift 2. durch Substitution verschleierte Wörter 3. typische Spamwörter 4. typische Wortkombinationen 5. Wörterbuchtest 6. Dummy-Texte 1 Tabelle 5.1.: Übersicht der betrachteten spamspezifischen Merkmale Diese Charakteristika erscheinen uns sehr vielversprechend hinsichtlich einer Visualisierung von Wortmustern zu sein. Zum besseren Verständnis der nachfolgenden Abschnitte möchten wir bereits an dieser Stelle grob auf das Prinzip eingehen, wie diese Charakteristika bei einer Gewichtung Anwendung finden können und auf welche Weise eine letztendlich repräsentiert werden soll. Die SpamVis-Engine soll für die ersten fünf genannten Charakteristika spezifische Tests durchführen und die entsprechenden Ergebnisse separat abspeichern. Im späteren Verlauf der Analyse soll jedem Wort ein 5-dimensionaler Vektor zugewiesen werden, der die Testergebnisse in Form von binären Werten beinhaltet und damit letztendlich aussagt, ob ein Test positiv war oder nicht. Dieser so genannte Typenvektor wird dann im Zuge der anwendungsspezifischen Gewichtung herangezogen und hat damit auch Einfluss auf den endgültigen standardisierten Merkmalsvektor, der im Sinne des Text Minings die repräsentiert. Für den letzten der oben genannten Fälle führt die Engine hingegen nur eine Vorverarbeitung durch und erstellt einen weiteren Vektor, den so genannten -Vektor, der die Nachricht auf eine zweite, aber andere Weise repräsentieren soll. Näheres zur Erstellung und den Eigenschaften der Vektoren folgt im Laufe des Konzepts. Es ist wichtig an dieser Stelle schon deutlich zu ma- 1 Damit sind zusätzlich in die Spam-Mail eingefügte, unverfängliche Texte gemeint, welche die Gesamtwahrscheinlichkeit einer Nachricht, von einem inhaltsbasierenden Filter als Spam klassifiziert zu werden, reduzieren sollen. 110

129 5.1. KONZEPT ENGINE chen, nach welchen spamspezifischen Inhalten gesucht werden soll, da die Textaufbereitung und Analyse einer aufgrund dieser Tests nicht identisch zum Text-Mining-Prozess verläuft, sondern die Grenzen zwischen den einzelnen Phasen etwas verschwimmen. Im Folgenden wird das Konzept nun genauer vorgestellt, angefangen mit der Beschaffung der zu analysierenden s Mining In diesem Abschnitt soll nun die Vorgehensweise beim -Mining beschrieben werden, angefangen mit der Klärung der -Beschaffung Datenquelle -Korpus Um s hinsichtlich ihres Inhaltes analysieren und in visueller Form aufbereiten zu können um nach spamspezifischen Mustern zu suchen, muss eine entsprechend hohe Anzahl an geeigneten Mails vorhanden sein. Geeignet bedeutet in diesem Sinne, dass es sich um s handeln sollte, die nicht eindeutig als Ham oder Spam zu erkennen sind. Dazu würde sich das im vorigen Kapitel angesprochene SpamAssassin-Archiv eignen, da es sowohl über eine große Anzahl an Spam- als auch an Ham-Mails verfügt. Jedoch werden wir eine andere Quelle als Untersuchungsgegenstand heranziehen. Jörg Demmer, unser Betreuer bei dieser Diplomarbeit, wird uns ein umfassendes Archiv an Grauzonen- s der Professur für grafische Datenverarbeitung (GDV) zur Verfügung stellen, wofür wir ihm an dieser Stelle sehr danken möchten. Dieses Archiv umfasst ca s unterschiedlicher Empfänger. Die s sind bereits durch das Filterprogramm SpamAssassin bewertet worden und weisen alle einen Spam-Score zwischen 3-8 Punkten auf. Dies bedeutet, dass bestimmte spamspezifische Merkmale erfüllt sind, jedoch keine sichere Aussage darüber getroffen werden kann, ob es sich tatsächlich um Spam-Mails handelt. Dieser Korpus scheint sich hervorragend für die Ziele unserer Diplomarbeit zu eignen. Mailserver Um eine möglichst reale Umgebung nachzustellen soll ein eigener Mailserver aufgesetzt werden. Da die Implementierung unter einem Windows Betriebssystem erfolgen wird, ist die Auswahl verfügbarer (kostenloser) Mailserver be- 111

130 5. KONZEPT grenzt. Geplant ist der Einsatz von Mercury. Auf dem Mailserver werden wir eine Anzahl an Postfächern anlegen und diese statisch mit den GDV-Grauzonen- s füllen. Die in diesem Archiv enthaltenen s liegen zwar nicht in dem für Mercury benötigten Format vor, können jedoch ganz einfach über Kommandozeile in das benötigte.cnm-format umbenannt werden. Mercury soll dann als POP3- und SMTP-Server konfiguriert werden, um die Verteilung der s in einem lokalen Netzwerk zu übernehmen. Als weitere Option könnte zusätzlich auch eine Konfiguration als POP3-Client erfolgen, um von außen weitere s einzuspeisen, bei denen es sich nicht um Grauzonen- s handelt. Wichtig für die Anforderungen an die Engine ist, dass Mercury an dieser Stelle nur beispielhaft verwendet wird und jeder andere beliebige Mailserver als Datenquelle verwendet werden könnte. Filterprogramm Durch das Aufsetzen eines eigenen Mailservers stellt sich die Frage, ob nicht noch die Installation eines Spam-Filterprogrammes ratsam wäre. Jedoch sind die GDV-Grauzonen-Mails bereits von SpamAssassin geprüft und bewertet worden. Im Header jeder findet sich das Ergebnis dieser Prüfung in Form eines X-Tags, welches den zugewiesenen Spam-Wert enthält sowie einen Spam- Report über positiv durchgeführte Tests 2. Eine anfängliche Idee bestand übrigens darin, diese Testergebnisse aus dem Header zu extrahieren und im Zuge einer inhaltlichen Analyse auszuwerten. Jedoch wäre der Einsatz in jedem beliebigen Live-System nicht gewährleistet, da man nicht davon ausgehen kann, dass überall SpamAssassin eingesetzt wird Generelle Architektur Ziel der SpamVis-Engine soll nun sein, auf den Mailserver zuzugreifen und die abgerufenen s im Sinne des Text Minings aufzubereiten, zu analysieren, zu gewichten und in einem zusätzlichen Schritt noch zu klassifizieren. Die Reihe dieser unterschiedlichen Aufgaben legt nahe, die Engine modular zu gestalten. Die Hauptkomponente SpamVis soll hierbei der zentrale Knotenpunkt sein, der mit allen Modulen kommunizieren kann und die Steuerung des Analyseprozesses übernimmt. Eine Übersicht über die geplante Architektur ist in Abbildung 5.1 zu sehen. Die einzelnen Module und ihre Funktionalitäten sowie die benötigten Schnittstellen werden nun nach und nach vorgestellt. 2 Ein Auszug möglicher Tests wurde im Grundlagenkapitel vorgestellt 112

131 5.1. KONZEPT ENGINE Abbildung 5.1.: Architektur der SpamVis-Engine Datenextraktion Nachdem nun Datenquellen zur Verfügung stehen, stellt sich die Frage, wie man die s abrufen und die darin befindlichen notwendigen Informationen zur weiteren Verarbeitung extrahieren kann. -Abruf Um die s vom Mailserver abzurufen, soll ein separates Modul, der Grabber, implementiert werden. Dieser baut über das POP3-Protokoll eine Verbindung zum Mailserver auf und übergibt die Nachrichten an SpamVis. Jedoch sollten aus Performance-Gründen s von der Engine nur einmalig analysiert werden. An dieser Stelle würde es sich anbieten über ein gesetztes Flag zu prüfen, ob eine nicht bereits doch schon einmal bearbeitet wurde. Information Extraction Sofern die s SpamVis zur Verfügung stehen, müssen spezifische Informationen extrahiert werden. Diese Aufgabe übernimmt das Modul Extractor. 113

132 5. KONZEPT Verwaltungsspezifische Informationen wie die Message-ID 3, die IP-Adresse des Absenders, der Spam-Score oder auch das Datum einer sollen mittels regulärer Ausdrücke extrahiert und permanent gespeichert werden. Diese Informationen sind zwar nicht für eine inhaltliche Analyse notwendig, werden aber unbedingt für die später folgende Visualisierung benötigt um Filter- oder auch Sortierfunktionen zu unterstützen. Auch muss ein Administrator im Falle von spamverdächtigen Auffälligkeiten Rückschlüsse darüber ziehen können, wer der Absender dieser Nachricht war, um bei Bedarf den Spamfilter nachjustieren zu können. Zur Extraktion dieser Informationen kann ein regulärer Ausdruck eingesetzt werden: preg_match_all( /([0-9]1,3\.)3[0-9]1,3/, $headers,$match) Formatnormalisierung Relevant für eine inhaltliche Analyse ist nun die Extraktion des in der befindlichen Textes. Dazu gehören Plain-Text, HTML-Text und auch der Betreff einer Nachricht. Eventuell vorhandene Anhänge in der sollen nicht berücksichtigt werden, die Gründe dafür wurden bereits in der Analyse vorgestellt. Die Schwierigkeit an dieser Stelle besteht nun darin, dass eine Mail aus mehreren Teilen bestehen kann, die noch ineinander verschachtelt sind. Ebenso kann der Inhalt auf unterschiedliche Weisen kodiert sein, z.b. in base64 oder quoted printable. Der Extractor muss also die Struktur der analysieren und die gewünschten Informationen aus der herausziehen. Diese sollen dann im Sinne einer Formatnormalisierung einheitlich zusammengefasst als ein einziger String an SpamVis übergeben werden. An dieser Stelle möchten wir darauf hinweisen, dass wir die in einem - Body enthaltenen URLs nicht in Bezug auf eine inhaltliche Analyse von Wortmustern einbeziehen werden, da es sich hier um einen eigenständigen Bereich handelt und ganz andere Aspekte bei der Analyse spamspezifischer Inhalte berücksichtigt werden müssten. Die URLs sollen lediglich im Zuge der Vorverarbeitung extrahiert werden, um den Text für die weitere Analyse aufzubereiten Formatierung Bevor der in der enthaltene Text durch einen Merkmalsvektor repräsentiert werden kann, müssen diverse Formatierungen durchgeführt werden. Dazu wird SpamVis das Modul Formatter aufrufen, welches mehrere Funktionalitäten bereitstellt. Neben einer Konvertierung in Kleinbuchstaben sol- 3 Die Message-ID im Header einer ist eine weltweit eindeutige Kennzeichnung. 114

133 5.1. KONZEPT ENGINE len im Zuge einer Formatierung auch Umlaute ersetzt werden, z. B. wird ä durch ae ersetzt oder auch ß durch ss. Diese Maßnahmen dienen dazu, die im Text enthaltenen Strings zu vereinheitlichen. Ebenso können überflüssige Sonderzeichen wie Rauten, Ausrufezeichen oder Punkte entfernt werden. Wichtig hierbei ist jedoch der Zeitpunkt der entsprechenden Formatierungsmaßnahme hinsichtlich der bereits angesprochenen spamspezifischen Tests. Eine Konvertierung in Kleinbuchstaben darf natürlich erst erfolgen, wenn bereits nach großgeschriebenen Wörtern gesucht worden ist. Ebenso dürfen Sonderzeichen erst entfernt werden, nachdem der Test auf Substitution erfolgt ist. Nähere Informationen zum geplanten Datenfluss kann man Abbildung 6.2 entnehmen. Sofern eine HTML-Text enthält, müssen noch weitere Formatierungen durchgeführt werden. Es ist notwendig die darin befindlichen HTML-Tags zu entfernen, ebenso den Code von Skriptsprachen, Stilinformationen oder anderen Metainformationen, der sich zwischen diesen Tags befindet. Mithilfe regulärer Ausdrücke sollen diese gefunden und gelöscht werden. Auch sollte darauf geachtet werden, dass beim Entfernen von Block-Level-Tags, wie z.b. <p> oder <div>, benachbarte Wörter nicht zusammenfallen, da sonst Probleme bei der Tokenisierung entstehen können. Abhilfe kann hier das Einfügen von Zeilenumbrüchen an der entsprechenden Position schaffen. Stoppwortliste Eine weitere Aufgabe des Formatter ist, aus dem Dateisystem des Servers, auf dem SpamVis laufen wird, eine Stoppwortliste zu laden und diese auf den vorliegenden Text anzuwenden. Dadurch sollen inhaltslose Strings entfernt werden, bevor es zur Anwendung der spamspezifischen Tests kommt - unter dem Aspekt einer besseren Laufzeit. Es ist geplant zwei verschiedene Stoppwortlisten anzubinden, einmal für die deutsche und einmal für die englische Sprache. Stemming Zum aktuellen Zeitpunkt ist noch nicht ganz klar, ob der Einsatz eines Stemmers hilfreiche Ergebnisse bringen wird. Trotzdem ist geplant, ein separates Stemmer-Modul anzubinden - auch hier sowohl für die englische als auch die deutsche Sprache. Den Porter-Stemmer haben wir bereits in Kapitel 3 vorgestellt. Als Alternative für die deutsche Sprache könnte sich ein Stemmer-Modul von Drupal 4, einem Content-Management-System, als hilfreich erweisen

134 5. KONZEPT Abbildung 5.2.: Datenfluss im Zuge der -Aufbereitung, Analyse und Gewichtung 116

135 5.1. KONZEPT ENGINE Analyse Eine sehr wichtige Stellung unter den Modulen wird der Analyzer einnehmen, da es alle anfallenden Analyseaufgaben übernehmen soll, angefangen mit der Bestimmung von Worthäufigkeiten. Dazu soll im Verlauf des Aufberei- tungsund Analyseprozesses zu mehreren Zeitpunkten die absolute Häufigkeit der Wörter bestimmt und zwischengespeichert werden. Auf diese Weise könnte man ein Verhältnis zwischen relevanten und irrelevanten Worten bestimmen und natürlich auch im Zuge der Gewichtung die relative Häufigkeit. Der Analyzer wird die bereits zu Beginn dieses Kapitels angesprochenen Tests und die Suche nach den spamspezifischen Charakteristika durchführen. Ein wichtiger Aspekt hinsichtlich spamtypischer Wörter und Wortkombinationen ist, dass Spam nicht für jeden gleich Spam ist, sondern eine individuelle Komponente mitspielt. Aus diesem Grund sollte der Administrator Einfluss auf den Inhalt dieser Prüfpunkte haben. Eine recht einfache Lösung wäre, vorgefertigte externe Listen mit spezifischen Wörtern anzulegen, die der Administrator bei Bedarf ergänzen bzw. modifizieren kann. Diese Listen können im Gesamtumfang zwar recht groß werden, aber vergleichsweise sind sie immer noch klein genug, dass man sie ohne Probleme in einer ganz einfachen Textdatei halten kann ohne eine Datenbank zu involvieren. Auf diese Weise wären die Listen auch im Klartext einsehbar und könnten leicht editiert werden. Die SpamVis-Engine muss also eine Schnittstelle bieten, um diese Listen einzubinden. Der Inhalt dieser Listen soll dann mittels regulärer Ausdrücke auf den zu prüfenden -String angewendet werden. Alle gefundenen Treffer werden mit Angabe der vorgekommenen absoluten Häufigkeit temporär zwischengespeichert. Gibt es einen Treffer hinsichtlich verschleierter Wörter, wäre im zu analysierenden Text eine Ersetzung durch das ursprüngliche Wort vorzunehmen. Für die Überprüfung von Wörtern komplett in Großschreibung ist keine Listenanbindung notwendig, doch auch hier soll ein regulärer Ausdruck eingesetzt werden. Eventuelle Treffer werden in Kleinbuchstaben konvertiert und ebenfalls temporär gespeichert. Tabelle 6.4 zeigt nochmals eine Übersicht über die durch den Analyzer durchzuführenden Tests mit Hinweis auf eine Listenanbindung und Details über die Arbeitsweise der regulären Ausdrücke. 117

136 5. KONZEPT Listen RegEx 5 Anwendungsgebiet Art Großschreibung - + Matching lokal Substitution + + Substitution lokal Spamwörter + + Matching lokal Wortkombinationen + + Matching & Splitting lokal Wörterbuchtest online Tabelle 5.2.: Übersicht über die spamspezifischen Tests Wörterbuchtest Im Zuge des Wörterbuchtests soll eine Verbindung zum Wortschatz Leipzig hergestellt und eine Abfrage durchgeführt werden, ob das aktuell betrachtete Wort im Datenbestand vorhanden ist oder nicht. Der Zugriff auf den Wortschatz kann, wie wir im Kapitel der Analyse festgestellt haben, über die Verwendung eines Webservices erfolgen. Der Wörterbuchtest soll im Grunde dazu dienen, untypische oder auch verschleierte Wörter zu erkennen. Wurde ein Wort im Zuge einer Verschleierung beispielsweise durch Hinzufügen zusätzlicher Zeichen (Viaaagra statt Viagra) oder durch Substitution mit Sonderzeichen statt Viagra) verändert, wird der Wörterbuchtest definitiv fehlschlagen. Das gleiche gilt für segmentierte Wörter (Vi agr a statt Viagra). Natürlich besteht keine Gewissheit darüber, ob es sich um ein verschleiertes Wort handelt. Es könnte auch ein einfacher orthografischer Fehler des Verfassers sein. Aber die Anzahl fehlgeschlagener Wörterbuchtests pro könnte Aufschluss darüber geben, ob hinter der Fehlschreibung eine Absicht lag oder nicht. Normalerweise wäre es vorzuziehen, ein Wörterbuch lokal im eigenen Netzwerk zur Verfügung stehen zu haben. Jedoch bietet der Wortschatz Leipzig einen sehr umfangreichen Datenbestand, der für unsere Zwecke sehr geeignet erscheint. Denn je größer der Umfang des Wortschatzes, desto weniger Wörter fallen durch den Test durch und werden nicht fälschlicherweise zu einer spamspezifischen Gewichtung herangezogen. 5 Abkürzung für regulärer Ausdruck 118

137 5.1. KONZEPT ENGINE Gewichtung Nachdem die Analysephase beendet ist und unnötige Sonderzeichen etc. aus dem Text entfernt wurden, soll der Analyzer den -String tokenisieren und in einen Merkmalsvektor transformieren. Die Gewichtung der in dem Vektor enthaltenen Wörter wird in zwei Phasen erfolgen, der grundlegenden und der anwendungsspezifischen Gewichtung. Grundlegende Gewichtung Der erste Schritt findet parallel bei der Überführung des Strings in eine Vektorendarstellung statt. Dabei wird für jedes Wort bzw. Merkmal die absolute Häufigkeit bestimmt und an der zugehörigen Position im Vektor eingetragen. Direkt im Anschluss wird die relative Häufigkeit der Merkmale in der bestimmt. Alternativ zur Verwendung der reinen Termfrequenz könnte man das Gewicht auch mittels der TF-IDF (Term Frequency - Inverse Document Frequency) bestimmen. Jedoch sind durch die Anwendung von Stoppwortlisten Wörter, die keine inhaltliche Relevanz haben, bereits vorab aus der potentiellen Merkmalsmenge entfernt worden, so dass unserer Ansicht nach die Term Frequenz als Gewichtungsmaß ausreichend sein sollte. Anwendungsspezifische Gewichtung Die anwendungsspezifische Gewichtung soll ein anderes Modul, der Weighter übernehmen. Dazu werden die durch den Analyzer gewonnenen Testergebnisse herangezogen. Für jeden der fünf Tests liegt eine Liste mit Wörtern vor, die den entsprechenden Test nicht bestanden haben. Die ersten vier Listen enthalten zusätzlich zu den Wörtern noch eine Angabe darüber, wie oft das Wort im Zuge des Tests gefunden wurde. Der Merkmalsvektor wird nun sukzessive durchlaufen und für jedes enthaltene Wort wird ein Matching mit jeder der fünf Listen durchgeführt. Kommt ein Wort sowohl im Merkmalsvektor als auch in der aktuell betrachteten Liste vor, wird das Gewicht 6 des Wortes mit einem für den jeweiligen Test vorher festgelegten statischen Faktor multipliziert. Sollte ein Wort in einem Test mehrmals negativ aufgefallen sein, wird auch die entsprechende Anzahl Berücksichtigung finden und nochmals multipliziert. Gleichzeitig zu diesem Matching soll ein so genannter Feature-Vektor gepflegt werden. Dieser hat die gleiche Dimension wie der Merkmalsvektor, nur ent- 6 in diesem Moment noch die relative Häufigkeit des Wortes 119

138 5. KONZEPT hält er keine Gewichte, sondern jedem Wort ist ein weiterer, 5-dimensionaler Vektor zugeordnet, der so genannte Typenvektor. Jede Dimension in diesem Typenvektor entspricht einem Testfall. Die Reihenfolge ist fest vorgegeben und alle Positionen sind auf 0 initialisiert. Trifft ein Test auf ein Wort aus dem Merkmalsvektor zu, wird an der entsprechenden Position im Typenvektor eine 1 eingetragen um zu signalisieren, dass der Test positiv ausgefallen ist. Dies bedeutet, dass der Typenvektor letztendlich nur binäre Werte enthalten wird und das gesamte Testergebnis für ein Wort wiederspiegelt. Beispiel: Im Zuge der anwendungsspezifischen Gewichtung soll aus dem Merkmalsvektor das Wort VIGRA mit den Test-Listen abgeglichen werden. 1. Test auf Großschreibung positiv 2. Test auf Substitution negativ 3. Test auf typisches Spamwort negativ 4. Test auf typische Wortkombination negativ 5. Wörterbuchtest positiv Der zu diesem Wort gehörende Typenvektor ist demnach (1,0,0,0,1). Er wird im Feature-Vektor an der korrespondierenden Stelle von VIGRA eingetragen. Führt man dies für jedes Wort im Merkmalsvektor fort, enthält der Feature- Vektor demnach die gesamte Zusammenfassung aller Tests. Anhand von Abbildung 5.3 kann man sich den Ablauf der spamspezifischen Tests und deren anschließende Gewichtung nochmals in einer Gesamtansicht veranschaulichen. Der zu analysierende Text-String wird in Form der blauen Felder auf der linken Seite dargestellt. Im Zuge der Analyse durch die Engine sollen die fünf Tests, dargestellt anhand der roten Felder auf der rechten Seite, durchgeführt werden. Die jeweiligen Testergebnisse werden erst einmal separat gespeichert. Nachdem der Text in einen gewichteten Merkmalsvektor überführt wurde, werden zu jedem Wort die Typenvektoren erstellt und die Testergebnisse fließen in die Gewichtung des Merkmalsvektors mit ein. 120

139 5.1. KONZEPT ENGINE GRATIS, damit der Sex wieder spaß macht. Also schnapp zu, solange es noch gratis ist. GRATIS, damit der Sex wieder spaß macht. Also schnapp zu, solange es noch gratis ist. GRATIS, damit der Sex wieder spaß macht. Also schnapp zu, solange es noch gratis ist. GRATIS, damit der Sex wieder spaß macht. Also schnapp zu, solange es noch gratis ist. GRATIS, damit der Sex wieder spaß macht. Also schnapp zu, solange es noch gratis ist. GRATIS, damit der Sex wieder spaß macht. Also schnapp zu, solange es noch gratis ist. Test 1 Großschreibung überprüfen Test2 Verschleierte Wörter Test 3 Typische Spamwörter Test 4 Wortkombinationen Test 5 Wörterbuchtest vektor viagra gratis sex T1 T2 T3 T4 T T1 T2 T3 T4 T5 viagra gratis sex T1 T2 T3 T4 T5 Abbildung 5.3.: Überblick über den Testprozess mit Gewichtung von spamspezifischen Merkmale 121

140 5. KONZEPT -Vektor Es bedarf nun noch einer Erklärung, welche Funktion eigentlich der bereits erwähnte -Vektor übernehmen soll. Die Engine hat im Zuge ihrer Verarbeitung der einen Merkmalsvektor erstellt, der diese Nachricht repräsentiert. Jedoch sind in diesem Vektor weder alle Wörter enthalten noch wird die Reihenfolge der Wörter hinsichtlich ihrer Position in der berücksichtigt. Um noch den letzen geplanten Test auf Dummy-Texte durchführen zu können, wird ein repräsentierender Vektor benötigt, der alle Wörter der enthält - aber ebenso die Information über die spamspezifischen Merkmale, um eventuelle Muster aufzuzeigen. Unter diesem Aspekt soll der -Vektor alle im Text der vorkommenden Wörter in ihrer ursprünglichen Reihenfolge enthalten. Dies bedeutet, dass auch Stoppwörter darin vorkommen werden. Zu jedem Eintrag im -Vektor wird dann entweder ein Vermerk auf den Typ Stoppwort hinterlegt oder der im Zuge der anwendungsspezifischen Gewichtung angelegte Typenvektor für dieses Wort eingetragen. Beispiel: Zu dem Satz Potenz-Probleme? Mit ist das kein Problem mehr!!! wird der folgende -Vektor erzeugt: Wie man sehen kann, liegt hier nicht mehr die Gewichtung im Vordergrund, sondern die Speicherung spamspezifischer Merkmale bzw. in einem allgemeinen Sinn von Worteigenschaften - denn auch die Stoppwörter finden Berücksichtigung Reduzierung Die Anzahl der Wörter im Merkmalsvektor wird voraussichtlich sehr groß sein. Besonders in Bezug auf die Datenspeicherung und auch die Menge der zu visualisierenden Informationen sollte unbedingt noch eine Reduzierung des Merkmalsvektors sowie des zugehörigen Feature-Vektors durchgeführt werden. Dazu soll der Weighter anhand eines ebenfalls statisch festgelegten Schwellenwertes die relevanten Merkmale herausfiltern. Eine geeignete Wahl des Schwellenwertes wird sich, genau wie die Wahl der anwendungsspezifischen Gewichtungsfaktoren, erst nach der Implementierung im Zuge diverser Testläufe ergeben. 122

141 5.1. KONZEPT ENGINE Klassifikation Im Anschluss an die Reduzierung des Merkmalsvektors soll nun noch vom Modul Classificator eine Klassifikation durchgeführt werden. Wichtig hierbei ist, dass die Merkmalsvektoren normalisiert werden und alle das gleiche Format erhalten. Gerade dies wird in der Visualisierung wichtig sein, um verschiedene s vergleichbar zu machen und eine Sortierfunktion anzubieten. Auf diese Weise könnte sogar über die Visualisierungskomponente eine visuelle Klassifikation möglich sein. Es muss nun eine Trainingsmenge zur Verfügung stehen, anhand derer der reduzierte Merkmalsvektor klassifiziert werden kann. Dazu ist es erforderlich vorab einen kleinen Korpus von s zusammenzustellen und manuell zu klassifizieren. Die von uns vorgegebenen Kategorien werden sein: Erotik, Wirtschaft, Pharmazie und Freizeit. Es ist leider notwendig, die Anzahl der Kategorien zu begrenzen, da die Bearbeitungszeit der Diplomarbeit nicht ausreicht, um hier für mehr Kategorien eine ausreichend große Anzahl an Trainings- Mails zusammenzustellen. Anhand der Trainingsmenge soll nun so genannter Standard-Vektor erstellt werden. Dieser enthält alle Wörter, die in allen reduzierten Merkmalsvektoren der Trainings- s vorgekommen sind, aber ohne jegliche Gewichte. Er dient lediglich als Schablone, um die zukünftig zu klassifzierenden Merkmalsvektoren zu normalisieren. Dabei muss berücksichtigt werden, dass bei neu zu klassifizierenden Vektoren das Format des Standard-Vektors aktualisiert werden muss. Abbildung 5.4.: Beispiel eines Standardvektors Abbildung 5.5.: Beispiel eines standardisierten Merkmalvektors 123

142 5. KONZEPT Um den geplanten Klassifikationsvorgang durchzuführen soll das knn-verfahren (k-nearest-neighbours) anwegendet werden, mit Berechnung der Euklidischen Distanz als Ähnlichkeitsmaß. Der Faktor k wird hierbei von uns statisch vorgegeben. Nach erfolgter Klassifikation soll das Klassifikationsergebnis als zusätzliche Dimension im Merkmalsvektor vermerkt werden Ausführung der Engine Das Konzept sieht vor, dass die Engine auf zweierlei Weise gestartet werden kann. Wird die Visualisierung vom Anwender gestartet, soll hierbei die Engine automatisch angesteuert werden, um noch nicht analysierte s zu bearbeiten und somit die Daten für die Visualisierung auf den aktuellen Stand zu bringen. Um die zu analysierende Datenmenge jedoch klein zu halten und die Wartezeit für den Anwender zu verkürzen, soll ein Scheduler implementiert werden, der in regelmäßigen zeitlichen Intervallen automatisiert die Engine startet Wahl der Programmiersprache Zum jetzigen Zeitpunkt sollte hinsichtlich der Implementierung der SpamVis- Engine eine Programmiersprache gewählt werden, die unterstützende Funktionen beim Zugriff auf Mailserver hat und auch umfangreiche Stringoperationen unterstützt, um die Textformatierung durchzuführen und auch die für die spamspezifischen Tests zutreffenden Sequenzen innerhalb der zu finden. An dieser Stelle würde sich php anbieten. php unterstützt zwei Varianten von regulären Ausdrücken. Zum einen sind dies PCRE-Funktionen (Perl- Compatible Regular Expression-Funktionen), die die regulären Ausdrücke von Perl emulieren, und zum anderen die Posix-Extended-RegEx-Funktionen (Posix erweiterte RegEx-Funktionen), die die weniger leistungsstarken regulären POSIX-Ausdrücke unterstützen. Die Perl-kompatiblen regulären Ausrücke sind in ihrer Ausdrucksweise jedoch mächtiger[zan04, S.423] Zusätzlich zu den beiden schon genannten Punkten bietet php eine Vielzahl von Array-Funktionen an. Diese erscheinen besonders hilfreich im Zuge des Matchings der Testergebnisse mit dem Merkmalsvektor. 5.2 Schnittstellen Im Folgenden geben wir eine kurze Beschreibung der geplanten externen und internen Schnittstellen der SpamVis-Engine. 124

143 5.2. SCHNITTSTELLEN Schnittstellen zur Analyse Zur internen Verarbeitung benötigt die Engine drei verschiedene Schnittstellen. Zum Abruf der s vom Mailserver soll wie schon angesprochen das Modul Grabber eingesetzt werden. Für die Anbindung zum Dateisystem und zum Laden der Stoppwortlisten und der Listen mit den spamspezifischen Inhalten in Form von Textdateien, wird wahrscheinlich keine spezielle Schnittstelle notwendig sein. Die eingesetzte Programmiersprache sollte die notwendigen Funktionen unterstützen. Jedoch ist noch eine weitere Schnittstelle für den Zugriff auf den Wortschatz Leipzig notwendig um die Webservices zu nutzen. Hierzu soll noch ein zusätzliches Hilfsmodul implementiert werden Schnittstellen zur Visualisierung Da sich die Programmiersprachen zur Implementierung der Engine und der Visualisierungskomponente voraussichtlich unterscheiden werden, muss an dieser Stelle ein Konzept für den Datenaustausch erstellt werden. Die Engine muss die analysierten Daten in ein Format bringen, mit dem die Visualisierung arbeiten kann. Datenbank Aufgrund der großen Menge an zu speichernden Daten soll eine Datenbankanbindung erfolgen. Auf diese Weise können alle notwendigen Informationen dauerhaft gespeichert werden und die Plattformunabhängigkeit ist gewährleistet. Folgende Daten sollten der Visualisierungskomponente zur Verfügung gestellt werden: Nachrichten Vektoren Anzahl Wörter Mail-ID Mail-ID Maild-ID Message-ID standardisierter Merkmalsvektor originale Zahl Absender-Adresse Feature-Vektor nach Bereinigung Spam-Score -Vektor ohne Stoppwörter Datum Die Visualisierungskomponente muss dann die Informationen aus der Datenbank auslesen und auf eine geeignete visuelle Struktur abbilden. Dieses Mapping kann sehr komplex und umfangreich sein, so dass an dieser Stelle noch der Einsatz von eines Visualisierungs-Toolkits in Betracht gezogen wird, welches die Daten zusätzlich in einem einfachen und strukturierten Format zum Datenaustausch zur Verfügung stellt. 125

144 5. KONZEPT TreeML Im Zuge der Analyse haben wir verschiedene Frameworks betrachtet, die bei der Erstellung einer Visualisierung hilfreich sein können. Beispielsweise unterstützt Prefuse die XML-basierten Formate GraphML und TreeML, über die eine Abbildung von Netzwerkstrukturen erfolgen kann. TreeML ist ein XML- Format zur Speicherung von Baumstrukturen und wurde für den InfoVis Contest 2003 der IEEE 7 entwickelt. 8 Unter dem Aspekt dass die hierarchische Struktur eines Postfaches mit den darin befindlichen s, Wörtern und spamspezifischen Merkmalen mittels einer Treemap visualisiert werden kann, würde sich an dieser Stelle das TreeML-Format für den Datenaustausch anbieten. Der Inhalt einer TreeML Datei könnte sich in unserem Fall wie folgt gestalten: <<Mailbox_User.xml>> <tree> <declarations> <attributedecl name="name"type= String"/> </declarations> <branch> <attribute name="name"value="mailbox user1"/> <branch> <attribute name="name"value= Erotik"/> <branch> <attribute name="name"value="mail-id 5"/> <branch> <attribute <leaf> <attribute name="name"value="0,1,1,0,1"/> </leaf> </branch> <branch> <attribute name="name"value="bis"/> <leaf> <attribute name="name"value=ß"/> </leaf> 7 Institute of Electrical and Electronics Engineers 8 Die Document Type Definition für TreeML ist unter dem ink InfoVis2003/download/treeml.dtd zu finden. 126

145 5.2. SCHNITTSTELLEN </branch> </branch> <branch> <attribute name="name"value="mail-id 9"/>... </branch> </branch> </tree> Die Engine soll dazu die extrahierten und aufbereiteten Daten in das TreeML- Format überführen, so dass die Visualisierungskomponente auf diese Daten und dieser Struktur aufsetzen kann. Somit soll ein weiteres Modul zum Einsatz kommen, der XML-Converter. Sofern tatsächlich Prefuse als Framework verwendet wird, ist auch die Entscheidung bezüglich der Programmiersprache für die Visualisierung gefallen - die Implementierung müsste dann in Java2D erfolgen. 127

146 5. KONZEPT 5.3 Konzept Visualisierung Die von der Spam-Vis-Engine extrahierten und aufbereiteten Daten sollen nun in eine visuelle Darstellung überführt werden, so dass der Anwender relevante spamspezifische Charakteristika intuitiv erfassen kann und Muster bzw. Zusammenhänge sichtbar werden, die in ihrer ursprünglichen Form noch nicht sichtbar waren. Dazu muss analysiert werden, welche Strukturen in den Daten vorhanden sind und wie sich diese effektiv in visuelle Attribute umsetzen lassen. In den nun kommenden Abschnitten stellen wir das Konzept für die Visualisierungskomponente vor hinsichtlich des Aufbaus der Visualisierung, unterstützender Interaktionstechniken sowie dem gesamten geplanten Layout Aufbau der Visualisierung Durch die Engine werden zwei unterschiedliche Strukturen aus den Daten extrahiert. Zunächst einmal liegt ein standardisierter Merkmalsvektor vor, welcher die durch spezifische Wörter und deren Gewichte repräsentiert, d.h. es handelt sich hierbei um quantitative Daten. Mittels dieses Merkmalsvektors werden spamspezifischen Eigenschaften wie Großschreibung, Wortkombinationen, verschleierte Wörter oder auch spamtypische Wörter hervorgehoben, da sie sich durch ein vergleichsweise hohes Gewicht auszeichnen. Die in diesem Vektor enthaltenen Wörter haben jedoch hinsichtlich der , welche repräsentiert wird, keine Ordnung mehr. Unter diesem Aspekt soll durch die Engine eine weiterer Vektor generiert werden, der die ursprüngliche Reihenfolge der Wörter in der Nachricht wiederspiegelt und somit ein weiteres spamspezifisches Merkmal in Form von Dummy-Texten enthalten könnte. Die in diesem -Vektor enthaltenen Informationen sind nominaler Art. Es handelt sich zum einen um Wörter und zum andern um die zugehörigen Worteigenschaften. Diese unterschiedlichen Strukturen legen nahe, zwei verschiedene Visualisierungen zu erstellen, die jeweils auf die Eigenschaften der vorliegenden Vektoren zugeschnitten sind. Dem Anwender sollen somit zwei Sichten zur Verfügung gestellt werden, die jeweils andere Schwerpunkte haben und in ihrer Gesamtheit zu einem umfassenderen Einblick in die Daten führen können. Im Folgenden wird für jeden dieser Views das zugrunde liegende Konzept vorgestellt. 128

147 5.3. KONZEPT VISUALISIERUNG Global Mode Der Merkmalsvektor soll herangezogen werden, um eine Gesamtübersicht über die vorliegenden s zu bieten. Die visuelle Darstellung soll es erlauben, die Nachrichten in ihrer Gesamtheit vergleichbar zu machen und den Fokus auf die spamspezifischen Merkmale zu lenken - aber ohne zu viel Detailinformationen zu enthalten um die Lesbarkeit für den Anwender zu gewährleisten. Neben dem Merkmalsvektor sollen jedoch auch allgemeine Verwaltungsinformationen einbezogen werden, wie z.b. die IP-Adresse des Absenders, die Kategorie oder auch das Datum der , damit der Anwender anhand dieser Informationen die angezeigte Menge an Daten filtern oder auch sortieren kann. Diese Interaktionsmöglichkeiten werden aber erst in einem späteren Abschnitt genauer behandelt. Aufgrund des allgemeinen Überblicks wird diese Ansicht von uns als Global Mode bezeichnet. Um die Vergleiche zwischen den einzelnen standardisierten Vektoren zu ermöglichen, sollen zwei verschiedene Aspekte herangezogen werden - einmal eine Kodierung durch Größe und einmal durch Farbe. Das Konzept sieht nun vor, jeden standardisierten Merkmalsvektor in eine äquivalente visuelle Vektorendarstellung zu überführen, d.h jede als farbigen Kugelstrang zu repräsentieren. Die Entwicklung dieser Idee und ihre möglichen Vorteile werden nun näher erläutert. Kodierung durch Größe Betrachten wir den Wertebereich des Merkmalsvektors zeigt sich, dass es sich um numerische Werte innerhalb eines bestimmten Intervalls handelt. Diese Werte können herangezogen werden, um ein Wort als Kugel zu repräsentieren, wobei der Radius dieser Kugel durch das vorliegende Gewicht bestimmt wird. Hierbei ist zu beachten, dass in einem standardisierten Vektor auch Wörter aufgeführt sein können, die in der repräsentierten überhaupt nicht vorkamen und ein Gewicht von 0 haben. Dies ist für das Intervall des Wertebereichs die untere Grenze. Eine spezifische obere Grenze kann nicht bestimmt werden, jedoch gibt es auf jeden Fall einen maximalen Wert, da die Anzahl von Wörtern in einer endlich ist. Auch die Wörter ohne Gewicht sollen in der Visualisierung Berücksichtigung finden, so dass sich für die Darstellung eines Wortes als Kugel folgende Unterscheidung ergibt: Wortgewicht = 0 die Kugel hat einen statisch festgelegten, minimalen Radius 129

148 5. KONZEPT Wortgewicht 0 das Gewicht des Wortes fließt als Faktor in den Radius der Kugel ein. Die Wörter in einem Merkmalsvektor treten in einem gemeinsamen Kontext auf, so dass dieser Kontext auch in der Visualisierung Berücksichtigung finden muss. Um die Zusammengehörigkeit der entsprechenden Wörter zu symbolisieren, werden alle Wort-Kugeln nahtlos auf einer Ebene aneinandergereiht und ergeben somit einen horizontalen Kugelstrang. An dieser Stelle findet das Gestaltgesetz der Nähe Anwendung. Durch die Gruppierung der zusammengehörenden Wort-Kugeln ist eine eindeutige Unterscheidung zu anderen Kugelsträngen vorhanden, die in den anderen Ebenen weitere s repräsentieren. Eine konzeptuelle Darstellung der Kugelstränge ist in Abbildung 5.6 zu sehen. Abbildung 5.6.: Darstellung der als Kugelstrang Die Kategorie-Information zu einer soll dem Anwender ebenfalls direkt graphisch in Form eines Icons angezeigt werden, welches auf gleicher Ebene zu diesem Kugelstrang angeordnet wird und durch die Positionierung ebenfalls die Zusammengehörigkeit vermitteln soll. Da die Anzahl verschiedener Kategorien wie schon beschrieben relativ gering ausfallen wird, kann man diese einfach anhand verschiedener Farb-Icons darstellen und über eine Legende die Farbzuordnung erläutern. Aus der Ansicht in der Abbildung 5.6 lassen sich zwar Rückschlüsse über das Gewicht der Wörter ziehen. Jedoch wird beispielsweise nicht deutlich, ob eine Kugel mit großem Radius ein Wort repräsentiert, welches einfach nur sehr häufig vorkam oder ob ein spamspezifisches Kriterium das Gewicht vergrößert hat. Aus diesem Grund sollen die spamspezifischen Merkmale anhand des durch die 130

149 5.3. KONZEPT VISUALISIERUNG Engine erstellten Typenvektors 9 zusätzlich noch farblich hervorgehoben werden und eine deutliche Unterscheidung ermöglichen. Kodierung durch Farbe Möchten wir nun die Wort-Kugeln unterschiedlich farblich gestalten und die anwendungsspezifischen Merkmale einbeziehen, müssen wir verschiedene Aspekte berücksichtigen. Es gibt Wörter, deren Typenvektor nur Nullen enthalten. Entweder handelt sich dabei um ein Wort mit Gewicht 0, d.h. es kam nicht in der vor, oder das Wort war im standardisierten Merkmalsvektor enthalten, aber keiner der Tests hatte ein positives Ergebnis. Die dritte Variante ist, dass ein Typenvektor eine oder mehrere Einsen beinhaltet, so dass hiermit ein spamspezifisches Merkmal indiziert wird. Auf diese Weise können wir eine kategorische Einteilung vornehmen und drei verschiedene Farben zur Differenzierung heranziehen. Diese Farben sollten sich jedoch deutlich voneinander abheben und auch die Eigenschaften des Wortes sinnvoll darstellen. Auf der Suche nach komplementären Farben kann an dieser Stelle das in den Grundlagen erwähnte Farbrad herangezogen werden. Für Wörter mit einem spamspezifischen Merkmal eignet sich Rot hervorragend als Signalfarbe um die Aufmerksamkeit des Anwenders zu wecken. Als relativ gegensätzliche aber neutrale Farbe könnte man Blau verwenden, um eine Relevanz hinsichtlich des Vorhandenseins in der zu zeigen, und grau als ebenfalls neutrale Farbe für die Wörter mit Gewicht 0, die im Grunde nicht interessant sind und auf diese Weise auch nicht so schnell wahrgenommen werden. Hinsichtlich des Hintergrundes sollte eine Farbe gewählt werden, die genügend Kontrast bietet - in diesem Falle weiß, damit sich die Kugelstränge absetzen. Wortgewicht = 0 die Kugel erhält eine unauffällige graue Färbung Wortgewicht 0 & Typenvektor = (0,0,0,0,0) die Kugel wird blau eingefärbt als Zeichen dafür, dass es sich um ein gewichtetes Merkmal handelt, aber kein spamspezifisches Merkmal vorliegt. Wortgewicht 0 & Typenvektor (0,0,0,0,0) die Kugel wird rot eingefärbt als Zeichen dafür, dass es sich um ein gewichtetes Merkmal handelt, aber spamspezifische Merkmale erfüllt sind. Durch diese Farbgebung wird erst einmal ein grundlegender Unterschied zwischen den einzelnen Worteigenschaften deutlich. Jedoch lässt sich aus einer einheitlich rot gefärbten Wort-Kugel nicht ersehen, wieviele spamspezifische 9 Zur Erinnerung: Der Typenvektor enthält 5 Positionen die angeben, ob ein Test auf ein bestimmtes spamspezifisches Merkmal positiv war oder nicht, beispielsweise (0,1,0,0,1). 131

150 5. KONZEPT Merkmale erfüllt waren. Es besteht schon ein Unterschied darin, ob die Belegung eines Typenvektors (0,1,0,0,0) oder (1,1,1,0,1) ist. Dieser Informationsgehalt sollte ebenfalls in die Visualisierung einfließen und eine weitere Differenzierung durchgeführt werden. Abbildung 5.7.: Darstellung als farbiger Kugelstrang Die Frage ist nun, wie wir die Eigenschaften des Typenvektors effektiv kodieren können. Eine Möglichkeit besteht darin, die Dimension des Vektors heranzuziehen. Da es fünf verschiedene Tests gibt, könnte jeder erfüllte Test mit einem speziellen Icon oder Muster dargestellt werden. Jedoch kann es geschehen, dass für ein Wort mehrere, wenn nicht sogar alle Tests positiv ausfallen. Und diese Testergebnisse durch fünf verschiedene Icons bzw. Muster in einem Objekt begrenzter Größe zu kodieren, wäre für den Anwender viel zu verwirrend, da er die möglichen Kombinationen überhaupt nicht mehr auseinander halten kann und keine intuitiven Rückschlüsse über die Worteigenschaften erhält. Abbildung 5.8.: 5-stufige-Farbreihe Eine effektivere Möglichkeit der Kodierung ist die Verwendung eines Farbschemas in fünf unterschiedlichen Rot-Abstufungen. Auf diese Weise greift das Prinzip der Ähnlichkeit und es ist weiterhin eine klare Unterscheidung zu den Wort-Kugeln ohne Gewicht bzw. ohne spamspezifische Merkmale möglich. Ebenso können Rückschlüsse über die Eigenschaften des Typenvektors gewonnen werden. Jedoch ist es auch nicht effektiv, mehrere oder sogar alle fünf möglichen Rot-Töne einer Kugel zuzuweisen um zu zeigen, welcher Test positiv war. Aus diesem Grund wird hier der Ansatz einer additiven Rot-Färbung verfolgt. Bei einem erfüllten Test wird der schwächste Rot-Ton aus der Farbreihe gewählt, bei zweien der nächstfolgende und bei fünf erfüllten Tests wird der dunkelste Rot-Ton verwendet. Dies bedeutet, dass man pro erfülltem Test eine Stufe in der Farbreihe weitergeht. Auf diese Weise erhält man Rückschlüsse darüber, wieviele Tests erfüllt waren, aber nicht genau welche. Aus diesem 132

151 5.3. KONZEPT VISUALISIERUNG Grund ist auch eine Detail-Ansicht notwendig, die hier nähere Informationen zur Verfügung stellt. (a) Einfarbige Darstellung (b) Differenzierte Darstellung Abbildung 5.9.: Farb-Kodierung der spamspezifischen Merkmale Wie man aus einem Vergleich der Abbildungen und entnehmen kann, spiegelt die Kodierung mittels Farbe die Eigenschaften der Wörter besser wieder und es ist auch eine Unterscheidung hinsichtlich der erfüllten Tests möglich. Interessant in der Abbildung (b) ist auch, dass der erste und dritte Kugelstrang fast identisch aussehen, sowohl in der Form, der Farbgebung als auch in der Länge. Dies könnte darauf hindeuten, dass es sich um die gleichen s handelt, aber in leicht abgewandelter Form. Beispielsweise könnte der Betreff anders lauten oder eine andere Anrede verwendet worden sein. In solch einem Fall wäre das Vorhandensein einer Sortierfunktion für den Anwender wünschenswert, die nach der geometrischen Länge des Vektors sortiert. An dieser Stelle ist nochmals hervorzuheben, dass es sich um einen standardisierten Merkmalsvektor handelt, d.h. alle Vektoren haben die gleiche Dimension. Die unterschiedlichen geometrischen Längen in der Visualisierung ergeben sich anhand der Gewichte der einzelnen Wörter, die den Radius der Kugel bestimmen und damit auch die Länge des Kugelstrangs. Mittels der Sortierfunktion würden gleich lange Kugelstränge dann in unmittelbarer Nachbarschaft landen und es kann ein visueller Vergleich durchgeführt werden. Tritt das eben beschriebene Muster in einer großen Zahl auf, könnte es sich eventuell um einen -Massenversand handeln. Der Administrator wäre dann in der Lage den Absender der s zu ermitteln und ggf. dessen IP-Adresse auf die lokale Blacklist setzen. 133

152 5. KONZEPT Diese Ansicht der Merkmalsvektoren gibt einen guten Überblick über die Worteigenschaften. Jedoch kann es notwendig sein, sich die genauen Ergebnisse der spamspezifischen Tests anzusehen. Enthält ein Kugelstrang beispielsweise sehr viele hellrote Kugeln, könnte es sich um eine mit vielen Spam- Charakteristika handeln, jedoch aber auch um eine mit viele orthografischen Fehlern. Um hier nähere Informationen zu erlangen, ist eine Detailansicht notwendig. Diese Ansicht könnte damit kombiniert werden, dass der gesamte Text der berücksichtigt wird um auf diese Weise noch Rückschlüsse darüber gezogen werden können, ob Dummy-Texte eingefügt worden sind. Um dies zu erkennen, muss die Reihenfolge der Wörter berücksichtigt werden, was im standardisierten Merkmalsvektor nicht der Fall ist. Er ist unvollständig und auch die ursprüngliche Reihenfolge der Wörter besteht nicht mehr Compact Mode Die Motivation für eine weitere Ansicht in der Visualisierung haben wir bereits angesprochen. Vereinfacht gesagt sollen Elemente, die im Global Mode die Aufmerksamkeit des Anwenders geweckt haben, in einer Detail-Ansicht noch näher betrachtet werden können. Dies setzt voraus, dass auch die einzelnen Dimensionen des Typenvektors detailliert aufgeschlüsselt werden. Im so genannten Compact Mode wird nun nicht nur jedes Wort geometrisch repräsentiert, sondern auch die einzelnen Dimensionen des Typenvektors. Dabei muss die Zuordnung zum Wort deutlich bestehen bleiben. Um diese Vater-Kinder- Beziehung zu repräsentieren, eignet sich eine hierarchischen Darstellung. Dabei können noch die höheren Ebenen in Form der , des Postfaches und des Mailservers einbezogen werden. Eventuell könnte man auch eine weitere zusätzliche Kategorie-Ebene in die Hierarchie aufnehmen. Diese Idee ist in Abbildung 5.11 veranschaulicht. Die Anzahl der Elemente in der untersten Hierarchie-Ebene wird immens groß sein, so dass zur Visualisierung eine Technik benötigt wird, die in der Lage ist tausende von Wörtern in platzsparender Form darzustellen. Hier eignet sich hervorragend eine Treemap, die auch den Vorteil aufweist, dass die Elemente in den Blättern hinsichtlich der Größe und Farbe nochmals besonders kodiert werden können. Unter dem Aspekt der möglichen kompakten Darstellung kann an dieser Stelle auch der von der Engine generierte -Vektor für eine Visualisierung in Betracht gezogen werden. Zur Erinnerung: Dieser Vektor enthält alle Wörter der in der Reihenfolge, wie sie in der Nachricht vorkamen. Zu jedem 134

153 5.3. KONZEPT VISUALISIERUNG Abbildung 5.10.: Hierarchie als Baum Wort gibt es einen Eintrag, ob es sich um ein Stoppwort handelt oder - falls nicht - ist der entsprechende Typenvektor hinterlegt. Abbildung 5.11.: Hierarchie als Treemap Farbliche Kodierung in der Treemap Möchten wir nun die Blätter in der Treemap farblich gestalten und die anwendungsspezifischen Merkmale einbeziehen, gibt es auch hier verschiedene Aspekte zu beachten. Im Gegensatz zum Merkmalsvektor können im - Vektor nun auch Stoppwörter vorkommen. Zusätzlich dazu können Wörter enthalten sein, die keine spamspezifische Eigenschaft besitzen (der Typenvektor besteht nur aus Nullen) oder Wörter mit einer spamspezifischen Eigenschaft, wo der Typenvektor mindestens eine 1 enthält. 135

154 5. KONZEPT Auch hier kann wieder eine kategorische Einteilung vorgenommen werden. Die Farbauswahl sollte analog zum Global Mode erfolgen, d.h. Wörtern mit einem Typenvektor wird ein ähnlicher Farbton zugeordnet wie einem gewichteten Wort im Kugelstrang, damit die Ansicht für den Anwender konsistent bleibt. Die Stoppwörter sollten jedoch nicht grau gefärbt werden, da dies sonst fälschlicherweise einen Zusammenhang mit den grauen Elementen im Merkmalstrang assoziieren würde. Es wäre aber auch hier eine neutrale, unauffällige Farbe ratsam um die Stoppwörter der Aufmerksamkeit des Anwenders zu entziehen, da sie an sich nicht wirklich relevant sind. Der wichtige Unterschied zur Darstellung im Global Mode ist, dass die 5 Dimensionen des Typenvektors nun einzeln als eigene Rechteckflächen in der Treemap abgebildet werden und auf diese Weise eine ganz individuelle Einfärbung möglich ist. Die Farbgebung soll in Abhängigkeit der Eigenschaft nun folgendermaßen stattfinden: Wort = Stoppwort alle zugehörigen Rechteckflächen erhalten eine einheitliche, unauffällige, blasse Färbung (z.b. sehr helles blau) Wort Stoppwort & Typenvektor = (0,0,0,0,0) alle zugehörigen Rechteckflächen erhalten eine einheitliche blaue Färbung analog zum Global Mode Wort Stoppwort & Typenvektor (0,0,0,0,0) alle zugehörigen Rechteckflächen erhalten eine rote Färbung gemäß eines Farbschemas Im ersten Moment könnte der Eindruck entstehen, dass durch die erneute Verwendung von Rot-Abstufungen kein weiterer Detailgrad erreicht wird. Das Problem ist jedoch, dass man generell die Positionen in den Typenvektoren berücksichtigen muss, die den Wert 0 haben. Würde man den korrespondierenden Feldern in der Treemap eine ganz andere Farbe zuweisen und herauszoomen, könnte sich die Eigenschaft eines Wortes verfälschen. Es wäre nicht mehr erkennbar, dass das Wort einen Spam-Charakter hat und einer Mustererkennung nicht mehr dienlich sein. Im Zuge des Prinzips der Ähnlichkeit soll diesbezüglich eine 6-stufige-Farbreihe in Rot-Tönen verwendet werden. Sobald im Typenvektor mindestens eine 1 erscheint, werden alle zu diesem Vektor gehörenden Felder, die eine 0 repräsentieren mit dem stärksten Rot-Ton eingefärbt. Jedes Feld, das für einen positiven Test steht, erhält ein anderes korrespondierendes Rot aus dem Farbschema. Damit bleibt der Spam-Charakter des Wortes 136

155 5.3. KONZEPT VISUALISIERUNG erhalten, auch wenn nur ein Merkmal zutrifft und eine grobe Unterscheidung ermöglicht. Durch eine Filterfunktion kann der Anwender interaktiv die Merkmale, die für einen positiven Test stehen, noch auf andere Weise hervorheben. Dazu soll ein weiteres 5-stufiges-Farbschema eingesetzt werden, welches jeder Dimension des Typenvektors eine möglichst konträre Farbe zuordnet, beispielsweise gelb, grün, orange, violett und schwarz. Die ideale Farbgebung für die Treemap-Blätter wird sich wohl erst während der Implementierung bzw. der Testphase danach erweisen. Jedoch sollte unbedingt darauf geachtet werden dass bei der Darstellung aus einem entfernten Blickwinkel ein möglichst guter Kontrast vorhanden um die Mustersuche zu begünstigen. Ebenso sollten die Rechtecksgrenzen gut zu erkennen sein, um noch die Grenzen zwischen den einzelnen Postfächern, Mails und Wörtern erkennen zu können. Größenkodierung in der Treemap Bezüglich der Größenkodierung der einzelnen Blätter können noch verschiedene Ansätze gewählt werden. Zum einen wäre es möglich, alle Blätter mit einem einheitlichen Gewicht zu versehen, so dass auch alle zugeordneten Rechteckflächen über die gleiche Größe verfügen und somit auch jedes Wort in der Hierarchie den gleichen Platz in der Treemap erhält. Zum anderen könnte man aber noch überlegen, ob das Gewicht eines Wortes Berücksichtigung finden soll, um die Bedeutung im Merkmalsvektor hervorzuheben. Sollte in der Treemap tatsächlich eine visualisiert werden, die das Dummy-Charakteristika erfüllt, könnte man dies wahrscheinlich daran erkennen, dass bestimmte Bereiche innerhalb einer -Rechteckfläche komplett Spam- Charakter frei sind, während andere Bereiche der gleichen Fläche sehr viele Rot-Töne aufweisen. Wird ein Treemap-Layout-Algorithmus gewählt, der die Reihenfolge der Elemente berücksichtigt, werden die Wörter des - Vektors auch unmittelbar nebeneinander in der Treemap platziert, so dass hierbei die Reihenfolge erhalten bleibt Interaktionstechniken Dem Anwender stehen dem Global und dem Compact Mode zwei verschiedene Sichten zur Verfügung, zwischen denen er beliebig wechseln kann. Auf diese 137

156 5. KONZEPT Weise können die gleichen Daten nach unterschiedlichen Schwerpunkten betrachtet werden. Jedoch ist zu einer umfassenden Exploration der Daten notwendig, dem Anwender noch weitere Interaktionstechniken zur Verfügung zu stellen. Einige davon haben wir in den vorigen Abschnitten bereits schon erwähnt, greifen diese aber an dieser Stelle nochmals vertiefend auf. Zooming und Panning In den beiden genannten Sichten liegen die Daten zuerst in einer komprimierten Überblick-Darstellung vor. Von hier aus soll der Anwender durch eine Zoomfunktionalität die Möglichkeit haben, die Bereiche seines Interesses näher zu untersuchen. Geplant ist ein geometrischer Zoom, bei dem alle Informationen außerhalb des gezoomten Bereichs einfach ausgeblendet werden, ohne dass der Detailgrad erhöht wird. Um nach einem Zoomvorgang die weggezoomten Randbereiche in der gleichen Auflösung sehen zu können, wird zusätzlich zur Zooming- auch eine Panning-Funktionalität vorhanden sein. Filterung Die visualisierte Datenmenge wird sehr groß sein, was eine enorme Anzahl an Kugelsträngen und Blättern in der Treemap zur Folge hat. Um dem Anwender die Exploration der Daten zu erleichtern, sollen Filterfunktionen implementiert werden, mit deren Hilfe der Anwender bestimmte Informationen entweder ausblenden oder auch hervorheben kann. Im Global Mode soll eine Filterung nach verwaltungsspezifischen Informationen wie der Absender-IP-Adresse, dem Spam-Wert, der Kategorie oder dem Datum möglich sein. Nicht interessierende Bereiche werden dann ausgeblendet und die Datenmenge reduziert. Im Compact Mode bietet es sich an eine Filterung hinsichtlich der spamspezifischen Merkmale anzubieten. Diese werden bei Auswahl durch den Filter jedoch nicht entfernt, sondern farblich hervorgehoben, so dass eine differenzierte Betrachtung der Typenvektoren möglich ist. Sortierung Eine Sortierfunktion wäre sehr wünschenswert, besonders hinsichtlich der Länge der Merkmalssträge im Global Mode. Die Gründe dafür haben wir bereits in einem früheren Abschnitt angesprochen. Zusätzlich dazu wäre es auch hilfreich, wenn man nach IP-Adresse und Kategorien sortieren könnte, um die visualisierten Daten vergleichen zu können. Details-On-Demand 138

157 5.3. KONZEPT VISUALISIERUNG Neben den Interaktionsmöglichkeiten soll der Anwender bei Bedarf noch zusätzliche Informationen abrufen können. In der globalen Ansicht sollen dazu die verwaltungsspezifischen Informationen in Form eines Tooltips eingeblendet werden, sobald der Anwender mit der Maus über einen Merkmalsstrang hovert. In der kompakten Ansicht wird dies in einer ähnlichen Form praktiziert, und im Zuge des Hoverns über einen Blattknoten die Parameter der direkten Vorfahren eingeblendet. DazAufgrund der besseren Platzausnutzung der Treemap wird hier am unteren Bildschirmrand mehr Platz zur Verfügung stehen, wo diese Informationen eingeblendet werden können Layout In diesem Abschnitt wird das Konzept für die grafische Benutzeroberfläche vorgestellt. Je nach dem, ob ein Administrator oder User die Anwendung startet, weicht das Layout in einigen wenigen Punkten voneinander ab. Login-Maske Nach dem Start der Visualisierung wird zuerst eine Anmeldemaske auf dem Bildschirm erscheinen, welche die Eingabe des Benutzernamens und Passwortes des Anwenders zur Anmeldung am Mailserver verlangt. Je nach Rolle - ob Administrator oder normaler User - wird nun die Visualisierung gestartet. Der Administrator wird eine Gesamtübersicht über alle Konten erhalten. Somit steht ihm auch in der Treemap eine weitere Hierarchie-Ebene zur Verfügung. Zu beachten an dieser Stelle ist, dass er keine Kenntnis über -Inhalte erlangen darf, d.h. bei Anzeige von Zusatzinformationen muss hier die vorletzte Ebene des Baumes ausgelassen werden, denn hier werden normalerweise die einzelnen Wörter aufgeführt. Meldet sich der User an, erhält er eine Einzelübersicht über sein eigenes Konto. Hier gelten eben genannte Beschränkungen nicht. Sichten Jedem Anwender stehen mit dem Global Mode und dem Compact Mode zwei verschiedene Sichten zur Verfügung. Diese sollen in Form einer Splitscreen auf dem Bildschirm zu sehen sein. Der Anwender kann bei Bedarf jede der Sichten über den ganzen Bildschirm strecken, was besonders hinsichtlich der Darstellung der Kugelstränge notwendig sein wird. Unter diesem Aspekt wäre es sinnvoll, bei Auswahl eines der Stränge automatisch in den entsprechenden Bereich der Treemap wechseln zu können. 139

158 5. KONZEPT Es wäre vorstellbar für die User-Ansicht ein zusätzliches Pop-Up-Fenster anzubieten, welches den gesamten Inhalt der aufzeigt. Auf diese Weise könnte der User die Nachricht direkt mit der äquivalenten Darstellung in der kompakten oder auch globalen Ansicht vergleichen. Nur muss dabei der zusätzlich benötigte Platz für das zusätzliche Fenster berücksichtigt werden und es stellt sich die Frage, ob die durch die Verdeckungen des Fensters übriggebliebenen Informationen ausreichen, um den Vergleich anzustellen. Steuerlemente Die Sichten werden mittig im Bildschirm aufgeführt. Am oberen Rand können dann die entsprechenden Steuerelemente für die Filter- und Sortier-Funktionen positioniert werden. Am rechten und am unteren Bildschirmrand des Global Mode werden noch Scroll-Leisten zu finden sein, um schneller weit außerhalb des Bildschirms liegende Bereiche zu erreichen. Da die Merkmalsvektoren unter Umständen sehr lang werden können, wäre eine Panning-Funktion nicht ausreichend um die Bereiche außerhalb des Bildschirms schnell aufsuchen zu können Schnittstelle zur Engine Der Austausch der Daten zwischen Engine und Visualiserungskomponente soll größtenteils über eine Datenbank erfolgen, die sowohl die verwaltungs- als auch spamspezifischen Informationen in Form der Vektoren dauerhaft speichert. Zusätzlich dazu würde es sich aber auch anbieten, das bereits angesprochene TreeML als Schnittstelle zu verwenden. Mit Hilfe dieses XML-basierten Formates kann direkt die hierarchische Struktur des Mailservers mit den darunterliegenden Ebenen bereitgesellt werden und die Visualisierung einfach nur darauf aufsetzen. Zusammenfassend kann man sagen, dass das Konzept eine statische Visualisierung in 2D vorsieht -statisch in dem Sinne, dass sich die dargestellten Informationen nicht dynamisch im Lauf der Zeit verändern. Trotzdem hat der Anwender viele verschiedene Möglichkeiten um interaktiv in die Visualisierung einzugreifen und Bereiches seines Interesses näher zu untersuchen und so möglicherweise Muster zu entdecken, die ihm nähere Informationen darüber geben, ob es sich um Spam handelt oder eher nicht. 140

159 Kapitel 6 Implementierung In diesem Kapitel wird die Visualisierung der SpamVis-Software beschrieben. Im ersten Teil gehen wir auf die Implementierung der Engine ein und beschreiben hierbei detailliert die Vorgehensweise des Abrufs und der Analyse der E- Mails. Danach betrachten wir den Abruf der analysierten Daten sowie die Realisierung der Visualisierung, und schließen dieses Kapitel dann mit einem kurzen Überblick über die Probleme ab, die sich während der Implementierung ergeben haben. 6.1 Die Engine In Bezug auf die Implementierung der Engine haben wir uns für die plattformübergreifende Skriptsprache php 1 entschieden. Normalerweise wird diese eher zur Erstellung von dynamischen Webseiten oder Webanwendungen verwendet, jedoch bietet sie einige Vorteile in Bezug auf die Ziele dieser Diplomarbeit, auch wenn es sich bei SpamVis nicht um eine Webanwendung handelt. Neben einer Datenbankunterstützung bietet php weiterhin zahlreiche Funktionsbibliotheken. Besonders der Funktionsumfang hinsichtlich der Kommunikation mit POP3-Servern, die Möglichkeiten der Manipulation von Arrays, Strings und auch die Anwendung regulärer Ausdrücke klangen vielversprechend und haben sich auch als äußerst hilfreich erwiesen. Als Mail-Server wird Mercury eingesetzt. Er wurde zwar ursprünglich für den Einsatz mit dem Client Pegasus Mail entworfen, aufgrund der Konformität zu bestehenden Internet-Standards kann er aber auch problemlos als Server für beliebige Mail-Clients dienen.er unterstützt SMTP und POP3 sowohl als 1 Abkürzung für PHP Hypertext Preprocessor

160 6. IMPLEMENTIERUNG Server und auch als Client, d.h. er kann -Nachrichten lokal verteilen und auch Nachrichten von mehreren Mail-Accounts abholen. Ausgangsbasis für das Füllen der Mailverzeichnisse sind die von der GDV-Professur erhaltenen Grauzonen- s. Für diese werden statisch Postfächer in Mercury angelegt und mit den entsprechenden s gefüllt. Weiterhin besteht durch die Client-Funktion Mercurys noch die Möglichkeit, dass von extern weitere E- Mails in die Testumgebung einspeist werden, die sich von den Grauzonen-Mails unterscheiden. Mittels des php-skriptes wird eine Verbindung zum Mail-Server aufgebaut. Nach Abruf der s, Analyse und Aufbereitung der Daten werden die Ergebnisse dann permanent in einer Datenbank gespeichert. Für die Datenhaltung wird eine MySQL-Datenbank eingesetzt. Die Administration der Datenbank zu Beginn der Implementierung erfolgte mit phpmyadmin, einer freien PHP-Applikation, die eine browsergestützte Administration von MySQL- Datenbanken erlaubt. Im Verlauf des Analyseprozesses wird der Zugriff der Engine auf die Datenbank dank der Datenbankunterstützung von php per SQL (Structured Query Language) erfolgen. Das entworfene Datenbankmodell wird noch in Abschnitt detaillierter vorgestellt. Abbildung 6.1.: Aufbau des Testsystems unter Verwendung von XAMPP Im Zuge der Entwicklung des SpamVis-Prototypen hat es sich angeboten, XAMPP als kompaktes Testsystem zu verwenden. Es handelt sich hierbei um eine kostenlose Zusammenstellung freier Software, die unter der GNU General Public License erschienen ist, und als Pakete unter anderem PHP, MySQL, php- MyAdmin und auch Mercury enthält. 2. XAMPP ist sowohl für Windows, Linux, Solaris als auch Mac OS X erhältlich. Die Unterstützung dieser verschiedenen 2 Weitere nützliche Pakete sind zum Beispiel Apache, Perl, Webalizer, Filezilla FTP Server, SQlite, Open SSL u.v.m. Nähere Informationen dazu sind unter de/xampp.html zu finden 142

161 6.1. DIE ENGINE Betriebssysteme spiegelt sich auch in der Namensgebung von XAMPP in Form des X wider. XAMPP ist eigentlich nicht für den Einsatz als Produktivsystem gedacht, beispielsweise als öffentlicher Web-Server, bietet als Testsystem in unserem Sinne aber sehr gute Dienste Klassenbeschreibungen Wie im Konzept bereits beschrieben, besteht die Engine aus verschiedenen Modulen. In diesem Unterkapitel möchten wir nun gezielter auf die Implementierung eingehen und betrachten die wichtigsten Klassen und deren Funktionen. Klasse: SpamVis SpamVis ist die Hauptklasse der Engine, die den gesamten Prozess von der Datenbeschaffung über die Datenbereinigung, -analyse, -gewichtung und Klassifikation steuert und zur Durchführung der Aufgaben die anderen Klassen ansteuert. Im Folgenden wird der Ablauf in diesem Prozess nochmals beschrieben und im Anschluss die Funktions der anderen Klassen vorgestellt. Nachdem über den Grabber eine Verbindung zur Mailbox aufgebaut und die Nachrichten abgerufen worden sind, findet die Überprüfung statt, ob eine E- Mail nicht bereits schon bearbeitet worden ist. Für jede bereits behandelte wird in der Datenbank ein Flagstring eingetragen, der sich aus der Message-ID der Nachricht und der zugehörigen User-ID zusammensetzt. Zu Beginn des Analyseprozesses werden alle Flagstrings über den dbconnector in ein temporäres Array geladen. Danach wird über den grabber und den Extractor der aktuelle Flagstring gebildet und mit den Strings im Flag-Array verglichen. Nur wenn die entsprechende noch nicht bearbeitet wurde, also im Flag-Array nicht enthalten ist, wird der komplette Analyseprozess auch tatsächlich durchlaufen. Über den Extractor werden im Zuge des Information Extractions spezifische Verwaltungsinformationen aus dem Header der extrahiert und in der Datenbank gespeichert. Dazu gehören unter anderem die Absender-IP-Adresse, der von Spam-Assassin vergebene Spamwert oder auch das Datum der . Diese Informationen sind im späteren Verlauf der Implementierung für die Visualisierung relevant. In einem zweiten Schritt wird über den Extractor auch der Body der -Nachricht extrahiert. Bevor die Bereinigung des Bodys beginnt, zählt der Analyzer erst einmal die im 143

162 6. IMPLEMENTIERUNG Plain- und HTML-Text enthaltenen Wörter und sucht nach großgeschriebenen Wörtern. Im Anschluss kommt der Formatter zum Einsatz. Mittels der darin enthaltenen Funktionen wird der Text formatiert (z.b. UTF-8-Konvertierung, Entfernen von HTML-Tags, Kleinschreibung, Umlaute entfernen etc.). Die Bereinigung ist nun fast abgeschlossen - bevor jedoch die Entfernung der Stoppwörter erfolgt, wird der Text der Nachricht in einem separaten -Vektor gespeichert, da dieser alle im Text beinhalteten Wörter benötigt. In einem Zwischenschritt werden dabei an dieser Stelle vorkommende Sonderzeichen entfernt. Über den Analyzer beginnt nun der eigentliche Analyseprozess bezüglich des Nachrichteninhalts. Neben der Überprüfung auf verschleierte Inhalte findet ebenfalls eine Suche nach spamspezifischen Wörtern sowie Wortkombinationen statt. Alle Ergebnisse diesbezüglich werden in separaten, temporären Arrays gespeichert, um später wieder darauf zugreifen zu können. Im Anschluss an die Inhaltsanalyse werden noch überflüssige Sonderzeichen wie Kommas, Punkte etc. entfernt, so dass letztendlich nur noch echter Text übrig bleibt. Mit Hilfe der Klasse de_stemmer kann dann noch eine Wortstammreduzierung durchgeführt werden. Bis jetzt ist der Nachrichteninhalt in Form eines Strings verarbeitet worden. Mit der nun folgenden Gewichtungs- und Klassifikationsphase wird der Text jedoch in eine Array- bzw. Vektordarstellung überführt. Der Gewichtungsvorgang findet in zwei nacheinander folgenden Schritten statt: Zuerst bestimmt der Analyzer für jedes Wort die relative Häufigkeit und im Anschluss erfolgt über den Weighter die zusätzliche Gewichtung anwendungsspezifischer Merkmale. Nachdem nun der Text in Form eines Merkmalsvektors vorliegt und für jedes Wort das entsprechende Gewicht feststeht, findet über den Weighter eine Merkmalsreduktion statt. Wörter, deren Gewicht unter einem bestimmten Schwellenwert liegen, werden entfernt, so dass nach diesem Durchlauf ein reduzierter Merkmalsvektor vorliegt, welcher dann durch den Classificator klassifiziert wird. Zusätzlich zum Merkmalsvektor wurde im Verlauf der Analyse der Feature- Vektor erstellt. Dieser enthält die für jedes Wort zutreffenden spamspezifischen Merkmale in Form des Typenvektors. Mittels der darin enthaltenen Informationen wird zum Schluss noch der -Vektor editiert, d.h. auch hier werden für jedes Wort die zugehörigen Typenvektoren hinterlegt oder vermerkt, dass es sich um ein Stoppwort handelt. 144

163 6.1. DIE ENGINE Analyzer 1b 1b:Abgerufene s Grabber 2: Abgerufene s 22: Array VeiledWords, Spamwords,WCombis Body ohne Sonderzeichen Merkmalsvektor 1 18: Vektor 14: BigWords Array 9:Anzahl der Wörter 9,14, 18,22 8,13, 17,21 20: Body ohne Stoppwörter 17: Body ohne Umlaute 13: Body ohne URLs 8:Extrahierter Body 10:Extrahierter Body 5:Extrahierte Headerinfos 5,10 dbconnector 2 19: Body ohne Umlaute 15: Body ohne URLs 15,19 Formatter 16,20 SpamVis 6:Abgerufene s 3:Abgerufene s 4,7,12 3,6,11 Extraktor 16: Body ohne Umlaute 20: Body ohne Stoppwörter 26:Klassifizierter Merkmalsvektor Classificator : reduzierter gewichteter reduzierte Merkmals-/ Feature- Vektor 25: reduzierter gewichteter Merkmals- / Feature-Vektor 4:Extrahierte Headerinfos 7:Extrahierter Body 11:Extrahierter Body 12: Body ohne URLs 23 Weighter 23:Merkmalsvektor Abbildung 6.2.: Darstellung des Datenflusses zwischen den Engine-Modulen 145

164 6. IMPLEMENTIERUNG Nachdem der Analyseprozess nun vollständig durchlaufen wurde, werden über den dbconnector die Vektoren, Wortzahlen und weitere Hilfsinformationen in die Datenbank aufgenommen und der Flagstring gesetzt. Da im Zuge der Klassifikation der Standardvektor und die auch die Menge der bereits klassifizierten Vektoren verändert wurden, müssen diese Daten ebenfalls noch aktualisiert und permanent gesichert werden. Klasse: Grabber Mittels der Klasse Grabber wird eine Verbindung zum Mailserver-Postfach hergestellt und der Abruf der Nachrichten durchgeführt. Maßgeblich dazu ist der Befehl imap_open(), über den man neben IMAP- auch POP3- und NNTP 3 - Verbindungen aufbauen kann. Als Parameter ist neben dem Benutzernamen und dem dazugehörigen Kennwort auch die Angabe des Postfaches notwendig. Dieser Postfachname besteht aus der Angabe des Servers (entweder in Form des Namens oder auch der IP-Adresse) und dem Pfad zum Postfach auf diesem Server, wobei optional noch eine Portnummer sowie das Protokoll angegeben werden kann. Die Anmelde-Parameter wurden von uns während der Implementierungsphase statisch hinterlegt. In der lauffähigen Variante von SpamVis werden diese jedoch vom Benutzer selbst an einer graphischen Benutzeroberfläche eingetragen und an das PHP-Skript übergeben. Näheres zur Anmeldung des Nutzers an der GUI findet sich im Abschnitt der Visualisierung. Bei einem erfolgreichen Zugriff auf das Postfach gibt Grabber an SpamVis einen IMAP-Stream zurück sowie die die Anzahl der Nachrichten und den verwendeten Usernamen. Klasse: Extractor Die Klasse extractor hat die Aufgabe, relevante Parts aus der zu extrahieren. Bei der Extraktion von Header-Informationen kann man zwischen zwei unterschiedlichen Vorgehensweisen unterscheiden - einmal die Anwendung von (in php vordefinierten) IMAP-Funktionen oder auch die Anwendung regulärer Ausdrücke. 3 NNTP steht für Network News Transfer Protocol und ist ein Übertragungsprotokoll für Nachrichten in Newsgroups 146

165 6.1. DIE ENGINE IMAP-Funktionen: An dieser Stelle sind die Funktionen imap_fetchheader() und imap_headerinfo() hervorzuheben. Mit letzterem Befehl werden die Kopfdaten einer Nachricht ausgelesen und als Ergebnis in einem Objekt mit einer Vielzahl von Eigenschaften zurückgegeben, auf die man dann einzeln leicht Zugriff enthält. Ein Auszug möglicher Rückgabewerte ist Tabelle 6.1 zu entnehmen, die jedoch aus Platzgründen unvollständig ist. toaddress to fromaddress ccaddress bccaddress reply_toaddress senderaddresss return_pathaddress date subject size Inhalt des To: -Felds ein Array mit einzelnen Empfängern aus dem To: -Feld Inhalt des From: -Felds Inhalt des CC: -Felds Inhalt des BCC: -Felds Inhalt des Reply-To: -Felds Inhalt des Sender: -Felds Inhalt des Return-Path: -Felds Sendedatum der Nachricht laut Kopfdaten die Betreffzeile der Nachricht Größe der Nachricht in Bytes Tabelle 6.1.: Auszug über Rückgabewerte bei Anwendung des imap_headerinfo- Befehls Reguläre Ausdrücke: Wie man der Tabelle 6.1 entnehmen kann, gibt es eine Vielzahl vordefinierter Rückgabewerte. Jedoch zeigt sich, dass beispielsweise Informationen bezüglich des Spam-Wertes der oder auch die IP-Adresse des Absenders dort nicht direkt aufgeführt sind. Um diese Informationen zu extrahieren wird in den Funktionen getspamscore() und getip() mittels regulären Ausdrücken eine Suche nach Übereinstimmungen durchgeführt. Abbildung 6.3 zeigt beispielhaft, wie man mit dem Befehl preg_match_all() den Header einer durchsucht und Elemente, die mit dem Suchmuster in den Anführungszeichen übereinstimmen, in einem separaten, mehrdimensionalen Treffer-Array namens matches ablegt. Normalerweise wird bei einer gefundenen Übereinstimmung die Suche jeweils am Ende der letzten Übereinstimmung fortgesetzt, aber im Falle der Absender-IP oder des Spam-Wertes gibt es nur ein einziges Ergebnis. 147

166 6. IMPLEMENTIERUNG Abbildung 6.3.: Regulärer Ausdruck zum Extrahieren des Spamscores Neben den Header-Informationen ist der Extractor auch dafür verantwortlich, den Body einer -Nachricht zu extrahieren. Der Befehl imap_body() liefert eine 1:1 Kopie des gesamten Nachrichtenkörpers in Form eines Strings zurück. Setzt sich eine Nachricht jedoch aus mehreren Teilen zusammen (beispielsweise aus HTML-Text und Anhängen), die ggf. auch noch kodiert sind, dann handelt es sich um eine Multipart-Nachricht. In diesem Falle muss man zunächst die Struktur der Nachricht mit imap_fetchstructure() ermitteln, um anschließend die einzelnen Komponenten mit imap_fetchbody() anzufordern. In dieser Klasse werden zwei global definierte Strings erstellt - einer für Plainund einer für HTML-Text. Diese Strings werden nun zusammen mit dem Betreff im Verlauf des Analyseprozesses weiterverarbeitet. Zusätzlich gibt es auch die Funktion extracturls(), die mittels regulärer Ausdrücke eventuell vorhandene URLs aus dem Body extrahiert. Diese werden nun in der Datenbank gespeichert, aber nicht für die weitere Analyse herangezogen. Klasse: Formatter Die Klasse Formatter enthält eine Vielzahl an Funktionen, die zur Bereinigung des Bodys dienen. Sowohl für den Plain-Text als auch den HTML-Text wird eine UTF-8-Umwandlung durchgeführt. Erneut wird durch Anwendung eines Regulären Ausdrucks nach spezifischen Zeichen gesucht, in diesem Falle nach Umlauten, und gleichzeitig eine Ersetzung durchgeführt. Dies ist in Abbildung 6.4 veranschaulicht. Abbildung 6.4.: Regulärer Ausdruck zum Finden und Ersetzen von Umlauten Augenmerk gilt auch der Formatierung des HTML-Textes. An dieser Stelle werden nicht nur HTML-Tags sondern auch unsichtbarer Inhalt entfernt und Zeilenumbrüche vor sowie nach Blockelementen eingefügt. Weiterhin erfolgt in dieser Klasse die Anwendung einer Stoppwortliste. Um 148

167 6.1. DIE ENGINE diese zu laden wird eine weitere Hilfsklasse namens FileToArray eingebunden. Per getfile() wird der Inhalt einer zu ladenden txt.datei in ein Array konvertiert, mit dem nun weiter gearbeitet werden kann. Neben den Formatierungsmaßnahmen, die sich auf den zu untersuchenden Text beziehen, bietet der Extractor mit der Funktion converttoarray() die Möglichkeit, Array-Elemente zu einem String zu konvertieren. Dies wird in Bezug auf den Merkmals-, und Feature-Vektor hilfreich sein, um diese später in die Datenbank einzutragen. Ebenso können aus dem -Vektor wieder die einzelnen Wörter bzw. Typeninformationen extrahiert werden. Klasse: Analyzer Die Klasse Analyzer dient dazu, die eigentlichen Analyse-Aufgaben durchzuführen. Dazu gehört in erster Linie die Zählung der im Text enthaltenen Wörter - einmal vor und nach der Bereinigung des Bodys - was dann auch als Grundlage verwendet wird, um die relative Häufigkeit der Wörter zu bestimmen. Die Genauigkeit ist hierbei auf 8 Nachkommastellen festgelegt. Weiterhin hat der Analyzer die Aufgabe, anhand regulärer Ausdrücke nach anwendungsspezifischen Merkmalen zu suchen und die Ergebnisse in verschiedenen Arrays zu speichern. Neben der Suche nach großgeschriebenen Wörtern und dem Kürzel FW im Betreff gehört dazu auch die Suche nach spamspezifischen Wörtern und Wortkombinationen. Funktion countwords() finduppercase() findfwsubject() searchspamwords() + findregex() checkspamwords() checkwordcombinations() determinetermfrequency() + calculate_tf create vector() edit vector() Funktionweise Anzahl der Wörter bestimmen Suche nach großgeschriebenen Wörtern Suche nach Forwarded im Betreff Suche nach veschleierten Wörtern Suche nach typischen Spamwörtern Suche nach spezifischen Wortkombinationen Berechnung der Termfrequenz Vektor mit allen Wörtern der Nachricht erstellen Hinzufügen der Typenvektoren in den -Vektor Tabelle 6.2.: Auflistung der wichtigsten Funktionen im Analyzer Ebenso findet in dieser Klasse noch die Erstellung des -Vektors statt. Alle im Text enthaltenen Wörter werden hierbei in ein Array übertragen und in einem späteren, zweiten Schritt auch der Feature-Vektor vermerkt. Sofern ein Wort jedoch ein Stoppwort ist, befindet sich als Marker nur das Symbol s. 149

168 6. IMPLEMENTIERUNG Der -Vektor wird dann später die Ausgangsbasis für die Visualisierung der Treemap sein. Klasse: Weighter Die Klasse Weighter hat zur Aufgabe, die im Merkmalsvektor enthaltenen Wörter zusätzlich zu ihrer relativen Häufigkeit nach weiteren Kriterien zu gewichten. Eine Aufstellung dieser Kriterien findet sich in Tabelle 6.3. Test Funktion Bezeichnung 1 bigwords() großgeschriebene Wörter 2 veiledwords() verschleierte Wörter 3 spamwords() spamtypische Wörter 4 wordcombinations() Wortkombinationen 5 indictionary() Wörterbuchtest Tabelle 6.3.: Zusammenfassung der Gewichtungsfunktionen im Weighter Alle die in Tabelle 6.3 genannten Funktionen werden der Reihe nach durchlaufen. Im vorhergehenden Analyseprozess sind bereits temporäre Arrays 4 angelegt worden, in denen die auffällig gewordenen Wörter mit ihrer Anzahl gespeichert wurden. Diese Arrays werden nun mittels Array-Funktionen mit dem Merkmalsvektor gematcht und bei Übereinstimmung das Gewicht mit dem vorgegebenen Faktor erhöht. Um für die Visualisierung später zu speichern, welches Kriterium für ein Wort zutreffend war und welches nicht, wird in der gleichen Funktion der Feature-Vektor sukzessive aufgebaut. Abweichend von der Vorgehensweise zu den ersten 4 Prüfkriterien ist der Wörterbuchtest in Punkt 5. Hier wird getestet, ob das entsprechende Wort über den Wortschatz der Universität Leipzig 5 zu finden ist. Falls nein, wird auch hier das Gewicht um einen bestimmten Faktor erhöht und ein passender Eintrag im Feature-Vektor vorgenommen. Mehr Details zur Anbindung des Wortschatzes ist dem Abschnitt zu entnehmen. Neben der Gewichtung hat weighter noch die Funktion reduce(). Hier wird für jedes Wort im Merkmalsvektor überprüft, ob das zugehörige Gewicht einen bestimmten Schwellenwert überschreitet, und falls ja, wird das Gewicht gerundet (keine Nachkommastellen). Im endgültigen Merkmalsvektor werden nur 4 nur für Nr. 1-4 der Tabelle

169 6.1. DIE ENGINE die Wörter enthalten sein, die über dem Schwellenwert liegen und eine höhere Aussagekraft besitzen. Parallel zu dieser Reduzierung der Merkmale wird auch der reduzierte Feature-Vektor erstellt. Klasse: Classificator Die Klasse Classificator erfüllt zwei Teilaufgaben: Einmal die Überführung des zu klassifizierenden Merkmalsvektors in ein einheitliches Format, um dann im Anschluss die Klassifikation durchführen zu können. Dazu ist es bei Aufruf der Klasse notwendig, sowohl den Standardvektor als auch die bereits klassifizierten Vektoren aus externen Dateien zu laden: getstandardvector() Laden des Standardvektors, Array mit Nullen initialisiert getdata() Laden der bereits klassifizierten Trainingsvektoren Überführung in einheitliches Format: Um einen Merkmalsvektor klassifizieren zu können, muss er im gleichen Format wie die bereits schon klassifizierten Vektoren vorliegen. Durch Aufruf der Funktion createvector() wird nun eine Kopie des Standardvektors angefertigt, im Grunde eine Art Schablone, die nun mit den Wörtern und Werten des Merkmalsvektors sukzessive gefüllt wird. Findet sich jedoch in dem Merkmalsvektor ein Wort wieder, welches noch nicht im Standardvektor enthalten ist, muss als Zwischenschritt eine Normalisierung dieses Standardvektors sowie der bereits klassifizierten Vektorenmenge stattfinden: normalizestandardvector() Hinzufügen des neuen Wortes am Ende des Vektors mit Wert 0. normalizedata() Hinzufügen des neuen Wortes am Ende jedes Vektors mit Wert 0. Existiert das aktuell betrachtete Wort im Standardvektor bereits, wird einfach an der entsprechenden Position das zugehörige Gewicht eingetragen. Ansonsten wird am Ende des Vektors ein neuer Eintrag für das Wort mit seinem Gewicht hinzugefügt. Klassifikation: Mit der Funktion classify() wird der Merkmalsvektor, der nun im Format des Standardvektors vorliegt, klassifiziert. Ausgangsbasis sind die in Data vorliegenden, bereits klassifizierten Vektoren. Zu jedem in dieser Menge enthaltenen 151

170 6. IMPLEMENTIERUNG Vektor wird über calculatedistance() die Euklidische Distanz berechnet. Alle Ergebniswerte werden in einem separaten Array gespeichert und aufsteigend sortiert. Mittels getnearestneighbors() werden nun die k-nächsten Nachbarn bestimmt. Von diesen Nachbarn wird per getlabel() die am meisten vertretene Kategorie bestimmt und dann in dem zu klassifizierenden Vektor an Position [0] eingetragen. Diese Position ist eindeutig, da alle anderen Schlüsselwerte in dem Array Wörter sind. Klasse: de_stemmer Diese Klasse wurde nicht von uns implementiert, sondern hier setzen wir ein Stemmer-Modul aus dem Content-Management-System Drupal ein. 6 Der dort implementierte Stemmer-Algorithmus basiert auf der deutschen Variante vom Porter Stemmer. 7 Als Eingabe wird ein String benötigt, der nach Anwendung regulärer Ausdrücke die Wortstämme reduziert und einen modifizierten String an die aufrufende Klasse zurückgibt. Klasse: wortschatzleipzig Um im Zuge der Gewichtung den bereits angesprochenen Wörterbuchtest durchzuführen, wird ein Webservice des Projekt Deutscher Wortschatz der Universität Leipzig verwendet. Da die Schnittstelle SOAP standardisiert und offengelegt ist, kann man mit einer Vielzahl von Programmen auf die dort zur Verfügung gestellten Daten zugreifen - und somit in die eigene Anwendung einbinden. Nicolas Zimmer hat hierzu eine PHP-Bibliothek entwickelt, die unter anderem den Zugriff auf die Webservices Baseform, Frequencies, Sachgebiet, Similarity, Synonyms sowie Thesaurus erlaubt, und erklärt die Nutzung der Webservices in seinem Klassifikator Blog. 8 Ausgehend von dieser Bibliothek wird unser Wörterbuchtest durchgeführt, aber in leicht abgewandelter Weise. Unsere Klasse Weighter ruft die Wortschatz-Klasse auf und ausgehend davon wird eine Thesaurus-Anfrage durchgeführt. Das zurückgelieferte Ergebnis vom Wortschatz ist normalerweise ein Array mit mehreren Wörtern. Wir haben zusätzlich dazu eine Abfrage implementiert, die prüft, ob das Ergebnis leer war oder nicht, so dass die letztendliche Ausgabe des Ergebnisses in Form eines Wahrheitswertes erfolgt. Weighter übermittelt nacheinander die Wörter aus dem Merkmalsvektor und speichert die booleschen Ergebnisse in einem separaten Array, welches in einem zweiten Schritt nochmals gegen den Merkmalsvektor gematcht wird. 6 geschrieben von Reiner Miericke, Id: de_stemmer.module,v /09/19 11:10:21 schildi Exp

171 6.1. DIE ENGINE Anbindung externer Listen Die Anbindung externer Listen gestaltet sich unterschiedlich, je nachdem ob eine Stoppwortliste bzw. Liste mit den spamspezifischen Wörtern geladen wird oder ob im Zuge der Klassifikation der Standardvektor und die bereits klassifizierten Vektoren benötigt werden. Im ersten Fall werden die Listen wie schon erwähnt über die Hilfsklasse FileToArray geladen. Eine Modifikation dieser Listen über das Programm ist nicht vorgesehen. Jedoch ist es bezüglich der Klassifikation notwendig, dass der Standardvektor und auch die Menge der bereits klassifizierten Vektoren beim Durchlauf des Programms geladen und ggf. am Ende auch wieder modifiziert zurückgeschrieben werden können. Im Gegensatz zum ersten Fall werden hier php-spezifische Funktionen verwendet: file_put_contents Schreiben eines Strings in eine Datei. serialize() Mit dieser Funktion wird eine speicherbare Repräsentation eines Wertes erzeugt, ohne dass diese ihren Typ oder ihre Struktur verlieren. unserialize() Diese Funktion wird verwendet, um eine serialisierte Zeichenkette wieder als PHP-Wert verfügbar zu machen. Das folgende Beispiel zeigt den Schreibvorgang eines serialisierten Standardvektors in die Datei standard_vector.txt im Ordner files. 153

172 6. IMPLEMENTIERUNG Abbildung 6.5.: UML-Diagramm der SpamVis-Engine 154

173 6.1. DIE ENGINE Anzahl der Nachrichten : 1 ******************************************************************************************* ************************************************************************* Nachricht Nr.: (1) Subjects : Mann lebt nur einmal - probiers aus! fromaddress: Sender: Janice Tucker An: xxx Datum: Thu, 9 Oct :54: MessageID: Spamscore: IP-Adresse: Anzahl der Wörter im Text : Zusammengesetzer Inhalt : Mann lebt nur einmal - probiers aus!haben Sie das Gefühl, dass die Potenz während des Sex nachlässt? Es läuft im Bett nicht mehr wie früher? "Kommen" Sie zu früh? Oder hätten Sie einfach gerne längeren und intensiveren Sex? Das Leben ist zu kurz - genie&szligen Sie das in vollen Zügen Großgeschriebene Array ( [hier] => 2 [neu] => 2 ) Anzahl der Wörter nach der Stoppwörter : Ausgabe verschleierter Wörter Array ( [sex] => 8 ) Ausgabe der Spamwörter Array ( [active] => 2 [anhaltende] => 2 [arztbesuch] => 2 [arztliche] => 2 [auslieferung] => 2 [bequem] => 2 [beratung] => 2 [bestellen] => 3 [bett] => 2 [bleibt] => 2 [diskret] => 2 [diskrete] => 4 [enttauschungen] => 2 [erforderlich] => 2 [euro] => 26 [frueh] => 1 [frueher] => 1 [geld] => 4 [kosten] => 1 [kostenbestellen] => 1 [kostenlose] => 2 [kurz] => 2 [leben] => 2 [onlineshop] => 2 [peinliche] => 2 [peinlicher] => 2 [potenz] => 4 [potenzprobleme] => 2 [produkt] => 2 [sex] => 4 [sexerlebnis] => 2 [sexnachlaesst] => 1 [situationen] => 1 [sparen] => 10 [spass] => 1 [standhaftigkeit] => 2 [super] => 2 [umsonst] => 2 [unvergessliches] => 2 [verifizierter] => 2 [verpackung] => 2 [versteckte] => 2 [visa] => 2 [f] => 5 [r] => 11 [versagensangste] => 2 ) Ausgabe der Wortkombinationen Array ( [diskrete] => 2 [verpackung] => 2 [zahlung] => 2 [langes] => 2 [warten] => 2 [peinliche] => 1 [situationen] => 1 [versteckte] => 1 [kosten] => 1 [visa] => 2 [verifizierter] => 2 ) der reduzierte gewichtete Merkmalsvektor: Array ( [bestellen] => 550 [diskrete] => [euro] => 4771 [geld] => 734 [kosten] => [peinliche] => [potenz] => 734 [sex] => [situationen] => [sparen] => 1835 [verifizierter] => [verpackung] => [versteckte] => [visa] => ) 155

174 6. IMPLEMENTIERUNG der reduzierte Featurevektor: Array ( [bestellen] => Array ( [0] => 0 [1] => 0 [2] => 1 [3] => 0 [4] => 0 ) [diskrete] => Array ( [0] => 0 [1] => 0 [2] => 1 [3] => 1 [4] => 0 ) [euro] => Array ( [0] => 0 [1] => 0 [2] => 1 [3] => 0 [4] => 0 ) [geld] => Array ( [0] => 0 [1] => 0 [2] => 1 [3] => 0 [4] => 0 ) [kosten] => Array ( [0] => 0 [1] => 0 [2] => 1 [3] => 1 [4] => 0 ) [peinliche] => Array ( [0] => 0 [1] => 0 [2] => 1 [3] => 1 [4] => 0 ) [potenz] => Array ( [0] => 0 [1] => 0 [2] => 1 [3] => 0 [4] => 0 ) [sex] => Array ( [0] => 0 [1] => 1 [2] => 1 [3] => 0 [4] => 0 ) ******************************************************************************************* ************************************************************************ k nächste Nachbar Array ( [36] => [2] => [38] => [7] => [37] => ) die kategorien der k nächsten nachbarn Array ( [0] => Pharmazie [1] => Erotik [2] => Pharmazie [3] => Erotik [4] => Pharmazie ) Kategorie : Pharmazie Als klassifizierter Merkmalsvektor Array ( [absolut] => 0 [amateure] => 0 [befriedigen] => 0 [befriedigt] => 0 [besorgt] => 0 [blümchensex] => 0 *date+ => 0 *einsam+ => 0 *empfehlenswert+ => 0 *fickgeile+ => 0 *fuck+ => 0 *topqualität+ => 0 *0+ => Pharmazie ) der vektor: Array ( [0] => Array ( [0] => mann [1] => s ) [1] => Array ( [0] => lebt [1] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 ) ) [2] => Array ( [0] => nur [1] => s ) [3] => Array ( [0] => einmal [1] => s ) [4] => Array ( [0] => probiers *1+ => Array ( *0+ => 0 *1+ => 0 *2+ => 0 *3+ => 0 *4+ => 0 ) ) => Array ( *0+ =>. 156

175 6.2. DIE SCHNITTSTELLEN 6.2 Die Schnittstellen Der Datenbankzugriff Als Schnittstelle zwischen der SpamVis-Engine und der Datenbank dient die Klasse dbconnector. Um den Kontakt zum Datenbankserver herzustellen, werden beim Durchlaufen des Konstruktors die notwendigen Anmeldedaten eingelesen: localhost als Name des Rechners, auf dem der Datenbankserver läuft, die Benutzerkennung root sowie das dazugehörige Passwort. Nach erfolgreichem Aufbau der Verbindung über connectdb() erfolgt nun die Auswahl der Datenbank SpamVis. Alle weiteren Datenbankoperationen, ob es sich nun um Lese- oder Schreibzugriff handelt, sind in Funktionen ausgelagert und werden nacheinander im Verlauf der Inhaltsanalyse aufgerufen. In jeder Funktion wird dazu jeweils eine SQL-Query formuliert und an den Datenbankserver abgeschickt. Gibt es nach einer Lese-Operation ein Ergebnis, stellt man fest wie viele Zeilen dieses hat und ruft über eine Schleife jede Zeile einzeln auf. Schließlich wird die Verbindung zum Datenbankserver wieder geschlossen. Nur bei sehr vielen Zugriffen pro Minute könnte es sich lohnen, die Verbindung offen zu lassen. Hier nun eine grobe Übersicht der verwendeten Funktionen: Eine detaillierte Auflistung des Datenbankschemas ist in Abbildung 6.6 zu sehen. 157

176 6. IMPLEMENTIERUNG connectdb() prepareflag() setflag() getuserid() Verbindung zum MySQL-Server + Auswahl der Datenbank Auslesen der Flagstrings aus der Datenbank und Speicherung der Einträge in einem Array Hinzufügen des aktuellen Flags in die Datenbank Auslesen der User-ID insertheaderinfo() Eintragen der Message-ID, Absender-Adresse, IP- Adresse, des Spam-Scores und des Datums in messages. Hierbei wird automatisch eine Mail-ID generiert, die im Verlaufe der weiteren Datenbankoperationen als Referenz genutzt wird insertbody() mapmail() insertquantities() insertvectors() insertcategory() inserturls() Eintragen des Bodys in die Datenbank Verknüpfung der Mail-ID mit der User-ID Eintragen der Zählergebnisse in die Datenbank Eintragen des Merkmals-, Feature- und -Vektors in die Datenbank Eintragen des Klassifikationsergebnisses Eintragen der URLs in die Datenbank Tabelle 6.4.: Übersicht der wichtigsten Datenbankfunktionen Abbildung 6.6.: Datenbankschema 158

177 6.2. DIE SCHNITTSTELLEN XML-Dateien Die Klasse xml_convert wird nach dem Start der Visualisierung aufgerufen, um die XML-Datei zu generieren, die die Struktur der Treemap vorgibt. Der Aufruf erfolgt nicht von der Engine aus, da die Struktur der Hierarchie vom Anwender abhängig ist, der die Visualisierung gestartet hat - und dementsprechend auch davon, welche s visualisiert werden sollen. Im Falle des Administrators muss auch eine zusätzliche Hierarchie-Ebene berücksichtigt werden, da hier alle vorhandenen Postfächer vereint dargestellt werden. Neben den -Vektoren werden sowohl die Mail-IDs, Kategorienbezeichnungen, Absender-Adressen als auch die Spamwerte der s aus der Datenbank ausgelesen. Im Anschluss folgt eine kurze Aufbereitung der - Vektoren, um jeweils die Wörter und zugehörigen Feature-Vektoren separat aufzuschlüsseln. Danach werden diese Informationen in die von dem Visualisierungs-Framework Prefuse vorgegebene Syntax übertragen, die wie folgt aussieht: Die XML-Datei beginnt mit dem Tag <tree> und endet auf </tree>. Jedem Knoten und jedem Blatt wird ein String-Attribut zugewiesen. Dieser Attributtyp wird zwischen <declarations> und </declarations> festgelegt: <attributedecl name= name type= String /> Nun wird die Hierarchie festgelegt. Ein Zweig wird mit <branch> geöffnet, und mit </branch> am Ende wieder geschlossen. Dazwischen werden nun die einzelnen Knoten und Blätter definiert: Syntax der Knoten: In oberster Ebene steht immer die Bezeichnung des angezeigten Postfaches: <attribute name= name value= Mailbox userxy /> bzw. <attribute name= name value= Mailbox admin /> In zweiter Ebene folgt die Angabe der Kategorie: <attribute name= name value= Erotik /> In dritter Ebene ist eine Zusammenfassung aus Mail-ID, Spamscore und des Absenders: <attribute name= name value= Mail-ID: 7, Score: 4.7, /> 159

178 6. IMPLEMENTIERUNG In vierter Ebene befindet sich das Wort: <attribute name= name value= kontaktanzeige /> Die Syntax der Blätter Die Blatt-Definition beginnt mit dem Tag <leaf> und endet auf </leaf>. Dazwischen befindet sich der Typen-Vektor für das Wort oder alternativ, falls es sich um ein Stoppwort handelt, der Buchstabe s : <attribute name= name value= 1,0,0,0,0 /> bzw. <attribute name= name value= s /> Wichtig an dieser Stelle ist zu erwähnen, dass nachher in der Visualisierung für den Administrator die einzelnen Wörter oder andere datenschutzrelevanten Informationen nicht im Klartext zu sehen sein werden, sondern maßgeblich nur die Informationen in den Blättern genutzt werden. Nachdem nun die -spezifischen Informationen in die Syntax für die Treemap überführt worden sind, wird die Datenbankverbindung wieder geschlossen und die XML-Datei im Ordner xml mit der Bezeichnung Mailbox_userXY gespeichert. 6.3 Start der Engine Es gibt zwei Möglichkeiten die Engine zu starten - entweder manuell oder auch zeitgesteuert. In diesem Abschnitt werden die beiden Varianten in Ihrer Implementierung vorgestellt, sowie kurz die jeweiligen Vor- und Nachteile erläutert Zeitgesteuerter Start Um einen automatisierten Ablauf der SpamVis-Engine zu realisieren, wurde der SpamVisScheduler implementiert. Unter Unix oder unix-artigen Betriebssystemen kann für zeitlich wiederkehrende Aufgaben ein so genannter Cron Daemon eingesetzt werden. Jedoch erfolgt die Implementierung unter einem Windows Betriebssystem, so dass hier ein etwas unkonventioneller Lösungsweg notwendig ist. Unter Java wurden dazu zwei Klassen erstellt. Die Scheduler.java enthält die Parameter, die für einen Administrator-Zugriff auf den Mailserver notwendig sind und übermittelt diese Daten in Form des notwendigen imap_open-strings an die Klasse phpconnector. Vorher benötigt jedoch phpconnector noch den Pfad zum Verzeichnis, in dem das Start-Skript der SpamVis-Engine liegt, um 160

179 6.3. START DER ENGINE dann mittels des imap_open-strings die Verbindung öffnen zu können. Beide Klassen wurden zu einer.jar-datei (Java-Archiv) zusammengefasst und mittels der Software JSmooth 9 in eine.exe-datei umgewandelt. Mit Hilfe dieser ausführbaren Datei war es nun möglich, unter Windows einen Zeitplan zu erstellen und diesen wiederum als xml-datei zu exportieren. Diese xml-datei kann dann bei Nutzung von SpamVis auf einem anderen Rechner im Aufgabenplaner erneut importiert werden. Die unterstützten Betriebssysteme sind Windows Vista, Windows Server 2008, Windows 2003Server, Windows XP und Windows Der zeitliche Trigger wurde von uns auf eine tägliche Ausführung alle 15 Minuten vorkonfiguriert, kann aber bei Bedarf vom Anwender dann über den Aufgabenplaner seines Betriebssystems geändert und auf die individuellen Bedürfnisse angepasst werden. (a) Loginmaske (b) Scheduler Abbildung 6.7.: manueller oder zeitlicher Start der Engine Manueller Start Ein beliebiger User kann die Visualisierung manuell starten. Die Anmeldung am Mailserver erfolgt dabei über eine grafische Benutzerobefläche (Graphical User Interface, GUI), zu sehen in Abbildung Notwendige Eingaben sind hierbei der Benutzername und das Kennwort für die Mailbox, die Bezeichnung für den Mailserver, der Port sowie das verwendete Protokoll. Das Login-Fenster ist Bestandteil der Visualisierungskomponente und eine Java- Swing-Anwendung. Nach Betätigen des Login-Buttons wird ein Event ausgelöst und über den phpconnetor das SpamVis-Engine-Skript gestartet

180 6. IMPLEMENTIERUNG Fazit Auch wenn der von uns implementierte Scheduler nicht unter jedem Betriebssystem läuft ist es wichtig, die Engine in regelmäßigen Abständen automatisch starten zu können, um das anfallende zu analysierende Datenaufkommen so gering wie möglich zu halten. Würde eine Analyse tatsächlich nur nach Start der Visualisierungskomponente erfolgen, müsste der Anwender eine unangemessen lange Zeit warten, was nicht benutzerfreundlich wäre und zu vermeiden gilt. 6.4 Die Visualisierung Ausgehend von dem Wunsch das bereits angesprochene Prefuse-Toolkit 10 einzusetzen, welches auf Java2D-Bibliotheken basiert, wurde die SpamVis- Visualisierungskomponente in Java implementiert. Auf diese Weise ergibt es sich, dass Java Swing als Bibliothek zum Programmieren der grafischen Benutzeroberfläche verwendet wurde. Leider müssen wir an dieser Stelle erwähnen, dass die Bearbeitungszeit aus verschiedenen Gründen nicht ausgereicht hat um die Implementierung der Visualisierung rechtzeitig fertig zu stellen, so dass diese unvollständig ist. Die fehlenden Aspekte werden im nächsten Abschnitt erläutert Aufbau der Visualisierung Meldet sich ein Anwender über die Login-Maske an, wird die Visualisierung gestartet. Gemäß unserem Konzept sollen zwei verschieden Sichten zur Verfügung gestellt werden: ein Compact Mode für die Treemap und ein Global Mode für die Kugelstränge. Dies wird mittels einer JSplitPane realisiert. Auf diese Weise können beide Sichten nebeneinander positioniert werden, mit dem Compact Mode auf der linken und dem Global Mode auf der rechten Seite. Zu Beginn der Visualisierung nimmt der Global Mode erst einmal die gesamte Bildschirmfläche ein, um dem Anwender einen größtmöglichen Überblick zu bieten. Bei Bedarf kann er natürlich den Anzeigebereich verändern - entweder variabel durch manuelle Positionsveränderung des Dividers (die Trennleiste zwischen den beiden Modi) oder durch Mausklick auf spezielle Buttons auf dem Divider, wodurch eine Maximierung der ausgewählten Sicht stattfindet. 10 prefuse beta, release 2007,

181 6.4. DIE VISUALISIERUNG Abbildung 6.8.: Darstellung eines einzelnen Postfaches im Compact Mode Compact Mode Wechselt man die Ansicht indem man den Divider nach rechts verschiebt, kann man in vollem Umfang die Treemap erfassen. Die zu sehende Struktur ergibt sich aus der automatisch generierten Mailbox_userXY.xml-Datei. Auf der Abbildung 6.8 ist zu sehen, dass eine vierstufige Hierarchie vorliegt. Die Wurzel der Treemap ist das Postfach des Anwenders, in nächster Stufe befinden sich die vier Kategorien Erotik, Pharmazie, Freizeit und Wirtschaft, darunter liegend die einzelnen Mails bis hin zu den Wörtern als Blattknoten. Die Knoten in der untersten Ebene haben alle das gleiche Gewicht und somit auch eine einheitliche Größe der Rechteckflächen, für die ein quadratisches Layout gewählt wurde. Die quadratische Struktur wird mittels der Klasse NodeRenderer erzeugt. Jeder Knoten der Treemap kann mit einem Label versehen werden. Jedoch haben wir uns aus Gründen einer besseren Übersicht dazu entschieden, die Knotenbeschriften für alle Ebenen außer der Kategorie-Ebene auszublenden. Darüber hinaus hat man mittels Prefuse die Möglichkeit, nur für bestimmte Knoten eine Interaktion zuzulassen. Da für uns im Grunde nur die Blattebene interessant ist, wurde diese interaktiv gestaltet und die Interaktion für alle anderen darüber befindlichen Ebenen deaktiviert. 163

182 6. IMPLEMENTIERUNG Die Interaktionsmöglichkeiten gestalten sich derart, dass eine animierte Farbveränderung des Blattrahmens hervorgerufen wird, sobald der Anwender mit dem Mauszeiger darüber hovert, um zu signalisieren, welches Wort aktuell ausgewählt ist. Dies wird von der Klasse BorderColorAction() durchgeführt. In gleichem Zuge werden am unteren linken Bildschirmrand in Form eines Tooltips die Statusinformationen zu diesem Wort eingeblendet. Dazu gehören die Kategorie, die Mail-ID, der Spam-Score, die Absenderadresse sowie das Wort. Das Einblenden des eigentlichen Inhalts der findet aber nur statt, sofern ein User sein eigenes Postfach begutachtet. Die Farbgebung gestaltet sich unterschiedlich. Für die Rahmen der Hierarchie- Ebenen wurde ein dunkler Farbton gewählt, um die einzelnen Ebenen voneinander abzuheben. Die Färbung der Blattknoten gestaltet sich in Abhängigkeit der Worteigenschaft und wird in der Klasse FillColorAction bestimmt. Stoppwörtern wird direkt eine hellblaue Färbung zugewiesen. Für die Wörter mit Typenvektoren hingegen wird eine 6-stufige Farbenpalette vordefiniert. In der Funktion getcolor() findet dann eine Prüfung über den Inhalt der Typenvektoren statt. Es wird gezählt, wie viele Einsen in dem Vektor enthalten sind und je nach Summe wird die zugeordnete Farbe aus der Palette aufgerufen. Handelt es sich um einen Vektor ohne spamspezifische Merkmale, also der Belegung (0,0,0,0,0), wird der Eintrag [0] der Farbpalette verwendet und eine hellblaue Färbung durchgeführt. Liegen jedoch spamspezifische Merkmale vor, werden die vorliegenden Einsen addiert, so dass aus der Farbpalette von Position [1] bis [5] ein spezifischer Rot-Ton ausgewählt wird, der je nach Schweregrad immer dunkler wird. Auf diese Weise stechen Wörter mit einer höheren Belegung deutlicher hervor. Aktuell bietet der Compact Mode auch ein Suchfeld am unteren rechten Bildschirmrand, in das der Anwender Zeichenketten eingeben kann. Findet eine Übereinstimmung mit einem der Blattkonten statt, wird der entsprechende Knoten farblich hervorgehoben. In Abbildung 6.10 ist dies in Form der dunkelblauen Blätter zu sehen, nachdem der Suchbegriff sex eingegeben wurde. Die Interaktionsmöglichkeiten sehen zum aktuellen Zeitpunkt im Compact Mode eine Zoom- sowie eine Pan-Funktionalität vor. Der Zoom wird durchgeführt, indem man die rechte Maustaste gedrückt hält und gleichzeitig die Maus bewegt. Analog erfolgt die Pan-Funktion mittels linker gedrückter Maustaste. Jedoch ließ sich das Panning aus bis jetzt noch ungeklärten Gründen nur für den Bereich um die Treemap herum anwenden und nicht auf dem Bereich der 164

183 6.4. DIE VISUALISIERUNG Abbildung 6.9.: Such-Ergebnisse nach Eingabe des Begriffes sex Blattknoten Global Mode Im Global Mode sind die Kugelstränge visualisiert, die die klassifizierten Merkmalsvektoren repräsentieren sollen. Diese werden mit Javas Graphics2D einzeln auf JPanels gezeichnet und erscheinen dann zeilenweise im rechten Teil der JSplitPane. Das einem Merkmalsvektor zugehörige Kategoriensymbol wird erzeugt und auf gleicher Ebene angeordnet. Sofern für den Anwender das entsprechende Symbol nicht zuzuordnen ist, wird mittels eines Tooltips die genaue Bezeichnung eingeblendet. Die Steuerungsmöglichkeiten für den Anwender befinden sich in der oberen Leiste in Form eine JComboBox zur Filterung der Ansicht und ein Zoomregler Packages und Klassen Grundlegend wurde eine Strukturierung in drei Packages vorgenommen worden: SpamVis, GlobalMode und CompactMode. SpamVis stellt die grafische Benutzeroberfläche zur Verfügung und enthält noch weitere Klassen, die allgemeine Aufgaben wie den Datenbankzugriff oder den Aufruf der SpamVis- Engine übernehmen. Die beiden anderen Packages enthalten jeweils die Klassen, die die jeweilige Sicht auf die Daten darstellen. Es folgt eine Übersicht der 165

184 6. IMPLEMENTIERUNG Abbildung 6.10.: Darstellung des (vereinfachten) Global Mode verwendeten Klassen: SpamVis Klasse: LoginMask Die LoginMask erstellt, wie der Name schon sagt, die Anmeldemaske und ist abgeleitet von JInternal Frame. Die Maske erscheint direkt nach dem Start der Visualisierungskomponente und erfordert die Eingabe der Parameter zum Anmelden am Mailserver. Zum vereinfachten Zugriff in der Prototypphase sind diese Parameter schon in den entsprechenden Felder voreingestellt, können jedoch überschrieben werden. Mittels einer Hilfefunktion, die als Tooltip realisiert wird, erhält der Anwender Hilfestellung. Mittels Klick auf den Login- Button wird ein Action-Event ausgelöst und bei erfolgreicher Verbindung das Visualisierungs-Frame mit den beiden Sichten geladen. Klasse: DatabaseAccess DatabaseAccess implementiert die Schnittstelle zur SpamVis-Datenbank. Nach erfolgreichem Verbindungs-Aufbau werden verschiedene Anfragen gestartet und das Ergebnis in der von Prefuse zur Verfügung gestellten Table-Struktur gespeichert, wobei es für jede Query eine eigene Tabelle gibt. Diese kann nach Aufruf externer Funktionen zur weiteren Verabeitung zur Verfügung gestellt werden (z.b. getmerkmalsvektor()). 166

185 6.4. DIE VISUALISIERUNG Klasse: Mailbox Die Klasse Mailbox dient dazu, die Vorverarbeitung zum Verbindungsaufbau zum SpamVis.php-Skript der Engine durchzuführen. Die Anmeldeparameter der Loginmaske werden hier in korrekter Reihenfolge zu einem imap_open- String zusammengesetzt. Ebenso enthält diese Klasse den Pfad zum Skript und übergibt die Informationen per send(string) an den php-connector. Klasse: phpconnector phpconnector dient wie gesagt dazu, das SpamVis.php-Skript aufzurufen. Die notwendigen Verbindungsdaten werden von Mailbox vorbereitet und dann eine POST-Anfrage gestellt. SpamVis-GUI SpamVis-GUI ist die Hauptklasse der Visualisierungskomponente. Sie erstellt die grafische Benutzeroberfläche und koordiniert den Ablauf zwischen den einzelnen Packages. Von hier aus wird nach erfolgreicher Anmeldung am Mailserver die Datenbank initialisiert, also die notwendigen Daten in die Tabellen geladen. Danach wird die JSplitPane erstellt, mit der Treemap und der Feature- Sequence als Komponenten. Ebenso wird hier für den Globalmode ein Control- Panel erstellt, welches die Interaktions-Funktionen enthalten soll. Vorhanden ist ein Zoom sowie eine JCombo-Box für die Filterung nach Absender, Kategorie, Vektorbreite und auch Datum, jedoch konnten aufgrund zeitlicher Problme diese Funktionen noch nicht implementiert werden. Compact Mode Die Klasse Treemap implementiert die hierarchische Datenstruktur der von der Engine extrahierten Daten, basierend auf der vom xml_converter generierten TreeML-Datei. Die wichtigsten Funktionen wurden bereits bei der Beschreibung des Compact Mode erwähnt. GlobalMode Klasse: FeatureSequence FeatureSequence generiert für alle Merkmalsvektoren ein JPanel, auf welchem die einzelnen Kugelstränge gezeichnet werden. Die notwendigen Merkmalsvektoren liegen dabei in einer zweidimensionalen Matrix vor und werden zeilenweise ausgelesen. Die Zeichnung der einzelnen Kugeln wird über einen Aufruf der Klasse Sphere realisiert. 167

186 6. IMPLEMENTIERUNG Klasse: Sphere Die Klasse Sphere wird von FeatureSequence aufgerufen und zeichnet für eine Zeile aus der Matrix den zum Merkmalsvektor zugehörigen Kugelstrang. Basierend auf Java Graphics2D werden die einzelnen Kugeln auf einem JPanel gezeichnet, wobei sich die Größe in Abhängigkeit des im Vektor enthaltenen Gewichts ergibt und die Farbe in Abhängigkeit des Typenvektors bestimmt wird. Abweichung vom Konzept Wie schon erwähnt, konnte aus zeitlichen Gründen die Visualisierung leider nur grob implementiert werden. Als erste Abweichung vom Konzept ist zu nennen, dass in unterer Ebene der Treemap die Wörter erscheinen und nicht die Worteigenschaften. Der zugehörige xml_converter, der diese Ebene bereitstellt, wurde implementiert, jedoch noch nicht grafisch in der Visualisierung umgesetzt. Ebenso fehlen die gewünschten Filterungsmöglichkeiten über JCheckboxen, so dass die fünf verschiedenen Parameter des Typenvektors durch den Anwender nochmals separat hervorgehoben werden können. Der Global Mode steckt aus den genannte Gründen noch sehr in den Kinderschuhen. Weder die Filterungsmöglichkeiten noch die Sortierfunktion konnten rechtzeitig fertig gestellt werden. Unter diesem Aspekt ist es natürlich schwierig, die Leistungsfähgikeit unserer Idee nachzuweisen. Auf Abbildung 6.11 ist nochmals die gesamte Architektur von SpamVis aufgeführt Probleme bei der Implementierung Die Implementierung ist nicht ohne Probleme verlaufen. Besonders schwierig war der Umstand, dass die Visualisierung und Engine nicht gleichzeitig implementiert werden konnte. Aus diesem Grund wurde bezüglich der Visualisierungskomponente anfangs auf statischen Daten gearbeitet, was den Aufwand unnötig gesteigert hat und viele Probleme bezüglich der Schnittstelle erst später heraustragen. Hinsichtlich der TreeML-Schnittstelle gab es das Problem, dass die von der Engine aufbereiteten Daten noch Umlaute und Tags enthalten haben. Eine Überführung in das xml-format durch den xml_converter war zwar ohne Probleme möglich, jedoch konnte die Datei nicht von der Visualisierungskomponente gelesen werden aufgrund ungültiger Bytes in der UTF-8 Sequenz. Aus 168

187 6.4. DIE VISUALISIERUNG 00 Formatter Grabber GUI Visualisierung CompactMode SpamVis GlobalMode XML- Converter Db- Connector Engine SpamVis Extractor Analyzer Weighter Classificator Abbildung 6.11.: Überblick über die Gesamtarchitektur 169

emailen - jetzt aber richtig

emailen - jetzt aber richtig emailen - jetzt aber richtig Computerlabor im KuZeB computerlabor.kire.ch 14.12.2009 Kire www.kire.ch Layout-Template von Chih-Hao Tsai chtsai.org Creative Commons License (by-nc-sa) creativecommons.org/licenses/by-nc-sa/2.5/ch/deed.de

Mehr

Visendo Mail Checker Server FAQ

Visendo Mail Checker Server FAQ Visendo Mail Checker Server FAQ Lernen Sie: Wer Visendo ist Was Visendo Mail Checker Server ist Was Visendo Mail Checker Server kann Wer ist Visendo? Wir sind ein Internet-Systemhaus mit Spezialisierung

Mehr

Collax Mailserver. Howto. Dieses Howto beschreibt die Einrichtung eines Collax Servers als Mailserver.

Collax Mailserver. Howto. Dieses Howto beschreibt die Einrichtung eines Collax Servers als Mailserver. Collax Mailserver Howto Dieses Howto beschreibt die Einrichtung eines Collax Servers als Mailserver. Vorraussetzungen Collax Business Server Collax Groupware Suite Collax Platform Server inkl. Collax Modul

Mehr

Gliederung Erkennung anhand des Absenders. Methoden zur Filterung und Blockung. Alexandru Garnet

Gliederung Erkennung anhand des Absenders. Methoden zur Filterung und Blockung. Alexandru Garnet Methoden zur Filterung und Blockung von Mails Alexandru Garnet Seminar Intenetkommunikation WS 2004/2005 Prof. Dr. Martin Leischner 1 Gliederung Erkennung anhand des Absenders Whitelist/Blacklist Realtime

Mehr

Man liest sich: POP3/IMAP

Man liest sich: POP3/IMAP Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und

Mehr

Spam Filtering Algorithmen. Referent: Stephan Ziegenaus

Spam Filtering Algorithmen. Referent: Stephan Ziegenaus Spam Filtering Algorithmen Referent: Stephan Ziegenaus Index Definition Spam Zahlen Adressquellen der Spamversender Whitelisting Blacklisting Content Filtering Distributed Checksum Clearinghouse (DCC)

Mehr

bley intelligentes Greylisting ohne Verzögerung

bley intelligentes Greylisting ohne Verzögerung bley intelligentes Greylisting ohne Verzögerung Evgeni Golov Lehrstuhl für Rechnernetze, Institut für Informatik, Heinrich-Heine-Universität Düsseldorf, Universitätsstr. 1, 40225 Düsseldorf evgeni.golov@uni-duesseldorf.de

Mehr

Mail Protokolle. ESMTP: Extented SMTP Server gibt Infos über seine Fähigkeiten aus, zb für Verschlüsselung verwendet

Mail Protokolle. ESMTP: Extented SMTP Server gibt Infos über seine Fähigkeiten aus, zb für Verschlüsselung verwendet LINUX II MAIL Mail Protokolle SMTP: Simple Mail Transport Protocol Transport von Emails, Port: 25 ESMTP: Extented SMTP Server gibt Infos über seine Fähigkeiten aus, zb für Verschlüsselung verwendet POP3:

Mehr

Themenabend 24.09.2012

Themenabend 24.09.2012 Themenabend 24.09.2012 SPAM ist ursprünglich ein Markenname für Dosenfleisch, bereits 1936 entstanden aus SPiced ham, fälschlich auch Spiced Pork And Meat/hAModer Specially Prepared Assorted Meatgenannt.

Mehr

SMTP-Verfahren POP-Verfahren IMAP-Verfahren

SMTP-Verfahren POP-Verfahren IMAP-Verfahren IT Zertifikat Mailserver 01 Server Mailserver Protokolle Teil des Client-Server-Modells bietet Dienste für lokale Programme/ Computer (Clients) an -> Back-End-Computer Ausbau zu Gruppe von Servern/ Diensten

Mehr

Spam bekämpfen mit Open Source-Software. Jochen Topf

Spam bekämpfen mit Open Source-Software. Jochen Topf Spam bekämpfen mit Open Source-Software Jochen Topf OpenSaar 2007 Wo kommt der Spam her? Benutzerfreundliche Spamversender- Software Botnetze Professionelle Untergrund-Wirtschaft Mit Spam läßt sich Geld

Mehr

Kurs-Dokumentation. Zentrum für Informatik ZFI AG. Anti-Spam mit SpamAssassin (LSAS-0412) -IT Ausbildung nach Mass

Kurs-Dokumentation. Zentrum für Informatik ZFI AG. Anti-Spam mit SpamAssassin (LSAS-0412) -IT Ausbildung nach Mass Zentrum für Informatik - Anti-Spam mit SpamAssassin (LSAS-0412) -IT... 1/6 Kurs-Dokumentation Zentrum für Informatik ZFI AG Anti-Spam mit SpamAssassin (LSAS-0412) -IT Ausbildung nach Mass http://www.zfi.ch/lsas-0412

Mehr

Erkennung & Behandlung von unerwünschter E Mail < SpamAssassin >

Erkennung & Behandlung von unerwünschter E Mail < SpamAssassin > Erkennung & Behandlung von unerwünschter E < > Torsten Gerdes gerdes @ tgi.de 24.03.2007 1 SPAM ist in vieler Munde. Doch wer weiß, + wo es herkommt? + wie es schmeckt? 24.03.2007 2 SPAM ist in vieler

Mehr

SPAM- und Junkmail-Behandlung an der KUG

SPAM- und Junkmail-Behandlung an der KUG SPAM- und Junkmail-Behandlung an der KUG 1. SPAM-Behandlung Erkannte SPAM-E-Mails werden nicht in Ihre Mailbox zugestellt. Sie erhalten anstatt dessen 1x täglich (gegen 7:00 Uhr) eine sogenannte Digest-E-Mail

Mehr

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6 Internetprotokolle: POP3 Peter Karsten Klasse: IT7a Seite 1 von 6 Alle Nachrichten, die auf elektronischem Weg über lokale oder auch globale Netze wie das Internet verschickt werden, bezeichnet man als

Mehr

Spam und Spam-Prävention

Spam und Spam-Prävention Spam und Spam-Prävention Patrick Schuster und Aubin Kuche 15. Juni 2013 1 of 35 Was ist Spam? Bedeutung für Versender? Bedeutung für Empfänger? Wie wird Spam verbreitet? Wie kommen Spammer an E-Mail-Adressen?

Mehr

Spamschutz effektiv: Technik

Spamschutz effektiv: Technik Spamschutz effektiv: Technik Was ist Spam überhaupt? Wie arbeiten Spammer? Welche Abwehrmöglichkeiten gibt es präventiv reaktiv Beispiele Was bringt es? What's next: SPF und DKIM Zusammenfassung / Fazit

Mehr

Spam Mails Filtern - Copyright Jens Ferner. Spam Mails Filtern. Wie Sie die Spamflut mit einem Filter in den Griff bekommen können

Spam Mails Filtern - Copyright Jens Ferner. Spam Mails Filtern. Wie Sie die Spamflut mit einem Filter in den Griff bekommen können Spam Mails Filtern Wie Sie die Spamflut mit einem Filter in den Griff bekommen können Über dieses Dokument Dieser Workshop soll eine Hilfe für Nutzer sein, die ihren Posteingang wider übersichtlich halten

Mehr

Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis

Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis Einführung... 2-3 Servereinstellungen für die Einrichtung auf dem E-Mail Client... 4 E-Mail Adresse / Postfach einrichten...

Mehr

Das Neue Emailkonto Was bietet das neue Emailkonto? Die neuen Emailkonten laufen auf neuen Mailservern und werden unterstützt von einer ebenfalls neuen, innovativen Systemsoftware. Außer einer Geschwindigkeitssteigerung

Mehr

Anti-Spam-Tools. Gliederung. Stefan Appenburg, René Marx, Michael Günther WS 2004/05

Anti-Spam-Tools. Gliederung. Stefan Appenburg, René Marx, Michael Günther WS 2004/05 Anti-Spam-Tools Stefan Appenburg, René Marx, Michael Günther WS 2004/05 1 Einleitung Anforderungen Spamcop Spampal Hidemail Outlook-Filter Gliederung 2 Einleitung Weltweit bieten mehr als 70 Hersteller

Mehr

Kapitel 6 Internet 1

Kapitel 6 Internet 1 Kapitel 6 Internet 1 Kapitel 6 Internet 1. Geschichte des Internets 2. Datenübertragung mit TCP/IP 3. Internetadressen 4. Dynamische Zuteilung von Internetadressen 5. Domain-Namen 6. Internetdienste 2

Mehr

Agenda. Spam: Zahlen und Daten. Malware & Spam per Botnetz (und was dagegen schützt) Werner Klier Virenforschung. G DATA Security Labs

Agenda. Spam: Zahlen und Daten. Malware & Spam per Botnetz (und was dagegen schützt) Werner Klier Virenforschung. G DATA Security Labs Malware & Spam per Botnetz (und was dagegen schützt) Werner Klier Virenforschung G DATA Security Labs Agenda Spam Zahlen und Daten Erkennung Image Spam OutbreakShield A1 Spam: Zahlen und Daten 86.2 % aller

Mehr

Seminar Internet & Internetdienste. Spam. SS 2004 Bernd Öchsler

Seminar Internet & Internetdienste. Spam. SS 2004 Bernd Öchsler Seminar Internet & Internetdienste Spam SS 2004 Bernd Öchsler Was ist Spam? Stupid Person Advertisement / Sending Personally Annoying E-Mails, Eigentlich: SPAM - Spiced Pork And Meat wurde bekannt durch

Mehr

Whitepaper. Schnittstellenbeschreibung (SMTP) *@gateway.any-sms.biz

Whitepaper. Schnittstellenbeschreibung (SMTP) *@gateway.any-sms.biz Whitepaper Schnittstellenbeschreibung (SMTP) *@gateway.any-sms.biz Stand 03.03.201 3.03.2014 1. Klassisch (Betreff)... Seite 2 2. From (Absender)... Seite 6 Seite 1 1. Mail2SMS Klassisch (Betreff) SMTP-Schnittstelle

Mehr

Email: Systeme und Möglichkeiten an der Universität Bayreuth. Jour fixe für IT Verantwortliche SS 2012

Email: Systeme und Möglichkeiten an der Universität Bayreuth. Jour fixe für IT Verantwortliche SS 2012 Email: Systeme und Möglichkeiten an der Universität Bayreuth Jour fixe für IT Verantwortliche SS 2012 1 Übersicht: Emailvolumen Zwei getrennte Mailsysteme für Studenten und Mitarbeiter Mailbenutzer mit

Mehr

Anleitung. E-Mail Spam Filter mit Quarantäne Eine kurze Funktionsübersicht. Internet- & Netzwerk-Services

Anleitung. E-Mail Spam Filter mit Quarantäne Eine kurze Funktionsübersicht. Internet- & Netzwerk-Services Anleitung E-Mail Spam Filter mit Quarantäne Internet- & Netzwerk-Services 1. Anmeldung Die Anmeldung erfolgt über: http://mailadmin.tbits.net Jeder Benutzer meldet sich mit der E-Mail-Adresse als Benutzername

Mehr

Wenn Sie eine Mail haben die in Ihren Augen kein SPAM. asspnotspam@dachau.net

Wenn Sie eine Mail haben die in Ihren Augen kein SPAM. asspnotspam@dachau.net Wissenswertes über SPAM Unter dem Begriff Spam versteht man ungewünschte Werbenachrichten, die per E-Mail versendet werden. Leider ist es inzwischen so, dass auf eine gewünschte Nachricht, oft zehn oder

Mehr

Spambewertung und Filterung. Heiko Schlichting heiko@fu-berlin.de 13.11.2002

Spambewertung und Filterung. Heiko Schlichting heiko@fu-berlin.de 13.11.2002 Spambewertung und Filterung Heiko Schlichting heiko@fu-berlin.de 13.11.2002 Spam Unerwünschte Massenmail Gegenteil von Spam? (Bezeichnung bei Bogofilter eingeführt) Häufigster Ablauf von Spambewertung

Mehr

Rechenzentrum. E-Mail Services Hinweise für die Nutzung (Änderungen/ Ergänzungen vorbehalten) Inhalt. Stand: 23. Oktober 2014

Rechenzentrum. E-Mail Services Hinweise für die Nutzung (Änderungen/ Ergänzungen vorbehalten) Inhalt. Stand: 23. Oktober 2014 Rechenzentrum E-Mail Services Hinweise für die Nutzung (Änderungen/ Ergänzungen vorbehalten) Stand: 23. Oktober 2014 Inhalt 1. E-Mail... 2 1.1 E-Mailgruppe beantragen... 3 1.2 Einstellungen im E-Mail-Client...

Mehr

Basisdienste I: Email/Listserver, NewsGroups

Basisdienste I: Email/Listserver, NewsGroups Basis-, Mehrwert-und Metainformationsdienste Kurs 7.6.2001 (Konstanz) / 23.6.2001 (Berlin) Dozent: Dr. Bernard Bekavac 1 Basisdienste I: Email/Listserver, NewsGroups TCP / IP Aufteilung im TCP/IP-Protokoll

Mehr

USERGATE MAIL SERVER. Mail Server für kleine und mittelständische Unternehmen:

USERGATE MAIL SERVER. Mail Server für kleine und mittelständische Unternehmen: USERGATE MAIL SERVER Mail Server für kleine und mittelständische Unternehmen: - Bequeme Konfiguration und Bedienung - Größtmögliche Stabilität - Totale Sicherheit - Starke Antispam-Filter 7 Gründe um ausgerechnet

Mehr

Zukünftige Maßnahmen für eine verbesserte Spamabwehr

Zukünftige Maßnahmen für eine verbesserte Spamabwehr Zukünftige Maßnahmen für eine verbesserte Spamabwehr IT-Palaver 26.09.2006 Karin Miers Zukünftige Maßnahmen für eine verbesserte Spamabwehr - 26.9.1006 K.Miers 1 Übersicht Tools und Verfahren zur Spamabwehr

Mehr

FAQ zur Nutzung von E-Mails

FAQ zur Nutzung von E-Mails Wie richte ich meine E-Mail Adresse ein? FAQ zur Nutzung von E-Mails Wir stellen Ihnen dazu die Mailinfrastruktur auf unserem Server zur Verfügung und richten Ihnen dort die Postfächer und Kennwörter ein.

Mehr

POP3 und SMTP live und schwarzweiß

POP3 und SMTP live und schwarzweiß POP3 und SMTP live und schwarzweiß Informatik S2 In diesem Arbeitsauftrag empfangen und senden Sie E-Mails so, wie es auch ein E-Mail- Programm machen würde. Das heißt, Sie benutzen die Protokolle auf

Mehr

Methoden zur Filterung und Blockung von Mails:

Methoden zur Filterung und Blockung von Mails: Fachhochschule Internetkommunikation Bonn-Rhein-Sieg WS 2004/2005 Methoden zur Filterung und Blockung von Mails: Checksummen Distributed Checksum Clearinghous (DCC) A. Dimitrova 08.12.2004 Fachbereich

Mehr

Analyse, Test und Bewertung von clientseitigen Spam-Filtern. Diplomarbeit

Analyse, Test und Bewertung von clientseitigen Spam-Filtern. Diplomarbeit Analyse, Test und Bewertung von clientseitigen Spam-Filtern Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt

Mehr

Effektive Möglichkeiten zur SPAM-Bekämpfung

Effektive Möglichkeiten zur SPAM-Bekämpfung Effektive Möglichkeiten zur SPAM-Bekämpfung Dipl.-Inform. Dominik Vallendor 20.08.2012 Tralios IT GmbH www.tralios.de Über mich Dominik Vallendor Studium der Informatik in Karlsruhe Seit 1995: Internet

Mehr

Network Policy. Gültigkeit. 4. Mehrfacher Virenschutz. 1. Grundsatz. 2. Ports. 5. Zentrale Blocklists. 3. Nur authentifizierte Zugriffe

Network Policy. Gültigkeit. 4. Mehrfacher Virenschutz. 1. Grundsatz. 2. Ports. 5. Zentrale Blocklists. 3. Nur authentifizierte Zugriffe Network Policy E-Mail ist ein unverzichtbares Kommunikationsmedium für unsere Kunden. Leider wird es durch die grosse Anzahl an Spam-Mails inzwischen stark behindert; weniger als 5% der an unsere Server

Mehr

Outlook Express einrichten

Outlook Express einrichten Outlook Express einrichten Haben Sie alle Informationen? Für die Installation eines E-Mail Kontos im Outlook Express benötigen Sie die entsprechenden Konto-Daten, welche Ihnen von den Stadtwerken Kitzbühel

Mehr

Das E-Mail-Postfach für Studierende. Informationen und Anleitung zur Nutzung

Das E-Mail-Postfach für Studierende. Informationen und Anleitung zur Nutzung Das E-Mail-Postfach für Studierende Informationen und Anleitung zur Nutzung Das E-Mail-Postfach Als Studierende/r der Hochschule verfügen Sie über eine eigene E-Mail-Adresse mit der Endung "@studmail.fh-gelsenkirchen.de".

Mehr

Mail und Mailserver. Mail - Protokolle. Wichtige RFCs. Alexander Piskernik & Adi Kriegisch. 3. Mai 2007

Mail und Mailserver. Mail - Protokolle. Wichtige RFCs. Alexander Piskernik & Adi Kriegisch. 3. Mai 2007 1 Grundlagen Mail und Mailserver Alexander Piskernik & Adi Kriegisch 3. Mai 2007 2 SMTP & Email 3 Probleme & Lösungen 4 Mailserver 5 Mailserver konfigurieren Wichtige Software 6 Q & A Internet & Kommunikation

Mehr

E-Mail-Versand an Galileo Kundenstamm. Galileo / Outlook

E-Mail-Versand an Galileo Kundenstamm. Galileo / Outlook E-Mail-Versand an Galileo Kundenstamm Galileo / Outlook 1 Grundsätzliches...1 2 Voraussetzung...1 3 Vorbereitung...2 3.1 E-Mail-Adressen exportieren 2 3.1.1 Ohne Filter 2 3.1.2 Mit Filter 2 4 Mail-Versand

Mehr

Kurzanleitung Norman Antispam Gateway

Kurzanleitung Norman Antispam Gateway Kurzanleitung Norman Antispam Gateway Diese Kurzanleitung soll als mögliche Lösung dienen. Es kann sein, dass individuell auf den jeweiligen Einsatzbereich zugeschnitten sich andere Ansätze besser eignen.

Mehr

spam Anti Spam ANTI SPAM Guide

spam Anti Spam ANTI SPAM Guide spam Anti Spam ANTI SPAM Guide Trend Micro Anti Spam Guide Inhalt Seite 2 ANTI SPAM Guide INHALT Inhalt I Was ist Spam........................03 II Spam-Kategorien....................04 III Wie Spammer

Mehr

Bedienungsanleitung Net4You NoSpam

Bedienungsanleitung Net4You NoSpam Bedienungsanleitungen für verschiedene Net4You Produkte Bedienungsanleitung Net4You NoSpam Aufgrund unserer langjährigen Erfahrung, wissen wir um viele Kundenprobleme in der Bedienung von IKT-Produkten.

Mehr

SMTP ist ein textbasiertes Protokoll, der derzeit gültige RFC (Request for Comments) ist in RFC 2821 definiert.

SMTP ist ein textbasiertes Protokoll, der derzeit gültige RFC (Request for Comments) ist in RFC 2821 definiert. SMTP Simple Mail Transfer Protocol SMTP dient zum Austausch elektronischer Nachrichten im Internet. Es wird dabei vorrangig zum Versenden von E-Mails verwendet. Zum Abholen von Nachrichten kommen andere,

Mehr

Weiterleiten von Bildern und Texten mittels SMTP

Weiterleiten von Bildern und Texten mittels SMTP E-Mail-Weiterleitung Weiterleiten von Bildern und Texten mittels SMTP Status: Freigegeben Dieses Dokument ist geistiges Eigentum der Accellence Technologies GmbH und darf nur mit unserer ausdrücklichen

Mehr

DATENBLATT IDEE ZIELE LÖSUNG VORTEILE VORAUSSETZUNGEN. www.nospamproxy.de

DATENBLATT IDEE ZIELE LÖSUNG VORTEILE VORAUSSETZUNGEN. www.nospamproxy.de www.nospamproxy.de Net at Work Netzwerksysteme GmbH Am Hoppenhof 32, D-33104 Paderborn Tel. +49 5251 304-600, Fax -650 info@netatwork.de www.netatwork.de DIE IDEE Der Anlass zu entwickeln, ist der gestiegene

Mehr

Wichtige Grundsätze für die Nutzung der E-Mail-Schnittstellen

Wichtige Grundsätze für die Nutzung der E-Mail-Schnittstellen Einleitung Diese Dokumentation soll Ihnen bei der Nutzung unseres Produktes zur Seite stehen. Leider können wir hiermit sicherlich nicht alle Fragen und Fallstricke aus der Welt schaffen, daher scheuen

Mehr

Dunkel Mail Security

Dunkel Mail Security Dunkel Mail Security email-sicherheit auf die stressfreie Art Unser Service verhindert wie ein externer Schutzschild, dass Spam, Viren und andere Bedrohungen mit der email in Ihr Unternehmen gelangen und

Mehr

Inhalt. Net-Base Internetservice. Dokumentation Plesk E-Mail-Verwaltung / Horde Webmailverwaltung

Inhalt. Net-Base Internetservice. Dokumentation Plesk E-Mail-Verwaltung / Horde Webmailverwaltung Mit Ihrem Hostingpaket haben Sie die Möglichkeit, mehrere E-Mail-Konten zu verwalten. Ihre E-Mails können Sie dabei über ein gängiges E-Mail Programm, oder wahlweise über ein Webfrontend versenden und

Mehr

Proseminar: "Ethische Aspekte der Informationsverarbeitung" von Sebastian Zech

Proseminar: Ethische Aspekte der Informationsverarbeitung von Sebastian Zech Proseminar: "Ethische Aspekte der Informationsverarbeitung" von Sebastian Zech Matrikel-Nummer: 2502665 Gliederung: Der Kampf gegen Spam Was ist Spam? Warum Spam bekämpfen? Wie Spam bekämpfen? Analyse

Mehr

RZ Benutzerversammlung

RZ Benutzerversammlung Benutzerversammlung 29.April 2004 Der GSF Spamfilter Reinhard Streubel Rechenzentrum Übersicht Einleitung: SPAM was ist das? Rechtliche Probleme Vorstellung des Spamfilters der GSF Konfiguration des Spamfilters

Mehr

Dienste zur Kommunikation

Dienste zur Kommunikation Dienste zur Kommunikation Die Killer-Applikation des Internet heisst elektronische Post Das grösste verteilte Dokumenten-System des Internet heisst World Wide Web Mit beiden kann man hochgradig produktiv

Mehr

Webmail. Anleitung für Ihr online E-Mail-Postfach. http://webmail.willytel.de

Webmail. Anleitung für Ihr online E-Mail-Postfach. http://webmail.willytel.de Webmail Anleitung für Ihr online E-Mail-Postfach http://webmail.willytel.de Inhalt: Inhalt:... 2 Übersicht:... 3 Menü:... 4 E-Mail:... 4 Funktionen:... 5 Auf neue Nachrichten überprüfen... 5 Neue Nachricht

Mehr

easywan Spam-Mail-Blocker

easywan Spam-Mail-Blocker easywan Spam-Mail-Blocker Keiner will sie - jeder kriegt sie: SPAM-MAILS - Sie sind oft dubiosen Inhalts und überdecken in ihrer Masse permanent die wichtigen Mitteilungen, die wir alle über unsere Email-Postfächer

Mehr

Annoying Spammers Fighting UBE/UCE for fun and profit. Hallo Welt! http://www.cngw.org/ Stefan Heinecke & Teemu Schaabl

Annoying Spammers Fighting UBE/UCE for fun and profit. Hallo Welt! http://www.cngw.org/ Stefan Heinecke & Teemu Schaabl Hallo Welt! Bevor wir beginnen...... das Mobiltelefon stummschalten, den anderen Teilnehmern zu liebe. CNG.. Was? Die chaosnahe Gruppe Wien (CNGW) existiert nachweislich seit November 2000. Vereinsgründung

Mehr

Mit KI gegen SPAM. Proseminar Künstliche Intelligenz

Mit KI gegen SPAM. Proseminar Künstliche Intelligenz Mit KI gegen SPAM Proseminar Künstliche Intelligenz SS 2006 Florian Laib Ausblick Was ist SPAM? Warum SPAM-Filter? Naive Bayes-Verfahren Fallbasiertes Schließen Fallbasierte Filter TiMBL Vergleich der

Mehr

Spam/Viren. Ein Statusbericht. Roland Dietlicher ID/Basisdienste 12. Mai 2004

Spam/Viren. Ein Statusbericht. Roland Dietlicher ID/Basisdienste 12. Mai 2004 Spam/Viren Ein Statusbericht Roland Dietlicher ID/Basisdienste 12. Mai 2004 Guten Tag Herr Dietlicher, Ich nehme nicht an, dass Sie es waren der mir rund 20 Spams gesendet hat - aber evtl müsste ihr Computer

Mehr

12. Kieler OpenSource und Linux Tage. Wie funktioniert eigentlich Mail? 20.09.2014, Frank Agerholm, Linux User Group Flensburg e.v.

12. Kieler OpenSource und Linux Tage. Wie funktioniert eigentlich Mail? 20.09.2014, Frank Agerholm, Linux User Group Flensburg e.v. 12. Kieler OpenSource und Linux Tage Wie funktioniert eigentlich? 20.09.2014, Frank Agerholm, Linux User Group Flensburg e.v. Frank Agerholm Vorstellung Linux System Engineer RZ-Administration Konzeptionierung

Mehr

E-Mail Protokolle. IT02a 18.05.2004 Marina Maugeri

E-Mail Protokolle. IT02a 18.05.2004 Marina Maugeri E-Mail Protokolle IT02a 18.05.2004 Marina Maugeri 1. Geschichte der E-Mail...Seite 2 2. Aufbau einer E-Mail...Seite 2 3. SMTP Simple Mail Transfer Protocol...Seite 2 3.1. Kommandos...Seite 3 3.2. Antwortcodes...Seite

Mehr

Hochschulrechenzentrum

Hochschulrechenzentrum #95 Version 2 Einleitung Das ZEDAT-Portal ist ein Dienst der ZEDAT, der es Ihnen ermöglicht, den eigenen Account auf bequeme und sichere Weise mit einem Webbrowser zu verwalten. Sie können dort persönliche

Mehr

Postausgang SMTP-Protokoll securesmtp.t-online.de (TLS) 587 evtl. SSL = 465

Postausgang SMTP-Protokoll securesmtp.t-online.de (TLS) 587 evtl. SSL = 465 SSL-Konfiguration 1&1 SSL-Konfiguration. Aktivieren Sie "SSL" und tragen Sie, falls erforderlich, den entsprechenden Port ein. Wählen Sie entsprechend den Port für IMAP oder POP3 aus. In den meisten Programmen

Mehr

Dokumentation Mailcluster System Version 1.2.7 beta

Dokumentation Mailcluster System Version 1.2.7 beta Dokumentation Mailcluster System Version 1.2.7 beta Inhaltsverzeichnis Anmeldung Administrationsbereich...1 Konten...2 Benutzer hinzufügen...2 Weiterleitungen...3 Alias hinzufügen...3 Sammelpostfach hinzufügen...4

Mehr

SpamAssassin. Leitfaden zu Konfiguration, Integration und Einsatz. Alistair McDonald. An imprint of Pearson Education

SpamAssassin. Leitfaden zu Konfiguration, Integration und Einsatz. Alistair McDonald. An imprint of Pearson Education Alistair McDonald SpamAssassin Leitfaden zu Konfiguration, Integration und Einsatz An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid

Mehr

Verfassen einer E-Mail mit Outlook-Express. 2

Verfassen einer E-Mail mit Outlook-Express. 2 [ ] Inhaltsverzeichnis Seite Einleitung 3 E-Mail-Programme 4 Outlook-Express einrichten 4 E-Mail abrufen 10 E-Mail verfassen und versenden 11 E-Mails beantworten 13 Verfassen einer E-Mail mit Outlook-Express.

Mehr

Schnellstart neues Equinoxe-Webmail

Schnellstart neues Equinoxe-Webmail Schnellstart neues Equinoxe-Webmail Autor: Christian Reininger reini@equinoxe.de Datei: schnellstart_equinoxe_webmail.doc Datum: 04.03.2008 Version: v. 1.0.0.0 Seiten: 13 Inhalt Allgemein 1. Administratives

Mehr

Ich hab doch nichts zu verbergen... Der gläserne Bürger: Wieviel Daten braucht der Staat?

Ich hab doch nichts zu verbergen... Der gläserne Bürger: Wieviel Daten braucht der Staat? 1 / 32 Veranstaltungsreihe Ich hab doch nichts zu verbergen... Der gläserne Bürger: Wieviel Daten braucht der Staat? Veranstalter sind: 15. Mai bis 3. Juli 2008 der Arbeitskreis Vorratsdatenspeicherung

Mehr

Im folgenden zeigen wir Ihnen in wenigen Schritten, wie dies funktioniert.

Im folgenden zeigen wir Ihnen in wenigen Schritten, wie dies funktioniert. OPTICOM WEB.MAIL Sehr geehrte Kunden, damit Sie mit opticom, Ihrem Internet Service Provider, auch weiterhin in den Punkten Benutzerfreundlichkeit, Aktualität und Sicherheit auf dem neusten Stand sind,

Mehr

E-Mail Client Konfiguration Leitfaden

E-Mail Client Konfiguration Leitfaden E-Mail Client Konfiguration Leitfaden 1 Impressum Herausgeber Deutsche Telekom Technischer Service GmbH, Zentraler Service Anschrift der Redaktion Deutsche Telekom Technischer Service GmbH Zentraler Service

Mehr

Outlook Web App 2010. Kurzanleitung. interner OWA-Zugang

Outlook Web App 2010. Kurzanleitung. interner OWA-Zugang interner OWA-Zugang Neu-Isenburg,08.06.2012 Seite 2 von 15 Inhalt 1 Einleitung 3 2 Anmelden bei Outlook Web App 2010 3 3 Benutzeroberfläche 4 3.1 Hilfreiche Tipps 4 4 OWA-Funktionen 6 4.1 neue E-Mail 6

Mehr

Seminar Internet-Technologie. Maildienste SMTP / POP3 / IMAP. Pierre Schwalm FB 16 Universität Kassel

Seminar Internet-Technologie. Maildienste SMTP / POP3 / IMAP. Pierre Schwalm FB 16 Universität Kassel Maildienste SMTP / POP3 / IMAP Pierre Schwalm FB 16 Universität Kassel 1 Ablauf Einleitung SMTP Geschichte Verfahren Modell Protokoll Codes POP3 Geschichte Verfahren Befehle Sitzung's Beispiel 2 Ablauf

Mehr

1 Konto neu in Mailprogramm einrichten

1 Konto neu in Mailprogramm einrichten 1 1 Konto neu in Mailprogramm einrichten 1.1 Mozilla Thunderbird Extras Konten Konto hinzufügen E-Mail-Konto 1. Identität eingeben: Name und mitgeteilte Mail-Adresse 2. Typ des Posteingangs-Server: POP3

Mehr

telemail 2.5 Spamfilter Benutzerhandbuch Anwendung des telemed Spamschutzes Erstellt: 28.02.10/BOL Freigabe: 28.02.10/ASU Bestimmung: Kunde

telemail 2.5 Spamfilter Benutzerhandbuch Anwendung des telemed Spamschutzes Erstellt: 28.02.10/BOL Freigabe: 28.02.10/ASU Bestimmung: Kunde telemail 2.5 Spamfilter Anwendung des telemed Spamschutzes Benutzerhandbuch Rev.: 02 Seite 1 von 12 1) Prinzip des telemed-spamfilters... 3 2) Neue Funktionen im telemail... 4 Aktivieren des Spamfilters

Mehr

CollectMail Ver. 1.1 Handbuch

CollectMail Ver. 1.1 Handbuch CollectMail Ver. 1.1 Handbuch Inhaltsverzeichnis Inhaltsverzeichnis... 1 Einleitung... 2 CM_Admin... 3 Die Seite CollectMail... 3 Die Seite Konten... 4 Die Seite Black & Whitelist... 6 Die Seite Inhaltsfilter...

Mehr

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors Installation und Konfiguration des Outlook Connectors Vertraulichkeit Die vorliegende Dokumentation beinhaltet vertrauliche Informationen und darf nicht an etwelche Konkurrenten der EveryWare AG weitergereicht

Mehr

(c) 2003 by Lars Witter

(c) 2003 by Lars Witter Filtern von Spam-Mails direkt auf dem Server Von Lars Witter (Vorstand Mabi) Marburg, den 18.08.2003 Seit etwa 3 Monaten betreiben wir auf den Mabi-Mail-Servern eine Spamerkennungssoftware, der eingehende

Mehr

MSXFORUM - Exchange Server 2003 > Konfiguration Sender ID (Absendererkennu...

MSXFORUM - Exchange Server 2003 > Konfiguration Sender ID (Absendererkennu... Page 1 of 7 Konfiguration Sender ID (Absendererkennung) Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 07.03.2006 Mit der Einführung von Exchange 2003 Service Pack 2 wurden mehrere neue

Mehr

Aktivieren des Anti-SPAM Filters

Aktivieren des Anti-SPAM Filters Aktivieren des Anti-SPAM Filters Die Menge an Werbeemails die ohne Zustimmung des Empfängers versendet werden nimmt von Tag zu Tag zu. Diese SPAM-Mails / Junk Mails verursachen einen extrem hohen Zeitaufwand

Mehr

Spam und SPIT. Moritz Mertinkat mmertinkat AT rapidsoft DOT de. Aktuelle Schutzmöglichkeiten und Gegenmaßnahmen 06.07.2007 1

Spam und SPIT. Moritz Mertinkat mmertinkat AT rapidsoft DOT de. Aktuelle Schutzmöglichkeiten und Gegenmaßnahmen 06.07.2007 1 06.07.2007 1 Spam und SPIT Aktuelle Schutzmöglichkeiten und Gegenmaßnahmen Moritz Mertinkat mmertinkat AT rapidsoft DOT de 06.07.2007 Einleitung // Worum geht s? Spam Architektur Schutzmöglichkeiten Gegenmaßnahmen

Mehr

DCN Media Server 2008. Ergänzung zum Handbuch. Anlegen neuer Email-Konten in Outlook / Outlook Express. Alf Drollinger, DCN GmbH. Stand: Januar 2008

DCN Media Server 2008. Ergänzung zum Handbuch. Anlegen neuer Email-Konten in Outlook / Outlook Express. Alf Drollinger, DCN GmbH. Stand: Januar 2008 Media Server 2008 Ergänzung zum Handbuch. Anlegen neuer Email-Konten in Outlook / Outlook Express Alf Drollinger, GmbH Stand: Januar 2008 Seite 1 von 12 1996 2007 GmbH, Karlsbad Inhaltsverzeichnis 1. Allgemeine

Mehr

Magistrat Steyr Version 2.7

Magistrat Steyr Version 2.7 Version 2.7 24.06.2014 Wolfgang Patscheider E-Mail-Policy 24.06.2014 Seite 1 Inhaltsverzeichnis: 1. Geltungsbereich... 3 2. Allgemeine Grundsätze... 3 3. Einsatzgebiete von E-Mail... 3 4. Organisatorische

Mehr

Merkblatt «Regeln in Mailprogrammen» für lokale Spam-Filterung und automatisierte Mailablage (Macintosh: Mail / Windows: Outlook 2013)

Merkblatt «Regeln in Mailprogrammen» für lokale Spam-Filterung und automatisierte Mailablage (Macintosh: Mail / Windows: Outlook 2013) 1. Spam-Filterung In erster Linie sollte immer die Spam-Filterung beim Provider aktiviert werden (siehe Merkblatt 68). Was aber, wenn trotzdem noch Spams im Postkorb landen? Dann muss die lokale Spam-Filterung

Mehr

Ungenauigkeiten der Filterung

Ungenauigkeiten der Filterung A Ungenauigkeiten der Filterung Kein Filter ist perfekt. Mit Ihrer Hilfe strebt MailCleaner an, ein perfekter Filter zu werden. Die Filterung, die von MailCleaner durchgeführt wird, beruht auf automatischen

Mehr

S Sparkasse. UnnaKamen. Secure Mail Notwendigkeit?

S Sparkasse. UnnaKamen. Secure Mail Notwendigkeit? S Sparkasse UnnaKamen Secure Mail Notwendigkeit? Das sogenannte Sniffen, Ausspähen von E-Mailinhalten und Authentifizierungsdateien sowie das E-Mail Spoofing, das Erstellen einer E-Mail mit gefälschtem

Mehr

E-Mail für Anfänger. David Mika. david@ping.de. Donnerstag, den 12. April 2012. Verein zur Förderung der privaten Internet Nutzung e.v.

E-Mail für Anfänger. David Mika. david@ping.de. Donnerstag, den 12. April 2012. Verein zur Förderung der privaten Internet Nutzung e.v. E-Mail für Anfänger David Mika david@ping.de Verein zur Förderung der privaten Internet Nutzung e.v. Donnerstag, den 12. April 2012 E-Mail? Electronic Mail Brief- bzw. Postkartenähnliche Nachricht im Internet

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Einrichtung E-Mail V2009/01

Einrichtung E-Mail V2009/01 Einrichtung E-Mail V2009/01 Wir haben versucht, alle gängigen Mailprogramme in dieser Anleitung zu berücksichtigen. Bitte blättern Sie gleich weiter zu der, auf der Ihr persönliches Mailprogramm beschrieben

Mehr

Automatisiertes Informationsmanagement für Microsoft Exchange Server

Automatisiertes Informationsmanagement für Microsoft Exchange Server Windream Exchange Automatisiertes Informationsmanagement für Microsoft Exchange Server Facts: Zugriff auf E-Mails sowohl aus Microsoft Outlook als auch aus Windream Komfortable Recherche und Verwaltung

Mehr

SPAM Filter funktionsweise und Konfiguration

SPAM Filter funktionsweise und Konfiguration SPAM Filter funktionsweise und Konfiguration Version: V0.1 Datum: 17.01.06 Ablage: ftp://ftp.clinch.ch/doku/spam-filter.doc Autor: Manuel Magnin Änderungen: 13.09.06 MM Beschreibung Implementation HoneyPot

Mehr

Der erste Teil dieses Buches setzt sich grundlegend mit Postfix auseinander. Wir beginnen mit einer Einführung in das SMTP-Protokoll, dann bereiten

Der erste Teil dieses Buches setzt sich grundlegend mit Postfix auseinander. Wir beginnen mit einer Einführung in das SMTP-Protokoll, dann bereiten I. Grundlagen Der erste Teil dieses Buches setzt sich grundlegend mit Postfix auseinander. Wir beginnen mit einer Einführung in das SMTP-Protokoll, dann bereiten wir das Umfeld und das Betriebssystem für

Mehr

Verwendung des Mailservers

Verwendung des Mailservers Inhaltsverzeichnis Verwendung des Mailservers 1 Einleitung...1 2 Die wichtigsten Parameter...2 3 Webmail Squirrelmail...2 3.1 Login...2 3.2 Optionen...3 3.3 Persönliche Informationen...3 3.4 Passwort ändern...4

Mehr

GLASFASERNETZ DATACENTER RHEIN-NECKAR RHEIN-NECKAR-CLOUD MULTIMEDIA. Leistungsbeschreibung der

GLASFASERNETZ DATACENTER RHEIN-NECKAR RHEIN-NECKAR-CLOUD MULTIMEDIA. Leistungsbeschreibung der Dieses Dokument enthält die Leistungsbeschreibung für den Dienst E-Mail-Solution. Die MAnet GmbH, nachfolgend Gesellschaft genannt, stellt dem Kunden eine Serverplattform zum professionellen E-Mailschutz

Mehr

Spamfilter Einrichtung

Spamfilter Einrichtung Spamfilter Einrichtung Melden Sie sich in Ihrem Hosting Control Panel an. Klicken Sie in der Navigation links, im Menu "E-Mail", auf den Unterpunkt "Spam Filter". Bei dem Postfach, dessen Einstellungen

Mehr

Collax E-Mail Archive Howto

Collax E-Mail Archive Howto Collax E-Mail Archive Howto Howto Dieses Howto beschreibt wie ein Collax Server innerhalb weniger Schritte als E-Mail Archive eingerichtet werden kann, um Mitarbeitern Zugriff auf das eigene E-Mail Archiv

Mehr

Dokumentation E-Mail-Hosting

Dokumentation E-Mail-Hosting Dokumentation E-Mail-Hosting Inhalt I. Allgemeines I.a Antispam I.b Greylisting II. Verwaltung von E-Mail II.a Neue Mailadressen anlegen II.b Neuen Alias anlegen II.c Neue Verteilerliste anlegen II.d Domain

Mehr

Microsoft ISA Server 2004 Das Handbuch

Microsoft ISA Server 2004 Das Handbuch 187.book Page 3 Thursday, September 1, 2005 3:33 PM Marc Grote, Christian Gröbner, Dieter Rauscher Microsoft ISA Server 2004 Das Handbuch 187.book Page 360 Thursday, September 1, 2005 3:33 PM Kapitel 15

Mehr

E-Mail. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen?

E-Mail. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen? E-Mail Nachrichtenübertragung 1 Wie werden Nachrichten Übertragen? Über Protokolle: SMTP (Simple Mail Transfer Protocol) POP3 (Post Office Protocol Version 3) IMAP (Internet Message Access Protocol) 2

Mehr