Přehled a doporučení antispamových řešení
Technická zpráva CESNETu
číslo 14/2005
k dispozici též ve formátech PDF,
PostScript a
XML.
Pavel Kácha
9.12.2005
1 Úvod
Jeden z klíčových problémů fungování dnešního internetu je množství nevyžádané pošty - spamu. Stejně jako přibývá jeho množství ve schránkách uživatelů a zahlcují se fronty mailserverů, objevují se nové metody na jeho identifikaci a minimalizaci jeho dopadu. Tento text má za úkol seznámit se současnými postupy boje se spamem a doporučit vhodnost jejich nasazení, popřípadě konfigurace.
2 Definice spamu
Spam je obvykle obtížné definovat, protože pro každého respondenta znamená něco jiného - např. pro manažera mohou být obchodní nabídky zcela legitimní, na rozdíl od domácího uživatele. Jako zjednodušení se často používá zkratka UCE (Unsolicited Commercional Email) - nevyžádaná komerční pošta. To je ale jen část spamu - postupem času vykrystalizovalo obecnější a přesnější spojení UBE (Unsolicited Bulk Email) - nevyžádaná hromadná pošta.
Důležité jsou oba přívlastky - nevyžádaná pošta nemusí být nutně spam, stejně tak hromadná, spamem je teprve nevyžádaná a současně hromadně rozesílaná pošta, odosobněná od respondenta, tj. ve velké míře nezávislá na příjemci.
3 Šíření
Dříve nejčastější způsob šíření spamu - pomocí špatně zabezpečených, nebo nevhodně nastavených mailových serverů - je nyní na ústupu. Za velkou částí spamu stojí etablovaní specialisté, organizované skupiny lidí, cestující od poskytovatele k poskytovateli a rozesílající do odpojení. Nejznámější z nich se snaží monitorovat iniciativa ROKSO - Register of Known Spam Operations.
I ti se ale postupně orientují na nyní nejsilnější zdroj spamu - zkompromitované stroje s MS Windows, na něž je injektován server, který čeká na příkazy škůdce, tzv. botnety. Ty, přestože jsou to obvykle stroje na modemových či kabelových připojeních, jsou v množství tísíců schopny tvořit úctyhodnou kapacitu výpočetního výkonu a šířky síťového pásma, která je poté zneužívána k rozesílání spamu či distribuovaných DOS útoků.
4 Získávání adres
Spammeři obvykle k získávání adres používají podobných technik, jako internetové prohledávače k indexování obsahu internetových stránek. Automatický robot prochází jednotlivé stránky a hledá internetové adresy, případně k nim odpovídající informace. Podle výzkumu, vedeného The Center for Democracy & Technology, jsou emailové adresy zveřejněné na běžných www stránkách postiženy spamem nejčastěji, zbývající tři procenta se dělí mezi adresy, zveřejněné v diskusních skupinách USENET či zneužité webovými službami, a zcela mizivé procento je získáváno z databází registrátorů (RIPE, národní domény).
5 Uživatelská obrana
Koncoví uživatelé jsou ti, kterých se spam nakonec dotýká nejvíce - připravuje je o čas a znatelně komplikuje jejich práci s elektronickou poštou. Sami uživatelé se spamu mohou bránit pouze obtížně, přesto je nutné zvyšovat jejich informovanost o tom, čím mohou sami přispět k minimalizování záplavy spamu, ať už na své, či na cizí emailové účty. Možností je několik.
Je důležité, aby pečlivě vážili, komu poskytnou svoji i cizí emailovou adresu a kde ji zveřejní. Některé www služby nabízejí například zaslání informací či obrázků přímo z www (pohlednicové servery, novinky z informačních portálů) - uživatelé si málokdy uvědomují, že tím předávají adresu svoji i příjemce třetí osobě, nad jejímž chováním ke svým údajům nemají kontrolu. Málo lidí také bere v potaz to, že adresa, kterou uvedou v diskusních fórech mnoha serverů, zůstává dostupná na www pro kohokoliv - tedy i pro automatické roboty spammerů.
Částečně lze v případě zveřejňování adresy na www stránkách robotům ztížit práci jejich uvedením v nestandardním tvaru (např. "ph AT cesnet DOT cz"), v obrázku, jejich generování pomocí HTML či CSS. To vše zvyšuje nároky na inteligenci robotů, nicméně často koliduje s přístupností např. pro zrakově postižené a může zatěžovat návštěvníky stránky.
Uživatelům se také nedoporučuje odpovídat na nabídky k vyřazení z databáze respondentů jiným, než veřejně známým institucím s dobrou pověstí - spammer bere obvykle žádost o vyřazení naopak jako potvrzení funkčnosti emailové adresy.
Uživatelé také mohou sami pomoci s hlášením spamu zdrojovým poskytovatelům, případně dalším organizacím, existují projekty, které identifikaci a upozornění zdrojové sítě usnadňují, např. SpamCop, Network Abuse Clearinghouse.
Moderní poštovní programy mají některé antispamové metody také zabudovány v sobě, případně existují jejich rozšíření. Tím lze kontrolu a odpovědnost nad vlastní poštou posunout také blíže k uživateli.
6 Statistická analýza
Statistická analýza je nyní zřejmě nejčastěji používaná metoda, právě také z důvodu své časté integrace do poštovních klientů - např. Mozilla Thunderbird, Evolution. Spočívá v rozdělení mailového textu na signifikantní tokeny a jejich ohodnocení na základě reálného korpusu se známým ohodnocením (spam/ham). Její aplikace na neznámý text poté umožňuje jeho ohodnocení na základě výskytu a ohodnocení už známých tokenů. Nejznámějšími projekty jsou DSPAM, BogoFilter, Annoyance Filter, ifile.
Různé metody a projekty se liší způsoby hodnocení a tím, co považují za tokeny. Dnes převažuje naivní Bayesovská analýza, tj. analýza na základě vah jednotlivých tokenů. Objevují se ale i komplexnější metody, např. skrytý Markovův model, analyzující celé fráze. Příkladem takového řešení je například CRM114.
Jedním z prvních nejznámějších propagátorů statistické analýzy je Paul Graham se svou esejí A Plan for Spam.
Spammeři samozřejmě nezůstávají pozadu a snaží se na nové metody adaptovat, často se tedy v mailech objevuje nadbytečný text (snaha o to, aby váha "neškodného" textu přebila váhy reklamího textu), využívání vlastností HTML (prokládání řídícími značkami, přerovnávání textu tabulkami), text v obrázku.
Je-li to možné, je vhodné využít možností statistické analýzy v poštovních klientech uživatelů - uživatelé "učí" databázi na základě svého osobního korpusu pošty a dosahuje se tak nejvyšší účinnosti. To je ale nevhodné například v případě požadavku na dostupnost pošty z více míst (IMAP, www rozhraní), neboť uživatel by musel udržovat statistickou databázi v poštovních klientech na různých místech - tehdy je vhodnější přesunout aktivitu na server. Tam je zase nutné zvážit mechanismy udržování aktuálních databází - tedy buď musí databázi udržovat aktuální správce, nebo je třeba dát uživatelům možnost hlásit chybně zařazené maily (pomocí speciálních adres nebo složek).
7 Kontrolní součty
Další z metod, vyžadující aktivní spolupráci uživatele (nebo správce) jsou kontrolní součty. Uživatelé reportují spam a do databáze (provozované lokálně, nebo v celosvětovém měřítku) se ukládá jeho otisk (hash). Program, přijímající poštu, počítá z pošty také otisk a porovnává s otisky v databázi, a na základě shody či podobnosti se rozhoduje.
Vzniká zde problém s jednoznačností - ve spamu se často objevují záměrně vložené náhodné znaky, takže dvě kopie stejného spamu nejsou identické. Proto se používají podobnostní algoritmy (nilsimsa), či otisky z náhodných částí mailu.
Příkladem takových databází, které lze vřadit do poštovního řetězce jsou Vipul's Razor, Pyzor a Distributed Checksum Clearinghouse.
Zde je nutné zvážit použití globální, či lokální databáze - u globální víceméně odpadá nutnost správce či uživatelů ji aktualizovat (byť je to záhodno), což je u lokální nutnost. Lokální databáze ovšem zase udržuje kontrolu nad daty a spolehlivostí v rukou správce. Obecně je účinnost vysoká, zvláště u delších vln nových spamů.
8 DNS blacklists
Velmi často používanou, ale dvojsečnou zbraní jsou databáze IP adres či jmenných záznamů, které se nějakým způsobem prohřešují proti netiketě. Obvykle jsou pro jednoduchost realizovány jako stromy v DNS, což má za následek, že možnost jejich používání v sobě již dnes mají implementovánu všechny nejrozšířenější MTA.
Obsah DNSBL může být generován a poskytován různými metodamy - staticky či dynamicky, ručně či automatizovaně, komerčně, uživateli, skupinou dedikovaných správců, na základě strojové analýzy... Databází je mnoho a jejich vypovídací schopnost a důvěryhodnost se liší v širokých mezích - obecně nelze doporučit jejich přímé použití správcům bez hlubšího studia problematiky a bez příslušného testování.
Příklady nejznámějších DNSBL:
- ORDB - otestované open relays
- SpamHaus SBL - ručně udržovaná DB rozsahů velkých prověřených spammerů
- SpamHaus XBL - IP adresy s exploity (tedy i phishing), proxy či trojskými koni
- RFC Ignorant - IP adresy a domény s chybnými informacemi ve WHOIS databázích
- DEADBEEF - bloky poskytovatelů, nereagujících na RFC adresy
- SPEWS - kontroverzní, celé bloky jako způsob nucení spam nepotírajících poskytovatelů ke změně chování
- MAPS (komerční), NJABL.ORG, SORBS - různé
- DRBL - pokus o decentralizované dynamické RBL
Jedná se jen o úzký výběr - pro detailní přehled lze doporučit následujicí seznamy DNSBL: DNSbl Information, DNS & RHS Blackhole Lists.
9 Autorizace odesílatele
Další metodou oddělení legitimní pošty od spamu jsou snahy dát odesílateli možnost odlišit se nějakým způsobem od spammera, ať už právními/komerčními, či technickými cestami. Vyvinulo se několik konkurenčních metod, lišících se spíše implementací, než záměrem, ale jako obvykle se jako účinnější prosazují technická řešení.
Mezi komerčně založená řešení patří Habeas Sender Warranted Email a Bonded Sender.
Habeas se snaží převést problém stíhání spammu na právně mnohem lépe fungující problém autorského práva. Odesílatel si koupí právo vkládat do hlavičky svých mailů haiku, chráněné copyrightem firmy Habeas, která může (a snaží se) stíhat neautorizované uživatele tohoto textu. Příjemci se následně mohou chovat podle přítomnosti nebo nepřítomnosti haiku textu. Účinnost tohoto přístupu je více než sporná, nějakou dobu dokonce test na Habeas haiku ve SpamAssassinu přidával mailům trestné (spamové) body, neboť někteří spammeři přidávali text neautorizovaně a firma Habeas není (ani často nemůže být) důsledná v jejich stíhání.
To se snaží řešit Bonded Sender. Klient si nekupuje právo vkládat text do mailu, ale záznam v DNSBL firmy Return Path, které opět servery příjemců mohou konzultovat a upravovat své chování.
Spíše technickým směrem řešení se obrací TEOS, Domain Keys, Tripoli, SPF a HashCash.
TEOS (Trusted Email Open Standard) a DomainKeys přicházejí s podobným přístupem - odesílatel, nebo server odesílatele přidává do hlavičky mailu elektronický podpis, jehož veřejný klíč je zveřejněn v DNS odesílatele. Příjemce může klíč získat, ověřit pravost mailu a s výsledkem opět pracovat v rozhodovacím procesu. Funkce Tripoli je podobná - pouze klíč v DNS je nahrazen podpisem klíčem autority, který příjemci mohou mít naimportovaný a ověřovat pomocí něho. Delegaci autority standard neřeší, je pravděpodobné, že skončí v komerční rovině.
SPF je znám díky intervenci firmy Microsoft, která se pokusila protlačit jako standard jeho upravenou verzi SenderID. To se nepodařilo, nicméně SPF je nyní jako draft IETF a je na dobré cestě stát se doporučením RFC. Funkce je jednoduchá - odesílatel, podobně jako záznamy MX pro příjem pošty, ve svém DNS zveřejní seznam serverů, ze kterých odesílá poštu. Říká tím, že pošta, která přichází z jeho domény, smí přicházet jen z určitých serverů - přichází-li odkudkoliv jinud, jedná se o podvrh. SPF je poměrně jednoduchý na implementaci a může pomoci důvěryhodnosti mailů. Systémy, které SPF integrují, obvykle posuzují maily tak, že pokud SPF záznam existuje a je nevalidní, jde s vysokou pravděpodobností o spam. Je pravděpodobné, že SPF se brzy rozšíří, používají ho i velcí poskytovatelé mailu, jako např. AOL, Hotmail, Seznam.cz, jeho použití lze doporučit, nebrání-li tomu jiné požadavky, například zvolená architektura poštovních služeb.
HashCash je čistě technické řešení, založené na principu "platby výpočetním výkonem". Odesílatel přibaluje do mailu matematický otisk (hash), který je navržen tak, aby ho stál řádově více výpočetního výkonu, než příjemce jeho ověření. Spammer, chce-li toto schéma akceptovat, odešle z jednoho stroje několik mailů za vteřinu namísto stovek. To spammeři nedělají, takže například SpamAssassin považuje maily, podepsané HashCash otiskem za velmi důvěryhodné. Není však obvykle vhodné umístit jeho výpočet na server, který funguje jako smtp pro větší množství odesílatelů, vhodnější je použít rozšíření mailových klientů a posunout tak procesorově náročné generování na stanice uživatelů.
Často používanou, jednoduchou a fungující metodou pro znemožnění zneužití adresy, zveřejněné na www stránkách spammery, je použití tzv. HAM hesla - na místě zveřejnění se také uvede informace o tom, že je nutné do subjectu zprávy na tuto adresu vložit určitý konkrétní text, jinak bude zpráva zahozena. Metoda je ale vhodná jen pro jednoúčelové adresy (např. info@jmenofirmy.cz), zveřejněné na několika konkrétně definovaných místech.
10 Heuristika
Heuristikou se obvykle označuje spojení více metod do spolupracujícího celku. Nejpoužívanějším příkladem takového systému je SpamAssassin, který integruje velké množství testů těla a hlavičky mailů, některé DNSBL, kontrolní součty, HashCash a statistickou analýzu do celku, který posuzuje mail na základě všech těchto metod, jejichž váhy jsou určeny analýzou genetickými algoritmy na rozsáhlém korpusu předtříděné elektronické pošty.
Jedná se obvykle o nejrozumnější volbu pro správce, začínající s antispamovou ochranou a teprve zvažující vhodnost různých systémů pro svoji situaci.
11 Challenge-Response
Challenge-Response je kontroverzní metoda, která se - podobně jako HashCash - snaží zvýšit obtížnost úspěšného doručení mailu pro spammery. Na rozdíl od HashCash ale zvyšuje obtížnost i pro všechny ostatní uživatele.
Příjemce udržuje databázi známých odesílatelů. Přijde-li mail z dosud neznámé adresy, je před doručením uživateli pozdržen ve frontě a odesílateli je odeslán požadavek o autorizaci. Ta může mít formu textu, opsaného z obrázku, URL, které je třeba navštívit, nebo otázku, na kterou je (pokud možno) schopen odpovědět pouze člověk. Pokud odesílatel zareaguje správně, mail je finálně doručen příjemci a odesílatel zařazen mezi známé, jinak je z fronty a z dalšího zpracování vyřazen.
Systém má obvykle vysokou úspěšnost, ale jeho nevýhodou je, že náklady na autorizaci mailu přenáší nejen na spammery, ale i na ostatní legitimní uživatele. Odesílatelé často odmítají být do "hry" zataženi, nebo autorizačním mailům nerozumí, či je sami považují za spam.
Implementace je obvykle nutná na cílové stanici uživatele, a vyžaduje jeho poučenost a erudici - uživatel by měl sám upravovat databázi "známých" odesílatelů, například pro diskusní listy, do kterých je zapsán, případně jiné legitimní hromadné maily, což pro něj nebývá vždy jednoduché a přímočaré. Implementací také na světě existuje mnoho, a může dojít k jejich kolizi (setkají-li se dva rozdílné).
Tyto systémy nelze přímo doporučit, jedině pro specifické a velmi dobře zvážené případy (opět například informační mail firmy, a podobně), nicméně jeho odrazování legitimního mailu brání jeho širšímu nasazení.
12 Greylisting
Greylisting je poměrně nová metoda, která staví na obvyklém chování programů, používaných spammery. Spammer se (obvykle pomocí sítě zkompromitovaných strojů) snaží rozeslat co nejvíce mailů na adresy, o nichž si není jist, nakolik jsou funkční - a ani ho to příliš nezajímá, spammerovi k zisku stačí mizivá účinnost. Hromadné mailery tedy rozesílají stovky mailů za vteřinu, aniž by kontrolovaly chyby v SMTP komunikaci. Toho využívá greylisting, mail z neznámé adresy a zároveň neznámého serveru je přijat teprve na druhý pokus - první je odmítnut s dočasnou chybou, což pro většinu MTA znamená "zkus to znovu".
Nevýhodou může být, že greylisting zpožďuje veškerou neznámou poštu, tedy opět neovlivňuje jen spam. Některé legitimní MTA berou dočasné chyby fatálně, případně mohou druhý pokus provést příliš pozdě (když už cílový MTA zapomene záznam o prvním pokusu), nebo z jiné IP adresy (např. mailserverové farmy velkých webmailů).
Greylisting lze také kombinovat s dalšími metodami, např. DNSBL, nebo dokonce SpamAssassinem, kdy je dočasné odmítnutí mailu podmíněno jeho "podezřelostí", například tím, že je zdroj v některém z DNSBL.
Výhodou greylistingu je jeho vysoká účinnost, je ale pravděpodobné, že se spammeři časem naučí přizpůsobovat, jako většině technik. Je možné ho doporučit, ale pro minimalizaci ztrát legitimní pošty by nasazení mělo předcházet důkladné testování v podmínkách konkrétní organizace, a příprava na řešení možných výjimek.
Podpora greylistingu existuje v mnoha formách pro všechny nejrozšířenější mailservery - Postgrey, SQLGrey, RelayDelay, greylisting-spp...
13 Aktivní boj
Pasivní filtrování spamu lze spojit i s aktivním bojem. Drtivá většina emailových adres je získávána z www stránek - lze tedy vytvořit dobře dostupnou (tedy odkazovanou například nenápadným odkazem z hlavní stránky firmy) stránku (Honeypot) s několika desítkami falešných emailových adres. Filtrací pošty na ně přicházející lze získávat stoprocentní vzorky spamu, které lze využít k identifikaci spamujících serverů, či spamových zpráv. Zprávy lze poté řadit například do databáze otisků (Razor, Pyzor), kterou mohou využívat další servery. Identifikované spamující IP lze buď přímo odmítat, nebo přesměrovat na specializovaný síťový prvek (tzv. Tarpit), který jejich TCP spojení bude zpomalovat na hranici možností, čímž opět snižuje účinek.
Tarpity k možnému použití jsou například TarProxy, SpamCannibal, Teergrubing Wrapper.
14 Závěr
Boj proti spamu je běh na dlouhou trať, stejně jako se vytvářejí nové metody, přizpůsobují se i metody spammerů a typy spamu. Přes svoji délku je tento text jen hrubý nástin, který zdaleka není kompletní, a s časem bude jeho úplnost dále klesat. Pro efektivní boj správců proti spamu je třeba problematiku nadále sledovat a věnovat se získávání a hodnocení nových zkušeností a metod pro boj se spammery - minimalizace dopadů spamu je nejefektivnější, jsou-li nasazeny metody, pečlivě vybrané pro konkrétní organizaci. A je třeba být připraven, že nasazená řešení nikdy nebudou definitivní.