Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #74, ЯНВАРЬ 2007 г.

лицом в грязь

КРИС КАСПЕРСКИ АКА МЫЩЪХ

Хакер, номер #074, стр. 018


6 ПРАВИЛ НЕПОПАДАНИЯ В СПАМЕРСКИЕ БАЗЫ

ПОЛЬЗОВАТЕЛИ, ПОГРЕБЕННЫЕ ПОД ТОННАМИ РЕКЛАМНОЙ МАКУЛАТУРЫ, НЕ ПОНИМАЮТ, КАКИМ ЖЕ ОБРАЗОМ СТЕРВЯТНИКАМ УДАЛОСЬ ДОБЫТЬ ИХ АДРЕС НА ЭТОТ РАЗ. ВЕДЬ, КАЗАЛОСЬ БЫ, БЫЛИ ПРЕДПРИНЯТЫ ВСЕ МЕРЫ ПРЕДОСТОРОЖНОСТИ!

Методики сбора мейл-адресов довольно продвинуты и одним лишь блужданием по паутине совсем не ограничиваются. Покажем, как максимально обезопасить себя от нежелательной корреспонденции.

Чтобы не получать спама, достаточно «всего лишь» не попасть в спамерские базы, прошмыгнув мимо них, словно старая крыса Шушара из сказки про Рики-Тики-Тави. Но прошмыгнуть не так-то просто. Спамеры — это не голые негры (простите, афро-африканцы), бегающие по пустыне с луками и копьями в поисках жратвы. Спамеры — это технически продвинутые и невероятно циничные хакеры, оснащенные самым современным оружием, созданным не только для массовой рассылки, но и для автоматизированного поиска mail-адресов. В этой отрасли крутятся большие деньги, и бороться со спамерами голыми руками - все равно что падать грудью на амбразуру. Лучше незаметно раствориться во тьме, заныкав свой mail-адрес как можно глубже.

Существует ряд довольно простых правил, следование которым сокращает вероятность спамерской атаки на 90%! Причем все они не требуют никаких дополнительных усилий или телодвижений. Почти никаких...

[правило 1: испытание сервера на прочность.]

Прежде чем выбрать mail-сервер для постоянной деловой переписки, необходимо удостовериться, что он надежно защищает адреса своих клиентов от чужих загребущих лап, но в то же время не сильно усердствует в борьбе с нежелательной (с его точки зрения) рассылкой и не включает спаморезку на полную мощь.

Для этого зарегистрируйся на подопытном сервере и периодически (в течение одной-двух недель) отправляй письма на свои же адреса, зарегистрированные на других серверах, чтобы имитировать сетевую активность (спамерам «мертвые» ящики не интересны). Если за все это время не придет ни одного «левого» письма, сервер можно считать более или менее надежным. Но прежде, чем начать им пользоваться, необходимо зарегистрироваться на hotmail'е, yahoo и других бесплатных зарубежных серверах и попытаться отправить себе письмо оттуда. Довольно часто письма не проходят, попадая под нож спаморезки, в результате чего теряется возможность переписки с большим количеством респондентов.

ИЗ ЛИЧНОГО ОПЫТА: MAIL.RU — ДОСТАТОЧНО НАДЕЖЕН. ДРУГОЙ ХОРОШИЙ СЕРВИС — WWW.FASTMAIL.JP

[правило 2: легкая добыча — короткие и словарные имена.]

Каждый вменяемый пользователь хочет иметь короткое и легко запоминающееся имя, которое можно передать друзьям по sms, записать в блокнот, напечатать на визитке — что-нибудь в стиле n2k@mail.ru. К сожалению, подобные имена (при всей их внешней привлекательности) становятся легкой добычей спамеров, поскольку элементарно вскрываются методом лобового перебора. Спам валит мегатоннами, и ничего другого не остается, как идти сдаваться на мясокомбинат. То же самое относится и к словарным именам типа SuperHero@yandex.ru или anton@zmail.ru. Добавление цифр, указывающих на год рождения, например, luba_76@rambler.ru, положение не спасает, поскольку существует не так уж много возможных вариантов.

