15 мая 2011, 5:00:58 PM   # 1
 
 
Сообщения: 126
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я был удивлен, увидев, что Bitcoin передает ненадежные данные подписи, полученные от внешнего мира, чтобы OpenSSL, не делая проверки на нем. Это оставляет Bitcoin открытым для таблиц Litttle Бобби (http://xkcd.com/327/) атака.

Каждая подпись имеет ровно один DER кодированного ASN.1 октет представления, но OpenSSL не требует этого, и до тех пор, как подпись не ужасно уродлива, оно будет принято.

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

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

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

Enochian сейчас офлайн Пожаловаться на Enochian   Ответить с цитированием Мультицитирование сообщения от Enochian Быстрый ответ на сообщение Enochian


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


15 мая 2011, 5:36:54 PM   # 2
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

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





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

15 мая 2011, 6:05:11 PM   # 3
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Я думаю, что сипа является right-- это будет просто выглядеть странным двойным потратить.

Вероятно, это хорошая идея, чтобы отказаться от сделки с неканоническими подписями (отклонять, если кодирование (декодирование (ТХ))! = ТХ).

Я предполагаю, что DER кодированного ASN.1 октет представление такое же между различными реализациями ECDSA (так что если реализация не-OpenSSL на основе создает сделки его сделки будут приняты), является то, что хорошее предположение?
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

15 мая 2011, 6:22:23 PM   # 4
 
 
Сообщения: 126
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Я предполагаю, что DER кодированного ASN.1 октет представление такое же между различными реализациями ECDSA (так что если реализация не-OpenSSL на основе создает сделки его сделки будут приняты), является то, что хорошее предположение?

Да. МЭД, дизайн, уникальный во всех реализациях.

Enochian сейчас офлайн Пожаловаться на Enochian   Ответить с цитированием Мультицитирование сообщения от Enochian Быстрый ответ на сообщение Enochian

15 мая 2011, 7:27:45 PM   # 5
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Да. МЭД, дизайн, уникальный во всех реализациях.

Я полагаю, вы на самом деле имел в виду прямо противоположное тому, что вы сказали.

МЭД "общий" или "тоже самое" во всех реализациях.

Редактировать сообщение и я буду удалять этот.

ByteCoin
ByteCoin сейчас офлайн Пожаловаться на ByteCoin   Ответить с цитированием Мультицитирование сообщения от ByteCoin Быстрый ответ на сообщение ByteCoin

15 мая 2011, 7:52:55 PM   # 6
 
 
Сообщения: 126
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Я полагаю, вы на самом деле имел в виду прямо противоположное тому, что вы сказали.

МЭД "общий" или "тоже самое" во всех реализациях.

МЭД BER с уникальностью в жизни. Тем не менее, я вижу, что я сказал, поддается неверной интерпретации.

Объекты имеют только одну уникальную правильную кодировку МЭД. Если это не так, что кодирование, это неправильно.







Enochian сейчас офлайн Пожаловаться на Enochian   Ответить с цитированием Мультицитирование сообщения от Enochian Быстрый ответ на сообщение Enochian

16 мая 2011, 9:21:12 AM   # 7
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Итак, позвольте мне получить это прямо: подписи Bitcoin всегда находятся в кодировке DER, но он будет принимать какую-либо BER-закодирована подпись?
Pieter Wuille сейчас офлайн Пожаловаться на Pieter Wuille   Ответить с цитированием Мультицитирование сообщения от Pieter Wuille Быстрый ответ на сообщение Pieter Wuille

16 мая 2011, 1:41:49 PM   # 8
 
 
Сообщения: 126
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Итак, позвольте мне получить это прямо: подписи Bitcoin всегда находятся в кодировке DER, но он будет принимать какую-либо BER-закодирована подпись?

Для кодирования положительного целого числа в DER, вы преобразовать его в большую последовательность Endian октетов, с использованием минимально необходимым, и если знаковый бит на переднюю один установлен, предварять ноль октета, поэтому он не будет истолкован как отрицательное число. Затем предварять "02", Что указывает на "целое число", И счетчик октетов, который является один байтами для длин до 127, и 0x80 плюс отсчета октета с последующим октетами длиной при длине больше, чем 127. Эта отображает каждое целое число на уникальную последовательность октетов.

Подпись представляет собой пару bignum целых чисел, (R, S), так что она состоит из 0x30, что указывает на последовательность из одного или нескольких вещей, значение счетчика октетов того, что следует, за которым следуют два кодированных целых чисел. Кроме того, Bitcoin добавляет HashType, который всегда "1", к концу.

Вот пример Bitcoin сига, распались в соответствующие поля.

3046
0221
00c352d3dd993a981beba4a63ad15c209275ca9470abfcd57da93b58e4eb5dce82
0221
00840792bc1f456062819f15d33ee7055cf7b5ee1af1ebcc6028d9cdb1c3af7748
01

OpenSSL не устанавливает правило, согласно которому ведущий октет не может быть 0x00 или 0xff, если она является расширением знакового бита на следующий октета. Таким образом, вы можете предварять любое количество 0x00 октетов к положительному целому числу, и 0xFF октета к отрицательному числу, и по-прежнему считаются законным. Таким образом, вы можете сделать неограниченное количество рабочих подписей, отданных один из них.

Enochian сейчас офлайн Пожаловаться на Enochian   Ответить с цитированием Мультицитирование сообщения от Enochian Быстрый ответ на сообщение Enochian

17 мая 2011, 5:30:35 PM   # 9
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Это на самом деле очень похож на другой "угловой корпус" что я задавался вопросом о. Рассмотрим следующий сценарий:

загрузки Пользователь устанавливает Bitcoin в виртуальную машину окна, копии виртуальной машины в нескольких местах.

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

Какую функцию смягчения столкновений между клиентами, и которые клиент становится наиболее авторитетным? В то время как я вижу, как это может привести к проблемам в подтверждении сделки, не Подтверждение от этих клонированных лиц приводит к коррупции подтверждения?
Имон сейчас офлайн Пожаловаться на Имон   Ответить с цитированием Мультицитирование сообщения от Имон Быстрый ответ на сообщение Имон

17 мая 2011, 5:44:52 PM   # 10
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Это на самом деле очень похож на другой "угловой корпус" что я задавался вопросом о. Рассмотрим следующий сценарий:

загрузки Пользователь устанавливает Bitcoin в виртуальную машину окна, копии виртуальной машины в нескольких местах.

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

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

18 мая 2011, 4:03:38 PM   # 11
 
 
Сообщения: 126
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Я считаю, что атака вы охарактеризовали возможно и реально, но эффект менее хлопотно. Как только измененная эхо сделки входит в блок, отправитель и получатель будет видеть эту сделку тоже. Старая сделка будет задерживаться, однако, не подтвержденные.


Ты прав.

Я получил любопытный и попробовал его сегодня утром. Я создал две сделки, которые сделали то же самое. Первым, чтобы мой клиент видел, но не позволить ей получить трансляцию. Второй я вещать, но не дал моему клиенту см. Тогда я ждал, чтобы увидеть, что произойдет, когда последняя транзакция вернулась в блоке, двойных расходами ранее неподтверждения один в бумажнике.

Она добавила вторую сделку по кошельку вполне корректно и правильно рассчитали баланс. Так что это меньше проблем, чем я думал.

Я хотел бы отметить, однако, что это было возможно сегментации в ASN.1 парсер в OpenSSL, придав ему мусор для декодирования. Последняя такая известная ошибка была исправлена ​​несколько оборотов назад, но это не выходит за рамки царства возможности, что другой подобный ошибка может быть обнаружена в какой-то момент в будущем.

Так что это, вероятно, хорошая идея, чтобы не пропустить материал, который поставляется в более чем провода к OpenSSL без проверки его первым, на всякий случай.

Enochian сейчас офлайн Пожаловаться на Enochian   Ответить с цитированием Мультицитирование сообщения от Enochian Быстрый ответ на сообщение Enochian

18 мая 2011, 4:08:18 PM   # 12
 
 
Сообщения: 140
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

хорошие парни работы нам нужен этот вид проверки и баланса на регулярной
BitcoinStars.com сейчас офлайн Пожаловаться на BitcoinStars.com   Ответить с цитированием Мультицитирование сообщения от BitcoinStars.com Быстрый ответ на сообщение BitcoinStars.com

18 мая 2011, 4:09:28 PM   # 13
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Мне не нравится идея OpenSSL segfaulting по данным мусора.

Есть простой способ для проверки (посмотрев на байты себя, не передавая его OpenSSL и просьбой закодировать его еще раз), что вход является действительным DER-закодированные подписи?
Pieter Wuille сейчас офлайн Пожаловаться на Pieter Wuille   Ответить с цитированием Мультицитирование сообщения от Pieter Wuille Быстрый ответ на сообщение Pieter Wuille

18 мая 2011, 4:17:27 PM   # 14
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Какую функцию смягчения столкновений между клиентами, и которые клиент становится наиболее авторитетным? В то время как я вижу, как это может привести к проблемам в подтверждении сделки, не Подтверждение от этих клонированных лиц приводит к коррупции подтверждения?

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

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

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

18 мая 2011, 4:30:49 PM   # 15
 
 
Сообщения: 126
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Мне не нравится идея OpenSSL segfaulting по данным мусора.

Есть простой способ для проверки (посмотрев на байты себя, не передавая его OpenSSL и просьбой закодировать его еще раз), что вход является действительным DER-закодированные подписи?


Ну, вы знаете, действительный Bitcoin подписи (R, S) будет выглядеть

<30><02><г байтов><02><01>

где значения R и S неотрицательны, и не превышают 33 байта, включая возможное заполнение нулевого байт.

Один из способов проверить было бы просто создать небольшую функцию

BOOL IsValidSig (символ * сиг, внутр siglen)

Содержит соответствующий стек, если заявления.

Enochian сейчас офлайн Пожаловаться на Enochian   Ответить с цитированием Мультицитирование сообщения от Enochian Быстрый ответ на сообщение Enochian

22 августа 2012, 1:46:33 PM   # 16
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

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

Ли Sipa реализован патч назад на МАЕ 2011, чтобы проверить уникальность и правильность подписей?

Я не вижу способа IsValidSig () в исходном коде.

Bet С уважением, Серхио.
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner

22 августа 2012, 2:21:31 PM   # 17
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

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

Ли Sipa реализован патч назад на МАЕ 2011, чтобы проверить уникальность и правильность подписей?

Я не вижу способа IsValidSig () в исходном коде.

Bet С уважением, Серхио.

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

22 августа 2012, 2:22:50 PM   # 18
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Выполнение операций с не-DER-кодированного (ака BER закодированные) подписи нестандартным было в моем списке TODO для более года, но никогда не был самым высоким приоритетом. Это первый шаг к созданию не-DER-закодированные подписи полностью незаконным.

Обратите внимание, что если есть ядро-демпинг ошибка в коде декодирования OpenSSL, то он должен получить фиксированный в OpenSSL. Дать BER декодер только для Bitcoin это плохая идея, это гораздо более вероятно, наш новый код будет иметь сбой ошибки.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

22 августа 2012, 3:31:44 PM   # 19
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Спасибо Sipa и Гэвин, я буду продолжать исследования по этому вопросу ..
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner

4 октября 2012, 9:26:46 PM   # 20
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: Новый вектор атак

Для записи, есть еще одна возможность подписание пластичности.

Для каждого ECDSA подписи (R, S), подпись (г, -s (мод N)) является действительным подписью одного и того же сообщения. Обратите внимание, что новая сигнатура имеет тот же размер, что и оригинал, а напротив, как malleabillity набивки.
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW