На времето ми беше дошло до гуша от referrer spam в блога ми. В един момент ми писна, и надрасках на бърза ръка скриптче, което да чисти логовете от спам-референциите, като проверява дали реферерът е в ръчно създаден “черен списък”.
След известно време ми писна да допълвам всеки ден списъка на ръка. Погледнах надхвърлилия вече 500 сайта списък, и ми хрумна идея. На бърза ръка извадих IP адресите им – оказаха се под 100. И дописах малко скрипта си – да поддържа списък с всички IP-та на спамвертизирани домейни, и да проверява IP-тата на новите реферери в него. Моментално 2/3 от работата по ръчно добавяне към “черния списък” отпадна – вече той се пълнеше сам. 🙂
Следващата стъпка беше, когато получа поредния домейн, да вкарвам автоматично в черния списък директно яecond-level домейна му, и да класифицирам като спамерски всичките му поддомейни. Добавих “бял списък” на домейни от второ (и дори трето) ниво, в които много лесно се регистрира еднократен поддомейн, и спамерите злоупотребяват с това, за да не бъдат вкарвани и те автоматично. Още повече от спамерските домейни попадаха автоматично в списъка. А някои от поддомейните им пък при проверка за IP-та допълваха черния списък за IP-та с нови.
Скоро списъкът на спамерските домейни надхвърли 10 000. Списъкът на IP-тата обаче не е стигнал и 300. Оказва се, че легионите спамвертизирани домейни са базирани на смешно малък брой IP-та, и че вкарването на тези IP-та в черен списък, подобен на черните списъци за пращащи спам IP-та, прави филтрирането им (било от браузера на потребител, било от добросъвестен провайдер) страхотно лесно. Нещо повече – голяма част от тези IP-та спадат към няколко мрежи или подмрежи, в които всяко или почти всяко IP е спамерско – тоест, има смисъл да бъдат филтрирани направо целите мрежи, и да си улесним живота още повече.
Направих си още малко експерименти. Извадих IP-тата на няколкостотин домейна, рекламирани с пощенски спам. Част от тях се покриваха с известния ми вече черен списък. Друга част не влизаха в него, но отново бяха събрани в тясна групичка, по много домейни на едно IP. Предполагам, че ако събера 10 000 рекламирани в пощенски спам домейна, отново IP-тата ще са не повече от 500, и че половината сигурно ще са вече известни от другия списък… Предполагам, че ако бях избрал домейни, рекламирани в друг вид спам, историята щеше да се получи същата, и че общият списък на IP-тата, хостващи спамерски домейни, надали е над 1000. (Единични случайни могат да са извън тази група IP-та, но ще са изключение.)
Целта на занятието е проста. Блокира ли се достъпът до рекламирани в спам домейни, рекламирането на домейни в спам става безсмислено, дори ако е възможно. А това пък прави спамът като вид реклама до голяма степен безсмислен, защото той разчита на общодостъпността на рекламирания обект отвсякъде, чрез Интернет. Да, руските спамери понякога рекламират други средства за достъп, примерно телефони – но това е несериозно като ефект: вероятно под 1 на хиляда от получателите на тези спамове е въобще в Русия, дори спамът да успее да мине всичките филтри и да стигне до него. Свалянето хиляда пъти на постигналия ефект спам би било празник за Интернет, и смърт за всички или почти всички спамери.
Задачата е лесна за изпълнение, като провайдерите (или дори обикновени потребители или хостери) поддържат съвместно черни IP-списъци. Както вече казах, се очаква тези списъци никак да не са големи, и сигурно няма да са трудни за поддържане. А ползата от тях се очаква да бъде огромна.
Черните списъци, в които IP-тата задължително преседяват дълго време, биха имали и друг поучителен ефект. Обикновено един провайдер разполага с ограничен набор IP-та, не може да го смени лесно, и е много лесно да бъде идентифициран по него. Това означава, че що-годе приятелски настроен към спамерите провайдер бързо ще направи всичките си IP-та неизползваеми. Наборът, който той има, ще бъде вече безполезен. А тръгне ли да си купи нов, който му ги продава ще го попита: “И тези ли ще отровиш като предишните?” – тоест, провайдерът вероятно ще бъде вън от бизнеса. Това рязко ще намали желанието на провайдерите да бъдат приятели със спамерите.
Хрумна ми и още една идея срещу referrer spam-а, която още не съм реализирал – IP-тата, от които се разглеждат сайтове в уеб сървъра, да се проверяват в класическите списъци на е-майл спамери. (Огромната част от referrer spam-а се извършва чрез спамботове от ботмрежи, точно както и пращането на пощенски спам.) Ако IP-то бъде открито в списъка, би могло информацията за реферер (и други спам-релевантни позиции) да бъдат или изчиствани при записването им в лога, или писани в друг лог, или кодирани по начин, който запазва информацията, но съобщава на програмите за статистика, че тези данни вероятно са фалшиви.
А тъжният проблем е, че надали ще реализирам някога тези идеи – нямам времето и силите, претрупал съм се с прекалено много други неща. Скриптовете, които съм написал, са бъгави, и нямам време дори да ги оправя. Те пък плачат да бъдат пренаписани на по-сериозен език, примерно на C.
Иска ли някой да стане благодетел на всички граждани на Мрежата, и да напише подходящ софтуер? Има от мен скриптовете ми, дано успее да си извади от тях нещо, което да не е прекалено бъгаво. (С условието софтуера му да е свободен.) А има и още предостатъчно идеи как тези списъци да се направят по-добри – например като се поддържат статистики колко спама са ги препоръчали за дадени периоди от време, за дадени начини на спамване, и т.н…