Tarpit (sieć)
Tarpit to usługa w systemie komputerowym (zwykle na serwerze ) , która celowo opóźnia połączenia przychodzące. Technika ta została opracowana jako obrona przed robakiem komputerowym , a pomysł polega na tym, że nadużycia w sieci , takie jak spamowanie lub szerokie skanowanie, są mniej skuteczne, a przez to mniej atrakcyjne, jeśli trwają zbyt długo. Koncepcja jest analogiczna do smołowego dołu , w którym zwierzęta mogą ugrzęznąć i powoli tonąć pod powierzchnią, jak w bagnie .
Oryginalny pomysł na plandekę
Tom Liston opracował oryginalny program do układania plandek LaBrea . Może chronić całą sieć za pomocą programu tarpit uruchomionego na jednym komputerze.
Urządzenie nasłuchuje żądań protokołu Address Resolution Protocol , które pozostają bez odpowiedzi (wskazując nieużywane adresy), a następnie odpowiada na te żądania, odbiera początkowy pakiet SYN skanera i wysyła SYN/ACK w odpowiedzi. Nie otwiera gniazda ani nie przygotowuje połączenia, a wręcz może zapomnieć o połączeniu po wysłaniu SYN/ACK. Jednak strona zdalna wysyła swoje potwierdzenie ACK (które jest ignorowane) i uważa, że trójstronne uzgadnianie zostało zakończone. Następnie zaczyna wysyłać dane, które nigdy nie docierają do celu. Po chwili nastąpi przekroczenie limitu czasu połączenia, ale ponieważ system uważa, że ma do czynienia z aktywnym (ustanowionym) połączeniem, jest ostrożny w ustalaniu limitu czasu i zamiast tego będzie próbował retransmitować, wycofywać się, retransmitować itp. Przez dość długi czas chwila.
Późniejsze wersje LaBrea dodały również funkcję odpowiadania na przychodzące dane, ponownie używając nieprzetworzonych pakietów IP i bez gniazd lub innych zasobów serwera tarpit, z fałszywymi pakietami żądającymi „zwolnienia” strony wysyłającej. Utrzyma to połączenie i zmarnuje jeszcze więcej czasu skanera.
plandeki SMTP
Jednym z możliwych sposobów walki ze spamem masowym było wprowadzenie niewielkiej opłaty za każdą wysłaną pocztę. Wprowadzając takie sztuczne koszty, mające znikomy wpływ na legalne użytkowanie, o ile opłata jest wystarczająco niska, zautomatyzowany spam na masową skalę natychmiast stałby się nieatrakcyjny. Tarpitting może być postrzegany jako podobne (ale technicznie znacznie mniej skomplikowane) podejście, w którym koszt dla spamera byłby mierzony pod względem czasu i wydajności, a nie pieniędzy.
Procedury uwierzytelniania wydłużają czas odpowiedzi, gdy użytkownicy próbują podać nieprawidłowe hasło. Uwierzytelnianie SMTP nie jest wyjątkiem. Jednak transfery SMTP między serwerami, w których wstrzykiwany jest spam, nie wymagają uwierzytelniania. Omówiono i wdrożono różne metody dla tarpitów SMTP, systemów, które podłącza się do Mail Transfer Agent (MTA, tj. oprogramowania serwera pocztowego) lub siedzi przed nim jako proxy.
Jedna metoda wydłuża czas przesyłania wszystkich wiadomości e-mail o kilka sekund, opóźniając początkowe powitanie („opóźnienie powitania”). Chodzi o to, że nie ma znaczenia, czy dostarczenie legalnej poczty zajmie trochę więcej czasu, ale ze względu na dużą liczbę wiadomości będzie to miało znaczenie dla spamerów. Wadą tego rozwiązania jest to, że listy mailingowe i inne legalne wysyłki masowe będą musiały zostać jawnie umieszczone na białej liście , w przeciwnym razie one również ucierpią.
Niektóre systemy pocztowe, takie jak sendmail 8.13+, implementują silniejszą formę opóźnienia powitania. Ten formularz zatrzymuje się, gdy połączenie jest nawiązywane po raz pierwszy i nasłuchuje ruchu. Jeśli wykryje jakikolwiek ruch przed własnym powitaniem (z naruszeniem RFC 2821), zamyka połączenie. Ponieważ wielu spamerów nie pisze swoich implementacji SMTP zgodnie ze specyfikacją, może to zmniejszyć liczbę przychodzących wiadomości spamowych.
Inną metodą jest opóźnianie tylko znanych spamerów, np. za pomocą czarnej listy (patrz Spamowanie , DNSBL ). OpenBSD zintegrował tę metodę ze swoim głównym systemem od OpenBSD 3.3, z demonem specjalnego przeznaczenia ( spamd ) i funkcjonalnością zapory ogniowej ( pf ) do przekierowywania znanych spamerów do tego tarpitu.
MS Exchange może atakować nadawców, którzy wysyłają na nieprawidłowy adres. Exchange może to zrobić, ponieważ złącze SMTP jest podłączone do systemu uwierzytelniania.
Bardziej subtelnym pomysłem jest szara lista , która w uproszczeniu odrzuca pierwszą próbę połączenia z dowolnego wcześniej niewidocznego adresu IP. Zakłada się, że większość spamerów wykonuje tylko jedną próbę połączenia (lub kilka prób w krótkim czasie) w celu wysłania każdej wiadomości, podczas gdy legalne systemy dostarczania poczty będą ponawiać próby przez dłuższy czas. Po ponownej próbie ostatecznie zostaną wpuszczeni bez żadnych dalszych przeszkód.
Wreszcie, bardziej skomplikowana metoda próbuje skleić ze sobą tarpity i oprogramowanie filtrujące, filtrując wiadomości e-mail w czasie rzeczywistym podczas ich przesyłania i dodając opóźnienia do komunikacji w odpowiedzi na wskaźnik „podobnego spamu” filtra. Na przykład filtr antyspamowy „zgadywał” po każdym wierszu lub po otrzymaniu x bajtów, jakie jest prawdopodobieństwo, że ta wiadomość będzie spamem. Im bardziej jest to prawdopodobne, tym bardziej MTA opóźni transmisję.
Tło
SMTP składa się z żądań, które w większości składają się z czteroliterowych słów, takich jak MAIL, oraz odpowiedzi, które składają się (minimalnie) z liczb trzycyfrowych. W ostatnim wierszu odpowiedzi po numerze następuje spacja; w poprzednich wierszach następuje po nim myślnik. Tak więc, po stwierdzeniu, że próbowana wiadomość jest spamem, serwer pocztowy może odpowiedzieć:
451-Ophiomyia prima to mucha agromyzid 451-Ophiomyia secunda to mucha agromyzidae 451-Ophiomyia tertia to mucha agromyzid 451-Ophiomyia quarta to mucha agromyzid 451-Ophiomyia quinta to mucha agromyzid 451-Ophiomyia sexta to mucha agromyzid 45 1- Ophiomyia septima to mucha agromyzid 451 Twój adres IP znajduje się w DNSBL . Spróbuj ponownie później.
Tarpit czeka piętnaście lub więcej sekund między wierszami (duże opóźnienia są dozwolone w SMTP, ponieważ ludzie czasami wysyłają pocztę ręcznie, aby przetestować serwery pocztowe). Unieruchamia to proces wysyłania SMTP na komputerze spamera, aby ograniczyć ilość wysyłanego spamu.
Plandeki na poziomie IP
Jądro Linuksa można teraz załatać, aby umożliwić tarpitowanie połączeń przychodzących zamiast bardziej zwykłego odrzucania pakietów. Jest to realizowane w iptables przez dodanie celu TARPIT. Te same funkcje inspekcji i dopasowywania pakietów mogą być stosowane do celów typu tarpit, jak w przypadku innych celów.
Mieszane plandeki na poziomie SMTP-IP
Serwer może stwierdzić, że dana wiadomość e-mail jest spamem, np. dlatego, że została zaadresowana do pułapki spamowej lub po zgłoszeniach zaufanych użytkowników. Serwer może uznać, że adres IP odpowiedzialny za wysłanie wiadomości zasługuje na tarpitowanie. Sprawdzanie krzyżowe z dostępnymi listami DNSBL może pomóc w uniknięciu umieszczania niewinnych usług przesyłania dalej w bazie danych tarpit. Demon wykorzystujący libipq Linuksa może następnie sprawdzić zdalny adres przychodzących połączeń SMTP w tej bazie danych. SpamCannibal to oprogramowanie GPL zaprojektowane wokół tego pomysłu; Palisada to podobny projekt zrealizowany przy użyciu FreeBSD ipfirewall .
Jedną z zalet tarpitowania na poziomie IP jest to, że zwykłe połączenia TCP obsługiwane przez MTA są stanowe . Oznacza to, że chociaż MTA nie zużywa dużo procesora podczas uśpienia, nadal wykorzystuje ilość pamięci wymaganą do przechowywania stanu każdego połączenia. Z drugiej strony, tarpitting w stylu LaBrea jest bezstanowy , dzięki czemu zyskuje przewagę w postaci obniżonych kosztów w stosunku do skrzynki spamera. Należy jednak zauważyć, że korzystając z botnetów , spamerzy mogą uzewnętrznić większość swoich kosztów zasobów komputerowych.
Krytyka
Wiadomo, że połączenie tarpitowane może generować znaczny ruch w kierunku odbiorcy, ponieważ nadawca uznaje połączenie za ustanowione i próbuje wysłać (a następnie retransmitować) rzeczywiste dane. W praktyce, biorąc pod uwagę obecny średni rozmiar botnetu komputerowego, rozsądniejszym rozwiązaniem będzie całkowite usunięcie podejrzanego ruchu bez tarpitowania. W ten sposób retransmitowane będą tylko segmenty TCP SYN, a nie całe żądania HTTP lub HTTPS.
Komercyjne implementacje smołowania
Oprócz MS Exchange, były dwie inne udane komercyjne implementacje idei tar pit. Pierwszy został opracowany przez TurnTide z siedzibą w Filadelfii, która została przejęta przez firmę Symantec w 2004 roku za 28 milionów dolarów w gotówce. Router antyspamowy TurnTide zawiera zmodyfikowane Linuksa , które pozwala na wykonywanie różnych sztuczek z ruchem TCP , takich jak zmienianie rozmiar okna. Grupując różnych nadawców e-maili w różne klasy ruchu i ograniczając przepustowość dla każdej klasy, zmniejsza się ilość nadużyć w ruchu — szczególnie, gdy nadużycia w ruchu pochodzą z pojedynczych źródeł, które można łatwo zidentyfikować dzięki dużemu natężeniu ruchu.
Po przejęciu firmy Symantec, kanadyjska firma start-up o nazwie MailChannels wypuściła oprogramowanie „Traffic Control”, które wykorzystuje nieco inne podejście do osiągania podobnych wyników. Traffic Control to serwer proxy SMTP w czasie rzeczywistym . W przeciwieństwie do urządzenia TurnTide, które stosuje kształtowanie ruchu w warstwie sieci, Traffic Control stosuje kształtowanie ruchu do poszczególnych nadawców w warstwie aplikacji. Takie podejście skutkuje nieco skuteczniejszą obsługą ruchu spamowego pochodzącego z botnetów ponieważ pozwala oprogramowaniu spowolnić ruch z poszczególnych zombie spamujących, zamiast wymagać agregacji ruchu zombie w klasę.
Zobacz też
- ^ Tom Liston mówi o LaBrea
- ^ Strona podręcznika Spamda
- ^ http://xtables-addons.sf.net/ [ martwy link ]
- ^ http://www.spamcannibal.org/ [ martwy link ]
- ^ Sebastian, Walla (2019). „MALPITY: automatyczna identyfikacja i wykorzystywanie luk Tarpit w złośliwym oprogramowaniu” . Europejskie sympozjum IEEE na temat bezpieczeństwa i prywatności (EuroS&P) Bezpieczeństwo i prywatność (EuroS&P) : 590–605.
- ^ „Symantec przejmuje firmę antyspamową - CNET News” . Zarchiwizowane od oryginału w dniu 16 lipca 2012 r.