Post on 12-Jul-2015
Jak wykrywać spam w e-mailachKrzysztof Bańkowski
Maciej Łukasik
Stanisław Małolepszy
14 kwietnia 2008, Warszawa
Plan wystąpienia
Dlaczego walczymy ze spamem?
Metody wykrywania spamu
Zasady działania filtrów bayesowskich
Demonstracja
Zalety i podsumowanie
Dlaczego walczymy ze spamem?
$ 20 000 000 000
Dlaczego spam jest szkodliwy?
powoduje zatykanie się łącz, marnuje miejsce na twardych dyskach oraz spowalnia serwery
strata czasu dla użytkowników Internetu; utrudnia czytanie „normalnej” poczty i stwarza ryzyko jej utraty (np. z powodu blokad antyspamowych)
narusza prywatność i bezpieczeństwo odbiorców
spam wiąże się często z różnego rodzaju wirusami i innymi złośliwymi programami
Najwięksi spamerzy
USA Korea Pd.Chiny RosjaBrazylia FrancjaNiemcy TurcjaPolska Wlk. BrytaniaRumunia MeksykInne
Metody wykrywania spamu
Skargi do dostawców internetu
zalety: nieskomplikowana metoda, podnosi koszty spamowania
wady: metoda pracochłonna i mało skuteczna, czasami trudno rozpoznać dostawcę spamera
znaczenie: częściowe rozwiązanie, dla ekspertów, nie dla użytkowników indywidualnych
Mail server blacklist
zalety: blokowanie spamu już na etapie serwera
wady: rozwiązanie inwazyjne, niekompletne i często nieodpowiedzialne
znaczenie: pozwala zatrzymać 50% maili wychodzących
Signature-based filtering
zalety: sporadycznie blokuje dobre maile
wady: skuteczność w wychwytywaniu spamu tylko na poziomie 50-70%
znacznie: pierwszy duży filtr antyspamowy na wielkich serwisach emailowych, np. Brightmail Antispam
Rule-based filtering (filtr heurystyczny)
zalety: wykrywa nawet 90-95% spamu, prosty do obsługi dla użytkownika
wady: stosunkowo dużo dobrych maili odrzuconych (false positive), zróżnicowana skuteczność
znaczenie: tak wyglądała walka ze spamem do 2002 roku, obecnie np. Spamassasin
Challenge-response filtering
zalety: skuteczny w 99,9%
wady: irytujący, powoduje opóźnienia w dostarczaniu maili oraz często doprowadza do niedostarczenia poczty
znaczenie: kompromituje osobę używającą narzędzi tego typu
Filtry Bayesowskie
zalety: wychwytuje od 99% do 99,9% spamu, niska ilość maili zakwalifikowanych jako false positive
wady: wymaga od użytkownika odrobiny wysiłku
znaczenie: obecnie najlepsze rozwiązanie dla użytkowników indywidualnych, np. SpamProbe
Zasady działania filtrów bayesowskich
Problem – klasyfikacja dokumentu
Cel
Budowa modelu probabilistycznego, który klasyfikowałby nowe dokumenty
Założenie
Poszczególne klasy są znane (S, H)
Problem – klasyfikacja dokumentu
Budowa modelu
Zbieranie i przygotowanie danych
Właściwa budowa modelu (uczenie)
Testowanie modelu
Zastosowanie do klasyfikacji nowych dokumentów
Problem – klasyfikacja dokumentu
Występowanie słów w nagłówkuDuża liczba adresatówTen sam adresat, różne domeny
Występowanie słów w tekścieObecność znaków specjalnych
Brak tematu wiadomościGodzina rozsyłania
Tokenizingprzekształcenie dokumentu w wektor atrybutów
Header tokens Body tokensSynthetized
tokens
Problem – klasyfikacja dokumentu
Składowe wektora oparte o atrybuty (występowanie – zdarzenie losowe)
Podejście 1: występowanie atrybutu, wartości składowych → (0, 1)
Rozkład dwupunktowy
Podejście 2: ilość wystąpienia atrybutu, wartości składowych → (0, 1, 2, …)
Rozkład Poissona
Sieć Bayesowska
Definicja
acykliczny graf skierowany złożony z węzłów i łączących je krawędzi – dobre rozwiązanie do przedstawienia łącznego rozkładu prawdopodobieństwa dla wszystkich atrybutów
Sieć Bayesowska
Topologia
Węzły – zmienne losowe
Krawędzie – bezpośrednie zależności (każda zmienna niezależna warunkowo od niepotomków)
Tablica prawdopodobieństw – dla każdego węzła zdefiniowana tablica prawdopodobieństw warunkowych pod warunkiem jego rodziców
Zastosowanie do klasyfikacji
Sieć zawiera węzeł C (oznaczenie klasy) oraz węzeł Xi (atrybut)
Sieć Bayesowska
C
X1 X2 X3 Xn
Klasyfikator Naive Bayes
Podejście 1: algorytm
Reprezentacja k dokumentów, atrybuty (t1, …, tm):
Potrafimy przyporządkować d1, d2,…, dk do klas (S, H).
Nij – występowanie atrybutu ti w dokumencie dj
Podejście 1: algorytm
Jak przyporządkować nowy dokument dj?
Spam czy Ham?
Podejście 1: algorytm
Twierdzenie Bayesa Warunkowa niezależność zdarzeńProcent dokumentów klasy S posiadających
atrybut xi
Procent dokumentów klasy S spośród
wszystkich dokumentów
Podejście 2: algorytm
Reprezentacja k dokumentów, atrybuty (t1, …, tm):
Potrafimy przyporządkować d1, d2,…, dk do klas (S, H).
Nij – liczba wystąpień atrybutu ti w dokumencie dj
Podejście 2: algorytm
Jak przyporządkować nowy dokument dj?
Spam czy Ham?
Podejście 2: algorytm
Wszystkie kolejności każdego atrybutuWszystkie kolejności wszystkich atrybutów
Demonstracja
Demonstracja
MS Excel
SpamBayes
SpamBayes – skuteczność
SpamBayes – skuteczność poprzedniej wersji
Zalety i podsumowanie
Analizowanie wielu czynników na raz
Nadawca, temat
Słowa kluczowe (“złe” i “dobre”)
Czas, który upłynął między wysłaniem a dostarczeniem wiadomości
Ciągły proces uczenia
Filtry bayesowskie obliczają prawdopodobieństwo zdarzenia, że:
wiadomość jest spamem, oraz
wiadomość jest pożądanym e-mailem
Viagra – jak wielu Waszych znajomych używa tego słowa w e-mailach do Was?
A jak wielu używa słowa V1agra?
Dostosowanie do profilu użytkownika
Nie każdy e-mail, który zawiera słowa cash i client jest spamem – szczególnie, jeśli jesteśmy firmą
Filtry bayesowskie dostosowują się do profilu użytkownika
Wsparcie dla wielu języków
Dzięki procesowi uczenia, filtry sprawdzają się w pracy na wielu językach
Uwaga: języki o skomplikowanej gramatyce mogą stwarzać problemy (trudna lematyzacja)
Skomplikowana technologia
Trudno przechytrzyć filtr bayesowski
Używanie niewielu typowo spamerskich słów
Dodawanie treści spersonalizowanych pod użytkownika (bardzo trudne dla spamerów)
Dodawanie fragmentów książek, poezji, Biblii
Dziękujemy za uwagęCreative Commons 2.5 BY-NC-SA