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)