Filtry, które walczą z powrotem
Sierpień 2003
Możemy poprawić dokładność bayesowskich filtrów antyspamowych, sprawdzając linki, aby zobaczyć, co kryje się po drugiej stronie. Richard Jowsey z death2spam robi to teraz w przypadkach granicznych i zgłasza, że działa to dobrze.
Dlaczego robić to tylko w przypadkach granicznych? I dlaczego tylko raz?
Jak wspomniałem w Czy filtry zabiją spam?, śledzenie wszystkich adresów URL w spamie miałoby zabawny efekt uboczny. Gdyby popularne klienty poczty robiły to w celu filtrowania spamu, serwery spamerów odczułyby poważne obciążenie. Im więcej o tym myślę, tym lepszy wydaje się ten pomysł. To nie jest tylko zabawne; trudno sobie wyobrazić doskonalej ukierunkowany kontratak na spamerów.
Dlatego chciałbym zaproponować dodatkową funkcję dla tych, którzy pracują nad filtrami antyspamowymi: tryb „karania”, który po włączeniu przeszukiwałby każdy adres URL w podejrzanym spamie n razy, gdzie n można ustawić przez użytkownika. [1]
Jak wielu zauważyło, jednym z problemów obecnego systemu poczty jest to, że jest on zbyt pasywny. Robi wszystko, co mu się każe. Jak dotąd wszystkie sugestie dotyczące rozwiązania problemu wydają się obejmować nowe protokoły. Ten by tego nie robił.
Gdyby były szeroko stosowane, automatycznie pobierające filtry antyspamowe sprawiłyby, że system poczty elektronicznej odbiłby się. Ogromna ilość spamu, która do tej pory działała na korzyść spamera, teraz działałaby przeciwko niemu, jak gałąź łamiąca się z powrotem w jego twarz. Automatycznie pobierające filtry antyspamowe zwiększyłyby koszty spamera i zmniejszyły jego sprzedaż: jego użycie przepustowości poszybowałoby w górę, a jego serwery zatrzymałyby się pod obciążeniem, co sprawiłoby, że byłyby niedostępne dla osób, które odpowiedziałyby na spam.
Wyślij milion e-maili na godzinę, uzyskaj milion odwiedzin na godzinę na swoich serwerach.
Chcielibyśmy zapewnić, że będzie to robione tylko w przypadku podejrzanych spamów. Z zasady każdy adres URL wysłany do milionów ludzi jest prawdopodobnie adresem URL spamu, więc przesyłanie każdego żądania http w każdym e-mailu działałoby dobrze przez prawie cały czas. Ale jest kilka przypadków, gdy tak nie jest: na przykład adresy URL na dole wiadomości wysyłanych z darmowych usług poczty e-mail, takich jak Yahoo Mail i Hotmail.
Aby chronić takie witryny i zapobiegać nadużyciom, automatyczne pobieranie powinno być łączone z czarnymi listami witryn spamowanych. Tylko witryny znajdujące się na czarnej liście byłyby przeszukiwane, a witryny byłyby umieszczane na czarnej liście dopiero po sprawdzeniu przez ludzi. Czas życia spamu musi wynosić co najmniej kilka godzin, więc powinna być łatwa aktualizacja takiej listy, aby zakłócić spam promujący nową witrynę. [2]
Masowe automatyczne pobieranie byłoby praktyczne tylko dla użytkowników z połączeniami o dużej przepustowości, ale jest ich wystarczająco wielu, aby spowodować poważne problemy spamerom. Rzeczywiście, to rozwiązanie elegancko odzwierciedla problem. Problem ze spamem polega na tym, że aby dotrzeć do kilku łatwowiernych osób, spamer wysyła pocztę do wszystkich. Niełatwowierni odbiorcy są jedynie stratami ubocznymi. Ale większość niełatwowiernych nie przestanie otrzymywać spamu, dopóki nie będzie mogła powstrzymać (lub zagrozić powstrzymaniem) łatwowiernych przed odpowiadaniem na niego. Automatycznie pobierające filtry antyspamowe oferują im sposób, aby to zrobić.
Czy to zabije spam? Niezupełnie. Najwięksi spamerzy prawdopodobnie mogliby chronić swoje serwery przed automatycznie pobierającymi filtry. Jednak najłatwiejszym i najtańszym sposobem na to byłoby umieszczenie działających linków do rezygnacji z subskrypcji w ich wiadomościach. A to byłaby konieczność dla mniejszych graczy i dla „legalnych” witryn, które zatrudniały spamerów do ich promowania. Więc jeśli automatycznie pobierające filtry stałyby się powszechne, stałyby się automatycznie wypisującymi filtrami.
W tym scenariuszu spam, podobnie jak awarie systemów operacyjnych, wirusy i wyskakujące okienka, stałby się jedną z tych plag, które dotykają tylko ludzi, którzy nie fatygują się używać odpowiedniego oprogramowania.
Przypisy
[1] Automatycznie pobierające filtry będą musiały śledzić przekierowania i w niektórych przypadkach (np. strona mówiąca tylko „kliknij tutaj”) śledzić więcej niż jeden poziom linków. Upewnij się również, że żądania http są nieodróżnialne od tych z popularnych przeglądarek internetowych, w tym kolejność i referer.
Jeśli odpowiedź nie nadejdzie w ciągu x czasu, domyślnie przyjmij dość wysokie prawdopodobieństwo spamu.
Zamiast ustawiać n jako stałą, dobrym pomysłem może być uczynienie go funkcją liczby spamów, które zostały zauważone w odniesieniu do danej witryny. Dodałoby to kolejny poziom ochrony przed nadużyciami i wypadkami.
[2] W oryginalnej wersji tego artykułu użyto terminu „whitelist” zamiast „blacklist”. Chociaż miały one działać jak czarne listy, wolałem nazywać je białymi listami, ponieważ mogłoby to uczynić je mniej podatnymi na ataki prawne. To jednak tylko zdezorientowało czytelników.
Prawdopodobnie powinno być wiele czarnych list. Pojedynczy punkt awarii byłby podatny zarówno na atak, jak i nadużycia.
Podziękowania dla Briana Burtona, Billa Yerazunisa, Dana Giffina, Erica Raymonda i Richarda Jowseya za przeczytanie wersji roboczych tego artykułu.