Crossite DoS

    Преамбула


    В наше время всемирная сеть растет не по дням, а по часам. И вместе с ней растет количесво веб-приложений, интегрирующих друг друга на основе протокола HTTP. Но так ли уж безопасна такая интеграция?

    В свете последних событий и в процессе поиска информации по DoS- и DDoS-атакам наткнулся на интересную возможность, а именно — межсайтовые атаки. Суть такой атаки проста — в сети есть бесчисленное количество сервисов, позволяющих обращаться к сторонним web-узлам. Это online-переводчики, image-хостинги и прочая и прочая. И если это проверенный сервис, которому доверяют многие, имеющий обширную инфраструктуру и изначально создававшийся для большого потока траффика — этим могут воспользоваться не только добропорядочные серферы, но и «нехорошие дяди» для получения своей выгоды.

    Эсперимент


    Эксперимент такой атаки может быть поставлен практически над любым сервисом, у которого можно получить прямой адрес обращения к атакуемому сайту.

    В моем случае сервисом-донором стал translate.ru.

    Сервисом проверки стал kotyachka.ru, который сейчас находится под множественными «пользовательскими» атаками и флуд-штормом. Собственно, и был он взят только потому, что у этого сайта в данный момент времени попасть под автомат бана IP-адреса очень легко и информацию о IP, попавших в бан можно просмотреть прямо на главной странице.

    Задача эксперимента была следующей — сделать так, чтобы провоцируемый сайт kotyachka.ru принял IP сервиса translate.ru как IP атакующего компьютера.

    Немного поискав в HTML страницы-результата перевода на translate.ru была найдена вот эта строка:

    http ://www.translate.ru//url/translation.aspx?direction=er&template=General&autotranslate=on&transliterate=&showvariants=&sourceURL=http://some-url.com

    Как видно, вместо последнего параметра можно указать любой сайт, доступный в сети.

    Что и было сделано:

    user ~ # ab -c 100 -n 1000 "http://www.translate.ru//url/translation.aspx?direction=er&template=General&autotranslate=on&transliterate=&showvariants=&sourceURL=http://kotyachka.ru"

    Я не стал дожидаться окончания «теста» и остановил его примерно на середине.
    Осталось проверить содержимое главной страницы kotyachka.ru:

    image
    И сравнить его с IP translate.ru:

    user ~ # nslookup translate.ru
    Non-authoritative answer:
    Name: translate.ru
    Address: 195.131.10.152

    Bingo!!!

    Выводы


    Не трудно догадаться, что чем больше сеть и чем больше межсайтовых сервисов мы увидим в будущем — тем больше опасность того, что эти же сервисы могут быть использованы для совершенно не свойственных для них целей и в один прекрасный момент «друг» может стать врагом.

    И если для тех же image-хостингов все зависит от угла кривизны рук тех, кто их делает (как то — проверка URL-а до его отправки стороннему серверу, а не проверка полученного файла после по результатам работы грабера), то для online-переводчиков и других сервисов, работающих непосредственно с контентом сайта все намного печальнее.

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

    Будьте бдительны!
    Поделиться публикацией

    Похожие публикации

    Комментарии 22

      –3
      Знаешь в чем разница между DoS ид DDoS?
      В случае DoS — идет тупой флуд с конкретного IP, который банится на раз-два
      В случае DDoS — идет атака с обычного зараженного компьютера, и тысячи их. Десятки тысяч. И каждый долбит по чуть-чуть.
        0
        не все сразу.
        DOS когдато тоже начинался с тривиального флуд пинга.

        а тут какой никакой, но новый вид атаки.
          –2
          Тривиально на файре ставим лимит 1 коннект с 1 IP и флуд идет лесом вместе с новым видом атаки
            +3
            Вы думаете, все так просто решить?
            Набрав несколько тысяч таких сервисов, собрав базу URL-ов обращения и написав небольшую софтинку обращения я получу рукотворный ботнет, который будет долбить чей-то сайт с частотой несколько тысяч запросов в секунду.

            Да, очень много статистики и простого отбора урлов, но вы думаете, оно того не стоит?
          0
          Прекрасно знаю, ибо изучаю этот вопрос уже не первую неделю. Спасибо за информацию.
            +2
            Гм, господа, DoS, вообще говоря, к флуду никакого отношения не имеет.
            DoS — это атака на известную взломщику уязвимость, которая приводит к отказу службы или ресурса. Не больше, не меньше.
            0
            При таком виде атаки для сервисов аналогичных translate.ru достаточно ввести ограничение на кол-во запросов с одного IP в единицу времени. После этого появится Crossite DDoS, противостоять которому уже гораздо сложней, но для реализации уже нужен тот же ботнет.
              –1
              такие сервисы и так зачастую еле работают чтобы ещё их добивать при попытке посредничества, 4DoS (Distributed Destination Distributed DoS) намного веселее же ;)
              • НЛО прилетело и опубликовало эту надпись здесь
                • НЛО прилетело и опубликовало эту надпись здесь
                    –2
                    Ты топиком не ошибся?
                    • НЛО прилетело и опубликовало эту надпись здесь
                        +1
                        Жаль, что вместо обсужения заметки получается такое.
                        З.Ы. Все-таки я бы посоветовал обновить браузер ^_^
                    0
                    В nginx для этого есть ngx_http_limit_req_module, достаточно его включить и атака подобная той что описана выше не сработает.
                      0
                      Прокси тоже не зря придумывали.
                      0
                      Насколько я помню, translate.google.com кэширует результаты, так что с ним этот трюк не пройдёт.
                        +1
                        Вот, я тоже хотел дописать — кэшировать надо. Хотя бы на секунды-десятки секунд. Хотя с другой стороны — если страниц на сайте-жертве много — все не закэшируешь.
                          0
                          Ничего не мешает изменять какие-либо параметры при вызове.

                          http ://www.translate.ru//url/translation.aspx?direction=er&template=General&autotranslate=on&transliterate=&showvariants=&sourceURL=http://some-url.com/?rand1231241241
                            0
                            Единственное, что я могу добавить — очень жаль, что в общем-то все халатно относятся к такому вопросу и лелеят надежды обойтись простыми средствами.

                            Это в один прекрасный момент может обернуться упавшим сайтом и прочими прелестями.
                        0
                        Вы немного ошиблись в терминологии — правильнее назвать это Reflection DDoS (RDDoS), а попячить этот сайт можно было гораздо проще, — просто слать пакеты на запрос соединения от имени котячки на сайт translate.ru
                          0
                          Но тема стоит внимания. В самое ближайшее время займусь исследованиями.
                          0
                          статейка зачет 5 балов.Не знаю как но года 2 назад видел как одна сео контора натравила на другую Гуугл — реально пришли боты на 60 000 запросов! в секунду это по данным днс балансировки — благо он был тогда. вот таки дела товарищи. о том чтоб гугул так натравливали уж давно не слышал, но мало ли сервисов еще?

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое