Навигация
Главная
Поиск
Форум
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
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 62781
Создание отчето... 62757
ТЕХНОЛОГИИ ДОСТ... 59298
Пример работы с... 57996
Имитационное мо... 54669
Реклама
Сейчас на сайте
Гостей: 14
На сайте нет зарегистрированных пользователей

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

Движение шарика в эллиптическои параболоиде на Delphi [OpenGL] + Блок схемы
Моделирование ЭВМ на GPSS (три класса заданий) + Пояснительная записка
База данных студентов на Delphi + Microsoft SQL Server

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Атака на отказ через ... 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 16:18:00 · 0 Комментариев · 5896 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Prolog Interprete...
SendSMS для PHP-F...
Srinilist
Geo-Whois
С. Г. Горнаков - ...
AID антивирус
FreeSMS v1.3.1
Электронный магаз...
Защита от спама ...
Длинный заголовок...
Pro-Download Sys...
PHP5. Профессиона...
FileFind
Win-Prolog 3.618
Drag&Drop
C# Учебный курс
TelBook
Пример OpenGL гра...
Аватары в комме...
Панель "Случайное...

Топ загрузок
Приложение Клие... 100420
Delphi 7 Enterp... 84874
Converter AMR<-... 20061
GPSS World Stud... 11932
Borland C++Buil... 11401
Borland Delphi ... 8361
Turbo Pascal fo... 7007
Visual Studio 2... 4983
Калькулятор [Ис... 4618
FreeSMS v1.3.1 3529
Случайные статьи
Группы процессов в...
Машины VAX-11 и пр...
доменом, где униве...
Архитектура станда...
Создание объектов,...
Продвижение сайта ...
Реализация сеансов...
Алгоритм должен со...
быть прочитана при...
Условные операторы
Применение простой...
Размеры динамическ...
ВСТРОЕННЫЕ ПРЕДИКА...
Пользовательские п...
Установка IBM WebS...
Процедура SetFillP...
Создание, выделени...
Бесконечная систем...
ESP защищает целос...
Web-оптимизация (S...
Именование объектов
Создание компонент...
Модификация контро...
Пример сеанса рабо...
Выход из секции-ло...
Статистика



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


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