Чем длиннее имя, тем лучше. Но и перебарщивать тоже не следует. Восьми символов в большинстве случаев оказывается вполне достаточно, и такие адреса уже не могут быть найдены методом перебора за разумное время, во всяком случае, спамеры подобными атаками не занимаются.

[правило 3: мой друг — враг мой.]

Крайне нежелательно давать свой адрес людям, пренебрегающим установкой свежих заплаток и запускающим все вложения, которые приходят им по Сети. Стоит только вступить с ними в переписку, и уже через короткое время можно обнаружить, что поток спама возрос на порядок, причем не двоичный, а десятичный или даже... шестнадцатеричный!

Все очень просто. Это раньше червей и вирусов писали из «любви» к человечеству или от нечего делать. Сейчас черви активно используются спамерами и являются идеальным средством сбора мейл-адресов. Проникнув на машину, червь первым делом лезет в адресную книгу Outlook Express или The Bat!, а так же сканирует почтовую базу на предмет наличия адресов отправителей и получателей. После чего передает накопленную информацию своему владельцу. Существует мнение, что в настоящее время данный механизм является основным способом добычи мейл-адресов — порядка 60%-70% спамеры добывают именно так! Мир тесен, и через знакомых своих знакомых можно выйти на кого угодно. Математики говорят, что в среднем для этого достаточно построить цепочку длиной в шесть-десять человек. И достаточно дорваться до одной единственной почтовой базы...

Для переписок с малознакомыми девушками и друзьями можно (и нужно) завести отдельный ящик, еще один ящик — для регистрации на всяких форумах или в виртуальных магазинах. Благо современные почтовые клиенты позволяют работать с любым количеством ящиков, обеспечивая при этом надлежащий уровень комфорта. Но проблема в том, что любое количество ящиков не решает основной проблемы — главный источник угрозы исходит от корпоративных респондентов, тех самых, которые (по идее) должны быть железобетонно защищены. Увы! Сплошь и рядом администраторы вспоминают о заплатках только тогда, когда черви вовсю гуляют по Сети, и что еще хуже — торгуют почтовыми адресами без всякого стеснения...

Можно прибегнуть к такой тактике. Сначала начинаешь переписку с компанией (даже очень крупной, значительной и именитой) со специально созданного ящика. И если в течение месяца-двух на него не начинает сыпаться спам, «рассекречиваешь» свой основной адрес. Конечно, в первую очередь все эти игры в «секретность» неудобны тебе самому. Приходится держать кучу ящиков и постоянно помнить, кому и какой адрес ты дал. Но зато основной ящик, автоматически проверяемый каждые 5 минут, в 99% содержит только полезную корреспонденцию, на которую можно отреагировать немедленно.

[правило 4: не оставляй адреса в сети.]

Сеть, изначально созданная для общения, со временем превратилась в лабиринт, опутанный колючей проволокой. Если никто и нигде не будет оставлять своих адресов, то, соответственно, никто и никому не станет писать. А ведь созерцать лаконичную надпись «новых сообщений нет» никому не хочется! Душа просит свободы. Душа хочет завести друзей во всех концах света, просто красивых девушек азиатской внешности и бесшабашных французских парней, что могут пригласить загадочного русского из заснеженной страны Сибири на концерт любимой группы только потому, что вы оба — фэны, а фэнам всегда есть, о чем поговорить.

Наконец, программист (астроном/лингвист/...), какой бы он ни был крутой специалист, находясь в изоляции, всегда загнивает. Общение с коллегами — это словно свежего воздуха глоток. Без обмена идеями, без диспутов и споров (иногда переходящих в священные войны) мы бы никогда не стали теми, кто мы есть сейчас. Кто-то может резонно возразить: общаться-то можно и на форумах, не оставляя никаких адресов (ну, разве что для регистрации). Обломайтесь, мужики. На форумах уже давно в основном идет треп за жизнь, демонстрация собственной крутизны и надругательство над новичками. Серьезные технические проблемы там обсуждаются крайне редко, поскольку зачастую они тесно связаны с NDA. И к тому же драть свою задницу, выполняя чужую домашнюю работу, никто просто так не будет. А вот по мылу (по принципу «ты — мне, я — тебе») — запросто!

Так что технические проблемы преимущество обсуждаются по мылу, через списки рассылки или персонально. Если со списками рассылки все понятно (достаточно присоединиться к интересному проекту), то с мылом не все так просто. Чтобы тебе могли писать, нужно оставить адрес на форумах, блогах, собственных сайтах и куче других тусовочных мест. Ведь фокус в том, как их оставлять. Запись вида kpnc@sendmail.ru любой харвестр схавает сразу, после чего спам хлынет мощным потоком как из прорвавшей канализационной трубы. Кое-то пытается хитрить: kpnc at mail dot ru. Та же самая запись, только по-английски — символ «@», прозванный в народе «собакой», в действительности читается как «коммерческое AT». Следовательно, в русской нотации этот же адрес выглядит так: kpnc гав-гав mail точка ru :).

Ставка делается на то, что человек (с IQ, отличным от единицы) обязательно это поймет, а механический харвестр обломается. На самом деле все происходит с точностью до наоборот. Как на счет записи: jose.palanco perro eazel punto es? Так что подобные извращения катят только среди своих, а иноземные граждане при попытке дешифровки «каракулей» даже не догадываются, что за ними скрываются действующий почтовый адрес, на который предполагается что-то написать. Креатив в стиле kpnc_nospam_at_mail_ru из той же оперы.

Харвестры ведь возникают не сами по себе. Их люди пишут, и эти люди отнюдь не дураки. И с IQ у них все в порядке. Очень часто используется следующий алгоритм. Харвестр находит доменное имя популярного сервера (например, mail или yandex), после чего трактует все, что слева от него, как потенциальное имя клиента. В частности, pedrilo perro yahoo punto сom превращается в perro@yahoo.com и pedrilo@yahoo.com. После чего по обоим адресам производится пробная рассылка писем. Адреса «perro@yahoo.com» скорее всего не существует (так как «perro» и есть «@», только по-испански), а вот pedrilo@yahoo.com сразу палится.

Некоторые до сих пор по своей наивности считают, что харвестры в основном ищут адреса по символу @, вот и заменяют его всем чем ни попадя, в том числе и графическим изображением. Но харвестрам это не помеха, поскольку символ «@» уже давно не единственный и совсем не характерный признак электронного адреса. Главный критерий — это доменные имена самих почтовых серверов, которые хорошо известны и которые так просто не спрячешь.

Единственное, что можно предпринять — записать свой адрес целиком в графической виде и прикрепить на форум в виде изображения. Если только не называть его my-email, то харвестр обломается OCR'ить все графические изображения. Хотя... Как показывает статистика, такие изображения имеют довольно характерные пропорции и размеры, поэтому для облома харвестров изображение должно быть большим (например, портрет в профиль ниже пояса) с надписью е-мейла на ягодицах :). Против ягодиц бессильны даже самые продвинутые харвестры. Правда, при этом возникает другая проблема — чтобы отправить сообщение, респондент должен вручную переписать его. Следовательно, мыло должно быть коротким и незатейливым. А желательно даже словарным, но это противоречит второму правилу, и ты оказываешься в позе буриданового осла, короче, в полной прострации. А если учесть, что не все форумы допускают присоединение графических изображений, становится совсем хреново.

Пожалуй, единственный разумный выход — заменить email ссылкой на страницу, где он лежит. Заводишь себе бесплатный хостинг, размещаешь там изображение своего мыла в графическом виде, а на форумах даешь URL на эту страницу. И все! Вместо графического изображения можно еще разместить Java-скрипт, содержащий зашифрованный email и расшифровывающий его (с выводом на экран в виде гиперссылки) только при нажатии на кнопку или иконку. Среди всех харвестров с подобными защитами еще не справляется ни один. А твоим респондентам достаточно совершить два клика мышью и не нужно дешифровывать никаких каракулей.

Чтобы не писать систему шифрования вручную, можно воспользоваться одной из готовых программ, специально написанных для этих целей. Например, HTML Protector (antssoft.fileburst.com/htmlprotector.zip), HTML Power (www.pullsoft.com/htmlpower.zip) или Encrypt HTML Pro (www.mtopsoft.com/download/enchp.zip).

[правило 5: сбивай спамеров ракетой класса mailer-daemon.]

Что же делать, если спамерское письмо все-таки пришло? Материться (первым делом) — это понятно. А по существу?! Некоторые письма содержат адрес, написав на который, можно якобы отказаться от дальнейшей рассылки. Но делать этого ни в коем случае не следует, иначе спамер поймет, что адрес «живой», и письма повалятся с новой силой!

Если есть желание рискнуть, можно попробовать накрыть спамера баллистической ракетой типа mailer-daemon. В смысле, послать поддельное письмо от имени сервера, что данный адрес не существует. Достаточно часто (хотя и не всегда) спамеры отслеживают такие «ракеты» и вычеркивают недействительные адреса из своих баз, чтобы не распылять трафик впустую. Весь вопрос в том, как подделать такое письмо?

Нам понадобится The Bat! или telnet (работа с telnet'ом подробно описана в «технике сетевых атак», которую можно бесплатно скачать с ftp://nezumi.org.ru). Для начала понадобится образец «ругательства» mail-daemon'а, который можно получить, отправив письмо на заведомо несуществующий адрес, например, на putaaaaaaaaa@fastmail.jp. Тогда через некоторое время придет ответ, который возьмем за основу.

Перетаскиваешь этот текст через буфер обмена и вставляешь в новое письмо, запустив прямой наводкой в сторону спамера. Возращенные письма анализирует не человек, а автомат. И анализирует он их следующим образом. Нажми <F9> (в меню — source), чтобы увидеть исходное содержимое письма, возращенного mailer-daemon'ом со всеми служебными заголовками и сосредоточенно вкуриваешь (смотри листинг).

Ответ mailer-daemon'а состоит из трех частей: служебных заголовков письма самого daemon'а и текстом ругательства с приложенной копией исходного письма. Собственно говоря, различные mailer-daemon'ы отвечают слегка по-разному и, чтобы робот смог скурить их ответ, он должен обращать внимание на определенные поля, описанные в RFC-1891 (ftp://ftp.rfc-editor.org/in-notes/rfc1891.txt). Да только кто же RFC читает? Вот программисты и действуют наугад, проверяя поле «subj» на предмет строки «Mail delivery failed: returning message to sender». Это не единственно возможный вариант ответа daemon'а, но, пожалуй, самый частый, а «subj» легко «подделывается» в любом почтовом клиенте. Другие смотрят на нестандартное поле «X-Failed-Recipients: putaaaaaaaa@fastmail.jp», присутствие которого расценивается как трындец. Подделать это поле на порядок сложнее.

На помощь приходит The Bat!. Нажимаешь <CTRL-N> для создания нового сообщения и в меню «View» смотришь пункт «Edit Headers», открывающий огромное окно с кучей настроек, из которых нужно только «Message Headers» (сообщения заголовков). Нажимаешь кнопку «ADD» и в поле «Display this header field as» (отображать данное поле заголовка как) вводишь строку «X-Failed-Recipients:» (со знаком двоеточия на конце), а в поле «RFC Name (as it used in the RFC 822 header)» пишешь «X Failed Recipients» (уже без знака двоеточия). Взводишь галочку напротив «Allow to edit this field in the Message Editor» и дважды жмешь на «OK».

Теперь в меню «View» появляется новый пункт «X-Failed-Recipients:», поставив галочку напротив которого, получаешь возможность редактировать его содержимое по своему усмотрению (там должен быть твой обратный адрес, вводящий спамера в заблуждение).

Сам текст послания подделать нетрудно — достаточно скопировать его из листинга, не забыв заменить адрес putaaaaaaaaa@fastmail.jp на адрес своего почтового ящика. Затем необходимо приложить заголовок оригинального спамерского письма (в котором содержится его ID, помогающий роботу определить, что именно отправлялось). Тело письма может отсутствовать, но лучше для перестраховки присоединить и его.

[правило 6: не сопротивляйся неизбежному.]

Как бы ты не извращался, попадание в спамерские базы неизбежно (особенно при интенсивной переписке). Это всего лишь вопрос времени, с течением которого поток нежелательной корреспонденции возрастает. Наконец наступает момент, когда объем спама в несколько раз превышает полезную переписку, буквально теряющуюся на его фоне. Вариантов здесь два: либо продолжать терпеть это безобразие (ожесточая систему фильтрации, пока она совсем не одичает и не будет пожирать со спамом все подряд), либо сменить ящик, предварительно уведомив об этом каждого из своих респондентов. Но стоит только пойти по пути смены адреса, как куча людей не сможет тебя найти, со всеми вытекающими отсюда последствиями. И если для домашней переписки это вполне терпимо (раз не нашли — значит, не особо хотели), то в корпоративно-деловой среде одно-единственное неполученное письмо может стоить не только упущенной выгоды, но и карьеры.

Отсюда следует неутешительный вывод: электронная почта это, конечно, хорошо, дешево и удобно, но лучше вместе с мейлом давать и номер телефона, который меняется гораздо реже. Да и проблемами «кривых» спаморезок он не страдает.

ЛИСТИНГ 1

Как ругается mail-daemon

Return-path: <>

Received: from mail by mx27.mail.ru with local

id 1GkN0B-000N85-00

for slut96@inbox.ru; Wed, 15 Nov 2006 18:48:39 +0300

X-Failed-Recipients: putaaaaaaaaa@fastmail.jp

From: Mail Delivery System <Mailer-Daemon@mx27.mail.ru>

To: slut96@inbox.ru

Subject: Mail delivery failed: returning message to sender

Message-Id: <E1GkN0B-000N85-00@mx27.mail.ru>

Date: Wed, 15 Nov 2006 18:48:39 +0300

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its

recipients. This is a permanent error. The following address(es) failed:

putaaaaaaaaa@fastmail.jp

SMTP error from remote mailer after RCPT TO:<putaaaaaaaaa@fastmail.jp>:

host in1.smtp.messagingengine.com [66.111.4.72]:

550 <putaaaaaaaaa@fastmail.jp>: Recipient address rejected:

User unknown in local recipient table

------ This is a copy of the message, including all the headers. ------

Return-path: <slut96@inbox.ru>

Received: from [83.239.33.46] (port=40466 helo=[83.239.33.46])

by mx27.mail.ru with asmtp

id 1GkMz1-000LkA-00

for putaaaaaaaaa@fastmail.jp; Wed, 15 Nov 2006 18:47:28 +0300

Date: Wed, 15 Nov 2006 18:50:30 +0300

From: mmx <slut96@inbox.ru>

X-Mailer: The Bat! (v3.62.12) Professional

Reply-To: mmx <slut96@inbox.ru>

X-Priority: 3 (Normal)

Message-ID: <374497972.20061115185030@inbox.ru>

To: putaaaaaaaaa@fastmail.jp

Subject: test

MIME-Version: 1.0

Content-Type: text/plain; charset=us-ascii

Content-Transfer-Encoding: 7bit

hello, putaaaaaaaaa!

http://antssoft.fileburst.com/htmlprotector.zip

HTML Protector

www.pullsoft.com/htmlpower.zip

HTML Power

www.mtopsoft.com/download/enchp.zip

Encrypt HTML Pro

ftp://ftp.rfc-editor.org/in-notes/rfc1891.txt

RFC-1891

Содержание