Elektronická pošta

Jaromír Hamala, xhamala@fi.muni.cz


Obsah


Elektronická pošta

Elektronická pošta je jedna z nejstarších aplikací na Internetu. Její historie sahá ještě do původního Arpanetu. Litarutara uvádí, že již roku 1976 posílá královna Alžbeta II. elektronický dopis oznamující připojení části armády do Arpanetu. I v dnešní době patří email mezi základní služby a je jedním z hlavních důvodů raketového rozvoje Internetu. Původně byla pošta navržena jako jednoduchá služba, která nedělala nic jiného než kopírovala zprávu z počítače odesílatele na počítač příjemce, kde ji připojila k již existujícímu souboru(schránce). Tento základní princip přetrval i do dnešní doby, leč bylo třeba definovat řadu rozšíření pro vetší variabilitu. Původní pošta(definovaná dokumentem RFC 822) počítala např. s přenosem čistého textu, tedy takových znaků, které lze zakódovat do 7bitů. To je samozřejmě v dnešní době naprosto nedostatečné. Tento problem řeší standard MIME.

O přepravu emailu od odesílatele k adresátu se stará řetezec programu, které si můžeme rozdělit do následujících kategorií:

obsah

SMTP

Protokol SMTP (Simple Mail Transfer Protocol) je protokol pro předávání zpráv mezi počítači. Vychází ze staršího MTP, který se ukázal jako zbytečně komplikovaný. SMTP je definován v rfc2821. Komunikace standardně probíhá na TCP portu 25 jako komunikace typu klient - server. Jako klient vystupuje MUA(MSP), který předává zprávu prvnímu MTA, nebo MTA, který předává zprávu dále. Klient naváže spojení na příslušný port a zadává SMTP příkazy. Server na ně odpovídá a sestavuje obálku zprávy podle které je zpráva dále posílána.

Základní model doručování zprávy

Neomi chce sdělit Isacovi své poslední studyjní uspěchy. Spustí tedy svůj oblíbeny MUA, v jejím případě mutt. Jediné co Noemi musi/měla_by zadat je adresa Isaca, předmět zprávy a pochopitelně zprávu samotnou. MUA doplní všechny ostatní vyžadované hlavičky a zprávu předá dál svému oblíbenému MTA. Tím pro něj starost o doručení končí. MTA, například exim, doplní hlavičku o nejaké další údaje a take vytvoří obálku kterou se řídí další směřovaní pošty. Pomocí MX záznamu v DNS si MTA zjistí stroj odpovědný za příjem pošty pro danou doménu a pokusí se mu zprávu předat. Pokud uspěje, tak končí starosti i pro něj. V opačném případě vyhledá v DNS stroj s vyšším preferenčním číslem pro danou domenu a opět se mu pokusí zprávu předat. Spojení nemusí být vždy příjmé, ale zprávu si může vzájemně předávat více MTA. Z popsaného systému je zřejmé, že otázka doručovaní je v podstatě problém nalezení cesty v grafu. Aby se zabránilo vzniku cyklů, existuje pravidlo, dle kterého MTA předává zprávu jen MTA s preferenčním číslem nižším, než má on sám. V případě kdy pro cílovou doménu neexistuje MX záznam, MTA se zjistí IP adresu této a pokusí se email doručit příjmo na tento stroj. Není to ale rozhodně preferovaný postup. Na cílovém stroji se zpráva předá MDA(napr. Procmail), který se postará o zařazení do správne složky, odkud si ji Isac vybere svým oblíbeným MUA, kterým je elm. Popř. by si ji mohl stahnout na svůj laptop pomocí jednoho z protokolů pop3/imap.

                   +-----------+          +--------+
+-------+  pise    |odesilajici|  vola    |zdrojovy|
| Neomi |--------->|   MUA     |--------->|  MTA   |::::>::::
+-------+          |(mutt)     |          |(exim)  |       ::   na odesilajicim
                   +-----------+          +--------+       ::   pocitaci
                                                           ::
.......................................................................
                             SMTP                          ::
 ::::::::::::::::::::::::::::<:::::::::::::::::::::::::::::::
 ::
 ::   +---------+          +-----+                +-------+
 ::   | cilovy  |  vola    |     |  doruci do     |Isacova|
 ::::>|   MTA   |--------->| MDA |===============>|chranka|  na prijimajicim
      |(qmail)  |          |     |                |(elm)  |  pocitaci
      +---------+          +-----+                +-------+
