Autor: Andrzej Butkiewicz, Kierownik Zespołu Funkcjonowania Poczty w Wirtualnej Polsce. W pierwszej części z cyklu „Z arsenału admina” przedstawiłem ...
„Z arsenału admina” – sztuczki spamowe i zabezpieczenia antyspamowe (część druga)
Autor: Andrzej Butkiewicz, Kierownik Zespołu Funkcjonowania Poczty w Wirtualnej Polsce.
W pierwszej części z cyklu „Z arsenału admina” przedstawiłem kilka metod, które pozwalają chronić konto poczty elektronicznej przed spamem – takich jak SPF oraz DKIM. To oczywiście tylko wierzchołek góry lodowej. Sposobów obrony jest znacznie więcej, dzięki temu możliwe jest uniknięcie paraliżu naszych skrzynek. Nie ma metody w 100% skutecznej, ale odpowiednie połączenie dwóch lub więcej z nich może dać całkiem niezłe rezultaty. Czym jeszcze dysponuje admin w niełatwej walce ze spamerami?
SMTP-AUTH (Autoryzacja SMTP)
SMTP-AUTH to jeden z najstarszych i najbardziej niedocenionych mechanizmów ochronnych. Jest on rozszerzeniem protokołu SMTP, którego do dziś używamy przesyłając pocztę elektroniczną. Protokół SMTP nie należy jednak do bezpiecznych. Jest wręcz archaiczny i wywodzi się z okresu, gdy internet był miejscem mlekiem i miodem płynącym. Nie istniał jeszcze wtedy spam, nie było przestępców internetowych, nikt nie próbował wykradać niczyich informacji. Istna sielanka i beztroska. Z tego powodu SMTP nie posiada żadnych zabezpieczeń, chociaż służy do przesyłania tak ważnych danych, jak te z poczty elektronicznej.
Co oznacza brak zabezpieczeń w protokole SMTP? To, że każdy z nas może wysłać e-mail, podszywając się pod dowolną skrzynkę pocztową na świecie. Naturalnie, powstało wiele mechanizmów zabezpieczających, choćby SPF, DKIM oraz podpisy elektroniczne, lecz protokół SMTP nadal umożliwia podszywanie się pod dowolną osobę. W związku z tym, w systemie bez autoryzacji SMTP możliwe jest wykonanie połączenia na port 25 i udawanie, że jest jakimkolwiek się chce użytkownikiem. Możemy dowolnie sterować zawartością nagłówka „From:” widocznego dla odbiorcy.
Autoryzacja SMTP jest dziś mocno rozpowszechniona. Każdy korzystający z programów pocztowych typu Thunderbird, The Bat czy Outlook zapewne widział opcję o takiej nazwie. Praktycznie wszystkie duże systemy poczty elektronicznej wymagają, aby podczas konfiguracji była ona zaznaczona. Od tego momentu, aby przekonać serwer do wysłania maila w imieniu danego użytkownika, będziemy musieli podać jego hasło. Co więcej, transmisja może być chroniona za pomocą SSL.
Brak SMTP-AUTH był kiedyś dużym ułatwieniem przy wysyłaniu spamu, gdyż serwery funkcjonowały na zasadzie tzw. open-relay. Oznaczało to, że każdy użytkownik, nawet nieposiadający konta na serwerze, mógł połączyć się z nim i nakłonić do przesłania maila pod dowolny adres w internecie.
Zobacz też: Solid Explorer - najlepszy menadżer plików na Androida
Systemy reputacji
Czym jest reputacja? Zgodnie ze słownikiem jest to opinia (o kimś/ czymś) lub (czyjaś) renoma. Gdy dokonujemy zakupów przez internet, warto poznać reputację sprzedawcy. Analogicznie, gdy bank daje nam kredyt, również chce poznać naszą reputację. W wyniku takiej analizy możemy ocenić, czy osoba, od której kupujemy przedmiot (lub dajemy kredyt) spełnia nasze oczekiwania pod względem uczciwości i wypłacalności. Im bardziej zaawansowana metoda oceny reputacji, tym więcej czynników podlega analizie, np. sprawdzamy od kiedy funkcjonuje dany sprzedawca, nawiązujemy kontakt z jego klientami itp. System oczywiście nie jest doskonały i trzeba się liczyć z potencjalnym błędem statystycznym.
Reputacja jaką cieszy się dana osoba została przełożona przez umysły ścisłe na bity i jest obecnie wykorzystywana w systemach antyspamowych. Nie oceniamy jednak fizycznej osoby, tylko nadawcę w postaci adresu e-mail lub adresu IP. Co można powiedzieć o adresie e-mail? Wróćmy do podstaw i zastanówmy się, na co zwracamy uwagę oceniając drugiego człowieka. Na ogół przy pierwszym kontakcie w grę wchodzi wygląd, sposób prowadzenia rozmowy, poziom merytoryczny, kultura osobista i wiele, wiele innych czynników, których nikt nie jest w stanie wymienić. Admini zrobili skróconą wersję reputacji i tak: na pierwszy rzut oka sprawdzamy czy e-mail jest… „ładny”. Przykładowo adres eteagerbyergfyer@wp.pl jest „brzydki” i już mamy na niego oko (wreszcie odsłaniam jakieś tajemnice!), następnie patrzymy jak szybko taki nadawca do nas „mówi”. Jeśli jest to ciągły słowotok w postaci 100 maili na godzinę, to mamy na niego już „dwa oka”. Kultura osobista również jest oceniana i jeśli w słowotoku pojawią się wyrazy (np. „sprzedam”, „viagra”) to trzecie oko naszego admina uważnie przygląda się danemu nadawcy. W wyniku tej operacji zapisujemy w bazie danych liczbę „oczu”, jaką musiał mieć admin na tego konkretnego nadawcę. Jest to jego reputacja. Po przekroczeniu pewnej wartości, wiadomości od nadawcy uznawane będą za spam.
Twierdzenie Bayesa
Thomas Bayes był angielskim matematykiem żyjącym w XVIII wieku. Nie sądzę aby mógł przewidzieć jak szerokie zastosowanie będzie miało twierdzenie matematyczne, które sformułował. W uproszczeniu, pan Bayes potrafił obliczyć prawdopodobieństwo, że ktoś z grupy osób mających wysoką gorączkę jest chory konkretnie na grypę. W systemach poczty elektronicznej obliczamy, jakie jest prawdopodobieństwo, że mail zawierający konkretne ciągi znaków (np. „sprzedam”, „viagra”, „tanio”) jest spamem.
Dzięki wykorzystaniu twierdzenia Bayesa tworzymy sieć bayesowską. Po odpowiedniej konfiguracji (nauce) algorytm sam potrafi rozpoznać maile zawierające cechy charakterystyczne spamu. System, niestety, nie jest doskonały, gdyż nie potrafi odnaleźć prawidłowości, których wcześniej nie został nauczony. Niektórzy nadawcy omijają filtry Bayesa, stosując zamianę liter w słowach, np. V1agra, Via-gra itp. Dla człowieka jest to zrozumiałe, dla komputera nie. Poza tym zawsze można przesłać obrazek lub dokument pdf, doc, albo link do strony zawierającej ofertę. W takich przypadkach filtry bayesa również są zawodne.
Greylisting
Jednym z ciekawszych zabezpieczeń stosowanym w walce z masowym rozsyłaniu e-maili jest greylisting. Z uwagi na wykorzystanie bazy danych, jest to rozwiązanie nieco bardziej zaawansowane niż wspomniane wyżej technologie. Jego funkcjonowanie opiera się na założeniu, że duża liczba wiadomości jest rozsyłana z prostych skryptów, które „na ślepo” pchają e-maile do adresatów, nie analizując informacji zwrotnej (np. kodu błędu). Jeśli część przesyłek nie zostanie z tego powodu dostarczona (serwer odbiorcy nie przyjął poczty z powodu błędu), to skrypt nie będzie wykonywał kolejnej próby doręczenia i przejdzie do następnej wiadomości. Zupełnie inaczej funkcjonują „dobre” systemy pocztowe. W trosce o dostarczenie wiadomości do adresata będą one wykonywać regularne retransmisje, czekając aż serwer odbiorcy będzie zdolny do przyjęcia wiadomości. Właśnie takie zachowanie wykorzystali twórcy mechanizmu greylisting.
Pamiętając, że „zły” nadawca zrezygnuje z wysyłania wiadomości po otrzymaniu kodu błędu, serwer wyposażony w greylisting generuje błąd dla każdej przychodzącej przesyłki. To tak, jakbyś przy każdym anonimowym telefonie mówił „pomyłka”, nie będąc pewnym czy dzwoni znajomy czy może ktoś obcy, chcący sprzedać Ci fantastyczną ofertę kredytową. Takie zachowanie prawdopodobnie zniechęci potencjalnego spamera, który kolejny raz nie zadzwoni – sądząc, że zmieniłeś nr telefonu. Czasem może się jednak zdarzyć pilna sytuacja, w której ktoś obcy będzie chciał się z Tobą skontaktować. Jeśli więc zadzwoni kolejny raz, to można przyjąć, że bardzo mu zależy na kontakcie i przeprowadzić rozmowę. Właśnie tak działa greylisting. Kilka elementów każdego przychodzącego maila jest zapisywanych do bazy danych. Jednocześnie serwer sprawdza czy była już wcześniej podejmowana próba przesłania tego maila. Jeśli tak – dostarcza korespondencję. W przeciwnym wypadku generuje komunikat błędu.
Pomysł jest bardzo ciekawy lecz, niestety, nieskuteczny w przypadku spamu przesyłanego z „normalnych” serwerów pocztowych, które kolejkują niedostarczone wiadomości i wykonują retransmisje. Inną wadą greylistingu jest opóźnienie w dostarczaniu nowych wiadomości, wynikające z konieczności przeprowadzenia retransmisji przez serwer nadawcy.
Tak jak wspomniałem na początku artykułu, metod na ochronę przed spamem jest bardzo dużo. Należy jednak pamiętać, że przy obecnym poziomie rozwoju technologicznego automat nie jest w stanie całkowicie zastąpić człowieka. Stąd potrzeba ciągłego rozwoju systemów antyspamowych przez administratorów, ale również aktywnego działania ze strony użytkownika. Pomagajmy adminom w walce ze spamem poprzez wykorzystywanie mechanizmów, które nam oferują. Każde zgłoszenie spamu (przycisk „zgłoś spam” w interfejsie WWW poczty) przynosi konkretny efekt w postaci „nauki” systemu antyspamowego. Dodatkowo mamy możliwość wpisywania adresów na białą lub czarną listę, co również może zostać wykorzystane do udoskonalenia ochrony.
Foto Pixelated E-mail Spam via Shutterstock.
Hej, jesteśmy na Google News - Obserwuj to, co ważne w techu