Каждый месяц директор по безопасности MetaMask Лукер рассказывает о последних криптоатаках и новых угрозах, о которых вам необходимо знать.
В июне 2022 года проекты Endo и LavaMoat добавили поддержку import.meta, require.resolve и Yarn 3 для усиления защиты сборочного конвейера, а программа вознаграждений за обнаружение ошибок MetaMask была запущена на платформе HackerOne. По метрикам: команда реагирования на компьютерные инциденты закрыла 38 тикетов за первое полугодие 2022 года со средним временем устранения 40,39 дня, а MetaMask упразднил методы API eth_decrypt и eth_getEncryptionPublicKey из-за криптографических уязвимостей. Главными событиями месяца стали два раскрытия: Halborn получил $50 000 за обнаружение уязвимости «Demonic» (CVE-2022-32969) — слабости шифрования диска, при которой Secret Recovery Phrase мог кэшироваться в открытом виде на незашифрованном диске, а United Global Whitehat Security Team получила вознаграждение в размере $120 000 за критическую уязвимость кликджекинга в расширении. Подробный разбор приведён ниже, но сначала...
Выдающийся пионер STEM: Уитфилд Диффи, соавтор криптографии с открытым ключом
Уитфилд Диффи совместно с Мартином Хеллманом и Ральфом Меркле опубликовал работу «Новые направления в криптографии» в ноябре 1976 года, представив протокол обмена ключами Диффи–Хеллмана, который сделал возможной защищённую связь без предварительно согласованного секрета. Протокол лежит в основе TLS, SSH и зашифрованных каналов, которыми пользователи некастодиального кошелька пользуются каждый день. В 2015 году Диффи был удостоен премии Тьюринга ACM, а в 2011 году введён в Национальный зал славы изобретателей.
Уязвимость кликджекинга приносит UGWST вознаграждение в $120 000
MetaMask выплатил вознаграждение в размере $120 000 команде United Global Whitehat Security Team (UGWST) за ответственное раскрытие критической уязвимости кликджекинга в расширении MetaMask. Атака отображала интерфейс расширения в виде невидимого iframe, наложенного поверх вредоносного сайта, вынуждая пользователей подтверждать транзакции и раскрывать личные данные, не осознавая этого. До выпуска патча случаев эксплуатации уязвимости зафиксировано не было. Пользователи расширения MetaMask версии 10.14.6 и выше защищены.
Раскрытие уязвимости «Demonic» от Halborn выявляет риск шифрования диска для браузерных кошельков
Исследователи безопасности из Halborn раскрыли CVE-2022-32969 под кодовым названием «Demonic» — уязвимость, при которой Secret Recovery Phrase, введённая в процессе импорта, могла кэшироваться на диске в открытом виде механизмом восстановления сессии браузера. Риск возникал при одновременном выполнении трёх условий: жёсткий диск не был зашифрован, Secret Recovery Phrase импортировалась на скомпрометированном или ненадёжном устройстве, а флажок «Показать Secret Recovery Phrase» был активирован в процессе импорта. MetaMask реализовал меры по устранению уязвимости начиная с версии расширения 10.11.3. Мобильное приложение MetaMask затронуто не было. Halborn получил $50 000 за это открытие.
Команда реагирования на инциденты MetaMask закрыла 38 тикетов за первое полугодие 2022 года со средним временем устранения 40,39 дня
Команда реагирования на компьютерные инциденты MetaMask (CIRT) закрыла 38 тикетов за первое полугодие 2022 года. Большинство из них поступило от внешних репортёров — более чем вдвое больше совокупного числа тикетов от аудитов и внутренних источников. По ответственным исполнителям наибольшая доля пришлась на команду расширения, за ней следуют вопросы безопасности (кросс-продуктовые) и мобильное приложение. Из 38 тикетов 13 имели оценку по шкале CVSS: 1 критический — уязвимость кликджекинга — 9 средних и 3 низких. Тикеты от репортёров закрывались быстрее всего — в среднем за 28,53 дня. Общее среднее время устранения составило 40,39 дня.
Методы eth_decrypt и eth_getEncryptionPublicKey упразднены из-за криптографических уязвимостей
MetaMask упразднил методы API eth_decrypt и eth_getEncryptionPublicKey. Оба метода, разработанные в соответствии с EIP-1024 (впоследствии отклонённым), повторно используют один и тот же закрытый ключ на разных эллиптических кривых для подписи и шифрования — практика, открывающая дополнительные векторы атак. Известных случаев эксплуатации не зафиксировано, однако архитектура была признана недостаточно безопасной для дальнейшего продвижения. Методы остаются работоспособными, чтобы дать сторонним интеграторам время на миграцию.
Поддержка import.meta и require.resolve в Endo завершена
Проект Endo включил поддержку import.meta для Compartments, потребовав корректировок плагина Babel в static-module-record для обеспечения обхода и преобразования узлов import.meta даже внутри уже преобразованных определений экспорта. Последующий PR с добавлением поддержки import.meta.url в compartment-mapper (endojs/endo #1202) добавил поддержку import.meta.url в функциональность importLocation в compartment-mapper (недоступно в Archives). Отдельно функция require.resolve была добавлена в реализацию CommonJS: по умолчанию она выбрасывает исключение, но принимает пользовательскую реализацию через ReadPowers. Эти изменения завершили запланированную дорожную карту поддержки CJS.
LavaMoat добавляет поддержку Yarn 3 и явные запреты в политиках
LavaMoat выпустил поддержку Yarn 3 для allow-scripts, добавив плагин для обработки настройки yarn при первоначальном клонировании защищённых проектов. Второе обновление ввело явные значения false в policy-overrides.json, позволяя проектам запрещать конкретные endowments и предотвращать избыточное раскрытие полей объектов при слиянии политик.
Запуск программы вознаграждений за обнаружение ошибок на HackerOne
В июне 2022 года MetaMask запустил программу вознаграждений за обнаружение ошибок на платформе HackerOne, охватывающую репозиторий расширения MetaMask на GitHub и репозиторий мобильного приложения MetaMask на GitHub.
Отчёт MetaMask о криптобезопасности за июнь 2022 года охватывает вознаграждение в $120 000 за кликджекинг, выплаченное UGWST, раскрытие уязвимости шифрования диска «Demonic» от Halborn, затрагивающей браузерные кошельки, а также упразднение MetaMask методов eth_decrypt и eth_getEncryptionPublicKey из-за криптографических уязвимостей. Просматривайте предыдущие выпуски отчёта MetaMask о криптобезопасности, чтобы узнавать об угрозах, тенденциях и советах по безопасности в экосистеме.