Jak ochronić się przed spamem?

Transkrypt

Jak ochronić się przed spamem?
BOSTON
Tendencje
Jak ochronić się przed
spamem?
Spam zalewa nasze skrzynki e-mailowe. Szacuje się, że może on stanowić nawet około 70 proc.
wiadomości przesyłanych drogą elektroniczną. Co gorsza, ochrona przed niechcianymi przesyłkami
nie jest wcale taka prosta i jak dotąd nie istnieją stuprocentowo skuteczne sposoby walki ze spamem.
Warto przyjrzeć się obecnie najczęściej stosowanym metodom ochrony oraz ich wadom i zaletom.
W
większości
przypadków
w walce ze spamem nie
można ograniczać się tylko do jednego z przedstawionych
sposobów. Aby ochrona była efektywna, trzeba zwykle jednocześnie
stosować kilka metod i to najlepiej
takich, które mają inne zasady działania.
Ochrona pasywna
Ochrona pasywna polega na ukrywaniu swojego adresu e-mail tak, by
nie trafił on do baz danych wykorzystywanych przez spamerów.
Metody ochrony pasywnej obejmują m.in. maskowanie adresów
e-mailowych na stronach WWW, w
celu uczynienia ich nieczytelnymi dla
spamerskich automatów (tzw. harvesterów) przeglądających strony w
poszukiwaniu adresów. Można też
używać specjalnie założonych „jednorazowych” adresów e-mail przy
rejestrowaniu się w różnego rodzaju
serwisach internetowych (właściciele
wielu takich serwisów – zwłaszcza
w USA, gdzie praktycznie nie istnieje prawna ochrona danych osobo-
wych – sprzedają bazy adresowe
spamerom). Chyba każdy miał okazję widzieć na stronach WWW adresy zapisane z użyciem tzw. „przeszkadzajek” w rodzaju „BEZSPAMU
– [email protected]”, bądź
adresy e-mail wyświetlane w postaci pliku graficznego zamiast tekstu.
Skrajnym przypadkiem takiego postępowania jest całkowite usunięcie
jakichkolwiek adresów e-mail ze strony i zastąpienie ich formularzem kontaktowym.
Z tego typu formą ochrony można się spotkać na stronach WWW
coraz częściej. Takie działanie nie
jest jednak godne polecenia, gdyż
zdecydowanie utrudnia ono kontakt
z właścicielem strony internetowej.
Formularze często ograniczają bowiem długość tekstu, który można
w nie wpisać. Poza tym wysyłanej w
ten sposób korespondencji nie da się
w prosty sposób archiwizować wraz
z innymi wysłanymi listami – co jest
np. wymogiem w wielu firmach. Dlatego strony, które wymuszają kontakt
tylko poprzez formularz są bardzo źle
oceniane przez aktywnych użytkowni-
JAROSŁAW RAFA
Wykładowca Wyższej Szkoły Pedagogicznej
w Krakowie, autor licznych artykułów
na temat spamu i internetu.
14
ków Internetu. Formularz jest dobrym
rozwiązaniem dla przygodnego gościa
na naszej stronie, ale zawsze powinniśmy obok niego pozostawić „zwykły”
adres – który oczywiście może być odpowiednio zamaskowany.
Ogólnie rzecz biorąc, techniki
ochrony pasywnej, mimo pozornej
łatwości ich stosowania, są w istocie mało skuteczne. Wystarczy, że
nasz prawdziwy adres tylko raz trafi
do bazy spamerskiej i jego ukrywanie przestaje mieć jakikolwiek sens,
ponieważ spamerzy sprzedają sobie
nawzajem bazy adresowe. Metody
ochrony pasywnej powodują także
liczne niedogodności i utrudniają
normalne, swobodne posługiwanie
się e-mailem. Tych nie będę tutaj
opisywał, warto jednak przestrzec
przed tzw. „wypisywaniem się” ze
spamerskich list adresowych. Wiele
spamów zawiera formułkę stwierdzającą, iż wchodząc na określoną stronę WWW, bądź odsyłając
na określony adres list ze słowem
„nie”, możemy „wypisać się” z listy
adresowej używanej przez spamera
i nie będziemy otrzymywać od niego
więcej wiadomości.
Na pozór wygląda to na uczciwe
postępowanie ze strony nadawcy
spamu i możliwość łatwego pozbycia
się niechcianych przesyłek. Tymczasem jest wręcz odwrotnie. Spamerzy
wiedzą, że ich listy są filtrowane lub
kasowane bez czytania. Są świadomi tego, że w swoich liczących miliony adresów bazach mają także
wiele pozycji błędnych lub nieaktualnych. Rzekome „wypisanie się” jest
w istocie formą weryfikacji danego
www.boston-review.com
adresu. Jeżeli ktoś kliknął odsyłacz
do strony służącej do „wypisania”,
oznacza to, że faktycznie przeczytał spamową wiadomość – jest zatem potencjalnym klientem i warto
wysyłać mu jeszcze więcej spamu!
Wypisywanie się ma sens tylko
w przypadku serwisów, do których
sami się kiedyś świadomie zapisywaliśmy – np. list dyskusyjnych,
newsletterów itp.
Innym sposobemem ochrony
pasywnej (istotnym w przypadku ,
gdy mamy własny serwer pocztowy) jest zabezpieczenie go przed
nieautoryzowanym tzw. relayingiem
poczty tak, aby spamerzy nie mogli
wykorzystać naszego serwera do
rozsyłania spamu. Jest to jednak zagadnienie wykraczające poza ramy
tego artykułu. Obszerne wskazówki
na ten temat zawarte są zazwyczaj
w dokumentacji każdego serwera
pocztowego.
Filtrowanie treści
Obecnie najczęściej stosowanym
sposobem aktywnej walki ze spamem jest filtrowanie przychodzącej
poczty na podstawie jej treści (treść
w tym kontekście może obejmować
także dane zawarte w nagłówku listu, takie jak np. adres nadawcy,
temat itd.). Jest to metoda, którą
może zastosować zarówno użytkownik programu pocztowego (indywidualnie), jak i jego administrator.
Użytkownik zawsze może to uczynić
w swoim programie pocztowym,
a także na serwerze, jeśli tylko
ma dostęp do tzw. shella (powłoki systemu operacyjnego serwera).
Nr 1/2007 (2)
BOSTON
Poza tym wiele programów pocztowych ma już wbudowane filtry
antyspamowe (np. Mozilla Thunderbird zawiera bardzo dobry filtr
bayesowski). Do innych programów dostępne są antyspamowe
„wtyczki” bądź niezależne aplikacje, które mogą współpracować
z dowolnym klientem pocztowym.
W zastosowaniach serwerowych
bezsprzecznie króluje SpamAssassin
(http://spamassassin.apache.org/).
Obecnie istnieją dziesiątki narzędzi,
które umożliwiają jego integrację
z prawie każdym systemem transportu poczty (MTA), a także uruchomienie
go jako elementu większego systemu
filtrującego. SpamAssassin jest też
sercem wielu komercyjnych programów antyspamowych. Programy te
opierają się na jego mechanizmie filtrującym i dodają do niego tylko łatwy
w użyciu interfejs użytkownika.
Filtrowanie treści z punktu widzenia programistycznego jest zadaniem dosyć trudnym, gdyż żaden
program nie jest w stanie zastąpić
ludzkiej inteligencji i intuicji w ocenie tego, co jest spamem, a co nie.
Proste reguły filtrowania, których
zdefiniowanie umożliwia prawie
każdy program pocztowy (np. „jeżeli w treści występuje słowo ‘viagra’,
skasuj list”) – nie zdają egzaminu
z trzech powodów. Po pierwsze,
możliwych słów kluczowych jest zbyt
dużo. Po drugie, spamerzy mogą
je na wiele sposobów przekręcać
i zniekształcać (np.:vi-a-gr-a, v1agra,
viaggraa itd.).
W obu przypadkach możemy
mieć do czynienia z błędem I rodzaju (false negative), który polega na
„przepuszczeniu spamu). I wreszcie
po trzecie, słowo to może wystąpić
także w zupełnie „legalnym” liście,
którego adresatem jest np. lekarz.
W tym ostatnim przypadku mamy
do czynienia z tzw. błędem II rodzaju
(false positive). Błąd ten polega na
odrzuceniu przez filtr listu, który nie
jest spamem. Sytuacja taka może
mieć przykre następstwa – zwłaszcza gdy program kasuje bez śladu
pocztę, którą uzna za spam. Dlatego
też przy wyborze i konfiguracji programu filtrującego, szczególnie ważne jest właśnie zminimalizowanie
prawdopodobieństwa wystąpienia
tego rodzaju błędów.
Dobre programy filtrujące oceniają zawartość listu zazwyczaj tzw.
metodą heurystyczną. Program rozpoznaje około kilkuset charakterystycznych cech świadczących o tym,
Nr 1/2007 (2)
Tendencje
że list może być spamem. Każdej
z tych cech przypisywana jest określona liczba punktów (eksperymentalnie dobrana przez autorów programu). Jeżeli list zbierze łączną
liczbę punktówpowyżej ustalonej
granicy, wówczas jest on odrzucany jako spam. W niektórych programach można ustalić dwie granice:
niższą – „prawdopodobnego spamu” i wyższą – „pewnego spamu”.
List, którego punktacja mieści się
pomiędzy tymi dwiema granicami,
jest przez program oznaczany jako ”przypuszczalny spam” i decyzja co do jego losów pozostawiana
jest użytkownikowi. Jeżeli punktacja
przekracza drugą granicę, list jest
kasowany bądź przenoszony do specjalnego folderu przeznaczonego na
spamy. Drugi sposób pozwala uniknąć konsekwencji związanych z popełnieniem błędu II rodzaju, gdyż zawartość folderu ze spamami można
kontrolować.
Wadą filtrów heurystycznych jest
konieczność ciągłej aktualizacji zawartych w programie reguł filtrowania tak, aby nadążać za szybko
zmieniającą się charakterystyką
działań spamerów. Opracowywanie
takich reguł jest z kolei czynnością
bardzo praco- i czasochłonną. Dlatego w ostatnich latach znaczną
popularność zdobywają programy
oparte na innej zasadzie – tzw. filtry bayesowskie (od nazwiska XVIIIwiecznego brytyjskiego matematyka Thomasa Bayesa, na którego
pracach oparta jest ta metoda).
Potrafią one same uczyć się odróżniania spamu od nie-spamu. Wystarczy wskazać programowi próbki
kilkudziesięciu wiadomości z jednej
i z drugiej grupy. Na tej podstawie
program określa wstępne kryteria
filtrowania. Oczywiście, początkowo
będą występować błędy – zarówno I,
jak i II rodzaju – które trzeba będzie
korygować za pomocą odpowiednich
opcji programu. W tym czasie filtr
będzie odpowiednio modyfikował
swoje kryteria i w końcu (zwykle po
przetworzeniu kilkuset wiadomości)
sam zacznie rozpoznawać spamy
prawie bezbłędnie.
Filtr bayesowski można niestety stosunkowo łatwo oszukać wysyłając spam, który... nie zawiera
żadnego tekstu i cała treść e-maila przesyłana jest w postaci pliku graficznego. Właśnie tego typu
spamy od kilku miesięcy zaczęły
masowo pojawiać się w Internecie.
Spamerzy stosują też techniki tzw.
„zatruwania” filtrów bayesowskich.
Wysyłają oni listy, które oprócz właściwego spamu zawierają zlepki
“niewinnych” słów i zdań, zaczerpniętych np. z encyklopedii.
Warto też zwrócić uwagę na to,
że filtr taki jest najskuteczniejszy
wtedy, gdy używany jest przez każdego użytkownika z osobna. Każdy
bowiem otrzymuje pocztę o nieco
innym charakterze. Problemy sprawiają zwłaszcza wszelkiego rodzaju
newslettery, które filtrom najtrudniej jest odróżnić od spamu. Jeżeli
stosujemy konfigurację filtru wspólną dla wielu użytkowników, musimy
liczyć się z tym, że efekty takiego
niedoskonałego kompromisu mogą
nie być takie, jak byśmy chcieli.
Filtrowanie w sesji SMTP
Filtrowanie spamu na poziomie klienta pocztowego oznacza konieczność
„ściągnięcia” wszystkich spamowych
on modyfikacji (i to czasami dość zaawansowanych) konfiguracji MTA.
Na poziomie sesji SMTP, przed
przesłaniem treści listu mamy do
dyspozycji stosunkowo niewiele informacji. Są to: adres IP i domenowy komputera wysyłającego pocztę,
adres e-mailowy nadawcy i odbiorcy
listu oraz nazwę, jaką „przedstawił
się” komputer nadający naszemu
serwerowi w rozpoczynającym sesję
SMTP poleceniu HELO. W oparciu o
ten pozornie bardzo skromny zestaw
informacji około 70 proc. spamów
daje się jednak całkiem skutecznie
odrzucać bez konieczności analizy
ich treści. Dopiero pozostałymi 30
proc. zajmuje się SpamAssassin lub
inny program filtrujący.
Najprostszą metodą – odpowiadającą poniekąd prostemu filtrowaniu według słów kluczowych – jest
tzw. czarna lista. Czarna lista zawiera adresy IP, domeny lub adresy
Filtrowanie treści z punktu widzenia
programistycznego jest zadaniem dosyć
trudnym, gdyż żaden program nie jest
w stanie zastąpić ludzkiej inteligencji
i intuicji w ocenie tego, co jest spamem,
a co nie. Proste reguły filtrowania, których
zdefiniowanie umożliwia prawie każdy
program pocztowy nie zdają egzaminu.
przesyłek z serwera zanim zostaną
one odfiltrowane. Filtrowanie na serwerze programem typu SpamAssassin wprawdzie oszczędza użytkownikowi pobierania spamów na swój
komputer, ale nadal pełna zawartość
każdego listu musi być odebrana
i przeanalizowana przez sam serwer.
Jeżeli weźmie się pod uwagę, że– jak
wspomniano we wstępie – nawet 70
proc. e-maili docierających do serwera może być spamem, można sobie
wyobrazić jak wielkim obciążeniem
dla łączy, procesora i serwera jest
takie właśnie filtrowanie poczty. Dlatego też pożądana byłaby możliwość
jak najwcześniejszego rozpoznania spamu i odrzucenia go od razu
w trakcie sesji SMTP bez przesyłania
zbytecznej treści.
Ten sposób filtrowania jest oczywiście dostępny tylko dla administratora serwera pocztowego, gdyż wymaga
www.boston-review.com
e-mailowe, od których nasz serwer nie będzie przyjmował poczty.
Przesyłka będzie od razu, bez dalszych operacji, odrzucana.
Listę taką tworzy się oczywiście
doświadczalnie, na podstawie faktycznie otrzymywanych spamów.
Można do jej tworzenia wykorzystać tzw. pułapki antyspamowe.
Są to specjalnie utworzone fikcyjne
adresy e-mailowe, z którymi postępuje się poniekąd odwrotnie, niż
przy omawianym wcześniej maskowaniu adresów. Umieszcza się je
w takich miejscach i w taki sposób, żeby były niezauważalne dla
człowieka, ale aby z dużym prawdopodobieństwem trafiły na nie
roboty spamerskie (można je np.
umieścić na stronie WWW zapisane białym kolorem na białym tle).
Adresów tych nikomu się nie podaje i nikt nie używa ich do odbioru
15
BOSTON
Tendencje
żadnej rzeczywistej poczty. Można
więc ze stuprocentową pewnością
przyjąć, że każdy list przychodzący
na taki adres jest spamem i jego
nadawcę automatycznie wpisywać
na „czarną listę”.
Oprócz takich prywatnych „czarnych list” istnieją też listy publiczne
tzw. RBL-e (Realtime Blackhole Lists), które są dostępne on-line w Internecie. Operatorzy serwisów udostępniających takie listy na bieżąco
umieszczają na nich adresy IP komputerów, które zostały „złapane”
na rozsyłaniu spamu. Korzystanie
z RBL-i, z jednej strony, uwalnia nas
zatem od dość żmudnej pracy przy
ręcznej aktualizacji własnej czarnej
listy, z drugiej jednak, oddajemy
w ten sposób kontrolę nad przyjmowaniem poczty przez nasz serwer
w ręce osób trzecich, których polityka antyspamowa niekoniecznie musi być zgodna z naszą.
Obecnie istnieje bardzo wiele
RBL-i o różnym stopniu „agresywności”. Jedne z nich zawierają tylko adresy komputerów „niereformowalnych” spamerów, którzy od
dawna i masowo rozsyłają spam,
inne – wręcz przeciwnie - wpisują
na listę od razu całe pule adresowe,
z których choćby jeden komputer wysłał kilka spamów.
Są też takie listy, które zawierają adresy zupełnie „niewinnych”
serwerów, które nigdy nie wysyłały
spamu, ale mają błędy w konfiguracji umożliwiające potencjalne wykorzystanie ich przez spamerów do
tego celu (tzw. open relay). Dlatego
wybór RBL-a jest rzeczą trudną. Najpierw trzeba dokładnie przeczytać
opisy na stronach poszczególnych
serwisów, a najlepiej przeprowadzić
testy konfigurując serwer tak, aby
nie odrzucał poczty z komputerów
znajdujących się na liście, a jedynie
zaznaczał ten fakt w nagłówku listu
i/lub w logach (tu znowu może nam
pomóc SpamAssassin, który zawiera
odpowiednie reguły).
Jeżeli korzystamy z RBL-i, powinniśmy posiadać także tzw. białą listę
z adresami, z których poczta ma być
przyjmowana, mimo że mogą one figurować w RBL-u. Możliwość tworzenia
czarnych i białych list oraz korzystania
z RBL-i jest zazwyczaj standardową
funkcjonalnością każdego MTA. Opisane poniżej metody wymagają natomiast dodatkowych programów.
Greylisting (szara lista) w przeciwieństwie do wymagających pracochłonnej ręcznej aktualizacji list czar-
16
nych i białych, działa samoczynnie
i bardzo skutecznie. Metoda ta opiera
się na poddawaniu wiadomości pocztowych swoistej „kwarantannie”.
Obecnie większość spamu wysyłana jest przez tzw. spamboty – sieci
komputerów zainfekowanych końmi
trojańskimi, rozsyłającymi spam bez
wiedzy ich właścicieli. W przeciwieństwie do zwykłych serwerów pocztowych, spamboty nie zadają sobie
trudu powtarzania prób wysłania
przesyłki, jeżeli nie uda się jej wysłać
za pierwszym razem. Ich zadaniem
jest rozesłać jak najwięcej spamu
i zrobić to jak najszybciej. Natomiast
zwykły serwer pocztowy, jeżeli nie
zdoła wysłać przesyłki za pierwszym
razem, będzie co jakiś czas ponawiał próby jej wysłania, aż do skutku lub do momentu określonego
w konfiguracji serwera maksymalnego czasu (zazwyczaj 5 dni).
który nie ponowi wysyłki listu, po
upływie wspomnianej godziny dane
o połączeniu zostaną zapomniane,
i ewentualna kolejna przesyłka z tego samego adresu zostanie poddana tej samej procedurze.
Niestety, greylisting jest – co oczywiste – nieskuteczny wobec spamerów, którzy wysyłają spam przy
użyciu własnych (lub cudzych, niezabezpieczonych przed relayingiem)
serwerów pocztowych. Ci spamerzy
są jednak zazwyczaj są dobrze znani i adresy ich serwerów figurują
w prawie wszystkich RBL-ach, więc
łatwo ich wyeliminować (w szczególności wyłącznie adresy tego typu
spamerów zawiera lista SBL serwisu
www.spamhaus.org).
SAV, czyli Sender Address Verification – weryfikacja adresu
nadawcy, to najnowsza technika
stosowana w walce ze spamem.
Kiedy serwer pocztowy stosujący greylisting
po raz pierwszy otrzymuje połączenie
z nieznanego mu adresu IP i z nieznanym
adresem nadawcy, odrzuca przesyłkę
z tzw. tymczasowym kodem błędu.
Zgodnie z protokołem SMTP dla serwera
wysyłającego jest to sygnał, że po jakimś czasie
ma spróbować wysłać list ponownie.
Jeżeli zostanie on wysłany w przeciągu
określonego czasu, wówczas zostanie
zaakceptowany, a adres IP i adres nadawcy
zapamiętane w bazie danych serwera.
Kiedy serwer pocztowy stosujący
greylisting po raz otrzymuje pierwszy połączenie z nieznanego mu
adresu IP i z nieznanym adresem
nadawcy, odrzuca przesyłkę z tzw.
tymczasowym kodem błędu. Zgodnie z protokołem SMTP dla serwera
wysyłającego jest to sygnał, że po
jakimś czasie ma spróbować wysłać list ponownie. Jeżeli list zostanie wysłany ponownie w przeciągu
określonego czasu (np. godziny),
zostanie wtedy zaakceptowany,
a adres IP i adres nadawcy zapamiętany w bazie danych serwera.
Kolejne listy będą już przyjmowane bez dodatkowych zabiegów.
Natomiast w przypadku spambota,
Zdecydowana większość spamu ma
obecnie losowo wygenerowane, nieistniejące adresy nadawców. Nieistniejąca jest jednak zazwyczaj tylko
część odpowiadająca nazwie użytkownika, zaś po znaku „@” znajduje się rzeczywista, choć również
przypadkowo wybrana, domena.
Istnienie domeny potrafi bowiem
łatwo sprawdzić większość MTA.
Do niedawna nie istniały natomiast
narzędzia pozwalające na weryfikację części adresu znajdującej się
przed „@”.
W metodzie SAV serwer natychmiast, gdy tylko otrzyma w sesji
SMTP adres nadawcy listu, próbuje
wysłać zwrotną wiadomość na ten
www.boston-review.com
adres. Jeżeli okazuje się to możliwe,
połączenie zostaje anulowane (tak
więc faktycznie do nadawcy nie dociera żaden list) i serwer przyjmuje
pocztę. Jeżeli natomiast próba zakończy się niepowodzeniem (bo np.
adres nie istnieje), serwer odrzuci
list. Ponieważ nawiązywanie połączeń zwrotnych dość istotnie zwiększa obciążenie serwera i sieci, zazwyczaj wyniki weryfikacji adresu są
cache’owane przez serwer w jakiejś
bazie danych i weryfikacja danego
adresu nadawcy dokonywana jest
tylko raz na pewną liczbę przesyłek.
Na koniec tego przeglądu trzeba
wspomnieć o dość kontrowersyjnej
metodzie walki ze spamem, jaką
jest SPF (Sender Policy Framework).
Metoda ta wymaga współdziałania strony nadawczej z odbiorczą
i opiera się – w największym uproszczeniu – na „przywiązaniu” domeny
do określonych adresów IP, które
mają prawo wysyłać listy z adresami
nadawcy należącymi do tej domeny.
Domena taka musi mieć specjalny
wpis w DNS-ie, który jest sprawdzany przez oprogramowanie serwera
odbierającego. Poczta wysyłana
z innych adresów IP, a zawierająca
w adresie nadawcy tę domenę, będzie odrzucana.
SPF budzi kontrowersje dlatego,
że łamie pewne – dotychczas ogólnie
przyjęte – konwencje dotyczące sposobu korzystania z e-maila. Uniemożliwia popularną operację przekierowywania poczty z jednego adresu
e-mail na inny (tzw. forwarding). Jeżeli przekierowujemy pocztę na serwer
używający SPF, znaczna jej część może być bezzasadnie odrzucana. SPF
jest też niezgodne z dotychczas przyjmowaną w konfiguracji poczty zasadą, która wiązała adres IP komputera
z lokalnym serwerem SMTP, zezwalającym temu adresowi na relaying
poczty. Zamiast tego SPF wymusza
korzystanie z serwera SMTP „przypisanego” do domeny z naszego
adresu e-mailowego (jest to istotne zwłaszcza gdy serwer ten znajduje się poza lokalną siecią – np.
w przypadku kont w portalach). Między innymi z tych powodów metoda
ta jest stosunkowo mało popularna, a przez to mało skuteczna. Jej
efektywność bezpośrednio zależy
bowiem od powszechności stosowania. Inne metody filtrowania dają
znacznie lepsze wyniki inie wywołują
przy tym zbędnych kontrowersji. SPF
nie wydaje się być zatem godne polecenia. ◆
Nr 1/2007 (2)