Содержание 6
Эту историю удобнее разобрать по шагам: слишком многое зависело от того, в каком порядке всё происходило и кто именно терял контроль на каждом отрезке. Совет «посмотрите, с какого адреса письмо» в этот раз не сработал. 9 сентября около 347 тысяч человек из рассылки Trezor получили предупреждение о «заводском дефекте» аппаратного кошелька. Отправитель — настоящий mailing@trezor.io, подпись сходилась, инфраструктура была той же, через которую компания шлёт обычные новости. Текст написали преступники.
Этап первый: письмо уходит с реального адреса
Тема звучала солидно: «STM32 Entropy Vulnerability». Якобы примерно каждый четвёртый кошелёк уехал с конвейера со слабым генератором случайных чисел, seed можно перебрать при энтропии в 40 бит. Ссылка вела в приложение, которое просило слова восстановления. Этого достаточно, чтобы опустошить кошелёк без отката. Подделки адреса на этом шаге не было вообще: письмо прошло по той же рассылке, что и обычные новости компании, поэтому фильтрам было не за что зацепиться.
Этап второй: двадцать минут и первые клики
Компания пишет, что домен сняли на уровне DNS за 20 минут. Быстро — но внутри этих двадцати минут ссылку уже открыли 2500 получателей. Из примерно 347 000 разосланных писем это небольшая доля, и всё же именно она превращает абстрактную рассылку в конкретную цифру риска: столько людей успели дойти до приложения, которое просило фразу восстановления.
Этап третий: как всё выглядело изнутри почтовика
Рассылку гоняет через Brevo, раньше Sendinblue. Атакующий завёл свой кабинет, включил единый вход и пригласил туда живых сотрудников платформы. Дальше входил «как они» через свой identity provider. Сбой был в границах доступа: сессия не осталась в одной организации, а дотянулась до всех кабинетов, куда эти люди имели право. Масштаб виден по числам: затронутых кабинетов Brevo — 138, фишинг ушёл из 6 кабинетов, списки контактов выгрузили из 43 кабинетов.
Этап четвёртый: 10 сентября, 8:30 UTC — дыру закрыли
Brevo закрыла дыру в 8:30 UTC 10 сентября и принудительно разлогинила всех. Компания прямо пишет: письма шли через легитимную инфраструктуру, поэтому SPF, DKIM и DMARC молчали. К этому часу домен уже был снят, но контакты из 43 кабинетов уехали к атакующему, а 2500 открытий ссылки остались фактом, который задним числом не отменить.
Этап пятый: волна накрывает не только кошельки
В ту же волну попали швейцарский BitBox — почти то же письмо про выдуманный баг микроконтроллера — и CoinTracking, где просили «обновить скомпрометированные API-ключи». Brevo — не криптосервис, на ней сидит куча европейских рассылок. Кошелёк иметь не обязательно, чтобы оказаться в чужом экспорте контактов: достаточно когда-то оставить адрес в любой рассылке, которая шла через ту же платформу.
Этап шестой: что делать владельцу кошелька
Формулировка вендора жёсткая: они никогда не просят резервную копию кошелька. Кто просит seed — не производитель. Клик без ввода слов, по их оценке, безопасен. Кто ввёл фразу — переводит средства на новый кошелёк сразу. Адреса из списков, скорее всего, ещё всплывут: в начале сентября подтверждалась дыра у логиста ShipMonk, затронувшая больше 80 тысяч клиентов. Тот же урок, что и у голосовой модели, которой тоже нельзя слепо верить, и та же логика, что у лабораторий, которые ловят опасные запросы: настоящий инструмент и безоглядное доверие к нему — разные вещи.
Вывод из этой хронологии простой и неприятный: адрес и подпись перестали быть доказательством, если удар принял сам почтовик. Никогда не вводите слова восстановления по ссылке из письма, в приложении, которое эта ссылка открыла, и в переписке «от службы поддержки» — производитель не просит seed ни в одном из этих сценариев.



