Filtrowanie spamu

O konieczności walki ze spamem nie trzeba chyba nikogo przekonywać. Szukanie “właściwych” e-maili w gąszczu niechcianych wiadomości każdego może wyprowadzić z równowagi. W ciągu ostatnich lat wypracowanych zostało wiele pomysłów na pozbycie się spamu, od informowania o nadawcach ich providerów internetowych czy tworzenia tzw. czarnych list serwerów pocztowych, poprzez różne metody filtrowania, po tworzenie i egzekwowanie przepisów prawa. Który sposób jest najlepszy? Najpopularniejsze, a tym samym najbardziej efektywne są różnego rodzaju filtry. Jak dotąd najlepsze rezultaty przynosi filtrowanie bayesowskie. Jednak dobrym i coraz częściej stosowanym wariantem staje się kombinacja kilku rozwiązań.Spróbujmy przyjrzeć się bliżej metodom filtrowania, wykorzystywanym w walce ze spamem.

Filtrowanie oparte na znakowaniu

Ta metoda filtrowania nigdy nie przynosiła zadowalających rezultatów, ponieważ łatwo ją pokonać. Potrafi wychwycić jedynie do 70% spamu. Wystawiana jest zwykle “na pierwszy ogień” przez duże serwisy e-mailowe. Polega na porównywaniu przychodzących wiadomości do znanych już, wcześniej otrzymanych spamów. Porównania tego dokonuje się na podstawie oznakowania każdej wiadomości. Zwykle w celu oznakowania wiadomości przypisuje się każdemu jej znakowi liczbę, a następnie sumuje się wszystkie te liczby. Dlatego łatwo jest zaatakować tę metodę, dodając po prostu losowy ciąg znaków do każdej kopii spamu. Stąd właśnie biorą się losowe ciągi w linii tematu spamowych wiadomości.

Filtrowanie bayesowskie (statystyczne, oparte na zawartości)

Jak już wspominałam, ta metoda filtrowania uważana jest za na razie najlepszą broń w walce ze spamem. Jest jednak stosunkowo świeża i jak dotąd niewiele komercyjnych filtrów ją stosuje.

Filtry bayesowskie rozpoznają spam na podstawie wyszukiwania w nich słów kluczowych. Filtr rozpoczyna pracę posiadając dwie kolekcje wiadomości. Jedna składa się ze spamów, druga – z “właściwych” e-maili. Dla każdego wyrazu, który pojawił się w tych wiadomościach, wyznaczone zostaje prawdopodobieństwo, na podstawie proporcji jego wystąpień w spamach. Na przykład wyraz “Gwarantujemy” posiada wysokie prawdopodobieństwo, gdyż pojawia się praktycznie jedynie w spamach. Wyraz “pozdrowienia” przeciwnie, bo pojawia się przeważnie w nie-spamowej poczcie.

Z chwilą pojawienia się nowej wiadomości, filtr oblicza całkowite prawdopodobieństwo tego, że e-mail ten jest spamem. Dokonuje tego na podstawie kilkunastu słów z grupy tych o największym prawdopodobieństwie wystąpienia w spamie.

Co decyduje o wielkości filtrów bayesowskich? Są niezwykle dokładne (filtrują średnio 99% spamu), a ponadto automatycznie dostosowują się do zmian w spamach. Uczą się bowiem identyfikować spamy poprzez analizowanie rzeczywistych wiadomości, przychodzących do konkretnego użytkownika. Filtry bayesowskie okazują się też być skuteczne w eliminowaniu pomyłek uznania za spamy e-maili, które spamami nie są. A zatem nie potraktują one jako spam wiadomości zawierającej na przykład pojedynczy wyraz “sex” w swej treści.

Można w tym miejscu zapytać, jak filtr bayesowski poradzi sobie z pomysłem spammerów, polegającym na modyfikowaniu słów kluczowych (np. Vi@gr@). Filtr radzi sobie w tym przypadku całkiem nieźle. Ponieważ w typowej wiadomości nie występuje wiele pojedynczych liter czy fragmentów słów, zatem ciągi typu ‘vi’ i ‘gr’ będą wskazywać na spore prawdopodobieństwo spamu.

Jedyną wadą tego typu filtrów jest konieczność “dostrojenia” filtra do własnych potrzeb, czyli “nauczenia” go poprawnego działania. Użytkownik musi zatem zdobyć się na wysiłek poinformowania filtra w sytuacji, w której dokona on złej klasyfikacji. Wysiłek ten zostanie jednak w przyszłości nagrodzony.

Filtrowanie regułowe (heurystyczne)

Filtry oparte na regułach wyszukują wzorce charakterystyczne dla spamu, a konkretnie – szukają pewnych wyrazów i fraz, długich ciągów napisanych wielkimi literami czy usianych wykrzyknikami itd. Tego rodzaju filtry stanowiły większość w walce ze spamem do 2002 roku. Najlepsze z nich potrafią wyfiltrować do 95% spamu, ale wadą ich jest wysoki odsetek pomyłek.

