Исследователи Zengo обнаружили, что вредоносные боты отслеживали существование небезопасных случайных адресов в BTC блокчейнах и немедленно использовали их для совершения краж, причиняя убытки на миллионы долларов, один из которых произошел 23 ноября 2023 года.
В рамках продолжающихся исследований Zengo X в области безопасности блокчейна мы расследовали случай с недавно потерянными 139 BTC, которые на тот момент составляли около $5,5 млн. Без нашего ведома мы открыли BTC ящик Пандоры в Темном лесу.
В 2020 году исследователи Paradigm Дэн Робинсон и Георгиос Константопулос опубликовали влиятельный пост в блоге под названием «ETH Workshop — это темный лес», в котором рассказали о ботах, которые скрываются во тьме пулов памяти ETH Workshop, отслеживают незавершенные транзакции и пытаются извлечь выгоду из прибыльных возможностей, которые они создают. **
Сегодня мы расскажем, что это явление не ограничивается ETH блокчейнами, но также относится к BTC блокчейнам (и, возможно, многим другим).
1, этот случай чрезмерных комиссий
23 ноября BTC сделка привлекла внимание BTC аналитиков. **Эта сделка установила рекорд по уплате комиссий, заплатив более 3 миллионов долларов (83 BTC) за перевод BTC на сумму 2 миллиона долларов. **
Несмотря на то, что непосредственное объяснение этих непомерных сборов (которые, как правило, составляют менее 10 долларов) заключается в том, чтобы обвинить их в какой-то ошибке ручного ввода, как это случалось в прошлом, пользователям не потребовалось много времени, чтобы заявить, что они были первоначальными владельцами X (до Twitter) и были каким-то образом взломаны. **
Владелец Учетной записи X криптографически доказывает, что он действительно владеет BTC адресом, подписывая его соответствующим закрытым ключом.
2, наше расследование началось
По мере того, как мы начинаем более глубоко исследовать эту непомерную сделку, всплывают некоторые более тонкие, но интересные факты.
CPFP: Это расшифровывается как “Child Pays For Parent”, что означает, что вход в эту транзакцию является выходом другой неподтвержденной транзакции. В данном случае это означает, что пока первая транзакция ждала в мемпуле, произошла транзакция с переплатой. По данным эксплорера, на самом деле он был отправлен в ту же минуту, что и предыдущая транзакция. **Стоимость составляет ровно 60% от общей потраченной суммы (83,65/139,4), так что вряд ли это ошибка, а скорее результат какого-то автоматизированного действия. **
RBF отключен: отправитель транзакции отключил опцию «Заменить на комиссию» (RBF) или запретил другим транзакциям перезаписывать транзакцию с более высокой комиссией. Кроме того, другой пользователь X заметил, что изначально было несколько транзакций-кандидатов с превышением комиссии, заменяющих друг друга, заплатив более высокую комиссию (больше не видимую в обозревателе, так как замененная информация о транзакции была очищена в течение короткого периода времени).
3. Текущая ситуация: Давайте сначала предположим
Исходя из полученных данных, существует несколько возможных гипотез, объясняющих эту транзакцию с завышенными комиссиями:
Первоначальный владелец переплатил за опечатку: заявление владельца об X было сделано просто для того, чтобы сохранить лицо, поскольку утверждение о том, что его взломали, звучит более приемлемо, чем признание своей неуклюжести.
Примечание: Это кажется не очень правдоподобным, так как транзакция была отправлена, когда предыдущая транзакция все еще находилась в мемпуле (см. CPFP выше), что требовало технических знаний, а точный характер комиссии (ровно 60% от общей комиссии) не соответствует неверному вводу или общей неуклюжей теории.
Приватный ключ первоначального владельца был взломан: злоумышленник раскрыл закрытый ключ и ждал, пока владелец отправит средства на адрес.
Наше мнение: Это маловероятно, потому что транзакция была вытеснена RBF, а это означает, что несколько сторон знают о закрытом ключе.
Закрытый ключ первоначального владельца предсказуем: закрытый ключ создается каким-то предсказуемым способом, например, путем хэширования парольной фразы («Brian-wallet») или выбора ключа из слишком маленького набора (32 бита). Эти вопросы подробно обсуждаются в нашей недавней статье в блоге.
Злоумышленники генерируют коллекцию всех этих предсказуемых закрытых ключей и соответствующих им адресов, и всякий раз, когда транзакция по отправке средств на любой из этих адресов находится в мемпуле, они немедленно отправляют последующие транзакции для перевода этих средств на свой адрес.
Это последнее предположение объясняет все: немедленная реакция («CPFP» выше) и непомерные сборы — это то, что должны сделать злоумышленники, чтобы победить других злоумышленников. «Фиксированный» характер комиссии (60%) обусловлен автоматическим характером операции, которая необходима для того, чтобы победить других сторон. Отключение RBF — еще один механизм, используемый злоумышленниками для повышения своих шансов на победу над другими сторонами.
Это предположение также согласуется с прошлым поведением адреса на стороне получателя транзакции с чрезмерно высокой комиссией. Многие транзакции, поступающие на адрес, имеют те же характеристики, что и эта транзакция с высокой комиссией (хотя и не такие прибыльные, как эта многомиллионная транзакция).
Злоумышленники ведут себя последовательно (источник: X/Twitter).
Этот вывод, конечно, является очень пугающим и смелым объяснением, которое требует дополнительных доказательств. **
4. Доказательства
Чтобы проверить наши утверждения, мы решили сгенерировать предсказуемый приватный ключ, отправить на него средства и наблюдать за результатами. Если наши предположения верны, то средства должны быть украдены немедленно. Чтобы создать неслучайный приватный ключ и получить сгенерированный адрес, мы использовали популярный веб-инструмент Яна Клоумана (Ian Cloeman) (который хорошо работал и в прошлом).
Установите закрытый ключ в значение “1” (обратите внимание, что сгенерированная мнемоническая фраза в основном состоит из слова “abandon” с индексом 0)
С помощью этого инструмента мы установили приватный ключ в значение «1» и получили сгенерированный адрес: bc1q4jgysxym8yvp6khka878njuh8dem4l7mneyefz. Мы убедились, что он не использовался ранее, чтобы исключить другие возможные объяснения.
Затем мы отправили транзакцию на 10 долларов на этот адрес… Как и ожидалось, мы обнаружили, что за этим последовала непомерная транзакция с комиссией (5 долларов, или 50%), которая перенаправила средства на другой адрес!
Кроме того, мы наблюдали жесткую конкуренцию между несколькими сторонами, пытающимися получить преимущество через RBF с более высокими комиссиями, которые даже составили почти 99% средств, но эти попытки не увенчались успехом из-за того, что первая транзакция вывела из строя RBF.
4 транзакции RBF, последняя из которых предлагала $9,87 из общей суммы $10 в качестве комиссии.
5. Заключение: монстры существуют
Если seed-фраза или закрытый ключ пользователя сгенерированы предсказуемым образом или подвержены нежелательной случайности, они будут использованы, как только злоумышленник узнает точные детали предсказуемой генерации. **
Как мы подробно описали в нашем недавнем сообщении в блоге, проблема безопасной генерации ключей в криптокошельках упускается из виду большинством пользователей, но это оказывается проблемой, которая преследует кошельки и приводит к огромным потерям.
Поскольку пользователи не могут генерировать свои собственные закрытые ключи, но они не могут доказать, что закрытые ключи случайны, пользователи не могут проверить случайность своих ключей и должны доверять своим кошелькам.
Эта проблема является еще одним проявлением более масштабной основной проблемы, которая зависит от односторонних кошельков. Чтобы решить эту основную проблему, а также специфическую проблему случайности, мы должны принять тот факт, что пользователи должны доверять некоторым внешним сущностям и перейти к более надежной архитектуре, которая снижает доверие к каждой вовлеченной стороне за счет увеличения числа вовлеченных сторон. **
Добавление участников может снизить уровень доверия, необходимый для каждого участника, и сделать систему более надежной (подробности см. в нашей недавней публикации в блоге).
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
BTC также есть Темный лес: разоблачение вредоносных ботов в цепочке
Автор: Tal Be'ery
Источник:
Перевод: Народный блокчейн
Исследователи Zengo обнаружили, что вредоносные боты отслеживали существование небезопасных случайных адресов в BTC блокчейнах и немедленно использовали их для совершения краж, причиняя убытки на миллионы долларов, один из которых произошел 23 ноября 2023 года.
В рамках продолжающихся исследований Zengo X в области безопасности блокчейна мы расследовали случай с недавно потерянными 139 BTC, которые на тот момент составляли около $5,5 млн. Без нашего ведома мы открыли BTC ящик Пандоры в Темном лесу.
В 2020 году исследователи Paradigm Дэн Робинсон и Георгиос Константопулос опубликовали влиятельный пост в блоге под названием «ETH Workshop — это темный лес», в котором рассказали о ботах, которые скрываются во тьме пулов памяти ETH Workshop, отслеживают незавершенные транзакции и пытаются извлечь выгоду из прибыльных возможностей, которые они создают. **
Сегодня мы расскажем, что это явление не ограничивается ETH блокчейнами, но также относится к BTC блокчейнам (и, возможно, многим другим).
1, этот случай чрезмерных комиссий
23 ноября BTC сделка привлекла внимание BTC аналитиков. **Эта сделка установила рекорд по уплате комиссий, заплатив более 3 миллионов долларов (83 BTC) за перевод BTC на сумму 2 миллиона долларов. **
Несмотря на то, что непосредственное объяснение этих непомерных сборов (которые, как правило, составляют менее 10 долларов) заключается в том, чтобы обвинить их в какой-то ошибке ручного ввода, как это случалось в прошлом, пользователям не потребовалось много времени, чтобы заявить, что они были первоначальными владельцами X (до Twitter) и были каким-то образом взломаны. **
Владелец Учетной записи X криптографически доказывает, что он действительно владеет BTC адресом, подписывая его соответствующим закрытым ключом.
2, наше расследование началось
По мере того, как мы начинаем более глубоко исследовать эту непомерную сделку, всплывают некоторые более тонкие, но интересные факты.
Маркированные транзакции (Источник: mempool.space)
Выше приведены некоторые интересные выводы:
CPFP: Это расшифровывается как “Child Pays For Parent”, что означает, что вход в эту транзакцию является выходом другой неподтвержденной транзакции. В данном случае это означает, что пока первая транзакция ждала в мемпуле, произошла транзакция с переплатой. По данным эксплорера, на самом деле он был отправлен в ту же минуту, что и предыдущая транзакция. **Стоимость составляет ровно 60% от общей потраченной суммы (83,65/139,4), так что вряд ли это ошибка, а скорее результат какого-то автоматизированного действия. **
RBF отключен: отправитель транзакции отключил опцию «Заменить на комиссию» (RBF) или запретил другим транзакциям перезаписывать транзакцию с более высокой комиссией. Кроме того, другой пользователь X заметил, что изначально было несколько транзакций-кандидатов с превышением комиссии, заменяющих друг друга, заплатив более высокую комиссию (больше не видимую в обозревателе, так как замененная информация о транзакции была очищена в течение короткого периода времени).
3. Текущая ситуация: Давайте сначала предположим
Исходя из полученных данных, существует несколько возможных гипотез, объясняющих эту транзакцию с завышенными комиссиями:
Первоначальный владелец переплатил за опечатку: заявление владельца об X было сделано просто для того, чтобы сохранить лицо, поскольку утверждение о том, что его взломали, звучит более приемлемо, чем признание своей неуклюжести.
Примечание: Это кажется не очень правдоподобным, так как транзакция была отправлена, когда предыдущая транзакция все еще находилась в мемпуле (см. CPFP выше), что требовало технических знаний, а точный характер комиссии (ровно 60% от общей комиссии) не соответствует неверному вводу или общей неуклюжей теории.
Приватный ключ первоначального владельца был взломан: злоумышленник раскрыл закрытый ключ и ждал, пока владелец отправит средства на адрес.
Наше мнение: Это маловероятно, потому что транзакция была вытеснена RBF, а это означает, что несколько сторон знают о закрытом ключе.
Закрытый ключ первоначального владельца предсказуем: закрытый ключ создается каким-то предсказуемым способом, например, путем хэширования парольной фразы («Brian-wallet») или выбора ключа из слишком маленького набора (32 бита). Эти вопросы подробно обсуждаются в нашей недавней статье в блоге.
Злоумышленники генерируют коллекцию всех этих предсказуемых закрытых ключей и соответствующих им адресов, и всякий раз, когда транзакция по отправке средств на любой из этих адресов находится в мемпуле, они немедленно отправляют последующие транзакции для перевода этих средств на свой адрес.
Это последнее предположение объясняет все: немедленная реакция («CPFP» выше) и непомерные сборы — это то, что должны сделать злоумышленники, чтобы победить других злоумышленников. «Фиксированный» характер комиссии (60%) обусловлен автоматическим характером операции, которая необходима для того, чтобы победить других сторон. Отключение RBF — еще один механизм, используемый злоумышленниками для повышения своих шансов на победу над другими сторонами.
Это предположение также согласуется с прошлым поведением адреса на стороне получателя транзакции с чрезмерно высокой комиссией. Многие транзакции, поступающие на адрес, имеют те же характеристики, что и эта транзакция с высокой комиссией (хотя и не такие прибыльные, как эта многомиллионная транзакция).
Злоумышленники ведут себя последовательно (источник: X/Twitter).
Этот вывод, конечно, является очень пугающим и смелым объяснением, которое требует дополнительных доказательств. **
4. Доказательства
Чтобы проверить наши утверждения, мы решили сгенерировать предсказуемый приватный ключ, отправить на него средства и наблюдать за результатами. Если наши предположения верны, то средства должны быть украдены немедленно. Чтобы создать неслучайный приватный ключ и получить сгенерированный адрес, мы использовали популярный веб-инструмент Яна Клоумана (Ian Cloeman) (который хорошо работал и в прошлом).
Установите закрытый ключ в значение “1” (обратите внимание, что сгенерированная мнемоническая фраза в основном состоит из слова “abandon” с индексом 0)
С помощью этого инструмента мы установили приватный ключ в значение «1» и получили сгенерированный адрес: bc1q4jgysxym8yvp6khka878njuh8dem4l7mneyefz. Мы убедились, что он не использовался ранее, чтобы исключить другие возможные объяснения.
Затем мы отправили транзакцию на 10 долларов на этот адрес… Как и ожидалось, мы обнаружили, что за этим последовала непомерная транзакция с комиссией (5 долларов, или 50%), которая перенаправила средства на другой адрес!
Кроме того, мы наблюдали жесткую конкуренцию между несколькими сторонами, пытающимися получить преимущество через RBF с более высокими комиссиями, которые даже составили почти 99% средств, но эти попытки не увенчались успехом из-за того, что первая транзакция вывела из строя RBF.
4 транзакции RBF, последняя из которых предлагала $9,87 из общей суммы $10 в качестве комиссии.
5. Заключение: монстры существуют
Если seed-фраза или закрытый ключ пользователя сгенерированы предсказуемым образом или подвержены нежелательной случайности, они будут использованы, как только злоумышленник узнает точные детали предсказуемой генерации. **
Как мы подробно описали в нашем недавнем сообщении в блоге, проблема безопасной генерации ключей в криптокошельках упускается из виду большинством пользователей, но это оказывается проблемой, которая преследует кошельки и приводит к огромным потерям.
Поскольку пользователи не могут генерировать свои собственные закрытые ключи, но они не могут доказать, что закрытые ключи случайны, пользователи не могут проверить случайность своих ключей и должны доверять своим кошелькам.
Эта проблема является еще одним проявлением более масштабной основной проблемы, которая зависит от односторонних кошельков. Чтобы решить эту основную проблему, а также специфическую проблему случайности, мы должны принять тот факт, что пользователи должны доверять некоторым внешним сущностям и перейти к более надежной архитектуре, которая снижает доверие к каждой вовлеченной стороне за счет увеличения числа вовлеченных сторон. **
Добавление участников может снизить уровень доверия, необходимый для каждого участника, и сделать систему более надежной (подробности см. в нашей недавней публикации в блоге).