Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

Пользователей: 13,361
новичок: uehuat
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Программа тестирования (тест) - вступительные экзамены (математика, физи...
Моделирование вычислительного центра на GPSS + Отчет + Блок схема
Принадлежит ли точка пересечению двух окружностей на Turbo Pascal + Отче...

Атака на отказ через ... e-mail
Кратко смысл данной статьи можно выразить так: существующие службы (анонимных) почтовых пересылок ( часто называемых римейлингом или форвардингом) за счёт совместных недоработок открывают путь для тупейшей атаки на отказ произвольного почтового ящика/сервера с небольшими ресурсами и ... самих себя! Хуже всего то, что методика, описанная ниже, по силам и "чайнику"( правда, последнего потом, ещё можно найти). Кстати и сам автор специализируется совсем в другой области.
Атака описана на примере использования почтовых служб mail.ru, hotmail.ru и анонимного римейлера remailer@replay.com. Все имена (кроме анонима и хостов почтовых серверов) разумеется изменены. Атакуемый объект принадлежал лично автору.
Кто хорошо знаком с системами римейлинга/форвардинга может пропустить первые два раздела.
1. Первые нехорошие мысли (легальные)
На эту идею автор натолкнулся, используя бесплатные мейл-сервера для обеспечения рассылок почты по нескольким филиалам.
Проще говоря, я использовал систему пересылки почты сервера mail.ru, указывая в поле пересылки созданного почтового ящика e-mail'ы семи или восьми филиалов. Таким образом при рассылке 200 килобайтного письма экономился примерно 1 Mb трафика. Со временем число филиалов выросло, возникла необходимость объединить их в группы. Система рассылки стала иерархической, примерно такой:
group1@ ... :( пять адресов)
group2@ ... : ( три адреса)
group3@ ... : ( семь адресов)
all_group@ ... : (три_адреса: group1, group2, group3)

Возможность пересылки на несколько адресов сразу предлагают очень немного почтовых серверов, в частности mail.ru. Надо отметить также, что этот сервер сразу отказывался принимать список для пересылки, когда по ошибке в нём два раза повторялся один и тот же адрес. Более того, если адреса в группах пересекались, то всё равно отсылался лишь один экземпляр письма! Молодцы.
Естественно, начал мучить вопрос, а что будет, если подставить рекурсивную ссылку, например в адреса для какой-нибудь группы поставить адрес её самой или "all_group".
2. Вторые нехорошие мысли (наивные)
Почитав литературу, быстро убедился, что ничего не произойдёт, нормальные сервера пересылки вставляют в заголовок характерную строчку, позволяющую им избежать зацикливания, по схеме: А пересылает на Б, Б на А. При повторном получении того-же письма оно будет уничтожено, обычно без отсылки извещения.
Иначе открылась бы перспектива "случайно" загрузить сервера огромным количеством бессмысленной работы. Пусть, например, А пересылает на (B,C) B - на (A,C) C - (А, Б). Нетрудно увидеть, что эта схема приводит к экспоненциальному росту количества сообщений в системе. К счастью, думалось мне, подобное развитие событий исключено.
Прошёл примерно год ... Все чаще на наши адреса стал приходить спам, чьи авторы успешно пользовались анонимными почтовыми службами (типа remailer@replay.com, remailer@anon.egfa.org ) Сети для удаления первоначального адреса письма. Процедура совсем несложная: в заголовке (или начале письма ) пишете строку вида "Anon-To:адреса_получателей", и отсылаете письмо на remailer@replay.com . В указанные почтовые ящики придут письма с обрезанным заголовком.
3. Самые нехорошие мысли (об уголовно-наказуемом)
Постойте-ка, ведь использование анонимных римейлеров( дальше просто - анонимов), позволяет некоторое количество раз обойти ограничение на рекурсивную пересылку. Рассмотрим нашу последнюю схему:
А пересылает на (B,C);
B - на (A,C); C - (А, Б).

В заголовок (начало) письма добавим N строк "Anon-To: A, B, C". A,B,C пусть пересылают на аноним (R).
Теперь, если послать письмо на A, B или С, то пока R исчерпает все строки Anon-To, и в сети будет гулять 3**N (три в степени N) писем. Для N=100, это порядка 10**48 писем, что где-то на 20 порядков больше, чем число проходящих за день во всём Интернете. Вряд ли, какой сервер выдержит это. А ведь N может быть скажем равным 20, а адрес C - Вашим ( или Вашего врага, или postmaster@kavkaz.org ;-) ). С - получит около 2**21 ( двух миллионов) писем. Если в каждом будет 100 килобайт текста то "выход" составит 200 Gb. Что станет с его сервером и каналом?
4. Эксперимент
Впрочем, в этой схеме средний аноним накроется где-то на N>10 (они и так-то перегружены), но ведь никто не мешает написать более оптимальную схему, в которой основная нагрузка падает на форвардер.
Впрочем, в этой схеме средний аноним накроется где-то на N>10 (они и так-то перегружены), но ведь никто не мешает написать более оптимальную схему, в которой основная нагрузка падает на форвардер.
Пример:

attack@post - атакуемый объект
Mail.ru, hotmail.ru - форвардеры. Второй форвардер необходим т.к. mail.ru не позволит продублировать адрес даже цепочкой внутренних пересылок, а hotmail.ru пересылает только на один адрес.
Аноним - remailer@replay.com
a_readr@mail.ru пересылает на remailer@replay.com, attack@post и tmp_atck@hotmail.ru [, tmp2_atck@hotmail.ru, tmp3_atck@hotmail.ru ...]
tmp_atck@hotmail.ru на attack@post
[tmp2_atck@hotmail.ru на attack@post
tmp3_atck@hotmail.ru на attack@post
...]

В начале письма N фрагментов ( самому себе аноним тоже отсылает):

::
Anon-To: remailer@replay.com, a_readr@mail.ru
<пустая строка>
Отсылаем письмо на a_readr@mail.ru. Всё!
При N=2 и без дополнительных адресов tmp2_atck , tmp3_atck, ... attack@post - получил 14 писем. С k дополнительными их было бы (2**N-1)*(2+k). Ещё более опасной формой атаки является случай, когда один из форвардеров указывает на несуществующий адрес реального почтового сервера, перегружая последний в целом. Впрочем, это бесконечная тема.
5. Мысли о будущем или как защититься
Сразу оговорюсь, что в этой области не силён. Может кто-то и знает/придумает эффективный способ защиты. Пожалуйста поделитесь.
От большинства атак на отказ можно защититься грамотной конфигурацией сервера. Описанная же методика, в лучшем случае просто забьёт Ваш почтовый ящик или сервер. К сожалению, от нас здесь мало что зависит. Почти ничего. А вот авторы анонимов могут помочь. Обычным пользователям можно пользоваться почтой с ограниченным размером почтового ящика ( если у Вас ещё сохранились такие "старомодные" провайдеры). Скорее всего упадёт лишь Pop-сервер. Если местные провайдеры уже забыли о такой "услуге", попробуйте Web - почту типа @netscape.net, с ограниченным почтовым ящиком. Мне кажется, здесь аноним или форвард выйдет из строя гораздо раньше.
Можно, конечно поставить фильтр на известные анонимы или форвардеры, но ведь ими пользуются нормальные пользователи.
Анонимам же достаточно начать обрабатывать сразу все заголовки "Anon-To". Рост превратиться в линейный. Это тоже плохо, но уже совсем не смертельно. Ещё лучше обрабатывать только последнюю строчку переадресовки.
Разумеется, владельцам подобных анонимов были посланы соответствующие письма, но наверняка они затерялись в жалобах на спаммеров, да и римейлеров в Cети куда больше, чем может найти автор...
На 23 сентября 1999 г. пример ещё работал.
P.S. Пример специально построен на достаточно медленных или перегруженных серверах, чтобы их нельзя было эффективно использовать для атаки.
Опубликовал Kest October 26 2008 13:18:00 · 0 Комментариев · 7185 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Профессиональное ...
Rss Parser
CoolControls v3.0...
PDF
Программирование ...
ЯЗЫК ПРОГРАММИРОВ...
EMS QuickExport S...
DiskInfo
Swing. Эффектные...
Сложный калькулятор
Просмотр файлов и...
Midi
Основы Delphi. Пр...
Игра в крестики н...
Abc_component
Delphi и технолог...
Dealer
Электронный магаз...
MPTools
Расширенный загру...

Топ загрузок
Приложение Клие... 100772
Delphi 7 Enterp... 97809
Converter AMR<-... 20260
GPSS World Stud... 17014
Borland C++Buil... 14189
Borland Delphi ... 10267
Turbo Pascal fo... 7372
Калькулятор [Ис... 5972
Visual Studio 2... 5206
Microsoft SQL S... 3661
Случайные статьи
Задачи
Операции управлени...
Broadcast-шторм
Процедура GetAspec...
Реализация стека в...
Ключи
Бесплатные игровые...
Зеркало казино Ву...
Зарегистрировать и...
Серверный компонен...
Slotoking casino
Лист рабочей книги...
Пример: простое ши...
dll) поддерживает ...
Телевидение и Web
используют RRAS
Режим нагрева водо...
2.4. ДОПУСТИМЫЕ СП...
6.1. Ввод новых ...
Рекламная инфографика
Министерство нацио...
Строковый класс об...
Возникновение "што...
Файловая система t...
Бесплатные 777 игр...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?