Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
14 февраля 2013, 9:22:19 PM   # 1
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: DoS vuln Заставив Continuous Hard Disk Seek / Read активность (фиксировано в 0.8.0)

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Новая DoS vuln Заставив Непрерывный жесткий диск Поиск / операции чтения (фиксированная в 0.8.0)

Частная Дата выпуска: 08-JAN-2013
Открытая Дата выпуска: 14-FEB-2013

системы Затронутые

- Satoshi Bitcoin Client (Bitcoin-Qt, bitcoind)
- Все клиенты Bitcoin, которые имитируют поведение, связанное с операцией проверки клиентских версий Сатосите до 0.8.0

Затронутые Версии

- Bitcoin версия 0.7.2 выпущена 2012-12-14
- Bitcoin версия 0.7.1 выпущена 2012-10-19
- Bitcoin версия 0.7.0 выпущена 2012-09-17
- Bitcoin версия 0.6.3 выпущена 2012-06-25
- Bitcoin версия 0.6.2 выпущена 2012-05-08
- Bitcoin версия 0.6.1 выпущена 2012-05-04
- Bitcoin версия 0.6.0 выпущена 2012-03-30
- Bitcoin версия 0.5.3.1 выпустила 2012-03-16
- Bitcoin версия 0.5.3 выпущена 2012-03-14
- Bitcoin версия 0.5.2 выпущена 2012-01-09
- Bitcoin версия 0.5.1 выпущена 2011-12-15
- Bitcoin версия 0.5.0 выпущена 2011-11-21
- Bitcoin версия 0.4.0 выпущена 2011-09-23
- Bitcoin версия 0.3.24 выпустила 2011-07-08
- Bitcoin версия 0.3.23 выпустила 2011-06-14
- Bitcoin версия 0.3.22 выпустила 2011-06-05
- Bitcoin версия 0.3.21 выпустила 2011-04-27


обзор

Обработка транзакций имеет два этапа в Satoshi Bitcoin клиента. На первом этапе, входы транзакций извлекаются.
Это делается путем приведения в ОЗУ транзакции, которые содержат выходы, перешедшие входы.
На втором этапе, предыдущие выходы проверяются, чтобы быть израсходованными и соответствующие сценарии оцениваются.
Так как двойной проводит не считается попытка DoS по правилам протокола, транзакция, которая относится к предыдущим затраченным выходам будут проходить первый этап обработки, не будучи отброшено. Поэтому злоумышленник может построить операции, которые, прежде чем отбрасывается на второй стадии обработки, требуют применения жертвы искать и читать слишком много частей блока цепи, которые могут быть разбросаны думали файлы для хранения, задержки любой другой обработки.

Детали

Мы предполагаем, что весь блок цепь не помещается в оперативной памяти, так что каждая операция выборки требует HD поиска и чтения. Среднем 7200 оборотов в минуту жесткий диск
может случайным образом искать / читать блок 1Kb в не кэшируются 2 Гб файла в 12 мс. Каждый prevout сделки потребляет 44 байт, с пустым sigscripts.
Злоумышленник создает транзакцию со многими входами один выходной. Таким образом, остальные части сделки (выходные сценарии, заголовки) амортизируются и становятся ненужным для этого анализа.
Для подключения к Интернету 50 кбайт пропускной способности / сек, отправка 45 байт требуется менее 1 мс.
Постоянно посылая это специально созданные транзакции злоумышленник может заблокировать любой Bitcoin пэра от выполнения других задач.
Кроме того, злоумышленник может заблокировать 10 коллегов в то же время, так как соотношение 1:10 в необходимых ресурсах.
Обратите внимание, что злоумышленник не нужно подписывать входы и не иметь полный блок-цепь для выполнения атаки. Он требует только хэш всех предыдущих сделок, которые в настоящее время требуют только 10876856 * 32 = 332 мегабайтов памяти.

Версия 0.8.0 от клиента магазинов Сатоси только неизрасходованные prevouts в памяти и может обрабатывать аборт сразу после отработанной prevout называется транзакцией.

Возможные сценарии атаки

1. Из-за небольших ресурсов, необходимых для монтажа атаки, оно может быть выполнено с помощью ботнетов массированно атаковать сеть Bitcoin.

2. Атака может быть использована против шахтеров, чтобы предотвратить их от отправки блоков. Тем не менее, в настоящее время крупных шахтеры онов подключены к там собственной передней линии узлов Bitcoin для Превен таких атак.

3. Используя множество узлов сразу, злоумышленник может попытаться создать барьер, который разделяет сеть в несвязанных компонентах, для того, чтобы нести еще один вид атаки.


вариации не-а-проблема

1. Действительная сделка 1M может быть построена для ссылки на более 22k уникальных входных сделок. В теории, что сделка будет занять более 5 минут, чтобы проверить. Тем не менее, атака непрактична по двум причинам:
а. Атакующий должен иметь те 22k сделки.
б. Эти 22K операции должны быть рассеиватель думал blockchain принуждать, ищущую активность HD. Если бы они были созданы в течение ограниченного периода времени, они в конечном итоге ограничивается в ограниченной части файла блока цепи. Результатом будет то, что кэш жесткого диска поможет уменьшить задержку чтения и поэтому атаки эффективность будет снижена. Тем не менее, версия 0.8.0 клиента Satoshi считает сделки больше, что 100K быть нестандартным, поэтому уязвимость еще больше снижается.

Предлагаемое решение для 0.6 / 0.7 версии


Клиентское приложение может проверить, что prevouts не проводится каждый раз, когда они извлекаются, и прервать, если отработанный prevout найден.

BOOL CTransaction :: FetchInputs (CTxDB& txdb, Const карта& mapTestPool,
                               BOOL fBlock, BOOL fMiner, MapPrevTx& inputsRet, BOOL& fInvalid)
{
  ..
 для (беззнаковое INT I = 0; я < vin.size (); я ++)
    {
    // Читаем txPrev
    CTransaction& txPrev = inputsRet [prevout.hash] .second;
    ....
   // НОВЫЙ КОД НАЧИНАЕТСЯ
    если (prevout.n >= TxPrev.vout.size () || prevout.n >= Txindex.vSpent.size ())
        {
        fInvalid = TRUE;
                вернуть DoS (100, ошибка (" .....
      }
    если (! txindex.vSpent [prevout.n] .IsNull ())
     вернуться ложным;
   // НОВЫЕ ЗАВЕРШ КОД
   }
}


Раскрытие Timeline

2013-01-09 - Уязвимость сообщили Gavin Andressen и других основных разработчиков.
2013-01-09 - Gavin Andressen aknowledges отчета и подтверждает версию 0.8 не будет уязвимы, допускает раскрытие после 0.8.0 релиза-кандидата 1 доступно.
2013-02-09 - Bitcoin версия 0.8.0 релиз кандидат 1 доступен, фиксируя уязвимость
2013-02-14 - раскрытие уязвимостей

кредит

Эта уязвимость была обнаружена Sergio Демьяна Лернера, от Certimix.com
Этот отчет был написан SDL.
Отказ от ответственности: я не проверял атаку эксплойт, но это, кажется реальным и практичным.
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner


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


15 февраля 2013, 12:31:38 AM   # 2
 
 
Сообщения: 924
Цитировать по имени
цитировать ответ
по умолчанию Re: DoS vuln Заставив Continuous Hard Disk Seek / Read активность (фиксировано в 0.8.0)

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





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

15 февраля 2013, 9:51:13 AM   # 3
 
 
Сообщения: 427
Цитировать по имени
цитировать ответ
по умолчанию Re: DoS vuln Заставив Continuous Hard Disk Seek / Read активность (фиксировано в 0.8.0)

Профессиональный путь это было обработано весьма внушителен и служит хорошим предзнаменованием для уверенности в Bitcoin. Спасибо, парни!

+1

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

28 февраля 2013, 6:36:28 AM   # 4
 
 
Сообщения: 2282
Цитировать по имени
цитировать ответ
по умолчанию Re: DoS vuln Заставив Continuous Hard Disk Seek / Read активность (фиксировано в 0.8.0)

Для справки, это назначается CVE-2013-2293
Люк-младший сейчас офлайн Пожаловаться на Luke-Jr   Ответить с цитированием Мультицитирование сообщения от Luke-Jr Быстрый ответ на сообщение Luke-Jr

28 февраля 2013, 5:08:51 PM   # 5
 
 
Сообщения: 490
Цитировать по имени
цитировать ответ
по умолчанию Re: DoS vuln Заставив Continuous Hard Disk Seek / Read активность (фиксировано в 0.8.0)

Очень профессиональная работа!

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

28 февраля 2013, 7:36:50 PM   # 6
 
 
Сообщения: 253
Цитировать по имени
цитировать ответ
по умолчанию Re: DoS vuln Заставив Continuous Hard Disk Seek / Read активность (фиксировано в 0.8.0)

в "Раскрытие Timeline", Если какое-то из 2012s быть 2013, а?
ПК сейчас офлайн Пожаловаться на ПК   Ответить с цитированием Мультицитирование сообщения от рс Быстрый ответ на сообщение ПК

1 марта 2013, 10:33:25 AM   # 7
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: DoS vuln Заставив Continuous Hard Disk Seek / Read активность (фиксировано в 0.8.0)

в "Раскрытие Timeline", Если какое-то из 2012s быть 2013, а?
Да! Вы нашли уязвимость в отчете об уязвимости. И мы присвоили CVE2 код к ней: это CVE- (CVE-2013-2293) -2012-0001 

Но, к несчастью, я думаю, есть уязвимость в этом коде

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

3 марта 2013, 6:04:05 PM   # 8
 
 
Сообщения: 1470
Цитировать по имени
цитировать ответ
по умолчанию Re: DoS vuln Заставив Continuous Hard Disk Seek / Read активность (фиксировано в 0.8.0)

Профессиональный путь это было обработано весьма внушителен и служит хорошим предзнаменованием для уверенности в Bitcoin. Спасибо, парни!

+1

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW