Архивы: по дате | по разделам | по авторам

А счастье было так возможно

Архив
автор : Илья Щуров Voyager   12.04.2004

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

Как известно, сложные проблемы частенько имеют простые и очевидные неправильные решения. Благодаря простоте такие решения — при грамотном маркетинге — неплохо продаются и приносят своим создателям определенные дивиденды. По причине неправильности они не могут полностью удовлетворить потребностей клиента, что оставляет им широкое пространство для дальнейшего развития. Дабы клиент чувствовал, что платит деньги не зря.

На заре цивилизации

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

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

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

Марки, запросы и тест Тьюринга


В разных вариациях идея удорожания и/или усложнения отправки почтовых сообщений витает в воздухе уже давно. Еще на конференции Crypto’92 Синтия Дворк (Cynthia Dwork) и Мони Наор (Moni Naor) предлагали включать в письмо решения некоторой вычислительно сложной задачи как доказательства того, что отправитель затратил определенное количество машинного времени перед отправкой. Другой вариант — электронные почтовые марки, использующие системы цифровой наличности; эти марки должны сопровождать каждое письмо и могут быть возвращены отправителю, если получатель того пожелает. Обе идеи, упомянутые даже Биллом Гейтсом на недавнем Всемирном экономическом форуме в Давосе, были бы неплохи, если б не одна маленькая проблема: для их реализации потребуется обновить как минимум почтовые клиенты в масштабах всего Интернета. Если такая революция и начнется, то неизбежно наступит длительный переходный период, во время которого Сеть расколется на два лагеря — уже перешедших и еще нет, причем общение между ними будет весьма затруднено.

Впрочем, есть и третья идея, которая, казалось бы, не требует изменений в инфраструктуре, но делает массовую несанкционированную рассылку нереальной. Речь идет о Challenge-Response-системах (C/R), в которых любое письмо с незнакомого адреса задерживается, а отправителю высылается автоматический запрос (challenge) на совершение какого-то действия (response, подтверждение), после которого письмо будет доставлено адресату. Подтверждением может служить ответ пустым сообщением, или переход по ссылке, или что-то более интересное, типа стандартных тьюринговских тестов «введите число, изображенное на картинке», — для полного исключения возможности автоматической обработки запроса. В общем, простенько и со вкусом. И, как водится, со множеством подводных камней.

Немного истории. До 2002 года о C/R почти не говорили, хотя еще в 1997-м Брэд Темплтон (Brad Templeton), нынешний председатель правления Electronic Frontier Foundation, написал одну из первых систем такого рода, а в июле 2001-го поддержка C/R была включена в open-source-разработку TMDA (www.tmda.net). В конце 2002-го стали появляться первые англоязычные платные сервисы, основанные на этой технологии, — такие как Spamarrest.com, Mailblocks.com и Goodbyespam.com. В начале прошлого года, который многими был отмечен как «год борьбы со спамом», появляется и первая русскоязычная разработка такого рода — небезызвестная WinAntiSpam, а в сентябре ее автор Виктор Литвиненко делает доклад на конференции «Проблема спама и ее решения»1. Метод был воспринят участниками конференции довольно скептически, но уже в ноябре почтовая служба Mail.KM.RU запускает свой бесплатный сервис «Карантин», а в статьях, посвященных борьбе со спамом, все чаще упоминается C/R. Количество программ и служб, использующих этот принцип, сильно превышает возможность пересчитывания их по пальцам. Наконец, в начале текущего года Mail.KM.Ru рапортует о стопроцентной эффективности своей системы.

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

Критика и публицистика

На состоявшейся 18 февраля пресс-конференции, посвященной результатам трех месяцев работы антиспам-сервиса «Карантин», представители KM.Ru и e-Style ISP (разработчик «Карантина») смотрели на журналистов удивленными глазами и пытались понять — почему их система так критически освещается в прессе и странно воспринимается многими пользователями, почему, несмотря на блестящие результаты ее работы, люди продолжают придумывать «лингвистические фильтры», пользоваться «черными списками серверов» и другими «традиционными» методами борьбы со спамом, почему вообще до сих пор существует эта проблема, если она, судя по их впечатлениям, полностью решена в рамках отдельно взятой почтовой службы?

