35 миллионов человек носят в браузере цифровую бирку с именем и не знают об этом.
Браузерный криптокошелёк может раскрыть гораздо больше, чем выбранный пользователем адрес. Специалисты Лёвенского католического университета выяснили, что популярные расширения позволяют связывать несколько счетов одного владельца, отслеживать его переходы между сайтами и сопоставлять обычную интернет-активность с состоянием криптовалютных активов.
Авторы работы проверили 85 кошельков из магазина расширений Chrome, которыми суммарно пользуются более 35 млн человек. Анализ охватил сетевые запросы, работу разрешений и взаимодействие кошельков с 30 популярными приложениями Ethereum. Специалисты выделили пять угроз конфиденциальности, связанных как с фоновым обменом данными, так и с доступом сайтов к интерфейсам расширений.
Одна из проблем возникает во время обычной проверки баланса и истории операций. Кошельки отправляют внешним службам запросы с публичными адресами, а порядок и время таких обращений позволяют определить, какие адреса принадлежат одному человеку. Подобные признаки нашли в 17 кошельках, которыми пользуются около 23 млн человек, или 65,4% аудитории изученных расширений.
Ещё один канал слежки связан с механизмом обнаружения установленных кошельков. Сайт может без разрешения узнать названия и сочетание расширений в браузере, превратив такой набор в устойчивый цифровой отпечаток. Уязвимую схему поддерживали 36 кошельков с общей аудиторией около 29 млн пользователей. Очистка файлов cookie и данных сайтов в таком случае не мешает распознать посетителя.
Особую опасность создают разрешения, которые продолжают действовать после выхода из приложения. Из 36 совместимых кошельков 22 не удаляли ранее выданный доступ должным образом и продолжали возвращать адрес сайта при последующих посещениях. Старый адрес позволяет связать новые сеансы, другие кошельки и несколько счетов одного владельца. Проблему усугубляют сами приложения: только 11 из 30 проверенных сервисов действительно отзывали разрешение при нажатии кнопки выхода.
Специалисты также показали, как рекламный или аналитический код может получить адрес кошелька на обычном сайте, не связанном с криптовалютами. Для атаки используется невидимый встроенный блок с ранее посещённым приложением. Интерфейс внутри такого блока раскрывали 23 расширения браузера, охватывающие почти 28 млн пользователей. В 14 случаях адрес оставался доступен даже после блокировки расширения.
Получив адрес, служба слежки может изучить открытые данные блокчейна, включая баланс, операции и токены, а затем сопоставить их с посещёнными новостными сайтами, покупками, поисковыми запросами, электронной почтой или номером телефона. Такой сценарий способен лишить владельца кошелька псевдонимности без кражи ключей и подтверждения операций.
Авторы предлагают запретить кошелькам объединять несколько адресов в одном сетевом запросе, ограничить срок действия разрешений и требовать повторного согласия на доступ к счетам. Расширения также должны передавать свои интерфейсы только основной странице, а приложениям рекомендуют запрещать загрузку внутри сторонних сайтов. По оценке специалистов, проблема носит системный характер и связана не с отдельными ошибками, а с тем, как устроена вся экосистема браузерных кошельков.