Author

Topic: Что там? в Глубине? ;-) (Read 1345 times)

legendary
Activity: 3108
Merit: 1359
August 23, 2012, 12:55:00 PM
#4
Quote
4) Что конкретно происходит с клиентом, принявшим неправильный блок?

Он перестает строить цепочку?
Он перестает принимать новые блоки, т.к. считает их за потомков от инвалидного блока. В таком состоянии клиент будет находиться, пока не перекачаешь цепочку. Это позволяло отправить в даун уязвимые пулы, и сделать 51% атаку, пока можность сети мала.


Quote
7) Как получена оценка в 80%, если биткоин весь такой анонимный?
Вообще-то, ноды распространяют по сети информацию о себе (IP, порт, количество локальных блоков, номер версии клиента и номер версии протокола, а так же тип клиента). Анонимны только переводы, да и то при соблюдении мер предосторожности.

Хочется больше информации, читайте оригинальный топик, там есть ссылки.
legendary
Activity: 1386
Merit: 1000
August 23, 2012, 11:52:27 AM
#3
merkle_hash ([A, B, C]) и merkle_hash ([A, B, C, C]) дают одинаковый результат.

1) Где эта функция в коде (ссылки на web-интерфейс к git - можно давать прямо на строчки кода)

можно сделать два блока, которые имеют один хэш.

2) демонстрационный пример бы помог

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

3) Где кусок кода, который принимает решение и отклоняет блок

По сути это DOS - атака отказа в обслуживании, зная ее раньше, злоумышленники могли бы вывести из сети большую часть нод,

4) Что конкретно происходит с клиентом, принявшим неправильный блок?

Он перестает строить цепочку?
Если не перестает, то хорошо бы раскрыть в чем проблема, ну будет транзакция сдублирована, чем это страшно?

прежде чем те получили бы исправления.

5) Исправления кода, принимающего решение о блоках?
Или исправления в цепочке блоков?

Сейчас эта ошибка исправлена, по крайней мере у 80% сети, так что угрозы не представляет.

6) Каким образом ошибка исправлена (как было в коде, как стало в коде)?

7) Как получена оценка в 80%, если биткоин весь такой анонимный?

8]  Как надо было организовывать атаку, чтобы угроза была превращена в профит?
   (это надо в текст поближе к пункту 4)

Расписывать механизм полностью не стал.

мы всё понимаем
hero member
Activity: 803
Merit: 593
BITS.MEDIA
August 23, 2012, 10:31:04 AM
#2
Если урощенно, то вот. Расписывать механизм полностью не стал.
member
Activity: 82
Merit: 10
Dnyarri..14WFm3xhRpCSN8ZVeMbhFWfqicep27K3bS
August 22, 2012, 06:44:32 AM
#1
https://bitcointalksearch.org/topic/full-disclosure-cve-2012-2459-block-merkle-calculation-exploit-102395

Люди понимающие в кодирование-программировании что там? Насколько опасно?

Благодарю

линки https://bitcointalksearch.org/topic/--102470 Майнеры
           https://bitcointalksearch.org/topic/--102435 Разное

ЗЫЖ  btcsec благодарю
<В структуре хэширования Меркла, которая используется в Bitcoin для подсчета заголовка блока, нашли уязвимость.
Например, merkle_hash ([A, B, C]) и merkle_hash ([A, B, C, C]) дают одинаковый результат.
Как результат, можно сделать два блока, которые имеют один хэш.
Непатченный Bitcoin можно было поиметь, отправив подправленный блок с дублирующимися транзакциями. Кошелек видит ошибку, но правильный блок скачать уже не сможет, т.к. считает, что у него уже есть блок с этим номером и правильным хэшем.

По сути это DOS - атака отказа в обслуживании, зная ее раньше, злоумышленники могли бы вывести из сети большую часть нод, прежде чем те получили бы исправления. Сейчас эта ошибка исправлена, по крайней мере у 80% сети, так что угрозы не представляет.>
Jump to: