Вернуться   Биткоин Форум > Bitcoin Обсуждение
22 августа 2012, 2:29:49 AM   # 1
 
 
Сообщения: 516
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Так, по крайней мере 80% от сети Bitcoin теперь защищена от этой атаки, я получил разрешение раскрыть его:


Реализация хеша Merkle, что Bitcoin использует для вычисления корня Меркла в заголовке блока испорчена в этом можно легко построить несколько списков хэш, которые сопоставляются с тем же корнем Merkle. Например, merkle_hash ([а, b, c]) и merkle_hash ([а, б, в, с]) дают одинаковый результат. Это происходит потому, что на каждой итерации хэш-функция Merkle подушечки ее промежуточный список хэшей с последним хэша, если список нечетной длины, для того, чтобы сделать его четной длины.

И так, корень функции Меркл может быть эффективно preimaged путем изменения ввода таким образом, что один из промежуточных списков четной длины с последних двух элементов равны (где первоначально было нечетной длины с последнего элемента равна ранее упомянутых двух ). Как позже было отмечено, это распространяется на любую длину входа, который не является степень два: merkle_hash ([а, б, в, г, д, е]) == merkle_hash ([а, б, в, г, д, е, е, е]). Обратите внимание, что для поддержания того же корневого хеша, единственной гибкости, которая существует дублирование элементов.

В результате, два блок может быть легко создан, которые имеют один и тот же блок хэш, хотя один может быть действительными, а другой инвалидом, дублируя одну или несколько сделок, таким образом, что поддерживает корневой хэш Меркла. Дублирование любой сделки сделает блок недействительным, поскольку блок двойного тратит определенное прошлое выхода транзакции.

Неисправленная установка Bitcoin может быть постоянно вклиниваются на текущем высоком блоке, используя это и тот факт, что Bitcoin кэширует бесхозных блоки в базе данных диска спинок. Для этого злоумышленник должен отправить его действительный блок (который в конечном итоге превратить его в blockchain) сделал недействительным путем дублирования одной из операций таким образом, что сохраняет корень Меркла. Хакер даже не нужно добывать свой собственный блок - вместо этого, они могут слушать для блока, то мутировать его таким образом, и передать его на своих сверстников.

После того, как жертва получает этот недопустимый блок, они будут кэшировать на диске, попытаться обработать его, и отвергать его недействительным. Re-запрос
блок не будет даже попытки, так как Bitcoin считает, что у него уже есть блок, так как он имеет с тем же хэш. Bitcoin в конечном итоге выводит "ПРЕДУПРЕЖДЕНИЕ: Отображаемые сделки не могут быть правильными! Вы, возможно, потребуется обновить или другие узлы, возможно, потребуется обновить." предупреждение, когда blockchain простирается дальше за пределы принятого недействительных блока.

Проблема была решена Гэвин Андресен в Bitcoin совершить be8651d [1], отвергая блоки с повторяющимися сделок в CheckBlock, предотвращая их кэширования на всех.


Ура,
Форрест Войт
http://forre.st/

[1]: https://github.com/bitcoin/bitcoin/commit/be8651dde7b59e50e8c443da71c706667803d06d
forrestv сейчас офлайн Пожаловаться на forrestv   Ответить с цитированием Мультицитирование сообщения от forrestv Быстрый ответ на сообщение forrestv


Как заработать Биткоины?
Без вложений. Не майнинг.


22 августа 2012, 2:40:22 AM   # 2
 
 
Сообщения: 390
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Получил 1806 Биткоинов
Реальная история.





Хорошая находка. Есть ли у этого какие-либо иные, чем потенциальный отказ в обслуживании дополнительные последствия? Я предполагаю, что не основано на вашем описании.
galambo сейчас офлайн Пожаловаться на galambo   Ответить с цитированием Мультицитирование сообщения от galambo Быстрый ответ на сообщение galambo

22 августа 2012, 2:41:27 AM   # 3
 
 
Сообщения: 1204
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Хорошая находка.
О единственной серьезной ошибке я когда-либо найденный было Суда для локального корня на Linux.
fcmatt сейчас офлайн Пожаловаться на fcmatt   Ответить с цитированием Мультицитирование сообщения от fcmatt Быстрый ответ на сообщение fcmatt

22 августа 2012, 2:42:21 AM   # 4
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Зуко Уилкокс О'херн также заслуживает признания; Он предупредил нас, что метод Bitcoin использует для вычисления дерева Merkle было возможно, небезопасно (хотя в то время мы не могли видеть, как превратить его в эксплойт).

Это была неприятная ошибка; если Форрест не нашел его и ответственно сообщил об этом, злоумышленник, вероятно, мог бы остановить большинство узлов в сети, прежде чем мы получили исправлен код из. Это ошибка, как это, что заставляет меня думать, что имея несколько различных реализаций протокола Bitcoin является хорошей идеей.

Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

