vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2007-06-04 11:00 pm

Google уже проиграл?

Недавние DDoS атаки на ЖЖ показали насколько беззащитны от подобного вандализма сетевые сервисы. У Google кластер, может и помощнее будет, чем у ЖЖ, но не на порядки. Принципиально это сервисы одного класса, максимального в мире.

Теперь представьте, что ваша компания строит свои бизнес процессы на основе Google Office, а в это время какая-то маргинальная террористическая группа решает вывести из строя, ну, скажем Green Peace, который тоже пользуется Google Office. И устраивают DDoS на сервера Google. (если веселые ребята-технократы вроде [livejournal.com profile] mauhuur решат обидеть Гринпис, они ведь подойдут к этому вопросу куда более технически грамотно, чем та группа прокремлевских script kiddies, которые атакавали ЖЖ)

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

Нет, конечно, держать ценные данные и приложения на серверах, под контролем опытных сисадминов - это хорошо. Но только до тех пор, пока этот сисадмин получает зарплату в вашей фирме, и вы принимаете решение, кого резать на файрволле, а кого нет. А если сильно приспичивает кого-то из внешнего мира пускать (ну поехал ценный сотрудник в командировку), то можно и VPN поднять.

Кстати, вот sourceforge что-то тоже подтормаживает - там что тоже НБП с ДПНИ? Вряд ли.

В общем, на мой взгляд, битву за основное бизнес-приложение Google не выиграть - ни у Microsoft, ни у OpenOffice.

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 08:30 pm (UTC)(link)
Зачем проверять? Хорошо. Я пользователь. Посылаю запрос в гугль на поиск чего либо. Запрос проходит через сервер провайдера. Сервер провайдера дает мне задание. Мой браузер или кто еще угодно это задание решает. Передаю множители дальше. Сервер меня пускает.

Дальше. Я злобный вирус. Посылаю сто запросов в гугль. Получаю сто заданий, забиваю на них болт, или посылаю еруду. Сервер провайдера меня не пускает.

Далее. Я сервер провайдера. На мне сидят 1000 юзеров в онлайне и каждый шлет запросы. У ста юзеров вирусы - они срут со скоростью 5 запросов в секунду, остальные - просто шарятся по инету. Какая моща нужна для проверки?

Далее. Я кластер гугля. На меня поступает много запросов с подтвержденной или неподтвержденной галиматьей. Мне нужно не только запросы обслуживать но и проверять? А этой проверкой занимаются еще и вся цепочка выше и нижестоящих провайдеров....

На самом деле перекрыть доступ пользователям, чьи компы заражены глупыми вирусами очень просто. Причем оно перекрывается автоматом. И открывается обратно по излечении вирусов. Тоже автоматом. И может и в биллинг пометочку поставить. С умными троянами, которые работают по зеленому свистку вверх бороться сложнее. Хотя и тут возможны варианты.

[identity profile] illyn.livejournal.com 2007-06-04 08:49 pm (UTC)(link)
Почему. Не так. Вы вирус — послали сто запросов (только не в гугль, сначала они в любом случае попали прову) получили заданий — не решили, а отдали обратно прову галиматьи. Пров вас прибил на 30 секунд. Через 30 секунд вы снова попробовали послать и не решить. Снова пров вас отрубил, и уже на 60 секунд… Вы опять. Ну получите полторы минуты простоя… Вот и вся система. Если не платишь за пакеты — то и нагрузить от себя

а) особо ничего не сможешь
б) получишь от прова звонок на телефон — «антивирус запускай уже, да!»

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 08:55 pm (UTC)(link)
У меня сейчас через сервак в инет идет 20 мегабит. И 30 мегабит юзеры из инета тянут. Сервак это тянет. Вот так (http://users.livejournal.com/_pacak_/39291.html) режется исходящий спам. В принципе особо не нагружая его. Скорость режется на VPN серверах. Они и без того нагружены. Подобные математические заморочки я думаю его опечалят.

[identity profile] city-rat.livejournal.com 2007-06-04 09:16 pm (UTC)(link)
Все еще проще. С какого, собственно, бодуна, соответствующие арифметические вычисления не выполнить и вирусу, который, как-никак, уже получил полный доступ к ресурсам компа, раз запросы с него шлет?

Как господин illyn собирается отличать законный браузер от незаконного вируса? Бум подписывать уникальным ключиком каждой программулины? А ключик в ФСБ получать, под расписку? Ооооочень интересно.

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 09:25 pm (UTC)(link)
По первому пункту - все просто. Вирус обычно и хавает все 100% проца и канала и срет насколько можно. Только в одном случае выполнения злой математики он сможет насрать намного меньше.

А по второму - оно решается например через некое расширение протокола http. Или некий вариант реализации HTTP прокси. Либо ты поддерживаешь его либо нет. Только не будет этого всего ибо создает оно много больше трудностей чем решает. Тут и поддежка со стороны браузера нужна (ловить это на уровне TCP сессий или IP пакетов просто глупо) и те же самые мобильные клиенты страдают.

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

[identity profile] city-rat.livejournal.com 2007-06-04 09:58 pm (UTC)(link)
Эммммм. Я даже затрудняюсь как-то прокомментировать. Что ни фраза - то шедевр. Каким боком ко всему этому вообще HTTP? И вы вообще ботнет-червя живьем видели? И вы представляете себе, на сколько надо оттормозить работу сетевых программ, чтобы для червя это стало хоть сколько-нибудь существенно?

Запустите скачку чего-нибудь так, чтобы посадить канал до упора. Потом посмотрите, сколько у вас процессорного времени съестся.

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 10:03 pm (UTC)(link)
Видел я червей. И борюсь с ними достаточно успешно. HTTP - к тому что тупо засирающиее канал червяк не проползет через настроенный у меня фильтр. А вот грузить хитрыми, относительно долговыполняющимися GET и POST запросами - это у него получится. За такие атаки я тоже слышал и изучал. Группа товарищей поклала сайт дергая несколько урлов. При этом лег не канал а проц или винт.

[identity profile] city-rat.livejournal.com 2007-06-04 10:22 pm (UTC)(link)
Что-то у вас какой-то сумбур вместо музыки. Смешались в кучу кони, люди.

Атак бывает много разных. Ильин предлагает типа универсальное инфраструктурное решение. Но диагноз этому прожекту написан в первых же строках, где про "запрос любого урла". И про "запрос, который должен пройти дальше". Как вы себе это представляете в терминах IP?

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 10:30 pm (UTC)(link)
В терминах IP - не представляю ибо там нету понятий типа "запрос". Его решение видится где-то на уровне таки HTTP соединений. И от банального засера канала оно естессно не поможет. HTTP запрос заворачивается на провайдерский прокси сервер. Оттуда получает какой-нить там 2xx или 3xx код - "реши ка эту задачку и повтори запрос". Если задачка решена правильно то дальшейший запрос через прововский сервак проходит. А потом такое же происходит у вышестоящего прова. Только смысла я не вижу в этом. Ибо и провам серваки надо и один запрос юзера в десять превратится и мобильные клиенты и совместимость...

[identity profile] city-rat.livejournal.com 2007-06-04 10:40 pm (UTC)(link)
В терминах IP - не представляю ибо там нету понятий типа "запрос".

Об чем и речь. Т.е. это как минимум решение только для веба, точнее, для сервисов over http (привет, аська, привет, IRC, привет, почтовики и т.д.). Во-вторых, оно не может быть решением на уровне обычноо роутера, а требует залезания на уровень прикладных протоколов (привет, провы, меняем парк железа, ставим вместо роутеров аппаратные прокси). В-третьих... Ну, собственно, вы и сами все написали. А главное - чего ради-то? С одной странички в браузере генерится несколько десятков запросов. Каждый надо провалидировать (значит - к времени вычислений еще прибавим время обмена с провайдером), а потом еще ответ распарсить и показать. Вирус кроме генерации примитивного запроса не делает ничего, и ответа ему ждать не надо. Удовлетворил роутер перемноженным значением, и следующий запрос гонит.

[identity profile] legionarius.livejournal.com 2007-06-05 06:36 am (UTC)(link)
Все разборки выше уровня TCP/IP для DDOS - это смертный приговор вашим сервисам, при условии, что атака серьезная.

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 10:07 pm (UTC)(link)
Для борьбы с засером канала на стороны прова математика не нужна.

[identity profile] city-rat.livejournal.com 2007-06-04 10:13 pm (UTC)(link)
Сходил по ссылке и офигел. Вроде вменяемый админ - и вот говорит про вирусы, которые хавают 100% проца. Чем они, пардон, у вас там заняты? Скачаную из инета порнуху смотрят?

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 10:16 pm (UTC)(link)
Не знаю чем они там занимаются. Приносили мне комп оживить что-то там по мелочи проц там был загружен на 100%. Подобные симптомы от еще пары товарищей слышал. Вполне возможно это некий вполне конкретный вирус обитающий у нас в локалке. По вирусам вообще не специалист ибо в виндах давно не ковырялся.

[identity profile] city-rat.livejournal.com 2007-06-04 10:30 pm (UTC)(link)
Дык криво написать можно все на свете. Да и вирус вирусу рознь. Одно дело - размножение ради размножения или спам, который всегда работает по принципу "насрал быстро и много и сдох, пока не забанили". Совсем другое дело - зомбирование компов. Нормальный ботнет, как легко догадаться, сидит тихо, не высовываясь, не шумит, не хамит, а тихо грузит некий IP совершенно неотличимыми от легальных пакетами. В том ио фишка - ресурс, являющийся объектом атаки получает запросы, среди которых невозможно выделить нелегальные.

Вообще говоря, считающий множители легальный ботнет давным-давно был успешно опробован. На проекте по взлому RSA. Мирно работало в фоне, никого не напрягая. При этом суммарной вычмощности задействовано было много больше, чем у Гугля.

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 10:36 pm (UTC)(link)
В локалке сейчас тот еще гадюшник. Борюсь по мере возможностей. Опыт показывает что далеко не все пользователи знают о том что такое антивирус или файрвол. А попадаются и перлы типа "какие такие сотни писем если у меня вообще почтовой программы не установлено".

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

[identity profile] city-rat.livejournal.com 2007-06-04 11:05 pm (UTC)(link)
Да эту математику как ни реализуй - там сама идея порочна и сводится к снижению производительности компа или канала. Пофиг, как делать: привязать разной степени извращенности гири в протоколе или просто порезать канал.

Ильин, как мне кажется, просто не подумал вовремя, что вирусам никто не мешает заниматься теми же расчетами, а теперь по дурной фидошно-интернетовской привычке пытается реанимировать нелепую идею.

Проблема-то в селекции легальных и нелегальных запросов.

Админ локалки (и то не самой большой) - да, может себе позволить разные изящные ухищрения типа того, что вы в пример привели. Крупный пров - да как он отфильтрует агнцев от козлищ? Только путем дорогостоящего статанализа трафика, вылова сигнатур и т.п. Железо под это есть, но дорогое. Тратиться всем в лом.

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 11:18 pm (UTC)(link)
Отлавливать козлищ в принципе можно. Предположим есть N локальных серваков, M свичей с диапазонами на VLANах и несколько каналов до разных ASок. Внутри ASок маршруты раздаются по RIPу. default route в каждой из таких ASок настраивается на некий тазик который сидит и слушает. Далее делаем предположение о том что юзеры глупы и антивирусов у них нету - стало быть вирусов у них больше одного и некоторые из вирусов глупые.

1) Нормальный пользователь ползет на какой-нить сервак или по p2p к другому пользователю. Маршруты все есть - все летает нормально, тазик сидит тихо.
2) Вирь начинает сканировать диапазон и срать всем подряд на 135/139 порт. На что-то маршрут есть. А на что-то его нету. Ненужный трафик летит на тазик-шпион который сидит и считает. А потом - БАХ! По snmp создаем ACL на ближайшем управляемом к нехорошему пользователю свиче, пишем в админу письмо о том что Василий Пупкин нехороший человек и готово.

[identity profile] city-rat.livejournal.com 2007-06-04 11:26 pm (UTC)(link)
Ну это, собственно, и есть статанализ трафика. Еще добавьте вылов сигнатур.

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

Да и за трафик они платят исправно.

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 11:32 pm (UTC)(link)
А дело в том что у более ленивых провов сетка во время всплесков солнечной активности падает намертво. Сейчас например популярен флуд мелкими UDP пакетами на 80й порт. А у меня в особо критических случаях я знаю кому где кислород перекрыть чтобы оно работало. Думаю слегка доработать чтобы при превышении разумных пределов завирусованности еще и перекрывало доступ таким товарищам. Завирусованных на самом деле не такой большой процент и многие из них сами чинят систему после сообщения им о бесчинствах что их комп творит.

[identity profile] city-rat.livejournal.com 2007-06-05 10:57 am (UTC)(link)
Зависит же еще от размера сетки.

Я немного знаком с ситуацией у ОпСоСов. GPRS тоже активно используется для рассылки спама. Представляете себе - анализ потока с нескольких миллионов точек?

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-05 11:06 am (UTC)(link)
Зависит. По хорошему большую сетку надо разбивать. Разделяй и властвуй :)
Про поток с миллионов точек - там да, там сложно. К счастью пока у меня сетка поменьше.

[identity profile] city-rat.livejournal.com 2007-06-05 11:30 am (UTC)(link)
Дык дробить сеть == строить иерархию. Т.е. геометрическая прогрессия узлов. На каждый узел нужен интеллектуальный фильтр трафика, следовательно - удорожается и железо, и администрирование.

Т.е. не вопрос, решения есть, но дороги и хлопотны. Т.е. упирается все не в принципиальную невозможность решить проблему, а в финансовую и организационную.

[identity profile] http://users.livejournal.com/_pacak_/ 2007-06-04 11:33 pm (UTC)(link)
Гхм. Так. Все. Спасибо за содержательную беседу - я спать :)