Inną wadą jest to, że opierają się na statycznym zestawie reguł. Każdy nowy trik spammera wymusza pisanie reguł od nowa. Spammerzy mają nawet w zwyczaju testować swoje spamy na popularnych filtrach regułowych.

Filtry tego typu górują nad filtrami typu bayesowskiego jednym – są łatwe do zainstalowania na poziomie serwera poczty. Filtry bayesowskie, zanim zaczną prawidłowo działać muszą zostać nauczone poprawnej klasyfikacji.

Filtrowanie “Challenge-Response”

Pomimo że rozwiązanie to pozwala na wyeliminowanie 99,9% spamu, jest niezbyt efektowne. Najprościej rzecz biorąc, kiedy dostajemy od kogoś e-mail po raz pierwszy, nasz filtr wysyła do tej osoby wiadomość z informacją, że jej e-mail będzie mógł zostać dostarczony dopiero po tym, jak osoba ta zarejestruje się na stronie webowej.

Jest to zatem działanie nieco niegrzeczne, które osobie wysyłającej do nas wiadomość narzuca wykonanie dodatkowej czynności, w celu ochronienia naszej skrzynki przed spamem, a przecież to nasz własny problem i nie każdy może chcieć się angażować w jego rozwiązanie.

Poza tym, takie automatyczne odsyłanie maila z prośbą o zarejestrowanie adresu wydłuża niemiłosiernie czas dotarcia do nas informacji i niejednokrotnie z pewnością dojdzie ona już po czasie. Nie każdy przecież sprawdza swoją pocztę przez okrągłą dobę, co pół godziny. Wysyła się zwykle wiadomość z przeświadczeniem, ze po kilku sekundach znajdzie się ona w skrzynce odbiorcy, taka jest z resztą idea poczty elektronicznej. Poza tym, niejeden wysyłający w ogóle nie wejdzie na podaną stronę (postąpi tak pewnie większość) i jego e-mail przepadnie.

Jest to więc rodzaj ochrony przed spamem, nadający się jedynie dla osób, które maile wymieniają tylko ze stałym gronem ludzi i nie widzą powodów, żeby to grono poszerzać. Jednym słowem, zastosowanie filtra typu challenge-response jest jak ogrodzenie swojego domu drutem kolczastym. Odstrasza on skutecznie intruzów, ale jednocześnie świadczy niezbyt dobrze o mieszkańcach.

Wartym uwagi pomysłem jest jednak wykorzystanie takiego filtra w połączeniu z innym, na przykład bayesowskim. Można wykorzystać go pomocniczo, na grupie wiadomości sklasyfikowanych przez filtr bayesowski jako spamy.

Filtry rewanżujące się (Filters that Fight Back)

Jako że większość spamów zawiera linki do stron webowych, powstał pomysł, aby filtr automatycznie wchodził na podaną w spamie stronę. Powstały w ten sposób tłok na sieci spowodowałby ogromne obciążenie serwera. Jak na razie filtry tego typu nie są rozpowszechnione, choć pomysł ten wydaje się kuszący.

Oczywiście jawiącym się tu natychmiast problemem jest tu obrona przed osobami, wysyłającymi pozorowane spamy, aby sprowokować filtr do zbombardowania ‘niewinnej’ strony. Filtry te muszą zatem opierać się na czarnych listach, a to jest już spore ograniczenie, listy te bowiem nie zawsze są dobrze prowadzone.

Koncepcja penetrowania strony podanej w spamie jest jednak dość ciekawa. Filtr bayesowski na przykład może bowiem automatycznie odwiedzać taką stronę w celu poprawienia dokładności swojego działania.

Podsumowanie

Nowa, jeszcze nie rozpowszechniona generacja filtrów spamu, polegająca na analizowaniu treści każdego przychodzącego e-maila, znacznie góruje nad pierwszą generacja, która opierała się na regułach. Potrafi wyfiltrować ponad 99% spamu, przy błędzie bliskim zeru.

Jak zatem jawi się przyszłość spamu? Biorąc po uwagę wysoką efektywność filtrów bayesowskich, można oczekiwać, że problem ten zostanie znacznie ograniczony. Nie można tu oczywiście lekceważyć pomysłowości spammerów, jak dotąd bowiem udawało im się pokonać stawiane przed nimi ograniczenia. Może jednak powodem tego była słabość mechanizmów obrony? Filtry statystyczne wydają się być bardziej zaawansowanym narzędziem i jeśli nie wyeliminują spamu całkowicie, to – miejmy nadzieję – przynajmniej znacznie go ograniczą.

Kilka dni temu z kolei, na Światowym Forum Ekonomicznym (WEF) w Davos, Bill Gates obiecał wyeliminowanie spamu w przeciągu 2 lat. Pomysł Microsoftu polega na wprowadzeniu elektronicznego odpowiednika znaczka pocztowego (“payment at risk”). To wymuszało by na nadawcy wiadomości opłatę w przypadku odrzucenia jego e-maila jako spamu. Cóż, przyszłość pokaże, czy obietnica ta rzeczywiście zostanie zrealizowana.

Malgorzata Miklas-Kalczyńska