z obrázku je zřetelná nezávislost emailu na konkrétní implementaci jednotlivých nástrojů
obsah

Ukázka komunikace v SMTP protokolu

Definováno v RFC 821:
$ telnet localhost 25
Trying 127.0.0.1...
Negotiating binary mode on output.
Connected to localhost.
Escape character is '^]'.
220 neomi.cz ESMTP exim (Debian/GNU)
HELO noemika
250 noemi.cz
MAIL FROM:
250 Ok
RCPT TO:
250 Ok
DATA
354 End data with .
Shalom Isacu,
skola nic moc, ale uz se tesim na vikend....
.
250 Ok: queued as 5194E14A53
QUIT
221 Bye
Connection closed by foreign host.
obsah

Problém nevyžádané pošty

S tím jak vzrůstá popularita Internetu a roste jeho komerční potenciál, nabýva na závažnosti problém nevyžádane pošty, označované jako spam. Internetová encyklopedie Wipipedia definuje spam jako zasílaní stejných, nebo přibližně stejných, zpráv tisicům až milionům příjemcům, bez jejích svolení. Spam bychom v zásadě mohli rozdělit do několika kategorii: Reklamní zprávy jsou nevyžadaná reklamní pošta, ktera má za cíl zvýšení prodeje(nebo povědomio o) produktu. Mezi nejčastějí inzerované zboží patří viagra, erotické pomůcky, ale třeba paradoxně také softwarové prostředky určené k boji se spamem. Zde by bylo možné snad hovořit i o jisté formě vydírání. Hoaxy jsou speciální připad řetezových dopisu, které zpravidla obsahují nepravdivou informaci, kterou využívají k útoku na příjemcovi city, emoce, informují o falešných hrozbách a nabádají jej k rozeslání zprávy na co nejvice dalších adres. Příklad:
"Pred nekolika tydny si sedla jedna osoba v kine na neco 
pichajiciho na sedadle. Když vstala, aby zjistila, co to bylo, 
nasla jehlu zapichnutou do sedadla, na ktere byl pripevnen 
vzkaz: "Prave si byl nakazen HIV". Kontrolni stredisko chorob 
zaznamenalo v posledni dobe mnoho podobných pripadu v mnohych 
dalsich mestech i v PRAZE !!! Informujte sve zname o moznem riziku,
 zabranite tak sireni této choroby."

V porovnání s hoaxy, by se mohli zdát klasické řetězové dopisy neškodné. Nejčastějí motivuji adresáta k dalšímu rozeslání varovaním, že pokud tak neučíní, nebude mít štestí apod. Dostatečně zkušený/poučený uživatel tyto maily ignoruje, ale pokud musite 2x denně stahovat podobný dopis, obsahující 500kB "vtipnou" prezentaci v powerpointu, tak to mnoho radosti neuděla. Zvláště pokud jste na počítané lince.

obsah

Získavání adres

Patrně nejjednodužším způsobem, jak se octnout v spammerově databázi, je použit emailovou adresu v některé veřejně přístupné konference, usenetu, vystavit na webu, apod. Spammeri používají automatické nástroje, které pročesávají Internet a nově nalezené adresy ukladají do databáze. S těmi se navíc čile obchoduje, takže pokud se do nějake podobné emailová schránka dostane, je prakticky nemožné zvyšující se naval nyvyžádané pošty zastavit. Patrně nejúčinnější ochrana je, zveřejňovat svou adresu jen pokud je to nezbytné a to nejlepe v podobě, pro jejiž použiti je potřeba jisté dávky samostatnosti/inteligence. Například místo pouhého joe@hotmail.com uveřejnit podobu joe@hotmail.REMOVEtHIS.com. Další možností uplatnítelnou zejména na webu, je použití ascii kodu, misto např. znaku @. Pro uživatele se kód vyrenderuje do čitelné podoby, ale pro automat jde o neplatnou adresu. Nevýhodou těchto a podobných řešení je fakt, že pokud se nějaké stane masově užívané, neni pro spammery větší problém upravit sve roboty tak, aby těmto adresám rozuměli.

