В GoBalance обнаружена ошибка, позволяющая любому пользователю, используя только общедоступную информацию, вычислить секретный ключ, управляющий адресом .onion сайта, и затем захватить его.
GoBalance - это переписанная на Go версия балансировщика нагрузки Tor Onionbalance, которая поставляется вместе с EndGame, широко используемым набором инструментов, обеспечивающим бесперебойную работу сайтов в даркнете во время DDoS.
Searchlight Cyber сообщила об уязвимости 8 октября, заявляя, что злоумышленник, получивший ключ, может перенаправить посетителей сайта на зеркало, находящееся под его контролем.
При этом не открывает злоумышленникам доступа к серверам сайта, базе данных или хранящимся пользовательским данным. Оригинальный Onionbalance и сам Tor не затронуты.
Адрес в сети .onion фактически является открытым ключом, поэтому тот, кто владеет соответствующим закрытым, контролирует этот адрес. Чтобы оставаться доступным, сайт публикует подписанную запись, называемую дескриптором, которую может получить любой пользователь сети Tor, и, собственно, GoBalance подписывает эту запись.
Проблема как раз и затрагивает этап подписи. Закрытый ключ Tor имеет длину 64 байта, но GoBalance передал подписывающему только первые 32 байта, а остальное отбросил. Отброшенная половина - это та часть, которая скрывает секретное значение каждой подписи.
Без этой половины секретное значение становится фиксированным числом, которое может вычислить любой. В таком случае одного опубликованного дескриптора достаточно, чтобы восстановить закрытый ключ сайта, не имея доступа к его серверам.
Поскольку раскрытый ключ имеет долгосрочный характер, восстановленные значения могут подписывать действительные записи для адреса в течение длительного времени в будущем.
При этом инструмент настройки GoBalance записывает ключи в более безопасном формате, который не представляет опасности, поэтому не каждый сайт, использующий GoBalance, подвергается риску.
Уязвимость была обнаружена благодаря Dread, одному из крупнейших форумов в даркнете, администраторами которого являются HugBunter и Paris. В период с 5 по 7 октября оба .onion-адреса Dread были захвачены и перенаправлены на конкурирующий сайт Conclave.
Изначально руководители Dread объяснили инцидент собственной ошибкой. Позже 5 октября Пэрис заявил, что «по глупости загрузил основной закрытый ключ onion Dread в обновление gobalance».
Два дня спустя был захвачен и второй адрес, резервный, хранившийся для премиум-подписчиков. Резервный адрес сложнее списать на случайную утечку. Так что позже HugBunter выяснил, что злоумышленник использовал уязвимость GoBalance в отношении сразу нескольких сервисов в даркнете.
Searchlight придерживается той же точки зрения, называя второй инцидент более убедительным признаком задействования уязвимости, но при этом рассматривая первый адрес как отдельную утечку ключа.
С тех пор Dread переехал на новый адрес и посоветовал пользователям сменить пароли. В уведомлении от 7 октября операторы анонсировали переезд форума «после утечки закрытого ключа из-за уязвимости в ПО третьих лиц», утверждая, что серверы Dread не были взломаны.
При этом неясно, сколько еще сайтов затронуто. По меньшей мере ещё один сайт подтвердил это публично - Omega. 8 октября админы отключили свой старый адрес «из-за проблемы, вызванной ошибкой в GoBalance» и перешли на новый.
Официального решения пока нет, CVE не присвоен. Публичных уведомлений от Tor или разработчика GoBalance также не поступало. В свою очередь, Dread заявила о планах выпустить исправленную версию GoBalance, дабы помочь пострадавшим сайтам перейти на неё.
Вместе с тем, независимый исследователь выкатил патч и PoC, позволяющий восстановить главный ключ из одного общедоступного дескриптора.
Post #8703
9.77K