Jaké testy antispam provádí?
Všechny příchozí zprávy prochází antispamovou kontrolou. U ONEbit.cz zajišťuje kontrolu několik nezávislých antispam serverů. Použité řešení je založeno na jednom z nejpoužívanějších software SpamAssassin. Princip spočívá v podrobení každé zprávy stovkám nejrůznějších testů, zda nevykazuje znaky nevyžádané zprávy. Součet všech nasbíraných bodů za jednotlivé testy rozhodne, zda bude zpráva vyhodnocena jako SPAM.
Čím vyšší počet bodů (score), tím je pravděpodobnější, že je zpráva SPAM. Dosažené score uvádí hits=XX.X
. Hranici bodů, jakou musí testy pokořit, aby byla zpráva považována za SPAM, udává required score - implicitně nastaveno na 5.0
.
Výsledky testu jsou uloženy v hlavičce každého e-mailu. U každého testu je uvedeno bodové ohodnocení, identifikátor testu a textový popisek o jeho účelu.
Příklad části hlavičky:
X-Spam-Status: Yes, hits=35.2 required=5.0 X-Spam-Level: +++++++++++++++++++++++++++++++++++ X-Spam-Report: SA TESTS (analyzed by wiggum.onebit.cz) 1.1 URIBL_RHS_DOB Contains an URI of a new domain (Day Old Bread) [URIs: leadswhole.com] 2.0 URIBL_BLACK Contains an URL listed in the URIBL blacklist [URIs: leadswhole.com] 1.9 URIBL_AB_SURBL Contains an URL listed in the AB SURBL blocklist [URIs: leadswhole.com] 1.5 URIBL_WS_SURBL Contains an URL listed in the WS SURBL blocklist [URIs: leadswhole.com] 1.5 URIBL_JP_SURBL Contains an URL listed in the JP SURBL blocklist [URIs: leadswhole.com] 1.5 URIBL_OB_SURBL Contains an URL listed in the OB SURBL blocklist [URIs: leadswhole.com] 3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100% [score: 1.0000] 0.0 MISSING_MID Missing Message-Id: header 0.0 MISSING_DATE Missing Date: header 1.2 RCVD_IN_SORBS_DUL RBL: SORBS: sent directly from dynamic IP address [62.21.51.101 listed in dnsbl.sorbs.net] 0.4 HTML_IMAGE_RATIO_02 BODY: HTML has a low ratio of text to image area 1.6 HTML_IMAGE_ONLY_28 BODY: HTML: images with 2400-2800 bytes of words 0.0 HTML_MESSAGE BODY: HTML included in message 1.5 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 1.5 RAZOR2_CF_RANGE_E8_51_100 Razor2 gives engine 8 confidence level above 50% [cf: 100] 2.0 RAZOR2_CHECK Listed in Razor2 (http://razor.sf.net/) 0.5 RAZOR2_CF_RANGE_51_100 Razor2 gives confidence level above 50% [cf: 100] 3.7 PYZOR_CHECK Listed in Pyzor (http://pyzor.sf.net/) 2.7 DCC_CHECK Listed in DCC (http://rhyolite.com/anti-spam/dcc/) 1.3 RCVD_IN_PBL RBL: Received via a relay in Spamhaus PBL [62.21.51.101 listed in zen.spamhaus.org] 3.0 RCVD_IN_XBL RBL: Received via a relay in Spamhaus XBL 3.0 URIBL_SBL Contains an URL listed in the SBL blocklist [URIs: leadswhole.com] 0.0 DIGEST_MULTIPLE Message hits more than one network digest check
Co jednotlivé testy znamenají?
Bayes
Tzv. bayesanský test je založen na sofistikovaném algoritmu, který postupně porovnává jednotlivá slova zprávy se záznamy ve své databázi. Databáze obsahuje milióny zaznamenaných slov s informací, jak často se slovo vyskytuje u jednoznačných SPAMů a naopak u jednoznačně legitimních zpráv. Bayes se sám průběžně učí z již testovaných zpráv. Jako výsledek test produkuje procentuální pravděpodobnost, zda testovaná zpráva je SPAM. V záznamu X-Spam-Report výsledek naleznete pod BAYES_XX
, kde XX odpovídá % pravděpodobnosti - například BAYES_99
.
Razor2
Razor online ověřuje otisk zprávy v externí databázi spamů systému Razor2. Poskytuje jak základní informaci RAZOR2_CHECK
o výskytu zprávy na seznamu známých spamů, tak upřesňující stupeň pravděpodobnosti - např. RAZOR2_CF_RANGE_E8_51_100
, RAZOR2_CF_RANGE_51_100
, ...
DCC
Online ověřuje otisk zprávy v externí databázi spamů systému DCC. Pokud se otisk zprávy nachází v databázi DCC, projeví se bodově ve výsledku jako DCC_CHECK
.
Pyzor
Další nezávislý test Pyzor online ověřuje otisk zprávy v externí databázi spamů systému Pyzor. Pokud se otisk zprávy nachází v jeho databázi, projeví se bodově ve výsledku jako PYZOR_CHECK
.
IP blacklist
Další online testy se zaměřují na IP adresu původce zprávy. Ověřuje se její výskyt na blacklistu hned několika nezávislých provozovatelů - označované jako RBL (Realtime Blackhole List), PBL (The Policy Block List), apod. V testech se projevují například jako RCVD_IN_PBL
a mnoho mnoho dalších.
URL blacklist
Podobně jako IP blacklist i tyto testy online prověřují URL adresy vyskytující se ve zprávě, zda se doména nenachází některých blacklistech. Tyto testy se často označují jako SURBL (Spam URI Realtime Block Lists). Ve výsledku testů se opět každý pozitivní výskyt projeví patřičným počtem bodů - např. URIBL_AB_SURBL
, URIBL_WS_SURBL
, RCVD_IN_XBL
, atp.
Auto White List (AWL)
Test AWL probíhá na úrovni antispam serveru. Vychází z příjemce, e-mailové adresy odesílatele a IP původu zprávy (resp. její rozsah třídy C). Pod tímto klíčem si v databázi uchovává historii score testovaných e-mailů. Toto průměrné score při dalších testech zpráv stejného odesílatele bodově zohlední.
AWL tedy dokáže identifikovat odesílatele zpráv a díky předchozím testům zapamatovat povahu jeho zpráv.
Testy hlavičky
Hlavička zprávy obsahuje velmi cenné informace nejen o původu zprávy. Antispam ji proto podrobuje sadě nejrůznějších testů. Mimo jiné také na správnost formátování dle standardů RFC. Například datum musí být ve vhodném formátu, a také jeho hodnota musí být reálná.
Tzv. HELO je příkaz, kterým se představí klient při navázání spojení se SMTP serverem. Často odpovídá názvu počítače. Ve spojení s veřejnou či neveřejnou IP adresou počítače odesílatele taktéž podstupuje řadě testů.
Hra se slovy
Spammeři rádi balamutí slovníkové antispamy záměnou písmenek ve slově, vkládání mezer apod. Takový rozdíl lidský mozek prakticky nepostřehne. Pro testy vycházející ze slov textu má však zásadní význam. Antispam si dokáže poradit s řadou podobných technik. Jakmile odhalí pokus o kamuflování známého výrazu, body rozhodně nešetří.
Uveďme příklad. Takto bude vypadat test zprávy obsahující slovo viagra
0.3 DRUGS_ERECTILE Refers to an erectile drug
Zprávě bylo přičteno 0.3 bodů za obsah hovořící o známém medikamentu. Hodnota má skoro zanedbatelný vliv na celkové score. Aby ne, bylo by značně nevhodné filtrovat všechny zprávy jen proto, že ať už přímo nebo nepřímo obsahují oblíbená slova spammerů - viagra, valium, penis, sexual, rolex, offer, price a mnoho dalších.
A takto vypadá test zprávy obsahující slovo v1agra
0.7 FUZZY_VPILL BODY: Attempt to obfuscate words in spam 1.2 DRUGS_ERECTILE_OBFU Obfuscated reference to an erectile drug 0.3 DRUGS_ERECTILE Refers to an erectile drug
Antispam se nenechal zmást a opět přidělil body za podezřelý obsah (DRUGS_ERECTILE). Dále však pokračuje citelným bodovým přídělem za kamufláž slova známého výrazu a obecně za pokus o zmatení slov.
V následujícím příkladě zaznělo v předmětu slovo pen!s
3.1 SUBJECT_FUZZY_PENIS Attempt to obfuscate words in Subject: 2.5 FRT_PENIS1 BODY: ReplaceTags: Penis
Testů, kterým každá zpráva podstupuje, je široká škála. Některé dokonce vychází z kombinace jiných testů, neboť může být velmi významné, vyskytují-li se dva různé příznaky spamu současně. Výše uvedené uvádí pouze několik nejvýznamnějších. Nahlédněte do hlavičky zprávy, kde každý test obsahuje také odůvodnění. Jeho závažnost odhadnete z uděleného počtu bodů.