Как испарились 86 миллионов долларов: взлом цепочки поставок Ledger и самое уязвимое звено аппаратных кошельков
chaincatcherАвтор: Гу Юй, ChainCatcher
Один человек перевел 80 биткоинов на недавно купленный Ledger. Устройство было приобретено у официально авторизованного дилера, а мнемоническая фраза была записана от руки и заперта в сейфе. Эта партия монет была зачислена 29 сентября, стоимость покупки составила около 5,2 миллиона долларов, и в какой-то момент нереализованная прибыль достигла 1,38 миллиона долларов. 9 октября в 05:54 (UTC) все 80 BTC были переведены одной транзакцией.
Он сделал всё правильно, как того требуют инструкции.
В то же утро на X и Reddit начали массово появляться похожие сообщения: у пользователя Ledger Stax было переведено почти 100 000 USDT, мнемоническая фраза также была записана от руки и заперта в сейфе. Общее у этих пользователей только одно — все устройства были куплены у дилера из Юго-Восточной Азии CryptoBilis.
9 октября в 13:32 (UTC) Ledger подтвердила, что проводит расследование, и потребовала от CryptoBilis приостановить все продажи и отгрузки устройств Ledger; пользователям, купившим устройства через этот канал за последние 90 дней, не следует инициализировать их, если они еще не инициализированы, а тем, кто уже инициализировал, следует немедленно перевести свои активы на новое устройство, созданное с новой мнемонической фразой.
I. Масштаб потерь может превысить 90 миллионов долларовНасколько велики потери, в настоящее время можно оценить только по данным блокчейна.
Ончейн-исследователь Specter первым опубликовал десять агрегированных адресов в 12:24, охватывающих Bitcoin, Ethereum и Tron, оценив потери более чем в 86 миллионов долларов; другой исследователь, tanuki42, перечислил восемь из этих адресов, указав более 72 миллионов долларов; MistTrack от SlowMist заявила, что сумма «приближается к 90 миллионам долларов»; Bitquery охватил 311 кошельков, оценив примерно 92,9 миллиона долларов, из которых около 42 миллионов в Ethereum, около 17,6 миллиона в Bitcoin и около 16,5 миллиона в USDT. Arkham пометил эти адреса как «Кража Ledger», и по состоянию на полдень пятницы на помеченных адресах оставалось около 71,5 миллиона долларов, при этом крупнейшие позиции включали примерно 29,4 миллиона долларов в ETH, 17,5 миллиона долларов в BTC, 13,6 миллиона долларов в USDD и 10,8 миллиона долларов в USDT.
Более примечателен, чем общая сумма, профиль жертв. Lookonchain отследил, что некий адрес внес 7 миллионов USDT через три недели после покупки устройства, и все они были выведены примерно за десять часов до сообщения, возможно, это была крупнейшая отдельная транзакция; три других помеченных биткоин-адреса в совокупности держали около 211 BTC в 13:44 (UTC), и на тот момент переводов с них не было. По статистике Chain INK, в этом инциденте было задействовано около 98 кошельков, в среднем около 890 000 долларов на каждый.
Это не просто розничные инвесторы, потерявшие несколько сотен долларов. Это кошельки, в которые люди вложили свои сбережения.
При сравнении с другим инцидентом этого года разница в распределении показательнее, чем общая сумма. В июле Coldcard понесла убытки в размере около 111 миллионов долларов из-за дефекта генератора случайных чисел в прошивке, который позволял вычислить мнемоническую фразу, но потери были распределены по более чем 5 200 кошелькам, в среднем около 21 000 долларов на каждый; тогда как этот инцидент с CryptoBilis, который менее чем за день вышел на второе место (около 87 миллионов долларов), затронул лишь около 98 кошельков, в среднем около 890 000 долларов.
Инцидент Coldcard был широкой сетью, а этот — целенаправленным сбором средств. Само это распределение подтверждает версию о «вживленных модулях»: злоумышленник контролирует мнемонические фразы, генерируемые на каждом модифицированном устройстве, что позволяет ему ждать — ждать, пока поступят деньги, и действовать, нацеливаясь именно на тех, кого стоит атаковать. 80 BTC, отслеженные Lookonchain, были переведены разом после того, как спокойно пролежали в устройстве десять дней.
II. После вскрытия устройства: микроконтроллер на шлейфе экранаLedger не объяснила механизм атаки, но кто-то уже вскрыл устройство.
Самое конкретное описание дал бывший генеральный директор Mt.Gox Марк Карпелес. Он заявил, что одно из полученных им устройств пришло из Малайзии — оно было выставлено на Amazon за полцены, отправлено из Малайзии, а не из Японии, где он его заказывал, что само по себе стало первым тревожным сигналом. Вскрыв его, он обнаружил скрытый модуль там, где должна была быть прокладка экрана: одножильный провод антенны, пространство, освобожденное за счет укороченного аккумулятора или удаленной прокладки экрана, LTE-модуль с eSIM и микроконтроллер, подключенный к шине SPI устройства.
Его вывод: этот микроконтроллер может распознавать шрифт, используемый Ledger на экране 128×64, фиксировать интерфейс настройки мнемонической фразы и отображать мнемоническую фразу посимвольно, когда пользователь ее записывает, отправляя ее через LTE.
Директор по информационной безопасности SlowMist 23pds описал соответствующий технический путь: злоумышленник установил микроконтроллер внутри устройства, подключив его к линии данных SPI экрана; после того как мнемоническая фраза генерируется в защищенном элементе, она отображается на экране, чтобы пользователь мог ее записать, а вредоносный модуль синхронно записывает каждый символ, выводимый на экран, и затем передает его через встроенный LTE или eSIM. Он подчеркнул, что роль защищенного элемента — предотвратить прямое чтение или экспорт приватного ключа, но он не может контролировать то, что отображается на экране — те несколько секунд, когда мнемоническая фраза появляется на экране, и есть окно атаки.
Это объясняет самый противоречивый аспект всего инцидента: эти устройства могут пройти проверку подлинности Ledger. Потому что защищенный элемент настоящий, он действительно корректно генерирует мнемоническую фразу и нормально подписывает транзакции; за ним просто «наблюдают». Прошивка также не может это обнаружить, поскольку вживленный модуль только прослушивает обновления экрана. Иными словами, единственный способ обнаружить это — вскрыть устройство.
Существуют и две другие возможности: одна — заранее заданные мнемонические фразы: злоумышленники заранее включают устройство, настраивают его, записывают фразу и переупаковывают, а пользователи думают, что «настраивают новое устройство», но на самом деле используют набор слов, уже известный злоумышленнику; другая — фишинг. Разработчик 0xQuit считает, что некоторые жертвы могли стать жертвами фишинга, и заявляет, что безответственно просто говорить «Ledger взломали».
CryptoBilis — не уличный торговец.
Компания была основана в Куала-Лумпуре в 2020 году и числится на официальной странице дилеров Ledger как официально авторизованный дилер, охватывающий Малайзию, Индонезию и Филиппины, и продает не только Ledger, но и Trezor, OneKey, Tangem и SafePal.
Проблема именно в этом. Пользователи следуют правилам безопасности, которым учит индустрия: если не могут купить напрямую с официального сайта, ищут «официально авторизованных дилеров». Но авторизация подтверждает право этой компании на продажу, а не целостность каждого устройства на ее складе и не добросовестность каждого сотрудника, который их обрабатывает и сортирует. Как только устройство покидает завод, проходит через логистику, склады, сортировку, доставляется дилеру, а затем отправляется к порогу покупателя, любое звено этой цепочки может быть перехвачено, вскрыто и восстановлено — термоусадочная пленка на устройстве Карпелеса была цела.
Как только устройство покидает контроль Ledger, слово «авторизованный» больше не дает никакой физической гарантии.
Еще более тонким является хронология. Недавно раскрытые корпоративные записи показывают, что CryptoBilis была приобретена в марте этого года, и человек по имени «Цзя Мин», зарегистрированный в провинции Хэйлунцзян, Китай, владеет 100% акций компании с 3 августа. Бывший соучредитель подтвердил приобретение в марте, заявив, что первоначальные акционеры впоследствии вышли из всех операционных, управленческих и административных должностей, и после передачи они больше не могли понимать фактическую деятельность компании, призвав нынешнее руководство действовать прозрачно. Согласно отчетам Deep Tide TechFlow, покупатель подписал с бывшими руководителями соглашение о конфиденциальности, которое ограничивает их в раскрытии деталей сделки и действует до 19 октября — когда 9 октября разразился инцидент, бывшие руководители по-прежнему юридически не могли свободно обсуждать детали приобретения.
В настоящее время нет убедительных доказательств того, что смена владельца связана с кражей устройств, и Ledger лишь приостановила продажи, не выдвигая обвинений.
10 октября CryptoBilis объявила о приостановке продаж и отгрузок аппаратных кошельков всех брендов в своих магазинах и онлайн-каналах в Малайзии, на Филиппинах и в Индонезии, напомнив пользователям: мнемоническая фраза должна генерироваться устройством при инициализации и записываться пользователем от руки; если устройство поставляется с заранее напечатанной или написанной карточкой мнемонической фразы, его следует считать небезопасным.
Более того, CryptoBilis — не единственный канал, столкнувшийся с проблемами в этом году. В сентябре Trezor признала, что ее логистический подрядчик ShipMonk был взломан, что привело к утечке настоящих имен, номеров телефонов и домашних адресов около 81 000 клиентов из США; в январе этого года Ledger раскрыла, что платежный процессор Global-e допустил утечку имен и контактной информации некоторых покупателей официального сайта. Эти инциденты не привели напрямую к потере монет, но они снова и снова передавали злоумышленникам список «кто и когда получил аппаратный кошелек».
За последние три месяца самое слабое звено холодного хранения сместилось с кода на логистику.
IV. Возврат средств, самоспасение и тот самый дешевый советОкно для возврата средств закрывается.
По данным MistTrack, Tether заморозил большое количество USDT на соответствующих адресах; злоумышленники немедленно начали обменивать USDT на USDD — стейблкоин Tron, который Tether не может заморозить. По данным Onchain Lens, 430,2 ETH (около 1,07 миллиона долларов) уже поступили в Tornado Cash через четыре кошелька. У Bitcoin и Ethereum нет кнопки заморозки; как только деньги уходят, барьером остаются только биржи.
SlowMist и Security Alliance открыли канал помощи, причем последний призывает пользователей, чьи средства были переведены на соответствующие адреса, связаться с их командой экстренного реагирования SEAL 911.
Среди советов, данных индустрией, самый практичный исходит от CZ. Оценив это как «атаку на цепочку поставок, ограниченную конкретным дилером», он предложил конкретный план действий:
«После покупки аппаратного кошелька (или загрузки нового программного кошелька) подержите его несколько недель, прежде чем переводить на него сколько-нибудь значимую сумму. В течение этих недель постоянно отслеживайте соответствующие новости… Оборудование могло быть модифицировано, а официальный сайт программного обеспечения также мог быть атакован. Самостоятельное хранение означает дополнительную ответственность».
Логика этого «карантинного периода» не техническая, а информационная: если партия устройств уже была подделана при доставке дилеру, ончейн-аналитикам нужно время, чтобы обнаружить первую партию украденных устройств и выпустить предупреждения — эти две недели вы покупаете для себя.
Но что этот инцидент действительно переписывает, так это границы термина «самостоятельное хранение».
Последнее десятилетие индустрия строила нарратив безопасности самостоятельного хранения почти полностью на криптографии и аппаратном обеспечении: защищенные элементы, EAL5+, стирание PIN-кода, аудит с открытым исходным кодом. Ничто из этого не было взломано. Взломан был путь от завода до вашего порога — путь, состоящий из логистических провайдеров, складов, дилеров и курьеров, где ни одно звено не может быть проверено пользователем.
Аппаратные кошельки обещают, что «приватные ключи никогда не покидают устройство». Ирония в этот раз в том, что приватные ключи действительно никогда не покидали устройство — их просто увидел кто-то другой в те несколько секунд, когда они отображались пользователю.
И когда граница безопасности простирается от чипа до доставки к вашему порогу, последняя линия обороны, на которую пользователи действительно могут положиться, возможно, действительно сводится к одному: не спешите класть туда деньги.
Данный контент предназначен исключительно для информационных и образовательных целей и не является инвестиционным советом, связанным с BTCC. BTCC прилагает все усилия, но не может гарантировать правдивость, точность или оригинальность вышеприведенного контента.