PDA

Просмотр полной версии : SPAM: неслучайная случайность



kps
28.06.2005, 11:20
SPAM: неслучайная случайность
Ильдар Кутыев
[email protected]

Случайность – это необнаруженная закономерность.
Собственное наблюдение

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

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

Последний писк спамерской моды – рассылка писем, половина текста которых состоит из случайного набора слов и бессмысленных фраз. Прием этот позволяет обмануть "умные фильтры", наловчившиеся отсеивать по ключевым фразам рекламные письма в потоке корреспонденции, поступающей на сервер почтовой службы. Как признают специалисты по сетевой безопасности, такой метод обмана почтовых фильтров, хотя и не является чем-то принципиально новым или оригинальным, все же демонстрирует достаточно хорошие результаты. Хорошие, конечно, с точки зрения спамеров. Последние, осознав это, стали использовать рассылку "почтовой абракадабры" все чаще и чаще. По словам Энтони Бакстера (Anthony Baxter), одного из разработчиков антиспамерского программного обеспечения SpamBayes, каких-нибудь полгода назад средний пользователь Сети получал одно-два непонятных письма в неделю. Теперь же письма с бредовым текстом составляют не менее половины всего потока спама, так что многие из ранее созданных спамооборонных программ оказываются бессильны перед новым спамерским оружием. К слову сказать, средний пользователь может даже и не знать о том, что пришедшее к нему непрошеное письмо содержит в себе случайный текст, предназначенный для обмана почтового фильтра. Как люди умные и немного знакомые с психологией, распространители спама понимают, что пользователь, увидев абракадабру из слов, не станет вчитываться в письмо, отыскивая его глубинный смысл, а попросту удалит непонятное послание. Задача же "мусорной почты" не просто проникнуть в почтовый ящик, обманув "умную" программу, а донести до адресата "потрясающую информацию" и подвигнуть его на покупку. Для этого ушлые дельцы наполняют письмо… невидимым текстом. Сделать это проще простого: достаточно написать текст белыми буквами на белом же фоне – программа-фильтр на таком сюрпризе споткнется, а получатель письма даже не будет знать о существовании внутри письма "бомбы для фильтра".

Однако драматизировать ситуацию не стоит. По мнению уже упомянутого господина Бакстера, все вышеописанное – это всего лишь очередной раунд борьбы между злым спамерским гением и талантом честных программистов. Основная идея случайной последовательности слов – запутать и сбить с толку фильтрующую программу. Ведь многие из продвинутых программ-фильтров не имеют четкого набора ключевых слов и используют эвристические алгоритмы для того, чтобы определить, является ли поступившее на сервер письмо обычным почтовым отправлением или это подарок от желающего прорекламировать сомнительные услуги дельца. К примеру, разрабатываемое компанией Энтони Бакстера программное обеспечение использует для этого так называемый "Байесовский алгоритм", основанный на вероятностно-статистическом анализе текста каждого поступающего в почтовый ящик сообщения.

Любопытно, наверное, будет узнать, что метод назван "Байесовским" в честь английского священника Томаса Байеса, бывшего к тому же еще выдающимся математиком. Если говорить кратко, то преподобный Байес разработал формулу, которая позволяет достаточно точно рассчитывать вероятность некоторого предположения (гипотезы – по-научному), беря в учет как ранее известную информацию, так и данные новых наблюдений. К примеру, программы типа SpamBayes и SpamAssassin анализируют текст каждого послания и на основе прежних наблюдений и статистического разбора текущего текста делают предположение о характере поступившего письма.

Так вот, случайность или, точнее, неопределенность, преднамеренно вносимая спамерами в свои послания, сводит на нет все предыдущие наблюдения почтового фильтра, основанного на Байесовском алгоритме. В результате этого программа теряет возможность определять, "что такое хорошо и что такое плохо" при анализе письма. "Умный" Байесовский фильтр увязает в попытках отыскать смысл в нагромождении случайных слов и не может с требуемой достоверностью определить, относится ли послание к вредительским или пользователь, наоборот, жаждет его получить как можно скорее. Удивительно, но в такой ситуации сильнее оказываются более простые программы, которые попросту проверяют текст письма на наличие запрещенных слов и словосочетаний, которые чаще всего используются в спамерских посланиях, но редко присутствуют в письмах обычных пользователей (примеры известны каждому, кто успел приобщиться к спаму – viagra, Nigeria, free porn…).

Создатели умных программ, однако, не сдаются и используют различные приемы, позволяющие антиспамерским фильтрам "отделять зерна от плевел". К примеру, существует технология, позволяющая программным фильтрам быстро сравнивать набор слов в исследуемом тексте с набором слов в ранее полученных типичных рекламных письмах, о которых программа помнит по прежним своим исследованиям. "Случайный словесный шум", добавляемый в начало послания, сбивает с толку фильтр, который воспринимает письмо как абсолютно новый текст, не имеющий ничего общего с ранее полученным спамом. Фильтрующая программа ошибается – пользователь недоволен. Новый алгоритм, предложенный создателями "умных" программ, предполагает усовершенствовать традиционный подход. Известно, что каждый владелец почтового ящика имеет предпочтительные темы для переписки и, соответственно, формирует свой собственный набор предпочтительных слов, которые чаще всего встречаются в переписке с друзьями и знакомыми. Задача Байесовского фильтра состоит в том, чтобы определить набор любимых слов, которые присутствуют в большинстве почтовых посланий, получаемых владельцем почтового ящика. Поскольку набор этих слов уникален, то появление непривычных слов и выражений заставляет задуматься о том, что поступившее письмо – спам.

К слову сказать, бессмысленность набора слов, применимых для обмана почтового фильтра, сама по себе является признаком, по которому программа, использующая Байесовский алгоритм, может определить принадлежность письма к спаму. Дело в том, что программное обеспечение, которое применяют спамеры для подготовки "мусорной почты", использует стохастический (то есть случайный) алгоритм формирования маскирующего текста. За счет этого создается последовательность слов, обладающая признаками "белого шума", то есть случайного набора данных. Используя лингво-статистический анализ, программа-фильтр может выявить наличие случайности в анализируемом тексте и идентифицировать его как "белый шум", то есть полную бессмыслицу. Ну а бессмысленность послания – явный признак того, что "в сети попалось" спамерское письмо. Так что, как говорится, на каждый яд свое противоядие найдется. Вот только поиски его иногда требуют слишком больших усилий…

Статья опубликована в журнале "Компьютер Бизнес Маркет"

Источник: http://www.getinfo.ru/article636.html