22 августа 2012, 2:50:21 AM   # 5
 
 
Сообщения: 700
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Хорошо поймал.
Bitcoin Oz сейчас офлайн Пожаловаться на Bitcoin Oz   Ответить с цитированием Мультицитирование сообщения от Bitcoin Оз Быстрый ответ на сообщение Bitcoin Оз

22 августа 2012, 2:54:22 AM   # 6
 
 
Сообщения: 2282
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

С горной точки зрения, неисправленное установка не может быть просто заклинило: он также будет следовать конкурируя меньше blockchain. Злоумышленник мог бы использовать эту уязвимость в отношении ряда крупных шахтеров (скажем, около 40% или около того) и обменов, чтобы стянуть любое количество двойных провести атаки, пока шахтеры не заметили, что они были раздвоенными и фиксировали их bitcoind. То есть, злоумышленник может легко захватить как много шахтеров есть он хотел для своих собственных целей в том числе фальшивых 6+ подтверждения сделок. На более тонком уровне, злоумышленник может ориентироваться на определенные блоки, они хотели сирот, выполняя эту атаку на большинство шахтеров с "наконечник" блок он хотел сиротой.

Эта уязвимость также является причиной того, почему Eloipool (программное обеспечение за Eligius, EclipseMC, TripleMining и другие фонды) пытался производить блоки с только подсчетов транзакций, которые являются степенями двойки; такие блоки не могут быть использованы для нападения даже в отношении уязвимых клиентов.
Люк-младший сейчас офлайн Пожаловаться на Luke-Jr   Ответить с цитированием Мультицитирование сообщения от Luke-Jr Быстрый ответ на сообщение Luke-Jr

22 августа 2012, 2:57:12 AM   # 7
 
 
Сообщения: 504
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Очень хорошая работа, в самом деле!

ничего себе, Лука-младший эта вещь звучит весьма неприятной. Опять же, браво команды разработчиков за их добросовестную работу!
sadpandatech сейчас офлайн Пожаловаться на sadpandatech   Ответить с цитированием Мультицитирование сообщения от sadpandatech Быстрый ответ на сообщение sadpandatech

22 августа 2012, 5:38:25 AM   # 8
 
 
Сообщения: 1358
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Очень приятно найти, forrestv. Ваши отзывы безопасности держать впечатлять меня.
МРБ сейчас офлайн Пожаловаться на МРБ   Ответить с цитированием Мультицитирование сообщения от MRB Быстрый ответ на сообщение MRB

22 августа 2012, 5:41:24 AM   # 9
 
 
Сообщения: 283
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

имеет несколько различных реализаций протокола Bitcoin является хорошей идеей.

Здесь, здесь! Сладкая ошибка и хорошая работа фиксируя его ребята.
BoardGameCoin сейчас офлайн Пожаловаться на BoardGameCoin   Ответить с цитированием Мультицитирование сообщения от BoardGameCoin Быстрый ответ на сообщение BoardGameCoin

22 августа 2012, 6:04:06 AM   # 10
 
 
Сообщения: 756
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Именно этот вид коллективной работы и честного усилия, что делает нас настолько уверены в будущем Bitcoin. Продолжайте в том же духе!
BitPay Business Solutions сейчас офлайн Пожаловаться на BitPay Business Solutions   Ответить с цитированием Мультицитирование сообщения от BitPay Business Solutions БЫСТРЫЙ ответ на сообщение BitPay Business Solutions

22 августа 2012, 9:51:46 AM   # 11
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

К сожалению независимых реализации не могут помочь здесь. По крайней мере, в bitcoinj, это используя точно такой же код, чтобы вычислить корень Merkle. Я мог бы вернуться и попытаться упростить его в какой-то момент.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

22 августа 2012, 11:00:13 AM   # 12
 
 
Сообщения: 1358
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Знаем ли мы, что это не был независимо открыт какой-то более malintentioned человека? Из того, что я собираю от ОП, она никогда не была молчаливая ошибка (по крайней мере на стороне клиента), не так ли?
bg002h сейчас офлайн Пожаловаться на bg002h   Ответить с цитированием Мультицитирование сообщения от bg002h Быстрый ответ на сообщение bg002h

22 августа 2012, 12:53:17 PM   # 13
 
 
Сообщения: 686
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

К сожалению независимых реализации не могут помочь здесь. По крайней мере, в bitcoinj, это используя точно такой же код, чтобы вычислить корень Merkle. Я мог бы вернуться и попытаться упростить его в какой-то момент.
Единственное реальное преимущество независимых реализаций является то, что это означает, что все больше людей на самом деле смотрел и понимал, как Bitcoin работает. Например, если вы об этом думаете forrestv было смотреть на детали расчета Merkle корня для реализации p2pool. (В этом отношении, я единственный человек, который даже признался, что выработала уязвимость от патча к ней, и это было в значительной степени из-за разработав код для генерации poolserver работы раньше.)

Знаем ли мы, что это не был независимо открыт какой-то более malintentioned человека? Из того, что я собираю от ОП, она никогда не была молчаливая ошибка (по крайней мере на стороне клиента), не так ли?
Я думаю, что умный хакер мог бы совершил нападение, что не было более шумным, чем двойные расходы через переписывание истории с использованием любого другого метода.
makomk сейчас офлайн Пожаловаться на makomk   Ответить с цитированием Мультицитирование сообщения от makomk Быстрый ответ на сообщение makomk

22 августа 2012, 1:01:44 PM   # 14
 
 
Сообщения: 2436
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Я видел, что "ПРЕДУПРЕЖДЕНИЕ" сообщение пару недель назад в моем клиенте. После redownloading в blockchain (возможно несколько раз), он исчез.

Благодаря Zooko для ознакомительной / отчетности и благодаря всем дэвам, не только для обработки это очень хорошо, но и для всех ваших других работ!

Что касается монокультуры реализации: Как разнообразны должны быть пейзаж? Это хорошая цель, чтобы попытаться иметь ни одного реализация не несет ответственности за более половины хеширования ресурсов?
молекулярный сейчас офлайн Пожаловаться на молекулярном   Ответить с цитированием Мультицитирование сообщения от молекулярного Быстрый ответ на сообщение молекулярным

22 августа 2012, 1:09:02 PM   # 15
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Большая работа Форрест и команда разработчиков!
С наилучшими пожеланиями, Серхио.
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner

22 августа 2012, 1:13:02 PM   # 16
 
 
Сообщения: 602
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Означает ли это, что злоумышленник может обмануть клиента Bitcoin, думая, что были сделаны два месторождения сказать 100BTC (думая, что 200BTc наносились на адрес), только чтобы иметь один из них признаны недействительными и удалены через некоторое время?
Нефарио сейчас офлайн Пожаловаться на Нефарио   Ответить с цитированием Мультицитирование сообщения от Нефарио Быстрый ответ на сообщение Нефарио

22 августа 2012, 2:00:10 PM   # 17
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Означает ли это, что злоумышленник может обмануть клиента Bitcoin, думая, что были сделаны два месторождения сказать 100BTC (думая, что 200BTc наносились на адрес), только чтобы иметь один из них признаны недействительными и удалены через некоторое время?

Прямо сейчас, это только означает, что злоумышленник может сделать ваш (неисправленный) узел застревает.

Еще когда только низкий процент клиентов был повышен, это, возможно, были использованы для оказания помощи 51% атаки а, нокаутировав некоторые законные добычи энергии.
Pieter Wuille сейчас офлайн Пожаловаться на Pieter Wuille   Ответить с цитированием Мультицитирование сообщения от Pieter Wuille Быстрый ответ на сообщение Pieter Wuille

22 августа 2012, 2:09:54 PM   # 18
 
 
Сообщения: 1106
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Хех ... это не просто Bitcoin, что децентрализована. Мозг за ней децентрализована, а также. Вот что так здорово об этом.
Piper67 сейчас офлайн Пожаловаться на Piper67   Ответить с цитированием Мультицитирование сообщения от Piper67 Быстрый ответ на сообщение Piper67

22 августа 2012, 4:50:28 PM   # 19
 
 
Сообщения: 450
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Здесь, здесь!
Ты имеешь в виду "волосы",

Впечатляет найти, и, как всегда, Zooko что-то делать с ним 🙂
capsqrl сейчас офлайн Пожаловаться на capsqrl   Ответить с цитированием Мультицитирование сообщения от capsqrl Быстрый ответ на сообщение capsqrl

22 августа 2012, 6:21:09 PM   # 20
 
 
Сообщения: 843
Цитировать по имени
цитировать ответ
по умолчанию Re: [Полное раскрытие] CVE-2012-2459 (расчет Merkle блока эксплуатирует)

Отличная работа всех! Теперь, когда люди обновления, это есть система в месте, чтобы обнаружить, если кто-то пытается эту атаку на сеть? Другими словами, хотя многие старые атаки не будет работать, делать разработчики / тестеры активно сканировать сеть для выявления фиктивных пакетов, которые пытаются реализовать эти эксплойты. Сортировка наличия Bitcoin IDS

Например, может быть расширенной версии что-то вроде этого: http://blockchain.info/strange-transactions
нажатие клавиши сейчас офлайн Пожаловаться на нажатие клавиши   Ответить с цитированием Мультицитирование сообщения от нажатия клавиш Быстрый ответ на сообщение нажатием клавиши



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW