Разработчики Tor Project сообщили, что с релизом Tor версии 0.4.8.4 «луковые» сервисы получат защиту от DoS-атак, которая будет реализована при помощи доказательства выполнения работы (Proof-of-Work, PoW).
В последние годы сеть Tor регулярно страдает от мощных атак, которые негативно сказываются на работе «луковых» сервисов. И хотя в последнее время атаки пошли на убыль, в целом проблема злоупотребления DoS сохраняется, ухудшая работу Tor и заставляя многих беспокоиться о безопасности.
Разработчики Tor борются с этой проблемой и довольно давно работают над системой защиты, впервые предложенной еще в апреле 2020 года. Защита, представленная теперь в Tor версии 0.4.8.4, полагается на механизм Proof-of-Work, впервые описанный еще в 1992 году, а теперь, благодаря криптовалютам, известный весьма широко.
По сути, клиентов, пытающихся получить доступ к onion-сервисам, могут попросить пройти небольшой proof-of-work тест. Обычные пользователи, скорее всего даже не заметят этого, тогда как злоумышленники, пытающиеся атаковать onion-сервис, столкнуться с проблемой.
В блоге Tor Project объясняется, что способ, которым onion-сервисы обеспечивают конфиденциальность через обфускацию IP-адресов пользователей, делает их уязвимыми для DoS-атак, а также препятствует ограничениям на основе IP-адресов.
«PoW-защита в Tor — это динамический и активизируемый механизм, который бездействует в нормальных условиях, обеспечивая бесперебойную работу пользователей, но когда onion-сервис испытывает нагрузку, механизм побуждает входящие клиентские соединения выполнить ряд последовательно усложняющихся операций. При этом onion-сервис будет определять приоритет соединений в зависимости от уровня попыток, которые прилагает клиент. Мы считаем, что введение механизма proof-of-work будет сдерживать злоумышленников, делая масштабные атаки дорогостоящими и невыполнимыми, а также предоставит приоритет легитимному трафику», — сообщается в блоге Tor Project.
Разработчики объясняют, что PoW функционирует как система тикетов, которая по умолчанию отключена, но адаптируется к нагрузке сети, создавая приоритетную очередь. Так, прежде чем получить доступ к onion-сервису, понадобится решить небольшую «головоломку», доказав, что клиент проделал некоторую «работу» (work).
«Чем сложнее головоломка, тем больше работы выполняется, чтобы доказать, что пользователь настоящий, а не бот, пытающийся зафлудить сервис запросами. В конечном итоге механизм proof-of-work блокирует злоумышленников, давая реальным пользователям возможность добраться до места назначения, — говорят авторы. — Если злоумышленник действительно попытается зафлудить onion-сервис запросами, подключится PoW-защита и увеличит вычислительные усилия, необходимые для доступа к onion-ресурсу».
Ожидается, что для обычных пользователей, которые могут отправлять несколько запросов за раз, дополнительные вычисления, направленные на решение «головоломок», будут вполне приемлемы на большинстве устройств. Так, начальное время на решение «головоломки» варьируется от 5 миллисекунд для более быстрых компьютеров и до 30 миллисекунд для более медленного оборудования.
Если же трафик атаки увеличится, трудоемкость «работы» возрастет примерно до 1 минуты. Так как этот процесс незаметен для пользователей, разработчики сравнивают ожидание решения proof-of-work с ожиданием при медленном соединении, которое даст пользователям возможность получить доступ к сети Tor даже в условиях большой нагрузки.
Теперь обновленное ПО Tor поддерживает PoW-механизм EquiX, разработанный тем же человеком, который работал над созданием PoW-алгоритма для криптовалюты Monero.