Признаться, ваш покорный слуга находился в подобном состоянии с момента введения в строй собственной C/R-системы — то есть около полутора лет. Когда о спаме узнаешь только из новостей и пресс-релизов, а в качестве системы защиты используешь программу в две сотни строк кода, разговоры о его непобедимости вызывают противоречивые чувства — от полного непонимания «загадочной души интернетчика» до гомерического хохота. Однако, оказывается, не все так просто.

Итак, за что критикуют C/R? Претензии можно условно разделить на две группы — чисто технические и скорее психологические. К техническим относятся: опасность возникновения «порочных кругов» (когда два робота начинают общаться друг с другом до бесконечности), невозможность подтверждения писем, отправляемых автоматически (форумами, различными сервисами при регистрации, службами рассылок и др.), опасность некорректной обработки сообщений из почтовых конференций (когда запрос отправляется всем подписчикам, а не только отправителю), а также возможное увеличение трафика из-за необходимости отправки запросов и получения ответов на них. Проблем психологического характера можно назвать гораздо больше: начиная с того, что многие критики отмечают некорректность самого подхода, так как он «перекладывает личную проблему получателя на отправителя» — из-за чего, по их мнению, многие пользователи будут просто игнорировать запросы, что чревато большими потерями легальной корреспонденции. Другая претензия — подделка спама под письма от известных служб рассылки, адреса которых должны быть в белых списках у многих пользователей. Также слышны голоса (и даже стоны) людей, возмущенных тем, что им приходится производить дополнительные действия не только при отправке письма незнакомому человеку, но и при ответе на сообщение, когда, по идее, получатель больше заинтересован в доставке, чем отправитель. И это еще не все: распространение сетевых червей вроде Sobig.F, которые используют реально существующие обратные адреса при своей рассылке, а также включение в спамерские письма реальных обратных адресов ничего не подозревающих пользователей, приводит к тому, что запросы отправляются совсем не туда, куда следовало бы, — в результате сами C/R-системы попадают в черные списки как спамеры, и их запросы начинают блокироваться!

Что и говорить, проблем много, выглядят они довольно внушительно и неразрешимо, а скептицизм в отношении к C/R становится легко объясним.

Может, все-таки в реанимацию?


Однако анализ публикаций в СМИ и дискуссий в форумах показывает, что большую часть критики C/R следует направлять не против самого подхода, а против конкретных его реализаций. Видимо, простота идеи привела к тому, что разработчики программ, ее использующих, не учли многих тонких мест и последствий работы подобных систем в ситуациях, сколь-нибудь отличающихся от стандартных. В результате вокруг C/R сформировался неправильный и достаточно негативный стереотип — в первую очередь, в среде технически грамотных людей в англоязычном Интернет-сообществе.

Что же касается заявления о недопустимости перекладывания проблемы «с больной головы на здоровую» (с получателя на отправителя), то справедливость этого суждения не вполне очевидна. Здесь правильнее было бы говорить не о «перекладывании проблем», а о конфликте интересов отправителя и получателя сообщения: первому хочется максимально упростить процедуру отправки, второму — не получать почту, которая его не интересует. Конфликты такого рода встречаются в обществе на каждом шагу и решаются обычно по договоренности между людьми, оформленной в виде традиций, обычаев или законов.

Строгих правил этикета, связанных с инициированием контакта, в Интернете пока нет. А зря! Считается нормальным, что раз уж вы имели неосторожность опубликовать свой адрес, то по нему может писать кто угодно и по любому вопросу. Эта ситуация тоже имеет свои корни в философии Сети, однако именно отсутствие подобных правил привело к появлению проблемы спама. И может статься, что для ее решения сетевому сообществу придется пересмотреть свои привычки. C/R-системы оставляют принципиальную возможность для связи любого человека с любым и противоречат духу свободного общения гораздо меньше, чем контент-фильтры. В то же время они устанавливают некоторые требования к отправителю, и требования эти порой воспринимаются не вполне корректно, что и препятствует широкому внедрению подобных технологий. Но, повторюсь, это лишь вопрос традиций и общепринятых норм. Спам в данный момент является серьезной угрозой для нормального функционирования Интернета, и для ее предотвращения Интернету придется измениться — так или иначе.

Впрочем, об этической стороне дела имеет смысл говорить только в том случае, если будут решены все остальные проблемы. Возможно ли это?


1 См. «Заметки на полях сражений», «КТ» ##513 и 514.

Правила и исключения