Další možností jak spammer může získat adresu, je použití slovníkového útoku. Je prakticky jisté, že napr. na serveru hotmail.com bude schránka uživatele joe, popř. na seznam.cz schránka uživatele pepa. Prakticky jedinou ochranou proti tomuto typu útoku je volba atypickych jmen, čí poštovních serveru. To s sebou ale nese nevýhodu horší zapamatelnosti takovéto adresy.

Na první pohled komplikovanou, ale v praxi také užívanou možnosti ziskaní adres, je metoda hrubé sily. Spammer jen zkouší zprávy posílat na všechny možné kombinace písmen do určite délky. Proti tomuto typu útoku je výhodné mit delší uživatelské jméno, obsahující atypické znaky a zvýšit tak šanci že na nás prostě nedojde. Další možnou ochranou, je omezení max. počtu odeslaných zpráv z určité domény za čas. Toto je ovšem otázka nastavení serveru a běžný uživatel s tim nic nenaděla.

Z výše uvedého výčtu je zřejmě, že dříve či později dojde na každého. Neexistuje spolehlivá cesta, jak svou adresu naprosto utajit. A jakmile se o adrese spameři jednou dozvědí, neni již prakticky úníku. Schránka se začne plnit nevyžadanou poštou a když její poměr přesáhne únosnou míru, uživatel zečne hledat řešení. Nevyžadaná pošta velmi často obsahuje sděleni, které řiká něco ve smyslu, že jde zcela jistě o poštu vyžádanou, ale pokud si přece jen přejeme další "informace" dále nedostávat, stačí kliknout na daný odkaz a budeme okamžitě vzškrtnuti z databáze. To vypadá nadějně, jenže realita býva zpravidla horší. "Odhlašévací" link ve velké části případů neslouží k odhlášení, ale jako potvrzení pro spammera, že jde o schránku "živou", že ji někdo vybíra. Takže ono odhlášení je kontraproduktivní a příval spamu se často jen zvýší. Další možností by mohlo být posílání spamu zpět odesílatelí. Pokud by tak činilo větší počet uživatelu, mohlo by jít o jístý druh trestu. Problém je v tom, že naprosta většina současných nevyžádaných zpráv falšuje adresu odesílatele. Takže výsledkem by s nejvetší pravděpodobností byl jen mail o nedoručitelnosti naší zprávy. Je jasné, že tudy cesta nevede.

obsah

Mezi opravdu učinné a v současné době nejčastěji užívané metody (pasivni) obrany patří

Bayes filtry pracují na principu hledaní podobností v nevyžadané poště v kontrastu s běžnou poštou uživatele. Jde o poměrně sofistikovaný algoritmus, ale při dostatečně velké srovnávací základně i velmi účínný. Mezi typické zástupce patří spamassasin, čí antispamova ochrana integrovana v mozille. Oproti tomu filtry založené na databázích spamu fungují tak, že na vstupu obdrží potenciální spam, ten proženou nějakou hashovací funkcí a výsledek porovnají s databází znamých spamu uloženou na centralním serveru. Pokud je mail prohlášen za "čistý" a uživatel přesto nabude dojmu že jde o spam, vhodným zpusobem ho označí a filtrovací program oznámí cetrálni databázi hash noveho spamu, takže dalším uživatelům již filtr správně oznámí, že jde o spam. Mezi zástupce patří nástroj razor.

V praxi se nejlépe osvědčuje kombinace obou přístupu, vylepšenou např. o přidělování extra "bodů" za maily obsahujici "podezřelá slova." Další možnou metodou je využívání databáze tzv. open-relay serveru. To je serveru, ze které může poštu posilat jakýkoliv uživatel Internetu a je tedy pohopitelné že jde o spammery hojně využívanou možnost. Jedním přístupem může být automatické odmítnutí pošty z takového serveru, problém je v tom, že do databáze se občas dostanou i velké servery(nedávno například SMTPčka sploečnosti UPC) a tím se kompletně znemožní přijem pošty od uživatelů těechto serveru. Druhým, a podle mě rozumějším, přístupem je udělení "trestných bodu" poště z o-r serveru a zohlednění tohoto při další analýze.

obsah

Odkazy: