>греть свои CPU и ASIC на проверку POW? Оно тупо пакеты форвардит.Проверка - почти бесплатная.
>А оборудованию оно надо
Я и говорю, вендорам не надо. Чем больше ddosов - тем больше спрос на их оборудование.
>К тому же UDP еще есть и прочий ICMP. И пакет всяко сперва место в проводе займет - а потом вы там можете и выкинуть его конечно, если хотите.
Такой пакет зарубится на первом хопе, а не займёт место на всех. Но вендорам выгодно, чтобы на всех - так больше спрос на оборудование.
>Ммм... т.е. на 1 пакет еще и отлупы всякие?
А syn-ack и ICMP - это другое, да? Впрочем неактуально. Можно ответ не генерить, а просто тот же PoW посылать. В Блуме есть - значит проезд оплачен.
>Помнить статус конекции и режектить дупы? Не хочу вас расстраивать - но тогда умрут сами роутеры.
Да. Протокол таков. Есть считающий Блум. Изначально он пустой. Если не syn - то если нет полуоткрытой или открытой сессии - то режется. Если syn - то
1. проверяем наличие PoW-расширения и валидность заголовка. Нет - режем.
2. проверяем наличие nonce в Блуме и значение счётчика больше 0. Если есть - декрементим, разрешаем. Нет - проверяем паззл.
3. хешируем все заголовки. проверяем количество нулевых битов и текущую сложность. Положительное превышение нулевых битов над сложностью экспонентим по основанию и закидываем в блум по nonce как ключу.
>А реплей вы как интересно рубить будете
Реплей заложен сам протокол, но контролируем. Счётчик в фильтре Блума.
>А вы уверены что оборудованию не станет плохо от его крутизны - pow в каждом пакете udp чекать?
Ну CRC32 же чекает. Нужно чтобы была аппаратная чекалка. И не надо мне говорить, что сменить всё оборудование дорого. Дорого не сменить его, а для вендоров дорого, что рынок защиты от DDoSа схлопнется.
>Бот честно считает PoW и начинает качать траф. Это как легитимное использование сервиса - но если ботов придет 100500 то вы умрете.
Если наймут киллера, того что в подъезде подкараулит и ножом под ребро, то я тоже умру. Но есть нюанс. Ещё можно просто дать апстриму напрямую денежный эквивалент PoWа за то, чтобы расторг с сервисом контракт и прекратил обслуживание - дешевле может выйти.
>Заодно - если сервису надо было конект к апстриму, будет интересно посмотреть успеет ли этот фронтэнд считать pow для своих внутренних нужд быстрее атакующих ботов.
На ответные пакеты, как и на пакеты внутри соединения, считать PoW не нужно, только проверять. что намного легче. PoW только на synы без ackа. Всё что внутри соединения - это уже L7 и подавляется на соответствующем уровне. Этот конкретный метод только для отбития L3-атак, когда апс.