Концепция "динамический email" представлена в одноимённой статье. Решил поделиться своим опытом использования этого метода защиты от спама.
Как появилась идея "динамический email"
Я не использую спам-фильтры. Мне было достаточно найти пару важных сообщений в корзине, чтобы отказаться от этой технологии. Лично моя логика проста: к фильтрам доверия нет, рыться в корзине — унизительно, важной переписки много, и лучше просматривать одну папку вместо двух.
Были размышления, наблюдения, эксперименты. Построились они на том, что был приобретён домен, созданы почтовый ящик и несколько десятков почтовых адресов-форвардеров, привязанных к нему. Для каждой новой регистрации в сети всегда использовался свой персональный форвардер, а адрес почтового ящика держался в тайне от всех. Чтобы не запутаться, каждый форвардер получал имя ресурса, где нужно было зарегистрироваться, например, чей-то_сайт@мойсайт.ru. Знание, по чьей вине пошел спам – отличный бонус от такого подхода. Для полноты эксперимента пара адресов- форвардеров периодически "засвечивалась" в Интернет.
Трудно передать, сколько спама мне довелось получать на этом этапе!
Резюмирую результаты:
- не называя имен скажу, что некоторые даже самые уважаемые ресурсы и сервисы "делятся" данными своих клиентов, возможно это результаты взломов или инсайдерской деятельности, не знаю, один и таких ресурсов, например, 3 раза за 5 лет передал мои данные спамерам;
- публикация email на сайтах — самый надежный способ привлечь спам;
- регистрация на сайтах — отличный способ привлечь спам;
- подписавшись на рассылку можно не получить шанса от нее отписаться, возможен показ рекламы, подгрузка вирусов, но только не отказ от рассылки;
- поток спама нарастает постепенно, большого потока (20-50 сообщений в день) следует ожидать через 10-30 суток после первого спам-сообщения;
- спам никогда не прекратится, если адрес "надежно" скомпрометирован, например, представлен в сети в открытом доступе (множество компаний используют такой способ обратной связи на своих сайтах);
- если удалить форвардер, попытки отправить спам на этот адрес прекращаются через 2-7 суток, спам вернется только после очередной компрометации адреса.
Схема работы с регистрациями в Интернет получилась простейшей: пошёл спам — удалил форвардер, понадобилось восстановить пароль на сайте — восстановил форвардер. Главной задачей оставалось сохранение в тайне адреса почтового ящика. На первый взгляд, это — невыполнимая задача, ведь нужно вести переписку с другими контрагентами. Для начала принял решение создать 4 дополнительных почтовых ящика с похожими именами. Контрагентов разделил на 4 группы и каждую из них привязал к своему ящику. Также были заказаны новые визитные карточки с адресом для элитной группы напечатанного так, чтобы у меня была возможность дописать авторучкой адрес другой группы. Для элитной группы на визитке не нужно ничего дописывать, просто, отдал её, и всё. Пример имен групп от элитной до временной: yuri, yuri1, yuri2, yuri3.
Новая система контактов работала отлично до тех пор пока мне не надоело удалять ящики и создавать их заново спустя какое-то время. Почтовые адреса компрометировались время от времени, полагаю, вирусы на компах контрагентов были тому причиной.
Другие проблемы также оставались:
- с удалением почтового ящика, терялся контакт с группой контрагентов на время его удаления (2-7 суток);
- хотелось бы работать с одним почтовым ящиком вместо пяти;
- хотелось бы избавиться от разделения контрагентов на группы.
Стандартными методами проблемы не решались, пришлось из подручных средств сваять нечто, что и назвал "динамическим email".
Как работает система
На специальном почтовом ресурсе создаю почтовый ящик, например, myname@site.ru. Это — мой основной электронный адрес. По мере использования ящика почтовый сервер формирует мой персональный белый список в следующем виде: [адрес контрагента — мой адрес], по принципу: "получил сообщение — запомнил, отправил сообщение — запомнил".
Через какое-то время белый список принимает вид:
[name1@site1.ru — myname]
[info1@bank1.ru — myname]
[name2@site2.ru — myname]
[name3@site3.ru — myname]
Когда на основной адрес начинается первая атака, на почтовом ресурсе создаю динамический адрес, например, 1.myname@site.ru. По сути, создаётся обычный форвардер непосредственно из моего почтового клиента. Все сообщения, полученные на этот адрес, направляю в основной ящик myname@site.ru, т.е. теперь у меня есть два адреса, прикреплённых к одному ящику. Далее основной адрес закрываю на приём. С этого момента все сообщения, отправленные на него, от отправителей не из белого списка будут отвергаться почтовым сервером, и такие отправители будут получать сообщения о попытке отправки на несуществующий адрес.
Результат — атака на основной адрес остановлена, мои старые друзья остаются на связи, а для новых друзей создан дополнительный email.
По мере ведения переписки почтовый сервер манипулирует моими, как отправителя, адресами:
- пишу тому, кого нет в белом списке — ставится основной адрес и в список добавляется новая строка, например, [name4@site4.ru — myname];
- пишу тому, кто есть в белом списке — используется адрес из списка;
- отвечаю на сообщение — используется адрес из сообщения.
При получении сообщения на динамический адрес, почтовым сервером в белый список также добавляется новая строка, например, [name5@site5.ru — 1.myname]. С этого момента эта пара адресов будет использоваться для переписки с name5. Кстати, не только она, например, name5 просит напомнить мой email по телефону или SMS. Смело сообщаю свой основной адрес, если он открыт на приём, если закрыт — текущий динамический адрес. Полученное от name5 сообщение приведёт к появлению в белом списке новой строки [name5@site5.ru — 2.myname], и name5 сможет отправлять мне сообщения на любой из 2-х адресов.
Когда начинается атака на мой текущий динамический адрес, я его изменяю, например, с 2.myname@site.ru на abc.myname@site.ru, и останавливаю атаку! С этого момента все сообщения, отправленные на старый адрес 2.myname@site.ru, от отправителей не из белого списка будут отвергаться моим почтовым сервером, и такие отправители будут получать сообщение о попытке отправки на несуществующий адрес.
Получается, спамер может отправить мне сообщение только тогда, когда он знает:
- текущий динамический адрес, который легко изменить,
- основной адрес, который легко закрыть на приём,
- сочетание отправитель-получатель из белого списка.
Допустим, вирус сумел выкрасть такое сочетание с компьютера кого-то из моих контрагентов. В случае такой атаки мне достаточно нажать на кнопку "это спам" в почтовом клиенте, и соответствующая запись исчезнет из белого списка, и атака будет остановлена. Аналогичным образом, я могу отписаться, точнее закрыться, от любой рассылки надежно и безопасно. Мне прекрасно видно, кто виновник спама, им может оказаться мой проверенный друг; т.к. никто не застрахован от вирусов. Его запись я также удаляю из белого списка и сообщаю ему об этом. После лечения его компьютера мы будем работать, используя новую запись в белом списке.
Динамический email не следует путать с временной электронной почтой. Таких сервисов в сети много и называются они по-разному, например, email на 10 минут, анонимная почта и пр. Название пошло от терминов temporary email и disposable email. Они используются чаще всего для регистрации в сети, чтобы сохранить адрес электронной почты в тайне от спамеров.
Пример: пользователь заинтересовался сайтом, который обещает что-то, но требует регистрации. Легко понять опасения пользователя обмануться в своих ожиданиях, и он использует для регистрации сервис временной электронной почты. Не все ресурсы допускают подобные регистрации, но предположим, что всё прошло удачно, и пользователь получил возможность зайти на желанный сайт.
Далее — два варианта развития событий:
- сайт не понравился, низкий поклон временному email,
- сайт понравился, но для полноценной работы с ним, скорее всего, понадобится регистрация через полноценный email.
На голый крючок рыбу не ловят, поэтому понравившийся сайт может скомпрометировать email пользователя рано или поздно.
Регистрация с использованием динамического адреса даёт мне уникальные преимущества:
- сообщение "добро пожаловать" лежит папке "входящие",
- восстановление пароля — обычная процедура,
- отписка от рассылки — быстрая и безопасная (не кликаю по ссылкам),
- знаю виновника спама (проверяю сочетание отправитель-получатель),
- в один клик избавляюсь от спама.
Созданная система отлично себя зарекомендовала.
Теперь у меня есть один почтовый ящик, на котором я авторизуюсь, используя свой основной адрес. В зависимости от ситуации я могу открывать и закрывать его на приём; началась атака — закрываю, через 2-3 дня открываю, наблюдаю, принимаю решение. Стадия и длительность этого процесса никак не влияют на переписку с моими контрагентами из белого списка. Динамический адрес позволил мне избавиться от групп и дал возможность безопасно регистрироваться на любых, даже самых сомнительных сайтах. Визитные карточки переделывать не пришлось, да и свободное место для дописывания динамического адреса может ещё пригодиться.
Перед отпусками и каникулами я закрываю основной адрес на приём и меняю динамический адрес, а когда возвращаюсь, нахожу во "входящих" только нужные сообщения. Во время моего отдыха спамеры, сами того не подозревая, работают на меня, исключая ранее "засвеченные" мои адреса из своих баз данных. Этот секрет позволяет мне не загружать свою голову лишней информацией и менять "по кругу" всего пару динамических адресов. Пока один адрес работает, другой удаляется из спам-баз как неактуальный.
Персонифицированный фишинг?
Созданная система прекрасно защищает меня даже от такой очень-очень большой неприятности, как персонифицированный фишинг.
Представим рассылку по индивидуальной подложной подписке. Оригинального контента в сети хватает, забираем фрагмент текста с любого сайта, обращаясь по имени, рассылаем эту абракадабру некоторому количеству пользователей на разные почтовые домены.
Для жертвы атаки это может выглядеть примерно так:
Если подобная атака пройдёт в будний день в рабочие часы, когда времени ни на что не хватает, эффект может быть очень сильным. Логично предположить, что после "отписки" атака прекращается; пользователь получает спокойствие, киберпреступник — что-то своё. Спокойствие и бездействие пользователя помогут усилить атаку, может получиться так, что фиктивные инвойсы и письма от сомнительных подружек покажутся детской шалостью.
Идём дальше. Мне оставалось ответить на очень важный вопрос:
Как передавать свой email потенциальному партнёру?
Развитие системы продолжилось, и получился классический вариант с небольшими нюансами:
- телефон, SMS, лист бумаги, надпись на асфальте и т.д. — нужно вспомнить, открыт ли основной email, если закрыт — вспомнить текущий динамический адрес;
- визитка, рекламный буклет — здесь печатаю свой основной email, но на всякий случай оставляю место для динамического префикса;
- средства массовой информации (СМИ) — публикую текущий динамический адрес, новая публикация — новый адрес, что особенно важно, если есть нечестные конкуренты;
- регистрация на сайтах – только текущий динамический адрес;
- временная публикация в Интернет — текущий динамический адрес отдаю в открытый доступ (форум, например), через 1-2 недели его придётся изменить, заспамят однозначно;
- постоянная и временная публикация в Интернет и в СМИ — самый приятный для меня способ, на этом остановлюсь подробнее.
Систему дополнил формой обратной связи:
Форма привязана к моему текущему динамическому адресу. Теперь адрес формы я могу использовать как для организации обратной связи на сайте, так и в качестве контактов на форумах и даже на визитках. Маленькая тонкость: пользователь, использующий форму обратной связи для контактов со мной, попадает в белый список только после моего ответа на входящее сообщение.
Примечание: в статье пару раз повторяется фраза: "а отправитель будет получать сообщение о попытке отправки на несуществующий адрес".
Фразу лучше воспринимать так:
- автоответ почтового сервера действительно сопровождается стандартным номером ошибки № 550 почтового протокола, что означает "нет такого получателя", но эта информация предназначена для спам-ботов;
- реальный отправитель в автоответе сервера вместо фразы "нет такого получателя" видит ссылку на мою форму обратной связи и причину отказа в приёме сообщения.
На самом деле, эта функция пока не реализована (как и черный список, кстати), "руки не дошли", да и тема хитрая, легко самому оказаться в списке спамеров. Главное — выполнил поставленную самому себе задачу; избавился и от спама и от фильтров.
Заключение
Иногда задаю себе вопрос: может попробовать вернуться к разделению контрагентов на группы? Пусть будет, например, не один текущий динамический адрес, а два: регистрации и переписка. В этом определённо что-то есть, например, можно отказаться от доработки автоответов сервера; ведь главная угроза идёт от регистраций и публикаций email. Пока себя останавливаю; всё и так отлично работает.
Благодарю за внимание.