37
Jak wykrywać spam w e-mailach Krzysztof Bańkowski Maciej Łukasik Stanisław Małolepszy 14 kwietnia 2008, Warszawa

Wykrywanie Spamu

Embed Size (px)

Citation preview

Page 1: Wykrywanie Spamu

Jak wykrywać spam w e-mailachKrzysztof Bańkowski

Maciej Łukasik

Stanisław Małolepszy

14 kwietnia 2008, Warszawa

Page 2: Wykrywanie Spamu

Plan wystąpienia

Dlaczego walczymy ze spamem?

Metody wykrywania spamu

Zasady działania filtrów bayesowskich

Demonstracja

Zalety i podsumowanie

Page 3: Wykrywanie Spamu

Dlaczego walczymy ze spamem?

$ 20 000 000 000

Page 4: Wykrywanie Spamu

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

Page 5: Wykrywanie Spamu

Najwięksi spamerzy

USA Korea Pd.Chiny RosjaBrazylia FrancjaNiemcy TurcjaPolska Wlk. BrytaniaRumunia MeksykInne

Page 6: Wykrywanie Spamu

Metody wykrywania spamu

Page 7: Wykrywanie 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

Page 8: Wykrywanie Spamu

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

Page 9: Wykrywanie Spamu

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

Page 10: Wykrywanie Spamu

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

Page 11: Wykrywanie Spamu

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

Page 12: Wykrywanie Spamu

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

Page 13: Wykrywanie Spamu

Zasady działania filtrów bayesowskich

Page 14: Wykrywanie Spamu

Problem – klasyfikacja dokumentu

Cel

Budowa modelu probabilistycznego, który klasyfikowałby nowe dokumenty

Założenie

Poszczególne klasy są znane (S, H)

Page 15: Wykrywanie Spamu

Problem – klasyfikacja dokumentu

Budowa modelu

Zbieranie i przygotowanie danych

Właściwa budowa modelu (uczenie)

Testowanie modelu

Zastosowanie do klasyfikacji nowych dokumentów

Page 16: Wykrywanie Spamu

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

Page 17: Wykrywanie Spamu

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

Page 18: Wykrywanie Spamu

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

Page 19: Wykrywanie Spamu

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

Page 20: Wykrywanie Spamu

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

Page 21: Wykrywanie Spamu

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

Page 22: Wykrywanie Spamu

Podejście 1: algorytm

Jak przyporządkować nowy dokument dj?

Spam czy Ham?

Page 23: Wykrywanie Spamu

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

Page 24: Wykrywanie Spamu

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

Page 25: Wykrywanie Spamu

Podejście 2: algorytm

Jak przyporządkować nowy dokument dj?

Spam czy Ham?

Page 26: Wykrywanie Spamu

Podejście 2: algorytm

Wszystkie kolejności każdego atrybutuWszystkie kolejności wszystkich atrybutów

Page 27: Wykrywanie Spamu

Demonstracja

Page 28: Wykrywanie Spamu

Demonstracja

MS Excel

SpamBayes

Page 29: Wykrywanie Spamu

SpamBayes – skuteczność

Page 30: Wykrywanie Spamu

SpamBayes – skuteczność poprzedniej wersji

Page 31: Wykrywanie Spamu

Zalety i podsumowanie

Page 32: Wykrywanie Spamu

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

Page 33: Wykrywanie Spamu

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?

Page 34: Wykrywanie Spamu

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

Page 35: Wykrywanie Spamu

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)

Page 36: Wykrywanie Spamu

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

Page 37: Wykrywanie Spamu

Dziękujemy za uwagęCreative Commons 2.5 BY-NC-SA