Wie lernt mailcow Spam und Ham?
mailcow nutzt mehrere Verfahren, um Spam (unerwünschte E-Mails) und Ham (erwünschte E-Mails) zuverlässig zu unterscheiden und das Filtersystem kontinuierlich zu verbessern:
- Globaler bayesscher Filter
- Benutzerdefinierter bayesscher Filter
- Fuzzy-Hashing
Bayessche Filter – Wahrscheinlichkeitsbasierte Bewertung¶
Globaler bayesscher Filter¶
Der globale bayessche Filter bewertet eingehende E-Mails anhand statistischer Wahrscheinlichkeiten und lernt automatisch aus Nachrichten, deren Spam-Score einen klaren Grenzwert über- oder unterschreitet.
Damit eine Nachricht angelernt wird, muss ein hoher Grad an Sicherheit über deren Klassifizierung als Spam oder Ham vorliegen. Einzelne, zufällige Muster reichen nicht aus – es bedarf einer gewissen Wiederholung.
Zusätzlich analysiert das System regelmäßig E-Mails, die als „gelesen“ markiert und älter als eine bestimmte Anzahl von Tagen sind. Auch diese Nachrichten fließen in das Lernverhalten ein.
Beim manuellen Anlernen (z. B. durch Benutzeraktionen) ist keine Wahrscheinlichkeit erforderlich. Stattdessen entscheidet der Ablageort: Liegt die E-Mail im Junk-Ordner oder nicht?
Benutzerdefinierter bayesscher Filter¶
Der benutzerdefinierte Filter reagiert direkt auf das Verschieben von E-Mails in oder aus dem Junk-Ordner durch die Benutzerin oder den Benutzer.
Im Gegensatz zum globalen Filter benötigt er keine statistische Häufung und beginnt bereits nach wenigen Interaktionen zu lernen. Wiederholtes Training erhöht die Genauigkeit deutlich.
Wichtig:
Der benutzerdefinierte Filter hat höhere Priorität als der globale Filter. Das bedeutet: Sollten beide Filter eine E-Mail unterschiedlich bewerten, wird die Einschätzung des benutzerdefinierten Filters bevorzugt.
Fuzzy-Hashing – Intelligente Mustererkennung¶
Fuzzy-Hashes sind sogenannte „unscharfe Prüfsummen“, mit denen ähnliche E-Mails erkannt werden – auch wenn sich einzelne Teile der Nachricht, z. B. Namen oder Schreibweisen, unterscheiden.
Da viele Spam-E-Mails personalisiert werden (z. B. durch den echten Namen des Empfängers), erzeugt das System aus solchen Nachrichten einen generalisierten Hashwert, der auch bei leicht veränderter Struktur wiedererkannt werden kann.
Ein Fuzzy-Hash wird nur erzeugt, wenn eine Nachricht mit sehr hoher Wahrscheinlichkeit als Spam eingestuft und in ähnlicher Form mehrfach empfangen wurde. Das bloße Verschieben einer Nachricht reicht nicht aus, um einen Hash zu generieren.
Dieses Verfahren hilft dabei, auch abgewandelte Spam-Varianten zuverlässig zu identifizieren und gemeinsam über mehrere Benutzerkonten hinweg zu bekämpfen.