По моему глубокому убеждению, все технические проблемы C/R, известные на данный момент, разрешимы.2 Хотя для этого и потребуются некоторые мозговые усилия. Я процитирую лишь некоторые заголовки-призывы из статьи «Proper principles for Challenge/Response anti-spam systems» уже упоминавшегося Брэда Темплтона (www.templetons.com/brad/spam/challengeresponse.html), — вряд ли подробности что-то скажут людям, далеким от программирования почтовых сервисов, но даже простого перечисления достаточно, чтобы понять, сколько тонкостей нужно учитывать при разработке и использовании подобных систем.

- Никогда не фильтруйте сообщения, являющиеся ответами на ваши письма.
- Используйте несколько адресов. В идеале для каждой новой подписки следует создавать новый адрес — если он вдруг попадет в спамерские базы, сменить его будет нетрудно.
- Избегайте отправки запросов в ответ на письма из дискуссионных списков (почтовых конференций).
- Никогда не отправляйте запросы в ответ на запрос другой C/R-системы или сообщение сервера об ошибке доставки.
- Корректно обрабатывайте отправку множества сообщений (если с одного адреса за короткий промежуток времени пришло несколько писем, в ответ нужно отправить только один запрос).
- Отслеживайте возникновение порочных кругов.
- При отправке запроса используйте в качестве обратного адреса тот, на который пришло исходное письмо. (Важно в случае использования многих защищенных адресов.)
- Регулярно просматривайте заголовки заблокированной почты.
- Старайтесь делать так, чтобы реагировать на запрос было как можно проще (в том числе для людей с ослабленным зрением и другими ограничениями).
- Избегайте отправки запросов в ответ на письма с вирусами.
- Комбинируйте C/R с другими антиспам-системами.
- Не заставляйте отправителя посылать письма повторно.

Большинство этих (и других, не перечисленных здесь) требований продиктованы элементарной логикой и пониманием принципов работы электронной почты, однако нечасто удается встретить C/R-программу, удовлетворяющую хотя бы самым главным из них. В то же время это не значит, что написать правильную систему такого рода невозможно: никаких принципиальных технических препятствий здесь нет. Гораздо труднее убедить пользователя правильно с нею обращаться.

Светлое будущее нам не светит?

Приведу один пример: с самого начала использования C/R стало ясно, что ответы на письма нужно пропускать без дополнительных запросов. Простейшее решение — в качестве обратного использовать специальный адрес (приватный), на котором отключить всю фильтрацию. Мне казалось это очевидным, но, участвуя в обсуждениях C/R, я заметил, что даже мысль об использовании двух разных адресов порой вгоняет пользователей в ступор. Что уж говорить обо всех остальных тонкостях?

И вот что мы имеем в итоге: действия не вполне технически грамотных пользователей и программистов дискредитируют идею, из-за чего в ближайшем будущем использование даже идеально настроенных C/R-разработок может восприниматься как «превышение допустимой самообороны» и нарушение сетевого этикета. И это весьма печально — поскольку сейчас C/R действительно позволяет полностью избавиться от спама, не теряя нужной почты и не нарушая принципов свободы обмена информацией.

Я вижу лишь один правдоподобный сценарий: на рынок антиспам-решений должен прийти сильный и грамотный разработчик, способный не только создать C/R-систему, лишенную распространенных недостатков, но и раскрутить ее до уровня стандарта де-факто3. Если таким или каким-то другим путем появится стандарт на C/R, это позволит значительно снизить количество плохих разработок и приучит пользователя к корректному восприятию и работе с такими средствами защиты от спама.

Впрочем, стоит ли вообще держаться за идею C/R, раз уж с ней столько трудностей? Может ли эта технология, при правильном использовании, окончательно решить Великую Проблему?

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

Конечно, за отсутствие других, более действенных способов атаки на C/R, никто поручиться не может. Но не стоит забывать, что стойкость современных криптографических алгоритмов — тоже недоказанный факт, однако это не мешает их использовать во многих критичных областях: просто альтернативы нет. И может статься, что с Challenge-Response мы окажемся в этой же ситуации отсутствия альтернатив.


2 За исключением разве что проблемы с подстановкой реального адреса в качестве обратного при рассылке спама. Впрочем, этот недостаток относится не только к C/R, но и к любым другим фильтрам — они обязаны высылать уведомления о том, что письмо было принято за спам, что не слишком отличается от запросов.
3 Возможно, именно на это намекал Гейтс, выступая в Давосе?

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.